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