* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
[official-gcc.git] / gcc / ChangeLog
blob9149642baa69656fea28ca4473f0f0c835d88a7f
1 2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
3         * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
4         corresponding to an abnormal edge.
6 2016-02-09  Tom de Vries  <tom@codesourcery.com>
8         PR tree-optimization/69599
9         * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
10         function.
11         (find_func_aliases_for_builtin_call, find_func_clobbers)
12         (ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
13         partition.
15 2016-02-09  Richard Biener  <rguenther@suse.de>
17         PR tree-optimization/69715
18         * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
19         LHS on calls as non-rewritable.
21 2016-02-09  Tom de Vries  <tom@codesourcery.com>
23         PR lto/69707
24         * lto-wrapper.c (append_diag_options): New function.
25         (compile_offload_image): Call append_diag_options.
27 2016-02-08  Sandra Loosemore <sandra@codesourcery.com>
29         PR other/69722
30         * doc/extend.texi (Flag Output Operands): Correct sectioning.
31         Minor copy-edit to fix verb tenses.
33 2016-02-08  Jakub Jelinek  <jakub@redhat.com>
35         PR tree-optimization/69209
36         * ipa-split.c (split_function): If split part is not
37         returning retval, retval has gimple type but is not
38         gimple value, force it into a SSA_NAME first.
40 2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
42         * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
43         outdated section.
45 2016-02-08  Jason Merrill  <jason@redhat.com>
47         PR c++/69631
48         * convert.c (convert_to_integer_1): Check dofold on truncation
49         distribution.
50         (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
51         (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
52         Rename from *_nofold.
53         * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
54         (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
56 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
58         PR target/60410
59         * tree.c (build_common_tree_nodes): Remove short_double argument.
60         All callers changed.
61         * tree.h (build_common_tree_nodes): Adjust declaration.
62         * doc/invoke.texi (-fshort-double): Remove documentation.
63         * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
64         MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
65         * lto-wrapper.c (merge_and_complain, append_compiler_options)
66         (append_linker_options): Don't handle OPT_fshort_double.
68         PR rtl-optimization/68730
69         * lra-remat.c (insn_to_cand_activation): New static variable.
70         (lra_remat): Allocate and free it.
71         (create_cand): New arg activation. Initialize a field in
72         insn_to_cand_activation if it is nonnull.
73         (create_cands): Pass the activation insn to create_cand when making
74         a candidate involving an output reload.  Reorganize code a little.
75         (do_remat): Keep track of active status of candidates in a separate
76         bitmap.
78 2016-02-08  Richard Biener  <rguenther@suse.de>
80         PR tree-optimization/69719
81         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
82         Properly use absolute of the difference of the two offsets to
83         compare or adjust the segment length.
85 2016-02-08  Richard Biener  <rguenther@suse.de>
86         Jeff Law  <law@redhat.com>
88         PR target/68273
89         * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
90         types for anonymous SSA names.
92 2016-02-08   Richard Biener  <rguenther@suse.de>
94         PR rtl-optimization/69274
95         * ira.c (ira_setup_alts): Do not change recog_data.operand
96         order.
98 2016-02-08  Jeff Law  <law@redhat.com>
100         PR tree-optimization/65917
101         * tree-ssa-dom.c (record_temporary_equivalences): Record both
102         equivalences from if (x == y) style conditionals.
103         (loop_depth_of_name): Remove.
104         (record_equality): Remove loop depth check.
105         * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
106         (const_and_copies::record_const_or_copy_raw): New member function.
107         * tree-ssa-scopedtables.c
108         (const_and_copies::record_const_or_copy_raw): New, factored out of
109         (const_and_copies::record_const_or_copy): Call new member function.
111 2016-02-05  Jeff Law  <law@redhat.com>
113         PR tree-optimization/68541
114         * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
115         (count_stmts_in_block): New function.
116         (poor_ifcvt_candidate_code): Likewise.
117         (is_feasible_trace): Add some heuristics to determine when path
118         splitting is profitable.
119         (find_block_to_duplicate_for_splitting_paths): Make sure the graph
120         is a diamond with a single exit.
122 2016-02-05  Martin Sebor  <msebor@redhat.com>
124         PR c++/69662
125         * doc/invoke.texi: Update -Wplacement-new to take an optional
126         argument.
128 2016-02-06  Richard Henderson  <rth@redhat.com>
130         PR c/69643
131         * tree.c (tree_nop_conversion_p): Do not strip casts into or
132         out of non-standard address spaces.
134 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
136         PR rtl-optimization/69691
137         * lra-eliminations.c (move_plus_up): Don't add the addend twice.
139 2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
141         * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
142         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
143         (*ieee128_mfvsrd_64bit): Likewise.
144         (*ieee128_mfvsrd_32bit): Likewise.
146 2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
148         PR target/69369
149         Revert r232560:
150         2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
152         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
153         instrumented_version.
155 2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
157         * doc/invoke.texi (Optimize Options): In table of --param options
158         rename second occurrence of tracer-min-branch-ratio to
159         tracer-min-branch-probability, rename
160         tracer-min-branch-ratio-feedback to
161         tracer-min-branch-probability-feedback and clarify description,
162         rename sched-spec-state-edge-prob-cutoff to
163         sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
164         to selsched-insns-to-rename, rename lto-minpartition to
165         lto-min-partition, delete reorder-blocks-duplicate and
166         reorder-blocks-duplicate-feedback.
168 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
170         * config/s390/s390.c (s390_register_info_set_ranges): Remove
171         superfluous loops.
173 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
175         * doc/extend.texi: S/390: Correct some typos.
177 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
179         * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
181 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
183         PR target/69625
184         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
185         defines.
186         (s390_register_info_gprtofpr): Use new macros above.
187         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
188         its name.
189         (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
190         its name.  Adjust restore and save gpr ranges.
191         (s390_register_info_set_ranges): New function.
192         (s390_register_info): Use new macros above.  Call
193         s390_register_info_set_ranges.
194         (s390_optimize_register_info): Likewise.
195         (s390_hard_regno_rename_ok): Use new macros.
196         (s390_hard_regno_scratch_ok): Likewise.
197         (s390_emit_epilogue): Likewise.
198         (s390_can_use_return_insn): Likewise.
199         (s390_optimize_prologue): Likewise.
200         * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
202 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
204         PR bootstrap/69677
205         * config/i386/i386.c (convert_scalars_to_vector): Readd stack
206         alignment fixes.
207         (ix86_option_override_internal): Disable TARGET_STV even for
208         -m{incoming,preferred}-stack-boundary=3.
210 2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
212         * config.gcc: Mark deprecated rtems targets as obsolete.
214 2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
216         PR rtl-optimization/64682
217         PR rtl-optimization/69567
218         * combine.c (distribute_notes) <REG_DEAD>: Place the death note
219         before I2 only if the register is both used and set in I2.
221 2016-02-04  DJ Delorie  <dj@redhat.com>
223         * config/msp430/msp430.c (msp430_start_function): Add function type.
225 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
227         PR fortran/69368
228         * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
230 2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
232         PR rtl-optimization/69577
233         Revert:
234         2015-10-29  Richard Henderson  <rth@redhat.com>
236         PR target/68124
237         PR rtl-opt/67609
238         * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
239         sse check to the exact conditions of PR 67609.
241 2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
243         PR target/69667
244         * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
245         instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
246         not allowed into the traditional Altivec registers.
247         (movtd_64bit_nodm): Likewise.
248         (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
250 2016-02-04  David Malcolm  <dmalcolm@redhat.com>
252         * config/aarch64/cortex-a57-fma-steering.c
253         (aarch64_register_fma_steering): Remove "static" from arguments
254         to register_pass.
256 2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
258         PR target/69619
259         * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
260         twice when complex.
262 2016-02-04  Mike Frysinger  <vapier@gentoo.org>
264         * doc/invoke.texi: Delete -mno-fma4.
266 2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
268         PR rtl-optimization/69577
269         * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
270         (find_subregs_of_mode): Update accordingly.  Iterate over partial
271         definitions.
273 2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
275         * config/arm/arm-protos.h (neon_reinterpret): Remove.
276         * config/arm/arm.c (neon_reinterpret): Remove.
277         * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
278         vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
279         vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
280         vreinterpretti): Remove.
281         * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
282         neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
283         neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
284         neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
285         neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
286         neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
287         * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
288         vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
289         vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
290         vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
291         vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
292         vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
293         vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
294         vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
295         vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
296         vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
297         vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
298         vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
299         vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
300         vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
301         vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
302         vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
303         vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
304         vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
305         vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
306         vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
307         vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
308         vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
309         vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
310         vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
311         vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
312         vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
313         vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
314         vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
315         vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
316         vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
317         vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
318         vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
319         vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
320         vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
321         vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
322         vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
323         vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
324         vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
325         vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
326         vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
327         vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
328         vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
329         vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
330         vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
331         vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
332         vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
333         vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
334         vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
335         vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
336         vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
337         vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
338         vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
339         vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
340         vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
341         vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
342         vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
343         vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
344         vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
345         vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
346         vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
347         vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
348         vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
349         vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
350         vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
351         vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
352         vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
353         vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
354         vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
355         vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
356         vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
357         vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
358         vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
359         vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
360         vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
361         vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
362         vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
363         vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
364         vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
365         vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
366         vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
367         vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
368         vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
369         vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
370         vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
371         vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
372         vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
373         vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
374         vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
375         vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
376         vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
377         vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
378         vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
379         vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
380         vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
381         vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
382         vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
383         vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
385 2016-02-04  Martin Liska  <mliska@suse.cz>
387         PR sanitizer/69276
388         * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
389         that are gimple_store_p.
390         (maybe_instrument_call): Likewise.
392 2016-02-04  Bin Cheng  <bin.cheng@arm.com>
394         * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
395         register scaling out of memory reference and comment why.
397 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
399         PR target/65932
400         PR target/67714
401         * cse.c (cse_insn): Pass NULL to fold_rtx when initially
402         folding the source of a SET.
404 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
406         PR target/65932
407         PR target/67714
408         * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
409         the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
411 2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
413         PR target/65932
414         PR target/67714
415         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
416         HImode.
418 2016-02-04  Christian Bruel  <christian.bruel@st.com>
420         * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
421         * config/arm/arm.c (arm_set_current_function): Likewise.
423 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
424             Ilya Enkovich  <enkovich.gnu@gmail.com>
425             H.J. Lu  <hongjiu.lu@intel.com>
427         PR target/69454
428         * config/i386/i386.c (convert_scalars_to_vector): Remove
429         stack alignment fixes.
430         (ix86_option_override_internal): Disable TARGET_STV if stack
431         might not be aligned enough.
432         (ix86_minimum_alignment): Assert that TARGET_STV is false.
434 2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
436         * gcc/config/i386/x86-tune.def: Disable default prefetching
437         for -march=znver1.
439 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
440             Vladimir Makarov  <vmakarov@redhat.com>
442         PR target/69461
443         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
444         in validating fused toc addresses.
446 2016-02-03  Jakub Jelinek  <jakub@redhat.com>
448         PR c/69627
449         * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
450         range->m_caret fields if range->m_show_caret_p is false.
452         PR target/69644
453         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
454         Force oldval into register if it does not satisfy reg_or_short_operand
455         predicate.  Fix up formatting.
457 2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
458             Alexandre Oliva  <aoliva@redhat.com>
460         PR target/69461
461         * lra-constraints.c (simplify_operand_subreg): Check additionally
462         address validity after potential reloading.
463         (process_address_1): Check insns validity.  In case of failure do
464         nothing.
466 2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
468         PR target/69118
469         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
470         Fix target.
472 2016-02-02  Jakub Jelinek  <jakub@redhat.com>
474         * wide-int.cc (canonize_uhwi): New function.
475         (wi::divmod_internal): Use it.
477 2016-02-02  James Norris  <jnorris@codesourcery.com
479         * gimplify.c (omp_notice_variable): Add usage check.
481 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
483         * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
484         like LE, GE, LT, GT when emitting relational operator.
486 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
488         * ira-costs.c (find_costs_and_classes): Add extra argument.
489         * target.def (ira_change_pseudo_allocno_class): Add parameter.
490         * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
491         * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
492         * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
493         Add best_class parameter, and return it if not ALL_REGS.
494         * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
495         Add parameter.
496         * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
497         Update target hook.
499 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
501         * config/aarch64/aarch64.c
502         (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
503         (aarch64_ira_change_pseudo_allocno_class): New function.
505 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
507         PR target/67032
508         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
510 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
512         * config/avr/avr.c (avr_option_override): Set
513         PARAM_ALLOW_STORE_DATA_RACES to 1.
515 2016-02-02  Richard Biener  <rguenther@suse.de>
517         PR tree-optimization/69595
518         * match.pd: Add range test simplifications to true/false.
520 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
522         * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
523         * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
524         instead.
526 2016-02-02  Richard Biener  <rguenther@suse.de>
528         PR tree-optimization/69606
529         * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
530         info on the result before moving a stmt.
532 2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
534         PR middle-end/68542
535         * config/i386/i386.c (ix86_expand_branch): Add support for conditional
536         branch with vector comparison.
537         * config/i386/sse.md (VI48_AVX): New mode iterator.
538         (define_expand "cbranch<mode>4): Add support for conditional branch
539         with vector comparison.
540         * tree-vect-loop.c (optimize_mask_stores): New function.
541         * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
542         has_mask_store field of vect_info.
543         * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
544         vectorized loops having masked stores after vec_info destroy.
545         * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
546         correspondent macros.
547         (optimize_mask_stores): Add prototype.
549 2016-02-02  Alan Modra  <amodra@gmail.com>
551         PR target/69548
552         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
553         allow subregs.
555 2016-02-02  Alan Modra  <amodra@gmail.com>
557         PR target/68662
558         * config/rs6000/rs6000.c (need_toc_init): New var, set it
559         whenever toc_label_name used.
560         (rs6000_file_start): Don't set up toc section here,
561         (rs6000_output_function_epilogue): do so here instead,
562         (rs6000_xcoff_file_start): and here.
563         * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
564         (load_toc_aix_di): Likewise.
566 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
568         PR rtl-optimization/69592
569         * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
570         (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
571         (num_sign_bit_copies_binary_arith_p): New inline function.
572         (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
574 2016-02-01  Jeff Law  <law@redhat.com>
576         PR tree-optimization/69580
577         * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
578         * tree-ssa-threadbackward.c
579         (fsm_find_control_statement_thread_paths): Do not try to walk
580         through large PHI nodes.
582 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
584         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
585         when count is incremented above limit, don't analyze further
586         insns afterwards.
588         * omp-low.c (oacc_parse_default_dims): Avoid
589         -Wsign-compare warning, make sure value fits into int
590         rather than just unsigned int.
592 2016-02-01  Bin Cheng  <bin.cheng@arm.com>
594         PR tree-optimization/67921
595         * fold-const.c (split_tree): New parameters.  Convert pointer
596         type variable part to proper type before negating.
597         (fold_binary_loc): Pass new arguments to split_tree.
599 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
601         * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
602         (nvptx_goacc_validate_dims): Extend to handle global defaults.
603         * target.def (OACC_VALIDATE_DIMS): Extend documentation.
604         * doc/tm.texti: Rebuilt.
605         * doc/invoke.texi (fopenacc-dim): Document.
606         * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
607         (append_compiler_options): Likewise.
608         * omp-low.c (oacc_default_dims, oacc_min_dims): New.
609         (oacc_parse_default_dims): New.
610         (oacc_validate_dims): Add USED arg.  Select non-unity default when
611         possible.
612         (oacc_loop_fixed_partitions): Return mask of used partitions.
613         (oacc_loop_auto_partitions): Emit dump info.
614         (oacc_loop_partition): Return mask of used partitions.
615         (execute_oacc_device_lower): Parse default dimension arg.  Adjust
616         loop partitioning and validation calls.
618 2016-02-01  Richard Biener  <rguenther@suse.de>
620         PR middle-end/69556
621         * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
623 2016-02-01  Richard Biener  <rguenther@suse.de>
625         PR tree-optimization/69574
626         * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
627         of asserting return chrec_dont_know.
629 2016-02-01  Martin Liska  <mliska@suse.cz>
631         * mem-stats-traits.h: Add copyright header.
632         * mem-stats.h: Likewise.
634 2016-02-01  Richard Biener  <rguenther@suse.de>
636         PR tree-optimization/69579
637         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
638         Do not propagate through abnormal PHI results.
640 2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
642         * postreload.c (reload_cse_simplify): Remove dead code.
644 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
646         PR rtl-optimization/69570
647         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
648         if there is more than one set, not if there is a single set.
650 2016-02-01  Richard Henderson  <rth@redhat.com>
652         PR rtl-opt/69535
653         * combine.c (make_compound_operation): When looking through a
654         subreg, make sure to re-extend to the width of the outer mode.
656 2016-01-30  Jakub Jelinek  <jakub@redhat.com>
658         PR tree-optimization/69546
659         * wide-int.cc (wi::divmod_internal): For unsigned division
660         where both operands fit into uhwi, if o1 is 1 and o0 has
661         msb set, if divident_prec is larger than bits per hwi,
662         clear another quotient word and return 2 instead of 1.
663         Similarly for remainder with msb in HWI set, if dividend_prec
664         is larger than bits per hwi.
666 2016-01-29  Martin Jambor  <mjambor@suse.cz>
668         * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
669         Use short lowercase names.
670         (get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
671         MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
672         acq_rel one.  Protect warning agains segfaults if
673         get_memory_order_name returns NULL.
674         (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
675         with release semantics.  Do not warn if get_memory_order already did.
676         (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
677         semantics.  Fix check for relaxed or acquire semantics.  Do not warn
678         if get_memory_order already did.
680 2016-01-29  Sebastian Pop  <s.pop@samsung.com>
682         * doc/install.texi: Document that isl-0.16 is supported.
684 2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
686         PR target/69299
687         * config/i386/constraints.md (Bm): Describe as special memory
688         constraint.
689         * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
690         * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
691         * genpreds.c (struct constraint_data): Add is_special_memory.
692         (have_special_memory_constraints, special_memory_start): New
693         static vars.
694         (special_memory_end): Ditto.
695         (add_constraint): Add new arg is_special_memory.  Add code to
696         process its true value.  Update have_special_memory_constraints.
697         (process_define_constraint): Pass the new arg.
698         (process_define_register_constraint): Ditto.
699         (choose_enum_order): Process special memory.
700         (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
701         function insn_extra_special_memory_constraint.
702         (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
703         * gensupport.c (process_rtx): Process
704         DEFINE_SPECIAL_MEMORY_CONSTRAINT.
705         * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
706         * ira-lives.c (single_reg_class): Use
707         insn_extra_special_memory_constraint.
708         * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
709         * lra-constraints.c (process_alt_operands): Ditto.
710         (curr_insn_transform): Use insn_extra_special_memory_constraint.
711         * recog.c (asm_operand_ok, preprocess_constraints): Process
712         CT_SPECIAL_MEMORY.
713         * reload.c (find_reloads): Ditto.
714         * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
715         * stmt.c (parse_input_constraint): Use
716         insn_extra_special_memory_constraint.
718 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
720         PR target/69530
721         * lra-splill.c (lra_final_code_change): Revert r229087 by
722         removing all sub-registers.
724 2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
726         PR target/65604
727         * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
729 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
731         PR target/69551
732         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
733         SSE1, copy target into the temporary reg first before recursing
734         on it.
736 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
738         * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
739         with vm.
741 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
743         * ginclude/stdarg.h: Test __cplusplus instead of
744         __GXX_EXPERIMENTAL_CXX0X__.
746 2016-01-29  Richard Biener  <rguenther@suse.de>
748         PR tree-optimization/69547
749         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
750         Do not mark clobbers necessary.
751         (mark_all_reaching_defs_necessary_1): Likewise.
753 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
755         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
756         declaration name with %qs and print it in both error messages.
757         Also fix indentation.
759 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
761         PR other/69006
762         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
763         trailing blank line from error message.
765 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
767         PR c++/69462
768         * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
769         for C++-11.
771 2016-01-29  Richard Biener  <rguenther@suse.de>
773         PR middle-end/69537
774         * match.pd: Allow all integral types when simplifying a
775         widening or sign-changing conversion.
777 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
779         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
780         back to setting codegen_error to fail codegen.
782 2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
784         PR target/69459
785         * config/i386/constraints.md (C): Only accept constant zero operand.
786         (BC): New constraint.
787         * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
788         instead of C constraint.
789         * doc/md.texi (Machine Constraints): Update description
790         of C constraint.
792 2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
794         PR target/68400
795         * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
797 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
799         PR middle-end/69542
800         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
801         non-debug insns.
803 2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
805         * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
806         branches if using guessed profile.
808 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
810         * graphite-optimize-isl.c (optimize_isl): Fix dump.
812 2016-01-28  Richard Henderson  <rth@redhat.com>
814         PR target/69305
815         * config/aarch64/aarch64-modes.def (CC_Cmode): New
816         * config/aarch64/aarch64-protos.h: Update.
817         * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
818         (aarch64_select_cc_mode): Add check for use of CC_Cmode.
819         (aarch64_get_condition_code_1): Handle CC_Cmode.
820         * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
821         (*add<mode>3_compareC_cconly_imm): New.
822         (*add<mode>3_compareC_cconly): New.
823         (*add<mode>3_compareC_imm): New.
824         (add<mode>3_compareC): New.
825         (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
826         to be first.  Use aarch64_carry_operation.
827         (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
828         (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
829         (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
830         (subti3): Use subdi3_compare1.
831         (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
832         (sub<mode>3_compare1): New.
833         (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
834         (*sub<mode>3_carryin): Use aarch64_borrow_operation.
835         (*subsi3_carryin_uxtw): Likewise.
836         (*ngc<mode>, *ngcsi_uxtw): Likewise.
837         (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
838         * config/aarch64/iterators.md (DWI): New.
839         * config/aarch64/predicates.md (aarch64_carry_operation): New.
840         (aarch64_borrow_operation): New.
842 2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
844         * graphite-optimize-isl.c (optimize_isl): Print a different debug
845         message when isl does not return a valid schedule.
847 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
849         * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
850         Remove comments from class declarations: they are already in the code
851         close by the defs.
853 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
855         * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
856         codegen_error_p.
857         (ternary_op_to_tree): Same.
858         (unary_op_to_tree): Same.
859         (nary_op_to_tree): Same.
860         (gcc_expression_from_isl_expr_op): Same.
861         (gcc_expression_from_isl_expression): Same.
862         (graphite_create_new_loop): Same.
863         (graphite_create_new_loop_guard): Same.
864         (build_iv_mapping): Same.
865         (graphite_create_new_guard): Same.
866         (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
867         (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
869 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
871         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
872         instead of setting codegen_error to fail codegen.
874 2016-01-28  Jason Merrill  <jason@redhat.com>
876         * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
878 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
880         * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
881         Remove CONST_INT_P check in CCMP cost calculation.
883 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
885         * config/aarch64/aarch64.c (generic_vector_cost):
886         Set vec_permute_cost.
887         (cortexa57_vector_cost): Likewise.
888         (exynosm1_vector_cost): Likewise.
889         (xgene1_vector_cost): Likewise.
890         (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
891         * config/aarch64/aarch64-protos.h (cpu_vector_cost):
892         Add vec_permute_cost entry.
894 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
896         * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
897         immediate as %1.
898         (add<mode>3_compare0): Likewise.
899         (addsi3_compare0_uxtw): Likewise.
900         (add<mode>3nr_compare0): Likewise.
901         (compare_neg<mode>): Likewise.
902         (<optab><mode>3): Likewise.
904 2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
906         * tree-vect-stmts.c (vectorizable_comparison): Add
907         NULL check for vectype.
909 2016-01-28  Richard Biener  <rguenther@suse.de>
911         PR tree-optimization/69466
912         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
913         Account for PHIs we couldn't duplicate.
915 2016-01-28  Martin Liska  <mliska@suse.cz>
917         PR pch/68758
918         * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
919         instead of ENABLE_VALGRIND_CHECKING.
921 2016-01-27  Richard Henderson  <rth@redhat.com>
923         PR rtl-opt/69447
924         * lra-remat.c (subreg_regs): New.
925         (dump_candidates_and_remat_bb_data): Dump it.
926         (operand_to_remat): Reject if operand in subreg_regs.
927         (set_bb_regs): Collect subreg_regs.
928         (lra_remat): Init and free subreg_regs.  Compute
929         calculate_local_reg_remat_bb_data before create_cands.
931 2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
933         PR target/68986
934         * config/i386/i386.c (ix86_update_stack_boundary): Don't
935         change stack_alignment_needed for __tls_get_addr call.
937 2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
939         * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
941 2016-01-27  Jeff Law  <law@redhat.com>
943         PR tree-optimization/68398
944         PR tree-optimization/69196
945         * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
946         (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
947         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
948         Only count PHIs in the last block in the path.  The others will
949         const/copy propagate away.  Add heuristic to allow more irreducible
950         subloops to be created when it is likely profitable to do so.
952         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
953         Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
954         check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
956 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
958         PR lto/69254
959         * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
960         END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
961         * asan.c (DEF_BUILTIN_STUB): Temporarily define.
962         * tree-streamer-in.c: Include asan.h.
963         (streamer_get_builtin_tree): For builtins in sanitizer
964         range call initialize_sanitizer_builtins and retry.
966 2016-01-27  Ian Lance Taylor  <iant@google.com>
968         * common.opt (fkeep-gc-roots-live): New undocumented option.
969         * tree-ssa-loop-ivopts.c (add_candidate_1): If
970         -fkeep-gc-roots-live, skip pointers.
971         (add_iv_candidate_for_biv): Handle add_candidate_1 returning
972         NULL.
974 2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
976         PR target/69512
977         * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
978         (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
980 2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
982         PR target/68380
983         * configure.ac: NetBSD provides SSP in its C library.
984         * configure: Updated.
986 2016-01-27  Richard Biener  <rguenther@suse.de>
988         PR tree-optimization/69166
989         * tree-vect-loop.c (vect_is_simple_reduction): Always check
990         reduction code for commutativity / associativity.
992 2016-01-27  Martin Jambor  <mjambor@suse.cz>
994         PR tree-optimization/69355
995         * tree-sra.c (analyze_access_subtree): Correct hole detection when
996         total_scalarization fails.
998 2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
1000         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
1001         power9.
1003 2016-01-27  Christian Bruel  <christian.bruel@st.com>
1005         PR target/69245
1006         * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
1007         Move arm_reset_previous_fndecl and set_target_option_current_node in
1008         the conditional part.  Call save_restore_target_globals.
1009         * config/arm/arm.c (arm_set_current_function):
1010         Refactor to better support #pragma target and attribute mix.
1011         Call save_restore_target_globals.
1012         * config/arm/arm-protos.h (save_restore_target_globals): New function.
1014 2016-01-27  Martin Liska  <mliska@suse.cz>
1016         * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
1017         reference for an HSA kernel and its host function.
1019 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
1021         PR tree-optimization/69399
1022         * wide-int.h (wi::lrshift): For larger precisions, only
1023         use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
1025 2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
1027         * config/arc/predicates.md (proper_comparison_operator): Reject
1028         constant-constant comparison.
1030 2016-01-26  Tom de Vries  <tom@codesourcery.com>
1032         PR tree-optimization/69110
1033         * tree-data-ref.c (initialize_data_dependence_relation): Handle
1034         DR_NUM_DIMENSIONS == 0.
1036 2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
1037             Sebastian Pop  <s.pop@samsung.com>
1039         * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
1040         isl_ast_op_cond and isl_ast_op_select.
1041         (gcc_expression_from_isl_expr_op): Same.
1043 2016-01-26  Jason Merrill  <jason@redhat.com>
1045         PR c++/68782
1046         * tree.c (recompute_constructor_flags): Split out from
1047         build_constructor.
1048         (verify_constructor_flags): New.
1049         * tree.h: Declare them.
1051 2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
1053         PR rtl-optimization/69217
1054         * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
1055         are no TYPE_FIELDS set for the record type.
1057 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
1059         PR target/68662
1060         * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
1061         toc_label_name unconditionally.
1062         (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
1063         SYMBOL_REF string.  Use toc_label_name instead of constructing
1064         LCTOC1.
1065         (rs6000_elf_declare_function_name): Use toc_label_name instead of
1066         constructing LCTOC1.
1068 2016-01-26  Martin Sebor  <msebor@redhat.com>
1070         PR other/69477
1071         * doc/extend.texi (Common Type Attributes): Move text that talks about
1072         attribute packed from attribute aligned to the section discussing
1073         the former attribute for clarity.
1075 2016-01-26  Richard Henderson  <rth@redhat.com>
1077         PR middle-end/60908
1078         * trans-mem.c (tm_region_init): Mark entry block as visited.
1080 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
1082         PR other/69006
1083         * diagnostic-show-locus.c (layout::print_source_line): Replace
1084         call to pp_newline with call to layout::print_newline.
1085         (layout::print_annotation_line): Likewise.
1086         (layout::move_to_column): Likewise.
1087         (layout::print_any_fixits): After printing any fixits, print a
1088         trailing newline, if necessary.
1089         (layout::print_newline): New method, resetting any colorization
1090         before a newline.
1091         (diagnostic_show_locus): Move the pp_newline to before the
1092         early bailout.  Remove dummy block enclosing the layout instance.
1093         * diagnostic.c (default_diagnostic_finalizer): Replace invocation
1094         of pp_newline_and_flush with pp_flush.
1095         (diagnostic_append_note): Delete use of pp_newline.
1096         (diagnostic_append_note_at_rich_loc): Delete.
1097         * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
1098         * pretty-print.h (output_buffer_append_r): Reset buff->line_length
1099         when newline characters are added to the buffer.
1101 2016-01-26  Michael Matz  <matz@suse.de>
1103         * configure.ac (ac_cv_std_swap_in_utility): New test.
1104         * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
1105         * configure: Regenerate.
1106         * config.in: Regenerate.
1108 2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
1110         * config/arc/arc.md (cstoresi4): Force operand into register.
1111         (arcset<code>): Fix predicate.
1112         (arcsetltu): Likewise.
1113         (arcsetgeu): Likewise.
1114         (arcsethi): Likewise.
1115         (arcsetls): Likewise.
1117 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
1119         PR tree-optimization/69483
1120         * gimple-fold.c (canonicalize_constructor_val): Return NULL
1121         if base has error_mark_node type.
1123 2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
1125         PR target/68620
1126         * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
1127         * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
1128         New helper macros.
1129         (vget_lane_f16): Handle big-endian.
1130         (vgetq_lane_f16): Likewise.
1131         (vset_lane_f16): Likewise.
1132         (vsetq_lane_f16): Likewise.
1133         * config/arm/iterators.md (VQXMOV): Add V8HF.
1134         (VDQ): Add V4HF and V8HF.
1135         (V_reg): Handle V4HF and V8HF.
1136         (Is_float_mode): Likewise.
1137         * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
1138         neon_vdup_nv8hf): New patterns.
1139         (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
1140         Use VD_LANE iterator.
1141         (neon_vld1_dup<mode>): Use VQ2 iterator.
1143 2016-01-26  Nathan Sidwell  <nathan@acm.org>
1145         * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
1146         (set_oacc_fn_attrib): Add IS_KERNEL arg.
1147         * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
1148         (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
1149         (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
1150         (oacc_validate_dims): Add LEVEL arg, don't return level.
1151         (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
1152         oacc_validate_dims.
1153         (execute_oacc_device_lower): Adjust, add more dump output.
1154         * tree-ssa-loop.c (gate_oacc_kernels): Use
1155         oacc_fn_attrib_kernels_p.
1156         * tree-parloops.c (create_parallel_loop): Adjust
1157         set_oacc_fn_attrib call.
1159 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
1161         PR lto/69254
1162         * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
1163         (append_compiler_options): Handle -fcilkplus.
1164         (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
1166 2016-01-26  Nick Clifton  <nickc@redhat.com>
1168         PR target/66655
1169         * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
1170         been marked as DECL_ONE_ONLY but we do not the means to make it
1171         so, then do not allow it to bind locally.
1173 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
1175         PR lto/69254
1176         * opts.h (parse_sanitizer_options): New prototype.
1177         * opts.c (sanitizer_opts): New array.
1178         (parse_sanitizer_options): New function.
1179         (common_handle_option): Use parse_sanitizer_options.
1181 2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
1183         PR target/68986
1184         * config/i386/i386.c (ix86_compute_frame_layout): Move stack
1185         alignment adjustment to ...
1186         (ix86_update_stack_boundary): Here.  Don't over-align stack for
1187         __tls_get_addr.
1188         (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
1189         if __tls_get_addr is called.
1191 2016-01-26  Christian Bruel  <christian.bruel@st.com>
1193         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
1195 2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
1197         * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
1199 2016-01-26  Richard Biener  <rguenther@suse.de>
1201         PR middle-end/69467
1202         * match.pd: Guard X * CST CMP 0 pattern with single_use.
1204 2016-01-26  Richard Biener  <rguenther@suse.de>
1206         PR tree-optimization/69452
1207         * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
1208         (move_computations_dom_walker::before_dom_children): Rename
1209         to ...
1210         (move_computations_worker): This.
1211         (move_computations): Perform an RPO rather than a DOM walk.
1213 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
1215         PR target/69442
1216         * combine.c (combine_instructions): For REG_EQUAL note with
1217         SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
1218         to the underlying register.
1219         * doc/rtl.texi (REG_EQUAL): Document the behavior of
1220         REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
1222 2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
1224         PR target/67896
1225         * config/aarch64/aarch64-builtins.c
1226         (aarch64_init_simd_builtin_types): Do not set structural
1227         equality to __Poly{8,16,64,128}_t types.
1229 2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
1231         PR tree-optimization/69400
1232         * wide-int.cc (wi_pack): Take the precision as argument and
1233         perform canonicalization here rather than in the callers.
1234         Use the main loop to handle all full-width HWIs.  Add a
1235         zero HWI if in_len isn't a full result.
1236         (wi::divmod_internal): Update accordingly.
1237         (wi::mul_internal): Likewise.  Simplify.
1239 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
1240             Sebastian Pop  <s.pop@samsung.com>
1242         * graphite-poly.c (apply_poly_transforms): Simplify.
1243         (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
1244         (print_isl_map): Same.
1245         (print_isl_union_map): Same.
1246         (print_isl_schedule): New.
1247         (debug_isl_schedule): New.
1248         * graphite-dependences.c (scop_get_reads): Do not call
1249         isl_union_map_add_map that is undocumented isl functionality.
1250         (scop_get_must_writes): Same.
1251         (scop_get_may_writes): Same.
1252         (scop_get_original_schedule): Remove.
1253         (scop_get_dependences): Do not call isl_union_map_compute_flow that
1254         is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
1255         (compute_deps): Remove.
1256         * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
1257         (debug_schedule_ast): New.
1258         (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
1259         set_separate_option.
1260         (graphite_regenerate_ast_isl): Add dump.
1261         (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
1262         from scop->transformed_schedule.
1263         (graphite_regenerate_ast_isl): Add more dump.
1264         * graphite-optimize-isl.c (optimize_isl): Set
1265         scop->transformed_schedule.  Check whether schedules are equal.
1266         (apply_poly_transforms): Move here.
1267         * graphite-poly.c (apply_poly_transforms): ... from here.
1268         (free_poly_bb): Static.
1269         (free_scop): Static.
1270         (pbb_number_of_iterations_at_time): Remove.
1271         (print_isl_ast): New.
1272         (debug_isl_ast): New.
1273         (debug_scop_pbb): New.
1274         * graphite-scop-detection.c (print_edge): Move.
1275         (print_sese): Move.
1276         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
1277         (build_scop_scattering): Remove.
1278         (create_pw_aff_from_tree): Assert instead of bailing out.
1279         (add_condition_to_pbb): Remove unused code, do not fail.
1280         (add_conditions_to_domain): Same.
1281         (add_conditions_to_constraints): Remove.
1282         (build_scop_context): New.
1283         (add_iter_domain_dimension): New.
1284         (build_iteration_domains): Initialize pbb->iterators.
1285         Call add_conditions_to_domain.
1286         (nested_in): New.
1287         (loop_at): New.
1288         (index_outermost_in_loop): New.
1289         (index_pbb_in_loop): New.
1290         (outermost_pbb_in): New.
1291         (add_in_sequence): New.
1292         (add_outer_projection): New.
1293         (outer_projection_mupa): New.
1294         (add_loop_schedule): New.
1295         (build_schedule_pbb): New.
1296         (build_schedule_loop): New.
1297         (embed_in_surrounding_loops): New.
1298         (build_schedule_loop_nest): New.
1299         (build_original_schedule): New.
1300         (build_poly_scop): Call build_original_schedule.
1301         * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
1302         (free_poly_dr): Remove.
1303         (struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
1304         (free_poly_bb): Remove.
1305         (debug_loop_vec): Remove.
1306         (print_isl_ast): Declare.
1307         (debug_isl_ast): Declare.
1308         (scop_do_interchange): Remove.
1309         (scop_do_strip_mine): Remove.
1310         (scop_do_block): Remove.
1311         (flatten_all_loops): Remove.
1312         (optimize_isl): Remove.
1313         (pbb_number_of_iterations_at_time): Remove.
1314         (debug_scop_pbb): Declare.
1315         (print_schedule_ast): Declare.
1316         (debug_schedule_ast): Declare.
1317         (struct scop): Remove schedule.  Add original_schedule,
1318         transformed_schedule.
1319         (free_gimple_poly_bb): Remove.
1320         (print_generated_program): Remove.
1321         (debug_generated_program): Remove.
1322         (unify_scattering_dimensions): Remove.
1323         * sese.c (print_edge): ... here.
1324         (print_sese): ... here.
1325         (debug_edge): ... here.
1326         (debug_sese): ... here.
1327         * sese.h (print_edge): Declare.
1328         (print_sese): Declare.
1329         (dump_edge): Declare.
1330         (dump_sese): Declare.
1332 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
1333             Sebastian Pop  <s.pop@samsung.com>
1335         * Makefile.in: Set ISLVER in site.exp.
1337 2016-01-25  Jakub Jelinek  <jakub@redhat.com>
1339         * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
1340         DECL_VALUE_EXPR of new_var even for the non-array case.  Look
1341         through DECL_VALUE_EXPR for expansion.
1343 2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1345         * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
1346         the frame info after reload completed.
1348 2016-01-25  Jeff Law  <law@redhat.com>
1350         PR tree-optimization/69196
1351         PR tree-optimization/68398
1352         * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
1353         tree-ssa-threadupdate.c.
1354         (determine_bb_domination_status): Prototype
1355         * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
1356         (determine_bb_domination_status): No longer static.
1357         (valid_jump_thread_path): Remove code to detect characteristics
1358         of the jump thread path not associated with correctness.
1359         * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
1360         Correct test for thread path length.  Count PHIs for real operands as
1361         statements that need to be copied.  Do not count ASSERT_EXPRs.
1362         Look at all the blocks in the thread path.  Compute and selectively
1363         filter thread paths based on threading through the latch, threading
1364         a multiway branch or crossing a multiway branch.
1366 2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1368         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
1369         decl with __attribute__ ((unused)) annotation.
1371 2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
1373         PR target/69421
1374         * tree-vect-stmts.c (vectorizable_condition): Check vectype
1375         of operands is compatible with a statement vectype.
1377 2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
1379         * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
1380         improve wording for mixed storage order support.
1382 2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
1384         * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
1385         (vcvt_u64_f64): Likewise.
1386         (vcvta_s64_f64): Likewise.
1387         (vcvta_u64_f64): Likewise.
1388         (vcvtm_s64_f64): Likewise.
1389         (vcvtm_u64_f64): Likewise.
1390         (vcvtn_s64_f64): Likewise.
1391         (vcvtn_u64_f64): Likewise.
1392         (vcvtp_s64_f64): Likewise.
1393         (vcvtp_u64_f64): Likewise.
1395 2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
1397         * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
1398         (arc_init): Check validity mll64 option.
1399         (arc_save_restore): Use double load/store instruction.
1400         (arc_expand_movmem): Likewise.
1401         (arc_split_move): Don't split if we have double load/store
1402         instructions. Returns a boolean.
1403         (arc_process_double_reg_moves): Change function to return boolean
1404         instead of a sequence of instructions.
1405         (arc_dwarf_register_span): New function.
1406         * config/arc/arc-protos.h (arc_split_move): Change prototype.
1407         * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
1408         * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
1409         (*movdf_insn): Likewise.
1410         * config/arc/arc.opt (mll64): New option.
1411         * config/arc/predicates.md (even_register_operand): New predicate.
1412         * doc/invoke.texi (ARC Options): Add mll64 documentation.
1414 2016-01-25  Richard Biener  <rguenther@suse.de>
1416         PR lto/69393
1417         * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
1418         * tree-streamer-out.c (pack_ts_base_value_fields): Stream
1419         DECL_NAMELESS.
1420         * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
1422 2016-01-25  Richard Biener  <rguenther@suse.de>
1424         PR tree-optimization/69376
1425         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
1426         flag.
1427         (VN_INFO_ANTI_RANGE_P): New inline.
1428         (VN_INFO_RANGE_TYPE): Likewise.
1429         * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
1430         SSA_NAME_ANTI_RANGE_P.
1431         (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
1432         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1433         Properly query VN_INFO_RANGE_TYPE.
1435 2016-01-25  Nick Clifton  <nickc@redhat.com>
1437         PR target/66655
1438         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
1440 2016-01-23  Tom de Vries  <tom@codesourcery.com>
1442         PR tree-optimization/69426
1443         * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
1444         removed clobber.
1446 2016-01-23  Jakub Jelinek  <jakub@redhat.com>
1448         * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
1449         "the the" with "the" in the comments.
1450         * ipa-devirt.c (build_type_inheritance_graph,
1451         update_type_inheritance_graph): Likewise.
1452         * tree.c (build_function_type_list_1): Likewise.
1453         * cfgloopmanip.c (scale_loop_profile): Likewise.
1454         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
1455         * gimple-ssa-split-paths.c
1456         (find_block_to_duplicate_for_splitting_paths): Likewise.
1457         * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
1458         * expr.c (convert_move): Likewise.
1459         * var-tracking.c (vt_stack_adjustments): Likewise.
1460         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
1461         * tree-vrp.c (test_for_singularity): Likewise.
1463         * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
1464         directly instead of building a temporary tree.
1466         PR bootstrap/69434
1467         * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
1468         remove <algorithm> include.
1470 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
1472         PR target/69432
1473         * config/i386/i386.c: Include dojump.h.
1474         (expand_small_movmem_or_setmem,
1475         expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
1476         fixes.
1477         (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
1478         if dynamic_check != -1.
1480 2016-01-21  Jeff Law  <law@redhat.com>
1482         PR middle-end/69347
1483         * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
1484         record_temporary_equivalences.  Rewritten to avoid unnecessary calls
1485         into dominated_by_p.
1486         (cprop_into_successor_phis): Avoid unnecessary tests.
1488 2016-01-22  Richard Henderson  <rth@redhat.com>
1490         PR target/69416
1491         * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
1492         (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
1494 2016-01-22  Michael Matz  <matz@suse.de>
1496         * system.h (string, algorithm): Include only conditionally.
1497         (new): Include always under C++.
1498         * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
1499         * final.c (toplevel): Ditto.
1500         * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
1501         * genconditions.c (write_header): Make gencondmd.c define
1502         INCLUDE_STRING.
1503         * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
1505         * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
1506         * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
1508 2016-01-22  Christian Bruel  <christian.bruel@st.com>
1510         PR target/68674
1511         * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
1513 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1515         PR target/69403
1516         * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
1517         define_insn_and_split.  Ensure operands[1] and operands[0] do not
1518         get assigned the same register.
1520 2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
1522         * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
1524 2016-01-22  Christian Bruel  <christian.bruel@st.com>
1526         * config/arm/arm-c.c (arm_pragma_target_parse):
1527         Remove warn_builtin_macro_redefined overwrite.
1529 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1531         * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
1532         flag_non_call_exceptions compatibility.
1534 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
1536         PR debug/66668
1537         * dwarf2out.c (add_child_die_after): New function.
1538         (dwarf_qual_info_t): New type.
1539         (dwarf_qual_info): New variable.
1540         (qualified_die_p): New function.
1541         (modified_type_die): For -fdebug-types-section, ensure
1542         canonical order of qualifiers.  Put qualified DIEs adjacent
1543         to the corresponding non-qualified type DIE and search there
1544         for existing qualified DIEs.
1546 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
1548         * doc/extend.texi (scalar_storage_order type attribute): Document
1549         restriction on type punning and aliasing, and remove future tense.
1551 2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
1553         PR target/69252
1554         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
1555         first stage.
1557 2016-01-21  Jeff Law  <law@redhat.com>
1559         PR middle-end/69347
1560         * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
1561         useless call to record_temporary_equivalences.
1562         * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
1563         allocate 10 slots in the bb_path vector and let it grow as needed.
1564         (fsm_find_control_statement_thread_paths): Similarly for the next_path
1565         vector.
1567 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
1569         * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
1570         Detangle.
1571         * configure: Regenerate.
1573 2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
1575         * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
1576         * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
1578 2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
1580         PR middle-end/66178
1581         * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
1582         drop EXPAND_INITIALIZER.
1583         * rtl.h (contains_symbolic_reference_p): Declare.
1584         * rtlanal.c (contains_symbolic_reference_p): New function.
1585         * simplify-rtx.c (simplify_binary_operation_1): Don't turn
1586         a subtraction into a NOT if symbolic constants are involved.
1588 2016-01-21  Anton Blanchard  <anton@samba.org>
1589             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1591         PR target/63354
1592         * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
1593         #define.
1594         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
1595         function.
1597 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
1599         * config/microblaze/microblaze.c
1600         (get_branch_target): New.
1601         (insert_wic_for_ilb_runout): New.
1602         (insert_wic): New.
1603         (microblaze_machine_dependent_reorg): New.
1604         (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
1605         * config/microblaze/microblaze.md
1606         (UNSPEC_IPREFETCH): Define.
1607         (iprefetch): New pattern
1608         * config/microblaze/microblaze.opt
1609         (mxl-prefetch): New flag.
1611 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
1613         * config/microblaze/microblaze.h
1614         (FIXED_REGISTERS): Update in macro.
1615         (CALL_USED_REGISTERS): Update in macro.
1617 2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
1619         PR rtl-optimization/68920
1620         * ifcvt.c (cond_move_process_if_block): Limit number of conditional
1621         moves.
1623 2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
1625         PR rtl-optimization/68990
1626         * lra-coalesce.c (lra_coalesce): Invalidate value for the result
1627         pseudo instead of inheritance ones.
1629 2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1630             Nick Clifton  <nickc@redhat.com>
1632         PR target/69129
1633         PR target/69012
1634         * config/mips/mips.c (mips_compute_frame_info): Initialise
1635         args_size and hard_frame_pointer_offset fields of the frame
1636         structure before calling mips_global_pointer.
1638 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
1640         * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
1641         label reference.
1642         * configure: Regenerate.
1644 2016-01-21  Richard Biener  <rguenther@suse.de>
1646         * graphite-optimize-isl.c (get_schedule_map): Fix typo.
1648 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
1650         * config/s390/s390.c (s390_asm_declare_function_size): Add code
1651         to actually emit the .size directive.
1653 2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
1654              Jakub Jelinek  <jakub@redhat.com>
1656         PR target/69187
1657         PR target/65624
1658         * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
1659         args array size by one to avoid buffer overflow.
1661 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
1663         * config/s390/s390.md (pool_section_start): Use switch_to_section
1664         to select proper read-only data section instead of hardcoding
1665         .rodata.
1666         (pool_section_end): Use switch_to_section to match the above.
1668 2016-01-21  Richard Biener  <rguenther@suse.de>
1670         PR tree-optimization/69378
1671         * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
1672         (set_ssa_val_to): Use it for dominance checks taking into
1673         account not executable edges.
1675 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
1677         PR c++/69355
1678         * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
1679         for bitsize instead of GET_MODE_PRECISION (mode).
1681 2016-01-20  Martin Sebor  <msebor@redhat.com>
1683         PR c/52291
1684         * extend.texi (__sync Builtins): Clarify the semantics of
1685         __sync_fetch_and_OP built-ins on pointers.
1686         (__atomic Builtins): Same.
1688 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1689             Sebastian Pop  <s.pop@samsung.com>
1691         * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
1692         (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
1693         (is_valid_rename): Same.
1694         (translate_isl_ast_to_gimple::get_rename): Same.
1695         (translate_isl_ast_to_gimple::rename_all_uses): Same.
1696         (translate_isl_ast_to_gimple::rename_uses): Same.
1697         (get_new_name): Check for close_phi nodes.
1698         (copy_loop_phi_args): Use phi_node_kind.
1699         (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
1700         (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
1702 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1703             Sebastian Pop  <s.pop@samsung.com>
1705         Revert commit r229783.
1706         * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
1707         Remove use of parameter_rename_map.
1708         (copy_def): Remove.
1709         (copy_internal_parameters): Remove.
1710         (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
1711         * sese.c (new_sese_info): Do not initialize parameter_rename_map.
1712         (free_sese_info): Do not free parameter_rename_map.
1713         (set_rename): Do not use parameter_rename_map.
1714         (rename_uses): Update call to set_rename.
1715         (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
1716         * sese.h (parameter_rename_map_t): Remove.
1717         (struct sese_info_t): Remove field parameter_rename_map.
1719 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1720             Sebastian Pop  <s.pop@samsung.com>
1722         * graphite-isl-ast-to-gimple.c: Fix comment.
1723         * graphite-scop-detection.c (defined_in_loop_p): New.
1724         (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
1725         names defined in loop.
1727 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1728             Sebastian Pop  <s.pop@samsung.com>
1730         * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
1731         Discard unstructured if-then-else regions.
1733 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1734             Sebastian Pop  <s.pop@samsung.com>
1736         * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
1737         (cleanup_loop_iter_dom): Remove.
1738         (build_loop_iteration_domains): Remove.
1739         (build_scop_context): Remove.
1740         (build_scop_iteration_domain): Remove.
1741         (add_loop_constraints): New.
1742         (build_iteration_domains): New.
1743         (build_poly_scop): Call build_iteration_domains.
1745 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1746             Sebastian Pop  <s.pop@samsung.com>
1748         * graphite-scop-detection.c
1749         (scop_detection::harmful_loop_in_region): Free dom and loops.
1750         (scop_detection::loop_body_is_valid_scop): Free bbs.
1752 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1753             Sebastian Pop  <s.pop@samsung.com>
1755         * graphite-scop-detection.c (record_loop_in_sese): New.
1756         (gather_bbs::before_dom_children): Call record_loop_in_sese.
1757         (build_scops): Remove call to build_sese_loop_nests.
1758         * sese.c (sese_record_loop): Remove.
1759         (build_sese_loop_nests): Remove.
1760         (new_sese_info): Remove region->loops.
1761         (free_sese_info): Same.
1762         * sese.h (sese_contains_loop): Same.
1763         (build_sese_loop_nests): Remove.
1764         (sese_contains_loop): Remove.
1766 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1767             Sebastian Pop  <s.pop@samsung.com>
1769         * graphite-scop-detection.c (loop_is_valid_scop): Renamed
1770         loop_is_valid_in_scop.
1771         (scop_detection::harmful_stmt_in_region): Renamed
1772         harmful_loop_in_region.
1773         Call loop_is_valid_in_scop.
1775 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1776             Sebastian Pop  <s.pop@samsung.com>
1778         * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
1779         isl_ast_node_mark.
1781 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1782             Sebastian Pop  <s.pop@samsung.com>
1784         * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
1785         * graphite.h (struct poly_bb): Remove field is_reduction.
1786         (PBB_IS_REDUCTION): Remove.
1788 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
1789             Sebastian Pop  <s.pop@samsung.com>
1791         * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
1792         (add_pdr_constraints): Same.
1793         (scop_get_reads): Same.
1794         (scop_get_must_writes): Same.
1795         (scop_get_may_writes): Same.
1796         (scop_get_original_schedule): Same.
1797         (extend_schedule): Same.
1798         (apply_schedule_on_deps): Same.
1799         (carries_deps): Same.
1800         (compute_deps): Same.
1801         (scop_get_dependences): Same.
1802         * graphite-isl-ast-to-gimple.c
1803         (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
1804         * graphite-optimize-isl.c (get_schedule_for_band): Same.
1805         (get_schedule_for_band_list): Same.
1806         (get_schedule_map): Same.
1807         (apply_schedule_map_to_scop): Same.
1808         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
1809         (build_loop_iteration_domains): Same.
1810         (add_condition_to_pbb): Same.
1811         (add_param_constraints): Same.
1812         (pdr_add_memory_accesses): Same.
1813         (pdr_add_data_dimensions): Same.
1815 2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
1817         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
1818         requirements.
1820 2016-01-20  Sandra Loosemore <sandra@codesourcery.com>
1822         * common.opt (feliminate-dwarf2-dups): Replace references to
1823         "DWARF 2" with just "DWARF".
1824         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
1825         * doc/extend.texi: Likewise.
1826         * doc/cpp.texi: Likewise.
1827         * doc/invoke.texi: Likewise.
1828         (Option Summary): Add -gdwarf to list of Debugging Options.
1829         (Debugging Options): Document -gdwarf.
1830         * doc/contrib.texi: Spell "DWARF" like that.
1832 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
1834         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
1835         warning.  Fix up formatting.
1837         PR middle-end/67653
1838         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
1839         attempt to mark memory input operand addressable and
1840         call prepare_gimple_addressable in that case.  Don't adjust
1841         input_location for diagnostics, use error_at instead.
1843 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
1845         * config/rs6000/ppc-auxv.h: New file.
1846         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
1847         (cpu_is): Likewise.
1848         (cpu_supports): Likewise.
1849         * config/rs6000/rs6000.c: include "ppc-auxv.h".
1850         (cpu_is_info): New variable.
1851         (cpu_supports_info): Likewise.
1852         (tcb_verification_symbol): Likewise.
1853         (cpu_builtin_p): Likewise.
1854         (cpu_expand_builtin): New function.
1855         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
1856         (rs6000_init_builtins): Likewise.
1857         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
1858         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
1859         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
1860         * configure: Regenerate.
1861         * config.in: Likewise.
1862         * doc/extend.texi (PowerPC Built-in Functions): Document
1863         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
1865 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
1867         PR target/68609
1868         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
1869         domain check.
1870         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
1871         for V4SFmode.
1873 2016-01-20  Richard Henderson  <rth@redhat.com>
1875         PR bootstrap/69343
1876         PR bootstrap/69339
1877         PR tree-opt/68964
1878         Revert:
1879         * tree.c (tm_define_builtin): New.
1880         (find_tm_vector_type): New.
1881         (build_tm_vector_builtins): New.
1882         (build_common_builtin_nodes): Call it.
1884 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
1886         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
1887         (arm_fp_ok): Likewise.
1888         (arm_fp): Likewise.
1889         (arm_crypto): Likewise.
1891 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
1892             Richard Biener  <rguenther@suse.de>
1894         PR tree-optimization/69328
1895         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
1896         vectors have same number of elements.
1897         (vectorizable_condition): Fix masked version recognition.
1899 2016-01-20  Richard Biener  <rguenther@suse.de>
1901         PR tree-optimization/69345
1902         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
1903         (VN_INFO_PTR_INFO): Likewise.
1904         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
1905         info when it is equal between non-dominating SSA names.
1906         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1907         Make sure to look at original SSA infos.
1909 2016-01-20  Jeff Law  <law@redhat.com>
1911         PR target/25114
1912         * config/m68k/predicates.md (pow2_m1_operand): New predicate
1913         extracted from ...
1914         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
1915         (pc_or_label_operand): New predicate.
1916         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
1917         tests for small integers that are 2^n - 1.
1919 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
1921         * doc/invoke.texi (Options Summary): Add '.' after @xref.
1923 2016-01-19  Jeff Law  <law@redhat.com>
1925         PR middle-end/69347
1926         * tree-ssa-threadbackwards.c
1927         (fsm_find_control_statement_thread_paths): Do not try to lookup
1928         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
1930 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
1932         * doc/lto.texi: Remove text that says only Gold has linker plugin
1933         support.
1935 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
1937         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
1938         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
1939         the DIE accordingly.
1940         (modified_type_die): Add REVERSE parameter and pass it recursively,
1941         as well as to base_type_die.  Adjust presence check accordingly.
1942         (base_type_for_mode): Adjust call to modified_type_die.
1943         (add_type_attribute): Add REVERSE parameter and pass it to
1944         modified_type_die.
1945         (generic_parameter_die): Adjust call to add_type_attribute.
1946         (add_scalar_info): Likewise.
1947         (add_subscript_info): Likewise.
1948         (gen_array_type_die): Likewise.
1949         (gen_descr_array_type_die): Likewise.
1950         (gen_entry_point_die): Likewise.
1951         (gen_enumeration_type_die): Likewise.
1952         (gen_formal_parameter_die): Likewise.
1953         (gen_subprogram_die): Likewise.
1954         (gen_variable_die ): Likewise.
1955         (gen_const_die): Likewise.
1956         (gen_field_die): Likewise.
1957         (gen_pointer_type_die): Likewise.
1958         (gen_reference_type_die): Likewise.
1959         (gen_ptr_to_mbr_type_die): Likewise.
1960         (gen_inheritance_die): Likewise.
1961         (gen_subroutine_type_die): Likewise.
1962         (gen_typedef_die): Likewise.
1963         (force_type_die): Adjust call to modified_type_die.
1965 2016-01-19  Sandra Loosemore <sandra@codesourcery.com>
1967         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
1968         flow throughout the file.  Fix broken link to Objective-C 2.0
1969         documentation.
1970         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
1971         errors.
1973 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
1975         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
1977 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
1979         PR ipa/66223
1980         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
1981         (maybe_record_node): Record cxa_pure_virtual as the only possible
1982         target if there are not ohter candidates.
1983         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
1985 2016-01-19  Richard Biener  <rguenther@suse.de>
1987         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
1988         (get_memory_order): Likewise.
1990 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
1992         * tree-vect-stmts.c (vectorizable_store): Check
1993         rhs vectype.
1995 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
1997         PR jit/68446
1998         * gcc.c (driver::decode_argv): Add call to
1999         init_opts_obstack before init_options_struct.
2000         * opts.c (init_opts_obstack): Remove idempotency.
2001         (init_options_struct): Replace call to init_opts_obstack
2002         with a gcc_assert to verify that it has already been called.
2003         * toplev.c (toplev::main): Add call to init_opts_obstack before
2004         calls to init_options_struct.
2005         (toplev::finalize): Move cleanup of opts_obstack next to
2006         cleanup of save_decoded_options, clearing the latter, and
2007         save_decoded_options_count.
2009 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2011         PR target/69135
2012         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
2013         attribute to unconditional.  Remove %? from output template.
2015 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
2016             Jiong Wang  <jiong.wang@arm.com>
2018         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
2019         generated from different expand order.
2021 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
2023         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
2024         Add support for CCMP costing.
2026 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
2028         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
2029         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
2030         (fccmpe<mode>): Likewise.
2031         (fcmp): Rename to fcmp and globalize pattern.
2032         (fcmpe): Likewise.
2033         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
2034         (aarch64_gen_ccmp_next): Add FP support.
2036 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
2038         * target.def (gen_ccmp_first): Update documentation.
2039         (gen_ccmp_next): Likewise.
2040         * doc/tm.texi (gen_ccmp_first): Update documentation.
2041         (gen_ccmp_next): Likewise.
2042         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
2043         expand_ccmp_expr_1.  Improve comments.
2044         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
2045         (ccmp_ior<mode>): Remove pattern.
2046         (cmp<mode>): Remove expand.
2047         (cmp): Globalize pattern.
2048         (cstorecc4): Use cc_register.
2049         (mov<mode>cc): Remove ccmp_cc_register check.
2050         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
2051         Simplify after removal of CC_DNE/* modes.
2052         (aarch64_ccmp_mode_to_code): Remove.
2053         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
2054         In 'k' case use integer as condition.
2055         (aarch64_nzcv_codes): Remove inverted cases.
2056         (aarch64_code_to_ccmode): Remove.
2057         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
2058         comparison with CC register to be used in folowing CCMP/branch/CSEL.
2059         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
2060         pattern.  Return the comparison with CC register.  Invert conditions
2061         when bitcode is OR.
2062         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
2063         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
2065 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
2067         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
2068         instrumented_version.
2070 2016-01-19  Richard Biener  <rguenther@suse.de>
2072         PR tree-optimization/69336
2073         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
2074         handled components with get_ref_base_and_extent.
2075         (equal_mem_array_ref_p): Adjust.
2077 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
2079         PR debug/65779
2080         * shrink-wrap.c: Include valtrack.h.
2081         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
2082         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
2083         in between insn and where it will be moved to.  Call
2084         dead_debug_insert_temp.
2085         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
2086         first and dead_debug_local_finish at the end.
2087         For uses and defs bitmap, handle all regs in between REGNO and
2088         END_REGNO, not just the first one.
2090 2016-01-19  Richard Biener  <rguenther@suse.de>
2092         PR tree-optimization/69352
2093         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
2094         (equal_mem_array_ref_p): Constrain size and max size properly.
2095         Compare the reverse flag.
2097 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
2099         * ira.c (ira): Update regstat data if we deleted insns.
2101 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
2103         PR rtl-optimization/68955
2104         PR rtl-optimization/64557
2105         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
2106         here.  Fix up formatting.
2107         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
2109 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
2111         PR lto/69133
2112         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
2113         assume that the node has body.
2114         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
2115         check.
2117 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
2119         * lto-streamer-out.c (lto_output): Do not stream instrumentation
2120         thunks.
2122 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
2124         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
2125         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
2127 2016-01-19  Martin Jambor  <mjambor@suse.cz>
2128             Martin Liska  <mliska@suse.cz>
2129             Michael Matz <matz@suse.de>
2131         * Makefile.in (OBJS): Add new source files.
2132         (GTFILES): Add hsa.c.
2133         * common.opt (disable_hsa): New variable.
2134         (-Whsa): New warning.
2135         * config.in (ENABLE_HSA): New.
2136         * configure.ac: Treat hsa differently from other accelerators.
2137         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
2138         $enable_offloading.
2139         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
2140         * doc/install.texi (Configuration): Document --with-hsa-runtime,
2141         --with-hsa-runtime-include, --with-hsa-runtime-lib and
2142         --with-hsa-kmt-lib.
2143         * doc/invoke.texi (-Whsa): Document.
2144         (hsa-gen-debug-stores): Likewise.
2145         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
2146         to invoke offload compiler for hsa acclerator.
2147         * opts.c (common_handle_option): Determine whether HSA offloading
2148         should be performed.
2149         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
2150         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
2151         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
2152         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
2153         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
2154         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
2155         GF_OMP_FOR_KIND_GRID_LOOP.
2156         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
2157         (pp_gimple_stmt_1): Likewise.
2158         * gimple-walk.c (walk_gimple_stmt): Likewise.
2159         * gimple.c (gimple_build_omp_grid_body): New function.
2160         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
2161         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
2162         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
2163         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
2164         GF_OMP_TEAMS_GRID_PHONY.
2165         (gimple_statement_omp_single_layout): Updated comments.
2166         (gimple_build_omp_grid_body): New function.
2167         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
2168         (gimple_omp_for_grid_phony): New function.
2169         (gimple_omp_for_set_grid_phony): Likewise.
2170         (gimple_omp_parallel_grid_phony): Likewise.
2171         (gimple_omp_parallel_set_grid_phony): Likewise.
2172         (gimple_omp_teams_grid_phony): Likewise.
2173         (gimple_omp_teams_set_grid_phony): Likewise.
2174         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
2175         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
2176         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
2177         (BUILT_IN_GOMP_TARGET): Updated type.
2178         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
2179         (adjust_for_condition): New function.
2180         (get_omp_for_step_from_incr): Likewise.
2181         (extract_omp_for_data): Moved parts to adjust_for_condition and
2182         get_omp_for_step_from_incr.
2183         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
2184         (fixup_child_record_type): Bail out if receiver_decl is NULL.
2185         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
2186         (scan_omp_parallel): Do not create child functions for phony
2187         constructs.
2188         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
2189         (scan_omp_1_op): Checking assert we are not remapping to
2190         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
2191         (parallel_needs_hsa_kernel_p): New function.
2192         (expand_parallel_call): Register apprpriate parallel child
2193         functions as HSA kernels.
2194         (grid_launch_attributes_trees): New type.
2195         (grid_attr_trees): New variable.
2196         (grid_create_kernel_launch_attr_types): New function.
2197         (grid_insert_store_range_dim): Likewise.
2198         (grid_get_kernel_launch_attributes): Likewise.
2199         (get_target_argument_identifier_1): Likewise.
2200         (get_target_argument_identifier): Likewise.
2201         (get_target_argument_value): Likewise.
2202         (push_target_argument_according_to_value): Likewise.
2203         (get_target_arguments): Likewise.
2204         (expand_omp_target): Call get_target_arguments instead of looking
2205         up for teams and thread limit.
2206         (grid_expand_omp_for_loop): New function.
2207         (grid_arg_decl_map): New type.
2208         (grid_remap_kernel_arg_accesses): New function.
2209         (grid_expand_target_kernel_body): New function.
2210         (expand_omp): Call it.
2211         (lower_omp_for): Do not emit phony constructs.
2212         (lower_omp_taskreg): Do not emit phony constructs but create for them
2213         a temporary variable receiver_decl.
2214         (lower_omp_taskreg): Do not emit phony constructs.
2215         (lower_omp_teams): Likewise.
2216         (lower_omp_grid_body): New function.
2217         (lower_omp_1): Call it.
2218         (grid_reg_assignment_to_local_var_p): New function.
2219         (grid_seq_only_contains_local_assignments): Likewise.
2220         (grid_find_single_omp_among_assignments_1): Likewise.
2221         (grid_find_single_omp_among_assignments): Likewise.
2222         (grid_find_ungridifiable_statement): Likewise.
2223         (grid_target_follows_gridifiable_pattern): Likewise.
2224         (grid_remap_prebody_decls): Likewise.
2225         (grid_copy_leading_local_assignments): Likewise.
2226         (grid_process_kernel_body_copy): Likewise.
2227         (grid_attempt_target_gridification): Likewise.
2228         (grid_gridify_all_targets_stmt): Likewise.
2229         (grid_gridify_all_targets): Likewise.
2230         (execute_lower_omp): Call grid_gridify_all_targets.
2231         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
2232         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
2233         (tree_omp_clause): Added union field dimension.
2234         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
2235         * tree.c (omp_clause_num_ops): Added number of arguments of
2236         OMP_CLAUSE__GRIDDIM_.
2237         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
2238         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
2239         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
2240         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
2241         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
2242         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
2243         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
2244         * tree-pass.h (make_pass_gen_hsail): Declare.
2245         (make_pass_ipa_hsa): Likewise.
2246         * ipa-hsa.c: New file.
2247         * lto-section-in.c (lto_section_name): Add hsa section name.
2248         * lto-streamer.h (lto_section_type): Add hsa section.
2249         * timevar.def (TV_IPA_HSA): New.
2250         * hsa-brig-format.h: New file.
2251         * hsa-brig.c: New file.
2252         * hsa-dump.c: Likewise.
2253         * hsa-gen.c: Likewise.
2254         * hsa.c: Likewise.
2255         * hsa.h: Likewise.
2256         * toplev.c (compile_file): Call hsa_output_brig.
2257         * hsa-regalloc.c: New file.
2259 2016-01-18  Jeff Law  <law@redhat.com>
2261         PR tree-optimization/69320
2262         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
2263         ranged object, do nothing if the RHS constant is not [0..1].
2264         (optimize_stmt): Comparing a boolean ranged object against a
2265         constant outside [0..1] results in a compile-time constant.
2267         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
2268         test.
2270 2016-01-18  Sandra Loosemore <sandra@codesourcery.com>
2272         * doc/invoke.texi (Invoking GCC): Add new section to menu.
2273         (Option Summary): Update to reflect new section and moved options.
2274         (C++ Dialect Options): Move -fstats to new section.
2275         (Debugging Options): Move all dump, statistics, and other GCC
2276         developer options to new section.  Rewrite section introduction
2277         and re-order remaining options to put the more basic ones first.
2278         (Optimization Options): Move -fira-verbose and -flto-report* to
2279         new section.
2280         (Developer Options): New section incorporating moved options.
2281         * doc/cppopts.texi (-dM): Update cross-reference.
2283 2016-01-18  Richard Henderson  <rth@redhat.com>
2285         PR target/69176
2286         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
2287         operands to pseudo only if CSE is expected.  Split long immediate
2288         operands only after reload, and for the stack pointer.
2289         (*add<GPI>3_pluslong): Remove.
2290         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
2291         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
2292         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
2293         (*add<GPI>3 peepholes): New.
2294         (*add<GPI>3 splitters): New.
2295         * config/aarch64/constraints.md (Upl): New.
2296         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
2298 2016-01-18  Richard Biener  <rguenther@suse.de>
2300         PR tree-optimization/69297
2301         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
2302         stmt at most once.
2303         (vect_bb_vectorization_profitable_p): Clear visited flag again.
2305 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
2307         PR middle-end/68542
2308         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
2309         of mixind vector and scalar types.
2310         (fold_relational_const): Add handling of vector
2311         comparison with boolean result.
2312         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
2313         comparison of vector operands with boolean result for EQ/NE only.
2314         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
2315         (verify_gimple_cond): Likewise.
2316         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
2317         valid type of VAL.
2319 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
2321         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
2322         !TARGET_OCTEON.
2324 2016-01-18  Richard Biener  <rguenther@suse.de>
2326         PR middle-end/69308
2327         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
2329 2016-01-18  Tom de Vries  <tom@codesourcery.com>
2331         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
2333 2016-01-18  Tom de Vries  <tom@codesourcery.com>
2335         * omp-low.c (set_oacc_fn_attrib): Make extern.
2336         * omp-low.h (set_oacc_fn_attrib): Declare.
2337         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
2338         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
2339         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
2340         Add and handle function parameter oacc_kernels_p.
2341         (find_reduc_addr, get_omp_data_i_param): New function.
2342         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
2343         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
2344         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
2345         Calculate dominance info.  Skip loops that are not in a kernels region
2346         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
2347         (pass_parallelize_loops::execute): Call parallelize_loops with
2348         oacc_kernels_p argument.
2349         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
2350         New member function.
2351         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
2352         * passes.def: Add argument to pass_parallelize_loops instantation.
2354 2016-01-18  Tom de Vries  <tom@codesourcery.com>
2356         * tree-parloops.c (pass_parallelize_loops::execute): Allow
2357         pass_parallelize_loops to be run outside the loop pipeline.
2359 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
2361         * tree-scalar-evolution.c (follow_copies_to_constant): New.
2362         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
2364 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
2366         PR target/63679
2367         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
2368         using get_ref_base_and_extent.
2369         (equal_mem_array_ref_p): New.
2370         (hashable_expr_equal_p): Add call to previous.
2372 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
2374         PR target/63679
2375         * tree-sra.c (disqualified_constants, constant_decl_p): New.
2376         (sra_initialize): Allocate disqualified_constants.
2377         (sra_deinitialize): Free disqualified_constants.
2378         (disqualify_candidate): Update disqualified_constants when appropriate.
2379         (create_access): Scan for constant-pool entries as we go along.
2380         (scalarizable_type_p): Add check against type_contains_placeholder_p.
2381         (maybe_add_sra_candidate): Allow constant-pool entries.
2382         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
2383         (initialize_constant_pool_replacements): New.
2384         (sra_modify_assign): Avoid mangling assignments created by previous,
2385         and don't generate writes into constant pool.
2386         (sra_modify_function_body): Call initialize_constant_pool_replacements.
2388 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
2390         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
2391         andnot instruction.
2392         (scalar_chain::convert_op): Likewise.
2393         * config/i386/i386.md (*andndi3_doubleword): New.
2395 2016-01-18  Richard Biener  <rguenther@suse.de>
2397         PR tree-optimization/69170
2398         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
2399         building a vector from scalar results of a pattern stmt.
2401 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
2403         * haifa-sched.c (autopref_multipass_init): Work around
2404         -Wmaybe-uninitialized warning.
2406 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2408         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
2409         against the constant 0.
2411 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2413         PR tree-optimization/68799
2414         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
2415         look up phi candidates in the statement-candidate map.
2416         (phi_add_costs): Likewise.
2417         (record_phi_increments): Likewise.
2418         (phi_incr_cost): Likewise.
2419         (ncd_with_phi): Likewise.
2420         (all_phi_incrs_profitable): Likewise.
2422 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
2424         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
2425         -Wmaybe-uninitialized warning.
2427 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
2429         * doc/invoke.texi (Invoking GCC): Add new section to menu.
2430         (Option Summary): Update to reflect new section and moved options.
2431         (C++ Dialect Options): Move -fvtable-verify and related options.
2432         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
2433         and profiling-related options.
2434         (Optimization Options): Move profile generation options and
2435         -fstack-protector and related options.
2436         (Instrumentation Options): New section incorporating moved options.
2437         (Code Generation Options): Move -finstrument-functions and
2438         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
2440 2016-01-16  Tom de Vries  <tom@codesourcery.com>
2442         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
2444 2016-01-16  Tom de Vries  <tom@codesourcery.com>
2446         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
2448 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
2450         * hash-table.h (hash_table::empty): Turn into an inline wrapper
2451         that checks whether the table is already empty.  Rename the
2452         original implementation to...
2453         (hash_table::empty_slot): ...this new private function.
2455 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
2457         PR diagnostic/68899
2458         * diagnostic-show-locus.c (layout::print_source_line): Move x
2459         offset of line until after call to
2460         get_line_width_without_trailing_whitespace.
2462 2016-01-15  Jeff Law  <law@redhat.com>
2464         PR tree-optimization/69270
2465         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
2466         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
2467         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
2468         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
2469         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
2470         ssa_name_has_boolean_range and constant_boolean_node.
2472 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
2474         PR rtl-optimization/69030
2475         * lra-spills.c (remove_pseudos): Check nrefs and make the function
2476         returning bool.
2477         (spill_pseudos): Delete debug insn for dead pseudo.
2478         (lra_spill): Initiate spill_hard_reg and slots memory separately.
2480 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
2482         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
2483         New.
2484         (TYPES_UNOPUS): Likewise.
2485         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
2486         builtin type, from UNOP to UNOPUS.
2487         (lbtruncuv4sf): Likewise.
2488         (lbtruncuv2df): Likewise.
2489         (lrounduv2sf): Likewise.
2490         (lrounduv4sf): Likewise.
2491         (lrounduv2df): Likewise.
2492         (lroundusf): Likewise.
2493         (lroundusf): Likewise.
2494         (lceiluv2sf): Likewise.
2495         (lceiluv4sf): Likewise.
2496         (lceiluv2df): Likewise.
2497         (lceilusf): Likewise.
2498         (lceiludf): Likewise.
2499         (lflooruv2sf): Likewise.
2500         (lflooruv4sf): Likewise.
2501         (lflooruv2df): Likewise.
2502         (lfloorusf): Likewise.
2503         (lfloorudf): Likewise.
2504         (lfrintnuv2sf): Likewise.
2505         (lfrintnuv4sf): Likewise.
2506         (lfrintnuv2df): Likewise.
2507         (lfrintnusf): Likewise.
2508         (lfrintnudf): Likewise.
2509         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
2510         conversion.
2511         (vcvtq_u32_f32): Likewise.
2512         (vcvtq_u64_f64): Likewise.
2513         (vcvta_u32_f32): Likewise.
2514         (vcvtaq_u32_f32): Likewise.
2515         (vcvtaq_u64_f64): Likewise.
2516         (vcvtm_u32_f32): Likewise.
2517         (vcvtmq_u32_f32): Likewise.
2518         (vcvtmq_u64_f64): Likewise.
2519         (vcvtn_u32_f32): Likwise.
2520         (vcvtnq_u32_f32): Likewise.
2521         (vcvtnq_u64_f64): Likewise.
2522         (vcvtp_u32_f32): Likewise.
2523         (vcvtpq_u32_f32): Likewise.
2524         (vcvtpq_u64_f64): Likewise.
2525         (vcvtmd_u64_f64): Likewise.
2526         (vcvtms_u32_f32): Likewise.
2527         (vcvtad_u64_f64): Likewise.
2528         (vcvtas_u32_f32): Likewise.
2529         (vcvtnd_u64_f64): Likewise.
2530         (vcvtns_u32_f32): Likewise.
2531         (vcvtpd_u64_f64): Likewise.
2532         (vcvtps_u32_f32): Likewise.
2534 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2536         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
2537         CSEL of zero_extended registers.
2539 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2541         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
2542         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
2544 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2546         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
2547         false when argument string is not found in the attributes table
2548         at all.
2550 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
2552         PR target/68609
2553         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
2554         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
2555         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
2556         precision estimate.
2558 2016-01-15  Richard Biener  <rguenther@suse.de>
2560         PR tree-optimization/66856
2561         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
2562         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
2563         (vect_create_new_slp_node): Increment stmt reference count.
2564         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
2565         an SLP tree before swapping operands.
2566         (vect_build_slp_tree): Likewise.
2567         (destroy_bb_vec_info): Free stmt info after SLP instances.
2568         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
2569         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
2570         (STMT_VINFO_NUM_SLP_USES): New macro.
2572 2016-01-15  Richard Biener  <rguenther@suse.de>
2574         PR debug/69137
2575         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
2576         (add_linkage_name): ... here.
2577         (gen_typedef_die): Use add_linkage_name_raw instead of
2578         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
2579         if necessary.
2581 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
2583         * gimplify.c (oacc_default_clause): Decode reference and pointer
2584         types for both kernels and parallel regions.
2586 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
2588         PR middle-end/69246
2589         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
2591 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
2593         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
2594         (convert_scalars_to_vector): Likewise.
2596 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
2598         * doc/extend.texi (Type Traits): Fix grammar.
2600 2016-01-15  Martin Jambor  <mjambor@suse.cz>
2602         * tree-inline.c (remap_decl): Use existing dclarations if
2603         remapping a type and prevent_decl_creation_for_types.
2604         (replace_locals_stmt): Do an initial remapping of non-VLA typed
2605         decls first.  Do real remapping with
2606         prevent_decl_creation_for_types set.
2607         * tree-inline.h (copy_body_data): New field
2608         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
2609         padding.
2611 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2613         * config/s390/s390.opt (mmvcle): More verbose help text.
2615 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2617         * config/s390/s390.opt: Add period to -mzvector option text.
2619 2016-01-15  Richard Biener  <rguenther@suse.de>
2621         PR tree-optimization/68961
2622         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
2623         of invariants in stores again.
2625 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2627         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
2629 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
2631         * config/i386/i386.c (ix86_expand_branch): Don't split
2632         DI mode xor instruction to SI mode.
2634 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
2636         PR ipa/68148
2637         * ipa-icf.c (sem_function::merge): Virtual functions may become
2638         reachable even if they address is not taken and there are no
2639         idrect calls.
2641 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
2643         * lto-streamer-out.c (subtract_estimated_size): New function.
2644         (get_symbol_initial_value): Use it.
2646 2016-01-15  Christian Bruel  <christian.bruel@st.com>
2648         PR target/65837
2649         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
2650         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
2651         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
2652         use add_builtin_function_ext_scope instead of add_builtin_function.
2653         (neon_set_p, neon_crypto_set_p): Remove.
2654         (arm_init_builtins): Always call arm_init_neon_builtins and
2655         arm_init_crypto_builtins.
2656         (arm_expand_builtin): Check that builtins are allowed for the arch.
2657         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
2658         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
2659         arm_init_neon_builtins call.
2661 2016-01-15  Richard Biener  <rguenther@suse.de>
2663         PR tree-optimization/69117
2664         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
2665         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
2666         of the leader conservatively.
2667         (free_scc_vn): Restore original SSA name infos.
2669 2016-01-14  Jeff Law  <law@redhat.com>
2671         PR tree-optimization/69270
2672         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
2673         single bit of precision, verify it's also unsigned.
2674         (record_edge_info): Use constant_boolean_node rather than fold_convert
2675         to convert boolean_true/boolean_false to the right type.
2677 2016-01-14  Richard Henderson  <rth@redhat.com>
2679         PR rtl-opt/69014
2680         * loop-doloop.c (record_reg_sets): New.
2681         (doloop_optimize): Reject the transform if the sequence
2682         clobbers registers live at the end of the loop block.
2683         (doloop_optimize_loops): Enable df_live if needed.
2685 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2687         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
2688         * gcc/config/rs6000/rs6000.c: Likewise.
2689         * gcc/config/rs6000/rs6000.h: Likewise.
2690         * gcc/config/rs6000/rs6000.md: Likewise.
2691         * gcc/doc/extend.texi: Likewsie.
2693 2016-01-14  Jeff Law  <law@redhat.com>
2695         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
2696         typo.
2698 2016-01-14  Richard Henderson  <rth@redhat.com>
2700         PR c/69272
2701         PR tree-opt/68964
2702         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
2703         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
2704         instead of builtin_decl_declared_p to test for declaration.
2706 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
2708         * doc/loop.texi (Loop Analysis and Representation): Document
2709         loop_depth function.
2711 2016-01-14  Tom de Vries  <tom@codesourcery.com>
2713         PR tree-optimization/68773
2714         * omp-low.c (expand_omp_target): Don't set force_output.
2715         * varpool.c (varpool_node::get_create): Same.
2716         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
2717         offload_funcs with force_output.
2719 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
2721         PR debug/69244
2722         * lra-eliminations.c (move_plus_up): Don't change anything if either
2723         the outer or inner subreg mode is not MODE_INT.
2724         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
2725         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
2727 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
2729         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
2730         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
2731         reduc_uplus_@var{m}): Remove.
2732         * expr.c (expand_expr_real_2): Remove expansion path for
2733         reduc_[us](min|max|plus) optabs.
2734         * optabs-tree.c (scalar_reduc_to_vector): Remove.
2735         * optabs-tree.h (scalar_reduc_to_vector): Remove.
2736         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
2737         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
2738         * tree-vect-loop.c (vectorizable_reduction): Remove test for
2739         reduc_[us](min|max|plus) optabs.
2741 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
2743         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
2744         (reduc_plus_scal_v2sf): New.
2745         (reduc_smax_v2sf): Rename to...
2746         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
2747         (reduc_smin_v2sf): Rename to...
2748         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
2750 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
2752         * alias.c (compare_base_symbol_refs): New function.
2753         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
2754         it.
2756 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
2758         PR middle-end/68146
2759         PR tree-optimization/69155
2760         * tree-complex.c: Include cfganal.h.
2761         (phis_to_revisit): New variable.
2762         (extract_component): Add phiarg_p argument.  Assert that returned
2763         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
2764         (update_phi_components): Partly rewrite to use loop over real/imag
2765         components instead of code duplication.  If extract_component returns
2766         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
2767         create_tmp_reg into the PHI node instead, and mention the phi triplet
2768         in phis_to_revisit.
2769         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
2770         in phis_to_revisit at the end.
2772 2016-01-14  Richard Biener  <rguenther@suse.de>
2774         PR tree-optimization/68060
2775         * tree-vect-loop.c (vect_is_simple_reduction): Check the
2776         outer loop reduction is only used in the inner loop before
2777         detecting a double reduction.
2779 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
2781         PR target/68269
2782         * combine.c (expand_field_assignment): Punt if compute_mode is
2783         unsupported scalar mode.
2785 2016-01-14  Richard Biener  <rguenther@suse.de>
2787         PR tree-optimization/66856
2788         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
2789         SLP node only if it built successfully.
2790         (vect_analyze_slp_instance): Adjust.
2792 2016-01-14  Jeff Law  <law@redhat.com>
2794         PR tree-optimization/69270
2795         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
2796         (record_edge_info): Use it.  Convert boolean_{true,false}_node
2797         to the type of op0.
2799 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
2801         PR ipa/66487
2802         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
2803         use block_ultimate_origin
2804         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
2806 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
2808         * doc/invoke.texi (Submodel Options): Rename section to
2809         "Machine-Dependent Options" to better reflect its content.
2810         Rewrite introductory text to remove archaic CPU names.
2811         Update references.
2813 2016-01-13  Sandra Loosemore <sandra@codesourcery.com>
2815         * doc/invoke.texi (Code Gen Options): Move section up in file,
2816         before target-specific options.  Update menu and option summary
2817         to reflect the new section ordering.
2819 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
2821         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
2822         (C++ Dialect Options): Add cross-reference to -std option.
2823         * doc/standards.texi (C++ Language): Document C++14 support.
2825 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
2827         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
2828         for pack/unpack functions for __ibm128.
2829         (PACK_IF): Likewise.
2830         (UNPACK_IF): Likewise.
2832         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
2833         support for __ibm128 pack/unpack functions.
2834         (rs6000_invalid_builtin): Likewise.
2835         (rs6000_init_builtins): Likewise.
2836         (rs6000_opt_masks): Likewise.
2838         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
2839         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
2840         functions
2841         (RS6000_BTM_COMMON): Likewise.
2843         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
2844         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
2845         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
2846         128-bit floating point.  Add support for the double values to be
2847         in Altivec registers for TF/IF packing and unpacking, but restrict
2848         TD packing sub-fields to be FPR registers.  Don't allow overlapped
2849         register support for packing.  Allow pack inputs to be memory
2850         locations.  Don't build generator functions for unpack<mode>_dm
2851         and unpack<mode>_nodm.
2852         (unpack<mode>_dm): Likewise.
2853         (unpack<mode>_nodm): Likewise.
2854         (pack<mode>): Likewise.
2856         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
2857         built-in functions to pack/unpack explicit __ibm128 values.
2858         (__builtin_unpack_ibm128): Likewise.
2860         * doc/extend.texi (PowerPC Built-in Functions): Document
2861         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
2863 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
2865         PR c/66208
2866         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
2867         Add new arg loc and pass it down as context.
2868         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
2869         to the location to use for the warning.
2870         (check_function_arguments): New arg loc.  All callers changed.  Pass
2871         it to check_function_nonnull.
2872         * c-common.h (check_function_arguments): Adjust declaration.
2874 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
2876         PR tree-optimization/69156
2877         * gimple.c (validate_type): Removed.
2878         (gimple_builtin_call_types_compatible_p): Use
2879         useless_type_conversion_p instead of validate_type.
2880         * value-prof.c (gimple_stringop_fixed_value): Fold
2881         icall_size to correct type.
2883 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
2885         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
2886         effects.
2888 2016-01-13  Richard Henderson  <rth@redhat.com>
2890         PR tree-opt/68964
2891         * target.def (builtin_tm_load, builtin_tm_store): Remove.
2892         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
2893         (ix86_builtin_tm_store): Remove.
2894         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
2895         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
2896         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
2897         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
2898         * doc/tm.texi: Rebuild.
2900         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
2901         (BUILT_IN_TM_MEMCPY_RTWN): New.
2902         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
2903         fallback from vector to integer helpers.
2904         (build_tm_load): Handle vector types directly, instead of
2905         via target hook.
2906         (build_tm_store): Likewise.
2907         (expand_assign_tm): Prepare for register types not handled by
2908         the above.  Copy them to memory and use memcpy.
2909         * tree.c (tm_define_builtin): New.
2910         (find_tm_vector_type): New.
2911         (build_tm_vector_builtins): New.
2912         (build_common_builtin_nodes): Call it.
2914 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
2916         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
2917         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
2919 2016-01-13  Tom de Vries  <tom@codesourcery.com>
2921         PR tree-optimization/69169
2922         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
2923         handled_struct_type param.
2924         (create_variable_info_for, intra_create_variable_infos): Call
2925         create_variable_info_for_1 with extra arg.
2927 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
2929         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
2930         and "armv8.1-a+crc" entries.
2932 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
2934         PR target/69228
2935         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
2936         Change first operand predicate from register_or_constm1_operand
2937         to register_operand.
2938         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
2939         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
2940         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
2941         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
2942         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
2943         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
2944         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
2945         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
2946         comparison with constm1_rtx from vec_prefetch_gen part.
2948 2016-01-13  Richard Biener  <rguenther@suse.de>
2950         PR tree-optimization/69013
2951         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
2952         Exchange assert for a test.
2954 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2956         PR target/69247
2957         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
2959 2016-01-13  Richard Biener  <rguenther@suse.de>
2961         PR tree-optimization/69242
2962         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
2963         assert with a check.
2965 2016-01-13  Richard Biener  <rguenther@suse.de>
2967         PR tree-optimization/69186
2968         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
2969         Properly guard vect_update_misalignment_for_peel call.
2971 2016-01-12  Jeff Law  <law@redhat.com>
2973         PR tree-optimization/pr67755
2974         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
2975         "need_profile_correction".
2976         (thread_block_1): Initialize new field to false by default.  If we
2977         have multiple thread paths through a common joiner to different
2978         final targets, then set new field to true.
2979         (compute_path_counts): Only do count adjustment when it's really
2980         needed.
2982 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
2984         * doc/invoke.texi (Spec Files): Move section down in file, past
2985         all command-line option descriptions.
2987 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2989         PR middle-end/54809
2990         * doc/gty.texi: Remove documentation of mark_hook.
2991         * gengtype.c (struct write_types_data): Remove code to support
2992         mark_hook attribute.
2993         (walk_type): Likewise.
2994         (write_func_for_structure): Likewise.
2996 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
2998         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
2999         Directory Options, and -specs= to Overall Options.
3000         (Overall Options): Adjust similarly.  Reorder to group related
3001         options together.  Make -specs= cross-reference the spec file details.
3002         (Directory Options): Adjust similarly.
3004 2016-01-12  Jeff Law  <law@redhat.com>
3006         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
3008 2016-01-12  Olivier Hainque  <hainque@adacore.com>
3010         * gcc.c (spec_undefvar_allowed): New global.
3011         (process_command): Set to true when running for --version or --help,
3012         alone or together.
3013         (getenv_spec_function): When the variable is not defined, use the
3014         variable name as the variable value if we're allowed not to issue
3015         a fatal error.
3017 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
3019         PR tree-optimization/68911
3020         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
3021         information computed for expression "init + nit * step".
3023 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
3025         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
3026         about name of GCC executable.  Remove deleted node from menu.
3027         (Directory Options) <-B>: Remove cross-reference to deleted node.
3028         (Target Options): Delete section.
3030 2016-01-12  Christian Bruel  <christian.bruel@st.com>
3032         PR target/69180
3033         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
3034         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
3036 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
3038         PR target/69198
3039         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
3040         aligned_mem is properly set for AVX512-VL floating point masked
3041         stores.
3043         PR target/69175
3044         * ifcvt.c (cond_exec_process_if_block): When removing the last
3045         insn from then_bb, remove also any possible barriers that follow it.
3047 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
3049         PR target/68456
3050         PR target/69226
3051         * config/i386/iamcu.h (SIZE_TYPE): New macro.
3052         (PTRDIFF_TYPE): Likewise.
3053         (WCHAR_TYPE): Likewise.
3054         (WCHAR_TYPE_SIZE): Likewise.
3055         (STDINT_LONG32): Likewise.
3057 2016-01-12  Richard Biener  <rguenther@suse.de>
3059         PR tree-optimization/69053
3060         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
3061         convert initial value for cond reductions.
3063 2016-01-12  Richard Biener  <rguenther@suse.de>
3065         PR tree-optimization/69007
3066         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
3067         widen_sum after dot_prod and sad.
3069 2016-01-12  Richard Biener  <rguenther@suse.de>
3071         PR tree-optimization/69168
3072         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
3073         pattern stmt SLP type.
3074         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
3075         end up unused so cope with that case.
3077 2016-01-12  Richard Biener  <rguenther@suse.de>
3079         PR tree-optimization/69157
3080         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
3081         stmts def type only during analyze phase.
3082         (vectorizable_call): Likewise.
3083         (vectorizable_simd_clone_call): Likewise.
3084         (vectorizable_conversion): Likewise.
3085         (vectorizable_assignment): Likewise.
3086         (vectorizable_shift): Likewise.
3087         (vectorizable_operation): Likewise.
3088         (vectorizable_store): Likewise.
3089         (vectorizable_load): Likewise.
3091 2016-01-12  Richard Biener  <rguenther@suse.de>
3093         PR tree-optimization/69174
3094         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
3095         space.
3096         (vectorizable_load): Properly compute the number of loads needed
3097         for permuted strided SLP loads and do not spuriously assign
3098         to SLP_TREE_VEC_STMTS.
3100 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
3102         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
3103         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
3104         (MD_EXEC_PREFIX): Remove.
3105         (MD_STARTFILE_PREFIX) Removee.
3106         (FILE_NAME_ABSOLUTE_P): Remove.
3107         (CPP_SPEC): Do not read macros from sys/version.h.
3108         (LINK_COMMAND_SPEC): Remove.
3109         (LOCAL_INCLUDE_DIR): Remove.
3110         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
3111         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
3112         (POST_LINK_SPEC): Define to invoke stubify after linker
3113         (LIBSTDCXX): Remove define
3114         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
3115         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
3116         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
3117         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
3118         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
3119         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
3120         (i386_djgpp_asm_named_section): Add propotype of new procedure
3122         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
3123         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
3124         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
3125         in config/i386/djgpp.h).
3126         (STANDARD_STARTFILE_PREFIX_2): Define identical to
3127         STANDARD_STARTFILE_PREFIX_1.
3128         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
3129         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
3130         installation errors.
3131         (MAX_OFILE_ALIGNMENT): Define to 128.
3132         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
3134         * config/i386/djgpp.c: New file. Add implementation of
3135         i386_djgpp_asm_named_section.
3137         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
3139         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
3140         Add rule for building djgpp.o.
3142 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3144         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
3145         (rtx_is_swappable_p): Reductions are swappable.
3146         (insn_is_swappable_p): V2DF reductions are swappable.
3148 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
3150         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
3151         reloads for other unsupported memory operands.
3153 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
3154             Jim Wilson  <jim.wilson@linaro.org>
3156         PR target/69194
3157         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
3158         copy_to_mode_reg instead of force_reg.
3160 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
3162         PR target/69225
3163         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
3164         TARGET_80387 is true.
3166 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
3168         PR target/69071
3169         * lra-eliminations.c (move_plus_up): Only move plus up
3170         if subreg of the constant can be simplified into constant
3171         and use the simplified subreg of the constant instead of
3172         the original constant.
3174         * fold-const.c (fold_convertible_p): Don't return true
3175         for conversion of VECTOR_TYPE to same sized integral type.
3176         (fold_convert_loc): Fix up formatting.  Fold conversion of
3177         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
3178         instead of NOP_EXPR.
3180         PR tree-optimization/69214
3181         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
3182         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
3183         Formatting fix.
3185         PR tree-optimization/69207
3186         * tree-vect-slp.c (vect_get_constant_vectors): For
3187         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
3188         fold_convertible_p to vector_type's element type, and always
3189         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
3191 2016-01-11  Richard Biener  <rguenther@suse.de>
3193         PR tree-optimization/69173
3194         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
3195         fixup the cycle if all stmts are in a pattern.
3197 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
3199         PR middle-end/68999
3200         * alias.c (base_alias_check): Move check for addresses with
3201         alignment ANDs before the call for compare_base_decls.
3202         (memrefs_conflict_p): Return -1 for different decls
3203         that went through alignment adjustments.
3205 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3207         PR rtl-optimization/68796
3208         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
3209         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
3210         and QImode comparisons against zero with CC_NZmode.
3211         * config/aarch64/iterators.md (short_mask): New mode_attr.
3213 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
3215         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
3216         (<avx512>_store<mode>_mask): Likewise.
3218 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
3219             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3221         PR rtl-optimization/68841
3222         * ifcvt.c (struct noce_if_info): Add orig_x field.
3223         (bbs_ok_for_cmove_arith): Add to_rename parameter.
3224         Don't record conflicts on to_rename if it's present.
3225         Allow memory destinations in sets.
3226         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
3227         blocks, passing orig_x to the checks.
3228         (noce_process_if_block): Set if_info->orig_x appropriately.
3230 2016-01-11  Tom de Vries  <tom@codesourcery.com>
3232         PR tree-optimization/69069
3233         * tree-parloops.c (create_parallel_loop): Add missing phi args.
3235 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
3237         PR rtl-optimization/68920
3238         * config/i386/i386.c (ix86_option_override_internal): Restrict number
3239         of conditional moves for  RTL if-conversion to 1 for
3240         TARGET_ONE_IF_CONV_INSN.
3241         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
3242         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
3243         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
3244         parameter to restirct number of conditional moves for
3245         RTL if-conversion.
3246         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
3247         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
3248         conditionl moves.
3250 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
3252         PR bootstrap/69123
3253         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
3254         onepart vars.  Fix typo in comment.  Fix reversed condition in
3255         unshare test.
3256         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
3258         PR bootstrap/69123
3259         * var-tracking.c (dump_onepart_variable_differences): New.
3260         (dataflow_set_different): If a detailed dump is requested,
3261         delay early returns and dump differences between onepart
3262         variables present before and after, and added variables.
3264 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
3266         PR target/69010
3267         * expr.c (expand_expr_real_1): For boolean vector constants
3268         with a scalar mode use const_scalar_mask_from_tree.
3269         (const_scalar_mask_from_tree): New.
3270         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
3271         assigned to a mask type to handle constants.
3273 2016-01-11  Martin Jambor  <mjambor@suse.cz>
3275         PR ipa/69044
3276         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
3277         useless parameters if we cannot change function signature.
3279 2016-01-11  Martin Jambor  <mjambor@suse.cz>
3281         PR ipa/66616
3282         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
3283         flag.
3285 2016-01-11  Tom de Vries  <tom@codesourcery.com>
3287         PR tree-optimization/69109
3288         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
3289         latch with phi.
3291 2016-01-11  Tom de Vries  <tom@codesourcery.com>
3293         PR tree-optimization/69108
3294         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
3295         res is not used in a phi.
3297 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
3299         PR 67425
3300         * common.opt (frandom-seed): Fix parameter name.
3301         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
3303 2016-01-11  Tom de Vries  <tom@codesourcery.com>
3305         PR tree-optimization/69058
3306         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
3307         not supported.
3309 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
3311         * config/arc/arc.opt (mdiv-rem): Add period to the end.
3312         (mcode-density): Likewise.
3314 2016-01-10  Tom de Vries  <tom@codesourcery.com>
3316         PR tree-optimization/69062
3317         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
3318         (parallelize_loops): Don't paralelize loop that has phi with address
3319         arg.
3321 2016-01-10  Tom de Vries  <tom@codesourcery.com>
3323         PR tree-optimization/69039
3324         * tree-parloops.c (try_create_reduction_list): Only allow single exit
3325         phi for reduction.
3327 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
3329         PR middle-end/68743
3330         * match.pd: Require target has function_c99_misc before doing
3331         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
3333 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
3335         * configure.ac (isl_options_set_schedule_serialize_sccs): Also
3336         use GMPINC.
3337         * configure: Regenerate.
3339 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
3341         PR middle-end/50865
3342         PR tree-optimization/69097
3343         * fold-const.h (expr_not_equal_to): New prototype.
3344         * fold-const.c: Include stringpool.h and tree-ssanames.h.
3345         (expr_not_equal_to): New function.
3346         * match.pd (X % -Y is the same as X % Y): Don't optimize
3347         unless X is known not to be equal to minimum or Y is known
3348         not to be equal to -1.
3349         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
3350         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
3351         (simplify_stmt_using_ranges): Adjust caller.
3352         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
3353         substitute_and_fold.
3355 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
3357         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
3358         w/o DECL_NAME.
3360 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
3362         PR tree-optimization/69167
3363         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
3364         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
3365         ops[0] comparison.
3366         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
3368 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
3369             Richard Biener  <rguenther@suse.de>
3371         PR tree-optimization/68707
3372         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
3373         instances that can be handled via vect_load_lanes.
3375 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
3377         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
3378         if we can't determine address equivalence.
3379         * alias.c (compare_base_decl): Update for changed return value of
3380         symtab_node::equal_address_to.
3382 2016-01-08  Jason Merrill  <jason@redhat.com>
3384         PR c++/68983
3385         PR c++/67557
3386         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
3387         * expr.c (store_field): Not here.
3388         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
3389         call with TREE_ADDRESSABLE type.
3390         * tree-cfg.c (verify_gimple_call): Adjust.
3392 2016-01-08  Olivier Hainque  <hainque@adacore.com>
3394         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
3395         libc_internal.
3397 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
3399         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
3400         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
3401         (reduc_smin_v2sf): Rename to...
3402         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
3403         (reduc_splus_v2sf): Rename to...
3404         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
3406 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
3408         PR tree-optimization/69162
3409         * gimplify.c (gimplify_va_arg_expr): Encode original type of
3410         valist argument in another argument.
3411         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
3412         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
3413         to determine the va_list type, build a MEM_REF instead of
3414         build_fold_indirect_ref.
3416         PR tree-optimization/69172
3417         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
3418         gimple_build.
3420 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3422         PR tree-optimization/67781
3423         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
3424         and cmpnop in two steps: first the ones not accessed in original
3425         gimple expression in a endian independent way and then the ones not
3426         accessed in the final result in an endian-specific way.
3428 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
3430         PR tree-optimization/69083
3431         * tree-vect-slp.c (vect_get_constant_vectors): For
3432         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
3433         element type.  If op is fold_convertible_p to vector_type's element
3434         type, use NOP_EXPR instead of VCE.
3436 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
3438         PR rtl-optimization/67778
3439         PR rtl-optimization/68634
3440         PR rtl-optimization/68909
3441         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
3442         block from the stack until done with it.  Remove a superfluous
3443         bitmap set.  Remove a superfluous bitmap test.
3445 2016-01-07  Martin Sebor  <msebor@redhat.com>
3447         PR c/68966
3448         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
3449         constraint on the type of arguments.
3451 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
3453         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
3454         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
3455         unaligned_access on the gcc_options set.
3456         * config/arm/arm.c (arm_option_override_internal): Use
3457         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
3459 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
3461         PR target/69140
3462         * config/i386/i386.c (ix86_frame_pointer_required): Enable
3463         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
3465 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
3467         Revert
3468         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
3470         PR target/69140
3471         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
3472         depending on frame_pointer_needed before remaining integer and SSE
3473         registers are saved.
3475 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
3477         PR 1078
3478         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
3480 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
3482         PR target/69171
3483         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
3484         Use the "xBm" constraint.
3485         (float<sseintvecmodelower><mode>2<mask_name><round_name):
3486         Likewise.
3487         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
3488         (sse_cvtsi2ssq<round_name>): Likewise.
3489         (sse_cvtss2si<round_name>): Likewise.
3490         (sse_cvtss2siq<round_name>): Likewise.
3491         (sse2_cvtsi2sdq<round_name>): Likewise.
3492         (sse2_cvtsd2si<round_name>): Likewise.
3493         (sse2_cvtsd2siq<round_name>): Likewise.
3494         * config/i386/subst.md (round_nimm_scalar_predicate): New
3495         predicate.
3497 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
3499         PR middle-end/67639
3500         * varasm.c (make_decl_rtl): Mark invalid register vars as
3501         DECL_EXTERNAL.
3503         PR rtl-optimization/66206
3504         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
3505         All callers changed.
3507 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
3509         PR tree-optimization/69141
3510         * tree-ssa-pre.c: Include langhooks.h.
3511         (eliminate_dom_walker::before_dom_children): Use
3512         lang_hooks.decl_printable_name instead of
3513         cgraph_node::get ()->name ().
3515         PR middle-end/68960
3516         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
3517         it and DECL_ALIGN too.
3519 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
3521         * config/mips/mips-ftypes.def: Sort to lexicographical order.
3523 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
3525         PR target/69140
3526         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
3527         depending on frame_pointer_needed before remaining integer and SSE
3528         registers are saved.
3530 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3532         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
3533         mode iterator with VSX_M2.
3534         (*p9_vecstore_<mode>): Likewise.
3535         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
3536         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
3537         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
3538         (define_split for VSX_LE128 stores): Likewise.
3539         (define_peephole2 for TImode LE swaps): Likewise.
3540         (define_split for VSX_LE128 post-reload stores): Likewise.
3542 2016-01-06  Marek Polacek  <polacek@redhat.com>
3544         PR sanitizer/69099
3545         * convert.c (convert_to_integer_1): Adjust call to
3546         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
3547         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
3548         EXPR instead of ARG.
3549         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
3551 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
3553         PR 1078
3554         * doc/extend.texi (RL78 Variable Attributes): New section.
3556 2016-01-05  Marek Polacek  <polacek@redhat.com>
3558         PR c/69104
3559         * builtins.c (get_memmodel): Use expansion point location rather than
3560         the input location.  Call warning_at rather than warning.
3561         (expand_builtin_atomic_compare_exchange): Likewise.
3562         (expand_builtin_atomic_load): Likewise.
3563         (expand_builtin_atomic_store): Likewise.
3564         (expand_builtin_atomic_clear): Likewise.
3566 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
3568         PR target/68991
3569         * config/i386/i386.c (ix86_expand_vector_logical_operator):
3570         Replace nonimmediate_operand with vector_operand.
3571         * config/i386/predicates.md (vector_operand): New predicate.
3572         (general_vector_operand): Replace nonimmediate_operand with
3573         vector_operand.
3574         * config/i386/sse.md: Replace nonimmediate_operand with
3575         vector_operand and m constraint with Bm constraint on SSE
3576         patterns with 16-byte memory operand.
3577         * config/i386/subst.md (round_nimm_predicate): Replace
3578         nonimmediate_operand with vector_operand.
3579         (round_saeonly_nimm_predicate): Likewise.
3580         (round_saeonly_nimm_scalar_predicate): New.
3582 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
3584         PR target/68991
3585         * config/i386/constraints.md (Bm): New constraint.
3586         * config/i386/predicates.md (vector_memory_operand): New
3587         predicate.
3588         * config/i386/sse.md: Replace xm with xBm in plusminus and
3589         any_logic patterns.
3591 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
3593         PR 1078
3594         * doc/extend.texi (V850 Function Attributes): New section.
3595         (V850 Variable Attributes): New section.
3597 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
3599         PR 1078
3600         * doc/extend.texi (MicroBlaze Function Attributes): Document
3601         interrupt_handler and fast_interrupt attributes.
3603 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
3605         PR other/60465
3606         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
3607         for local symbolic operands.
3608         * config/ia64/predicates.md (local_symbolic_operand64): New
3609         predicate.
3611 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3613         PR rtl-optimization/68651
3614         * combine.c (combine_simplify_rtx): Canonicalize x + x into
3615         x << 1.
3617 2016-01-05  Nathan Sidwell  <nathan@acm.org>
3619         * alias.c (compare_base_decls): Use symtab_node::get.
3621 2016-01-05  Nick Clifton  <nickc@redhat.com>
3623         PR target/68770
3624         * ira-costs.c (copy_cost): Initialise the t_icode field of the
3625         secondary_reload_info structure.
3627         PR target/66655
3628         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
3629         decls if weak support is available.
3631 2016-01-04  Martin Sebor  <msebor@redhat.com>
3633         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
3635 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
3637         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
3638         OPTION_MASK_P9_DFORM.
3640         * config/rs6000/constraints.md (wo constraint): New constraint for
3641         ISA 3.0 (power9).
3643         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
3644         for wo constraint.
3645         (rs6000_init_hard_regno_mode_ok): Likewise.
3647         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
3648         wo constraint.
3650         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
3651         expanders not to have constraints.  Add support for ISA 3.0 xxperm
3652         instruction.  Add support for fusing xxlor with xxperm.
3653         (altivec_vperm_<mode>_internal): Likewise.
3654         (altivec_vperm_v8hiv16qi): Likewise.
3655         (altivec_vperm_<mode>v16q): Likewise.
3656         (altivec_vperm_<mode>_uns): Likewise.
3657         (vperm_v8hiv4si): Likewise.
3658         (vperm_v16qiv8hi): Likewise.
3660         * doc/md.texi (RS/6000 constraints): Document wo constraint.
3662 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
3664         Update copyright years.
3666         * gcc.c (process_command): Update copyright notice dates.
3667         * gcov-dump.c (print_version): Ditto.
3668         * gcov.c (print_version): Ditto.
3669         * gcov-tool.c (print_version): Ditto.
3670         * gengtype.c (create_file): Ditto.
3671         * doc/cpp.texi: Bump @copying's copyright year.
3672         * doc/cppinternals.texi: Ditto.
3673         * doc/gcc.texi: Ditto.
3674         * doc/gccint.texi: Ditto.
3675         * doc/gcov.texi: Ditto.
3676         * doc/install.texi: Ditto.
3677         * doc/invoke.texi: Ditto.
3679 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3681         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
3682         modes larger than TImode as TImode if NEON is not enabled.
3684 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3686         PR target/69100
3687         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
3688         mode for %f0-%f31 only if TARGET_FPU.
3690 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
3692         PR target/69072
3693         * config/sparc/sparc.c (scan_record_type): Take into account subfields
3694         to compute the PACKED_P predicate.
3695         (function_arg_record_value): Minor tweaks.
3697 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3699         * doc/install.texi (--with-multilib-list): Describe the meaning of the
3700         option for arm*-*-* targets.
3702 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
3704         * doc/extend.texi (Common Function Attributes): Move docs for
3705         MSP430-specific attributes to....
3706         (MSP430 Function Attributes): ...here.  Delete the redundant
3707         entries and copy-edit the remaining text.
3708         (MSP430 Variable Attributes): Use uniform format for index
3709         entries and add a cross-reference to the corresponding function
3710         attribute docs.
3712 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
3714         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
3715         -finite-math typo.
3716         (x86 Options): Likewise.
3718 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
3720         PR 1078
3722         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
3723         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
3724         to corresponding attribute.
3726 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
3728         * doc/extend.texi (Common Function Attributes) <noplt>: Move
3729         to correct alphabetization of table.  Copy-edit and correct
3730         markup.
3731         <stack_protect>: Likewise.
3732         <target_clones>: Likewise.
3733         <simd>: Likewise.
3734         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
3735         Correct punctuation.
3736         (Code Gen Options) <-fno-plt>: Copy-edit.
3738 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3740         PR target/68917
3741         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
3742         SI values.  Explicitly convert SI to DI and vice-versa.
3744 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
3746         PR tree-optimization/69070
3747         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
3748         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
3750         PR sanitizer/69055
3751         * ubsan.c (ubsan_instrument_float_cast): Call
3752         initialize_sanitizer_builtins.
3754         PR target/69015
3755         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
3757 Copyright (C) 2016 Free Software Foundation, Inc.
3759 Copying and distribution of this file, with or without modification,
3760 are permitted in any medium without royalty provided the copyright
3761 notice and this notice are preserved.