26437399346d2462492508a9078dc9931042a6ac
[gcc.git] / gcc / ChangeLog
1 2016-05-08 Oleg Endo <olegendo@gcc.gnu.org>
2
3 * config/sh/sh.h (GET_SH_ARG_CLASS): Convert macro into ...
4 * config/sh/sh.c (get_sh_arg_class): ... this new function. Update its
5 users.
6
7 2016-05-08 Oleg Endo <olegendo@gcc.gnu.org>
8
9 * config/sh/sh-protos.h (sh_media_register_for_return): Remove.
10 * config/sh/sh.c: Define and declare variables on first use throughout
11 the file.
12 (current_function_interrupt): Change to bool type.
13 (frame_insn): Rename to emit_frame_insn and update users.
14 (push_regs): Use bool for 'interrupt_handler' argument.
15 (save_schedule_s): Remove.
16 (TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_ALIGNED_DI_OP): Remove.
17 (sh_option_override): Don't nullify targetm.asm_out.aligned_op.di and
18 targetm.asm_out.unaligned_op.di.
19 (gen_far_branch): Remove redundant forward declaration.
20 (sh_media_register_for_return, MAX_SAVED_REGS, save_entry_s, save_entry,
21 MAX_TEMPS, save_schedule_ssave_schedule): Remove.
22 (sh_set_return_address, sh_function_ok_for_sibcall,
23 scavenge_reg): Update comments.
24 (sh_builtin_saveregs): Use TRAGET_FPU_ANY condition.
25 (sh2a_get_function_vector_number, sh2a_function_vector_p): Use for loop.
26 (sh_attr_renesas_p): Remove unnecessary parentheses.
27 (branch_dest): Simplify.
28 * config/sh/sh.h (sh_args): Remove byref, byref_regs, stack_regs fields.
29 Change force_mem, prototype_p, outgoing, renesas_abi fields to bool.
30 (CUMULATIVE_ARGS): Change macro to typedef.
31 (current_function_interrupt): Change to bool type.
32 (sh_arg_class, sh_args, CUMULATIVE_ARGS, current_function_interrupt):
33 Surround with __cplusplus ifdef.
34 (sh_compare_op0, sh_compare_op1): Remove.
35 (EPILOGUE_USES): Use TARGET_FPU_ANY condition.
36
37 2016-05-07 Jim Wilson <jim.wilson@linaro.org>
38
39 * config/arm/arm.md: (arch): Add neon.
40 (arch_enabled): Return yes for arch neon when TARGET_NEON.
41 * config/arm/vfp.md (movdf_vfp): Add w/G as alternative 3. Add
42 neon_move as type for alt 3. Add arch attr enabling alt 3 for neon.
43 Emit vmov.i64 for alt 3. Renumber alternatives 3 to 8. Adjust
44 attributes for alt renumbering. Mark alt 3 as non-predicable.
45 (thumb2_movdf_vfp): Likewise.
46
47 2016-05-07 Uros Bizjak <ubizjak@gmail.com>
48
49 * config/i386/i386.md (*addqi_1): Add preferred_for_speed attribute
50 to disparage alternatives 3 and 4 for TARGET_PARTIAL_REG_STALL targets.
51 (*andqi_1): Add preferred_for_speed attribute to disparage
52 alternative 2 for TARGET_PARTIAL_REG_STALL targets.
53 (*<code>qi_1): Ditto.
54 (*one_cmplqi2_1): Add preferred_for_speed attribute to disparage
55 alternative 1 for TARGET_PARTIAL_REG_STALL targets.
56 (*ashlqi3_1): Ditto.
57 (*swap<mode>): Merge from *swap<mode>_1 and *swap<mode>_2 patterns.
58 Add preferred_for_size attribute to disparage alternative 0 and
59 preferred_for_speed attribute to disparage alternative 1 for
60 TARGET_PARTIAL_REG_STALL targets.
61
62 2016-05-07 Tom de Vries <tom@codesourcery.com>
63
64 PR tree-optimization/70956
65 * graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
66 def.
67
68 2016-05-07 Oleg Endo <olegendo@gcc.gnu.org>
69
70 * config/sh/sh-protos.h (sh_cbranch_distance): Declare new function.
71 * config/sh/sh.c (sh_cbranch_distance): Implement it.
72 * config/sh/sh.md (branch_zero): Remove define_attr.
73 (define_delay): Disable delay slot if branch distance is one insn.
74
75 2016-05-06 Uros Bizjak <ubizjak@gmail.com>
76
77 * config/i386/i386.md (LEAMODE): New mode attribute.
78 (plus to LEA splitter): Rewrite splitter using LEAMODE mode attribute.
79 (ashift to LEA splitter): Rewrte splitter using SWI mode iterator
80 and LEAMODE mode attribute. Use VOIDmode const_0_to_3_operand as
81 operand 2 predicate.
82 (*lea<mode>_general_2): Use VOIDmode for const248_operand.
83 (*lea<mode>_general_3): Ditto.
84 (*lea<mode>_general_4): Use VOIDmode for const_0_to_3_operand.
85
86 2016-05-06 Jakub Jelinek <jakub@redhat.com>
87
88 * genmddump.c (main): Convert argv from char ** to const char **.
89
90 2016-05-06 David Malcolm <dmalcolm@redhat.com>
91
92 * coretypes.h (OVERRIDE): New macro.
93 (FINAL): New macro.
94
95 2016-05-06 Eric Botcazou <ebotcazou@adacore.com>
96
97 * tree-ssa-coalesce.c (gimple_can_coalesce_p): In the optimized case,
98 allow coalescing if the types are compatible.
99
100 2016-05-06 David Malcolm <dmalcolm@redhat.com>
101
102 * pass_manager.h (pass_manager::register_pass_name): New method.
103 (pass_manager::get_pass_by_name): New method.
104 (pass_manager::create_pass_tab): New method.
105 (pass_manager::m_name_to_pass_map): New field.
106 * passes.c (name_to_pass_map): Delete global in favor of field
107 "m_name_to_pass_map" of pass_manager.
108 (register_pass_name): Rename from a function to...
109 (pass_manager::register_pass_name): ...this method, updating
110 for renaming of global "name_to_pass_map" to field
111 "m_name_to_pass_map".
112 (create_pass_tab): Rename from a function to...
113 (pass_manager::create_pass_tab): ...this method, updating
114 for renaming of global "name_to_pass_map" to field.
115 (get_pass_by_name): Rename from a function to...
116 (pass_manager::get_pass_by_name): ...this method.
117 (enable_disable_pass): Convert use of get_pass_by_name to
118 a method call, locating the pass_manager singleton.
119
120 2016-05-06 David Malcolm <dmalcolm@redhat.com>
121
122 * genattr-common.c (main): Convert argv from char ** to const char **.
123 * genattr.c (main): Likewise.
124 * genattrtab.c (main): Likewise.
125 * genautomata.c (initiate_automaton_gen): Likewise.
126 (main): Likewise.
127 * gencodes.c (main): Likewise.
128 * genconditions.c (main): Likewise.
129 * genconfig.c (main): Likewise.
130 * genconstants.c (main): Likewise.
131 * genemit.c (main): Likewise.
132 * genenums.c (main): Likewise.
133 * genextract.c (main): Likewise.
134 * genflags.c (main): Likewise.
135 * genmddeps.c (main): Likewise.
136 * genopinit.c (main): Likewise.
137 * genoutput.c (main): Likewise.
138 * genpeep.c (main): Likewise.
139 * genpreds.c (main): Likewise.
140 * genrecog.c (main): Likewise.
141 * gensupport.c (init_rtx_reader_args_cb): Likewise.
142 (init_rtx_reader_args): Likewise.
143 * gensupport.h (init_rtx_reader_args_cb): Likewise.
144 (init_rtx_reader_args): Likewise.
145 * gentarget-def.c (main): Likewise.
146 * read-md.c (read_md_files): Likewise.
147 * read-md.h (read_md_files): Likewise.
148
149 2016-05-06 Uros Bizjak <ubizjak@gmail.com>
150
151 * config/i386/i386.md (int cmove peephole2s): Use general_reg_operand
152 instead of register_and_not_any_fp_reg_operand as operand 0 predicate.
153 * config/i386/predicates.md (register_and_not_any_fp_reg_operand):
154 Remove unused predicate.
155 (register_and_not_fp_reg_operand): Ditto.
156
157 2016-05-06 Martin Liska <mliska@suse.cz>
158
159 * tree-if-conv.c (ifcvt_split_critical_edges): Use auto_vec
160 instead of vec as the vector is local to the function.
161
162 2016-05-06 Jakub Jelinek <jakub@redhat.com>
163
164 * config/i386/sse.md (*<code>v8hi3, *<code>v16qi3): Add
165 avx512bw alternative.
166
167 * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>): Move
168 before the ashr<mode>3 pattern.
169
170 * config/i386/sse.md (*avx2_pmaddwd, *sse2_pmaddwd): Use
171 v instead of x in vex or maybe_vex alternatives, use
172 maybe_evex instead of vex in prefix.
173
174 * config/i386/sse.md (*vec_extractv4sf_0, *sse4_1_extractps,
175 *vec_extractv4sf_mem, vec_extract_lo_v16hi, vec_extract_hi_v16hi,
176 vec_extract_lo_v32qi, vec_extract_hi_v32qi): Use v instead of x
177 in vex or maybe_vex alternatives, use maybe_evex instead of vex
178 in prefix.
179
180 * config/i386/sse.md (*vec_concatv2sf_sse4_1, *vec_concatv4sf): Use
181 v instead of x in vex or maybe_vex alternatives, use
182 maybe_evex instead of vex in prefix.
183
184 * config/i386/sse.md (sse_shufps_<mode>, sse_storehps, sse_loadhps,
185 sse_storelps, sse_movss, avx2_vec_dup<mode>, avx2_vec_dupv8sf_1,
186 sse2_shufpd_<mode>, sse2_storehpd, sse2_storelpd, sse2_loadhpd,
187 sse2_loadlpd, sse2_movsd): Use v instead of x in vex or maybe_vex
188 alternatives, use maybe_evex instead of vex in prefix.
189
190 * config/i386/sse.md (vec_interleave_lowv4sf,
191 *vec_interleave_highv2df, *vec_interleave_lowv2df): Use
192 v instead of x in vex or maybe_vex alternatives, use
193 maybe_evex instead of vex in prefix.
194
195 * config/i386/sse.md (sse_movhlps, sse_movlhps): Use
196 v instead of x in vex or maybe_vex alternatives, use
197 maybe_evex instead of vex in prefix.
198
199 * config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
200 v constraint instead of x.
201
202 2016-05-06 Nathan Sidwell <nathan@codesourcery.com>
203
204 * gimple.c (gimple_call_same_target_p): Unique functions are eq.
205 * tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
206 equality first.
207
208 2016-05-06 Richard Biener <rguenther@suse.de>
209
210 PR tree-optimization/70948
211 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
212 Properly clobber all fields of va_list for __builtin_va_start.
213
214 2016-05-06 Yuri Rumyantsev <ysrumyan@gmail.com>
215
216 PR debug/70935
217 * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
218 loop latch destination.
219
220 2016-05-06 Martin Liska <mliska@suse.cz>
221
222 * tree-ssa-uninit.c: Apply manual changes
223 to the GNU coding style.
224 (prune_uninit_phi_opnds): Rename from
225 prune_uninit_phi_opnds_in_unrealizable_paths.
226
227 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
228
229 * config/sh/sh.opt (madjust-unroll, minvalid-symbols, msoft-atomic,
230 mspace): Remove deprecated options.
231 * doc/invoke.texi (SH options): Remove -mspace.
232
233 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
234
235 * config/sh/sh.md (ic_invalidate_line_sh4a): Fix insn length.
236
237 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
238
239 * config/sh/sh.md (*cmpeqsi_t): Remove combine insn pattern and similar
240 corresponding combine split pattern.
241
242 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
243
244 PR target/58219
245 * config/sh/predicates.md (long_displacement_mem_operand): New.
246 * config/sh/sh.md (movsi_i): Allow for SH2A, disallow for any FPU.
247 Add movi20, movi20s alternatives. Adjust length attribute for
248 alternatives.
249 (movsi_ie): Allow for any FPU. Adjust length attribute for
250 alternatives.
251 (movsi_i_lowpart): Add movi20, movi20s alternatives. Adjust length
252 attribute for alternatives.
253 (*mov<mode>): Use long_displacement_mem_operand for length attribute.
254 (*movdi_i, movdf_k, movdf_i4, movsf_i, movsf_ie, movsf_ie_ra): Adjust
255 length attribute for alternatives.
256
257 2016-05-06 Richard Biener <rguenther@suse.de>
258
259 PR tree-optimization/70960
260 * tree-if-conv.c (ifcvt_walk_pattern_tree): Handle non-SSA ops.
261
262 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
263
264 PR target/52933
265 * config/sh/sh.md (*cmp_div0s_7, *cmp_div0s_8): Add div0s variants.
266 * config/sh/sh.c (sh_rtx_costs): Add another div0s case.
267
268 2016-05-06 Marek Polacek <polacek@redhat.com>
269
270 PR sanitizer/70875
271 * ubsan.c (get_ubsan_type_info_for_type): Remove assert.
272
273 2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
274
275 PR target/54089
276 * config/sh/sh.md (*rotcr): Add another variant.
277
278 2016-05-06 Richard Biener <rguenther@suse.de>
279
280 PR middle-end/70931
281 * dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
282
283 2016-05-06 Richard Biener <rguenther@suse.de>
284
285 PR middle-end/70941
286 * fold-const.c (split_tree): Always convert to the original type
287 before negating.
288
289 2016-05-06 Richard Biener <rguenther@suse.de>
290
291 * fwprop.c (fwprop): Remove duplicate cleanup_cfg call.
292 (fwprop_addr): Likewise.
293
294 2016-05-06 Uros Bizjak <ubizjak@gmail.com>
295
296 PR target/70873
297 * config/i386/i386-protos.h (ix86_standard_x87sse_constant_load_p):
298 New prototype.
299 * config/i386/i386.c (ix86_standard_x87sse_constant_load_p): New.
300 * config/i386/i386.md (push mem splitter): Use find_constant_src in
301 the splitter condition.
302 (FP load splitter): Use ix86_standard_x87sse_constant_load_p in
303 the splitter condition.
304 (FP float_extend load splitter): Ditto.
305
306 2016-05-05 Uros Bizjak <ubizjak@gmail.com>
307
308 * config/i386/i386.md (peehole2 patterns): Change true_regnum
309 to REGNO in all peephole2 patterns.
310 (post-reload splitters): Change true_regnum to REGNO in
311 post-reload splitters.
312 (zero_extend splitters): Use general_reg_operand and
313 nonimmediate_gr_operand predicates.
314
315 2016-05-05 Jakub Jelinek <jakub@redhat.com>
316
317 * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>): Use
318 v constraint instead of x.
319
320 2016-05-05 Alan Modra <amodra@gmail.com>
321
322 PR target/68662
323 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
324 set OPTION_MASK_RELOCATABLE when flag_pic == 2. Set
325 TARGET_NO_FP_IN_TOC for -mrelocatable.
326 (MINIMAL_TOC_SECTION_ASM_OP): Remove redundant
327 TARGET_RELOCATABLE test.
328 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
329 (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
330 * config/rs6000/linux64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
331 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
332 (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
333 * config/rs6000/freebsd64.h (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
334 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
335 (ASM_PREFERRED_EH_DATA_FORMAT): Likewise.
336 * config/rs6000/predicates.md (easy_fp_constant): Likewise.
337 * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
338 Likewise.
339 (rs6000_assemble_integer): Update TARGET_RELOCATABLE test.
340 (rs6000_stack_info): Likewise.
341 (rs6000_elf_asm_out_constructor): Likewise.
342 (rs6000_elf_asm_out_destructor): Likewise.
343 (rs6000_elf_declare_function_name): Likewise.
344 * config/rs6000/rs6000.md (load_toc_aix_di): Likewise.
345 * config/rs6000/rs6000.h (MASK_RELOCATABLE, MASK_MINIMAL_TOC):
346 Don't define.
347
348 2016-05-05 Alan Modra <amodra@gmail.com>
349
350 * config/rs6000/rs6000.c (rs6000_frame_related): Rewrite.
351
352 2016-05-05 Alan Modra <amodra@gmail.com>
353
354 * config/rs6000/rs6000.c (rs6000_savres_strategy): Don't use
355 out-of-line gpr restore for one or two regs if that would add
356 a save of lr.
357
358 2016-05-04 Uros Bizjak <ubizjak@gmail.com>
359
360 PR target/70873
361 * config/i386/i386.md
362 (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_extend sf->df peephole2):
363 Change to post-epilogue_completed late splitter. Use sse_reg_operand
364 as operand 0 predicate.
365 (TARGET_SSE_PARTIAL_REG_DEPENDENCY float_truncate df->sf peephole2):
366 Ditto.
367 (TARGET_SSE_PARTIAL_REG_DEPENDENCY float {si,di}->{sf,df} peephole2):
368 Ditto. Emit the pattern using RTX.
369
370 (TARGET_USE_VECTOR_FP_CONVERTS float_extend sf->df splitter):
371 Use sse_reg_opreand as operand 0 predicate. Do not use true_regnum in
372 the post-reload splitter. Use lowpart_subreg instead of gen_rtx_REG.
373 (TARGET_USE_VECTOR_FP_CONVERTS float_truncate df->sf splitter):
374 Ditto.
375 (TARGET_USE_VECTOR_CONVERTS float si->{sf,df} splitter): Use
376 sse_reg_operand as operand 0 predicate.
377
378 (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_extend sf->df peephole2):
379 Use sse_reg_opreand as operand 0 predicate. Use lowpart_subreg
380 instead of gen_rtx_REG.
381 (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS float_truncate sf->df peephole2):
382 Ditto.
383
384 2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
385
386 * function.c (emit_use_return_register_into_block): Delete.
387 (gen_return_pattern): Delete.
388 (emit_return_into_block): Delete.
389 (active_insn_between): Delete.
390 (convert_jumps_to_returns): Delete.
391 (emit_return_for_exit): Delete.
392 (thread_prologue_and_epilogue_insns): Delete all code dealing with
393 simple_return for shrink-wrapped blocks.
394 * shrink-wrap.c (try_shrink_wrapping): Insert simple_return at the
395 end of blocks that need one.
396 (get_unconverted_simple_return): Delete.
397 (convert_to_simple_return): Delete.
398 * shrink-wrap.c (get_unconverted_simple_return): Delete declaration.
399 (convert_to_simple_return): Ditto.
400
401 2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
402
403 * cfgcleanup.c (bb_is_just_return): New function.
404 (try_optimize_cfg): Simplify jumps to return, branches to return,
405 and branches around return.
406
407 2016-05-04 Segher Boessenkool <segher@kernel.crashing.org>
408
409 * cfgcleanup.c (try_simplify_condjump): Don't try to simplify a
410 branch to a return.
411
412 2016-05-04 Jakub Jelinek <jakub@redhat.com>
413
414 PR c++/70906
415 PR c++/70933
416 * tree-core.h (enum operand_equal_flag): Add OEP_HASH_CHECK.
417 * tree.c (inchash::add_expr): If !IS_EXPR_CODE_CLASS (tclass),
418 assert flags & OEP_HASH_CHECK, instead of asserting it
419 never happens. Handle TARGET_EXPR.
420 * fold-const.c (operand_equal_p): For hash verification,
421 or in OEP_HASH_CHECK into flags.
422
423 2016-05-04 Eric Botcazou <ebotcazou@adacore.com>
424
425 * tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
426 comment.
427 (compute_samebase_partition_bases): Fix typo.
428
429 2016-05-04 Jakub Jelinek <jakub@redhat.com>
430
431 * config/i386/sse.md (vec_interleave_highv8sf,
432 vec_interleave_lowv8sf, vec_interleave_highv4df,
433 vec_interleave_lowv4df): Remove constraints from expanders.
434
435 * config/i386/sse.md (sse2_movq128): Use v constraint instead of x.
436
437 2016-05-04 Jan Hubicka <hubicka@ucw.cz>
438
439 * tree-inline.c (expand_call_inline): Fix path dealing with
440 making lhs of call statement undefined.
441
442 2016-05-04 Jan Hubicka <hubicka@ucw.cz>
443
444 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
445 Check availability on NODE, too.
446 * cgraph.h (symtab_node::call_for_symbol_and_aliases): Likewise.
447 (cgraph_node::call_for_symbol_and_aliases): Likewise.
448 (varpool_node::call_for_symbol_and_aliase): Likewise.
449 * ipa-pure-const.c (add_new_function): Analyze all bodies.
450 (propagate_pure_const): Propagate across interposable functions, too.
451 (skip_function_for_local_pure_const): Do not skip interposable bodies
452 with aliases.
453 (pass_local_pure_const::execute): Update.
454
455 2016-05-04 Marek Polacek <polacek@redhat.com>
456
457 * doc/invoke.texi: Document -Wdangling-else.
458
459 2016-05-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
460
461 * config.gcc: Error out when conflicting multilib is detected. Do not
462 loop over multilibs since no combination is legal.
463
464 2016-05-04 Alan Modra <amodra@gmail.com>
465
466 * config/rs6000/rs6000.h (PIC_OFFSET_TABLE_REGNUM): Correct.
467 * config/rs6000/sysv4.h (TARGET_TOC): Simplify.
468 * config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
469 Align .toc.
470
471 2016-05-04 Matthew Fortune <matthew.fortune@imgtec.com>
472
473 * config/mips/mips-cpus.def (p5600): Avoid IMADD by default.
474 Clean up p5600 comments.
475
476 2016-05-04 Richard Biener <rguenther@suse.de>
477
478 * match.pd: Add BIT_FIELD_REF canonicalizations and vector
479 constructor simplifications.
480 * fold-const.c (fold_ternary_loc): Remove duplicate functionality here.
481
482 2016-05-04 Oleg Endo <olegendo@gcc.gnu.org>
483
484 * config/sh/predicates (post_inc_mem, pre_dec_mem): New predicates.
485 * config/sh/sh-protos.h (sh_find_set_of_reg): Return null result if
486 result.set_rtx is null instead of aborting.
487 * config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT):
488 Always enable.
489 (USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT): Enable for SH2A.
490 * config/sh/sh.md (*extend<mode>si2_predec, *mov<mode>_load_predec,
491 *mov<mode>_store_postinc): New patterns.
492
493 2016-05-04 Marc Glisse <marc.glisse@inria.fr>
494
495 * match.pd ((A | B) & (A | C)): Generalize to BIT_XOR_EXPR. Mark
496 as commutative. Check both conversions are NOP.
497 ((A & B) OP (C & B)): Remove.
498
499 2016-05-04 Alan Modra <amodra@gmail.com>
500
501 * combine.c (simplify_set): Correct WORD_REGISTER_OPERATIONS test.
502
503 2016-05-04 Alan Modra <amodra@gmail.com>
504
505 PR target/70866
506 * config/rs6000/rs6000.c (rs6000_stack_info): Don't set cr_save_p
507 when cr2,3,4 are all fixed regs.
508
509 2016-05-04 Bernd Schmidt <bschmidt@redhat.com>
510
511 PR rtl-optimization/57193
512 * opts.c (default_options_table): Revert OPT_frename_registers change.
513 * doc/invoke.texi (-frename-registers, -O2): Likewise.
514
515 2016-05-03 Martin Sebor <msebor@redhat.com>
516
517 PR c++/66561
518 * builtins.c (fold_builtin_FILE): New function.
519 (fold_builtin_FUNCTION, fold_builtin_LINE): New functions.
520 (fold_builtin_0): Call them.
521 * gimplify.c (gimplify_call_expr): Remove the handling of
522 BUILT_IN_FILE, BUILT_IN_FUNCTION, and BUILT_IN_LINE.
523
524 PR c++/66561
525 * doc/extend.texi (Other Builtins): Update __builtin_FILE,
526 __builtin_FUNCTION, and __builtin_LINE to reflect they yield
527 constants.
528
529 PR c++/66639
530 * doc/extend.texi (Function Names as Strings): Update __func__,
531 __FUNCTION__, __PRETTY_FUNCTION__ to reflect they evaluate to
532 constants.
533
534 2016-05-03 Jakub Jelinek <jakub@redhat.com>
535 Richard Biener <rguenther@suse.de>
536
537 PR tree-optimization/70916
538 * tree-if-conv.c: Include cfganal.h.
539 (pass_if_conversion::execute): Call connect_infinite_loops_to_exit
540 and remove_fake_exit_edges around the optimization pass.
541
542 2016-05-03 Jan Hubicka <hubicka@ucw.cz>
543
544 * cgraph.c (symbol_table::create_edge): Set inline_failed.
545 (cgraph_edge::make_direct): Likewise.
546 (cgraph_edge::dump_edge_flags): Dump call_stmt_cannot_inline_p.
547 * cgraphclones.c (duplicate_thunk_for_node): Set inline_failed.
548 * cif-code.def (CIF_LTO_MISMATCHED_DECLARATIONS): New code
549 (CIF_THUNK): New code.
550 * ipa-inline-analysis.c (initialize_inline_failed): Preserve
551 CIF_FINAL_ERROR codes; do not deal with call_stmt_cannot_inline_p.
552 (compute_inline_parameters): Set inline_failed for thunks.
553 (inline_analyze_function): Cleanup.
554 * ipa-inline.c (can_inline_edge_p): Do not deal with
555 call_stmt_cannot_inline_p.
556 (can_early_inline_edge_p): Likewise.
557 (early_inliner): Initialize inline_failed.
558 * lto-cgraph.c (lto_output_edge): Sanity check inline_failed.
559
560 2016-05-03 Uros Bizjak <ubizjak@gmail.com>
561
562 * config/i386/predicates.md (x87nonimm_ssenomem_operand): Rename
563 from nonimm_ssenomem_operand.
564 (nonimm_ssenomem_operand): New predicate.
565 * config/i386/i386.md (extendsfdf2): Use nonimm_ssenomem_operand
566 as operand 0 predicate.
567 (*extendsfdf2): Merge from *extendsfdf2_mixed and *extendsfdf2_i387.
568 Disable unsupported alternatives using "enabled" attribute.
569 Use register_ssemem_operand as operand 0 predicate.
570 (*fop_<mode>_1): Use x87nonimm_ssenomem_operand as operand 1 predicate.
571
572 2016-05-03 Marek Polacek <polacek@redhat.com>
573
574 PR c/70859
575 * input.c (expansion_point_location): New function.
576 * input.h (expansion_point_location): Declare.
577
578 2016-05-03 Pierre-Marie de Rodat <derodat@adacore.com>
579
580 * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
581 occurence with frame_offset_ ones.
582
583 2016-05-03 Alan Modra <amodra@gmail.com>
584
585 PR rtl-optimization/70890
586 * ira.c (combine_and_move_insns): When moving def_insn, remove
587 equivs on use_insn.
588
589 2016-05-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
590
591 * config/s390/s390.md ("*r<noxa>sbg_<mode>_sll")
592 ("*r<noxa>sbg_<mode>_srl"): New define_insns.
593 ("*r<noxa>sbg_<mode>_srl_bitmask"): Rename by adding "_bitmask".
594 ("*r<noxa>sbg_<mode>_sll_bitmask"): Likewise.
595
596 2016-05-03 Alan Modra <amodra@gmail.com>
597
598 * config/rs6000/rs6000.c (rs6000_savres_strategy): Correct condition
599 for SAVE_MULTIPLE/STORE_MULTIPLE.
600
601 2016-05-03 Jakub Jelinek <jakub@redhat.com>
602
603 * config/i386/i386.md (*truncdfsf_mixed, *truncdfsf_i387,
604 *truncxfsf2_mixed, *truncxfdf2_mixed): Use v constraint instead of x.
605
606 2016-05-03 Richard Biener <rguenther@suse.de>
607
608 * gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter
609 default true.
610 (gimplify_arg): Likewise.
611 * gimplify.c (gimplify_expr): Add overload with allow_ssa parameter,
612 re-writing the result to a decl if required.
613 (internal_get_tmp_var): Add allow_ssa parameter
614 and override into_ssa with it.
615 (get_formal_tmp_var): Adjust.
616 (get_initialized_tmp_var): Add allow_ssa parameter.
617 (gimplify_arg): Add allow_ssa parameter and avoid generating
618 SSA names for the result false.
619 (gimplify_call_expr): If the call may return twice do not
620 gimplify parameters into SSA.
621 (prepare_gimple_addressable): Do not allow an SSA name as temporary.
622 (gimplify_modify_expr): Adjust assert. For noreturn calls
623 with a SSA name LHS adjust its def.
624 (gimplify_save_expr): Do not allow an SSA name as save-expr result.
625 (gimplify_one_sizepos): Do not allow an SSA name as a sizepos.
626 (gimplify_body): Init GIMPLE SSA data structures and gimplify into-SSA.
627 (gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not
628 an SSA name. Likewise for OMP_CLAUSE_REDUCTION operands.
629 (gimplify_omp_for): Likewise for OMP_CLAUSE_DECL. Likewise
630 for OMP_FOR_COND, OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP.
631 (optimize_target_teams): Do not allow SSA names for clause operands.
632 (gimplify_expr): Likewise for where we mark the result addressable.
633 * passes.def (pass_init_datastructures): Remove.
634 * tree-into-ssa.c (mark_def_sites): Ignore existing SSA names.
635 (rewrite_stmt): Likewise.
636 * tree-inline.c (initialize_cfun): Properly transfer SSA state.
637 (replace_locals_op): Replace SSA names.
638 (copy_gimple_seq_and_replace_locals): Init src_cfun.
639 * gimple-low.c (lower_builtin_setjmp): Deal with SSA.
640 * cgraph.c (release_function_body): Free CFG annotations only
641 when we have a CFG. Simplify.
642 * gimple-fold.c (gimplify_and_update_call_from_tree): Use
643 force_gimple_operand instead of get_initialized_tmp_var.
644 * tree-pass.h (make_pass_init_datastructures): Remove.
645 * tree-ssa.c (execute_init_datastructures): Remove.
646 (pass_data_init_datastructures): Likewise.
647 (class pass_init_datastructures): Likewise.
648 (make_pass_init_datastructures): Likewise.
649 * omp-low.c (create_omp_child_function): Init SSA data structures.
650 (grid_expand_target_grid_body): Likewise.
651 * tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA
652 name before adding it to names_to_release.
653 (remove_bb): Always release SSA defs.
654 * tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR
655 before dereferencing it.
656 * cgraphunit.c (init_lowered_empty_function): Always
657 int SSA data structures.
658 * tree-ssanames.c (release_defs): Remove assert that we are in
659 SSA form.
660 * trans-mem.c (diagnose_tm_1): Handle SSA name function.
661
662 2016-05-03 Jakub Jelinek <jakub@redhat.com>
663 Uros Bizjak <ubizjak@gmail.com>
664
665 PR rtl-optimization/70467
666 * config/i386/predicates.md (x86_64_hilo_int_operand,
667 x86_64_hilo_general_operand): New predicates.
668 * config/i386/constraints.md (Wd): New constraint.
669 * config/i386/i386.md (mode attr di): Use Wd instead of e.
670 (general_hilo_operand): New mode attr.
671 (add<mode>3, sub<mode>3): Use <general_hilo_operand>
672 instead of <general_operand>.
673 (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): Use
674 x86_64_hilo_general_operand instead of <general_operand>.
675
676 2016-05-03 Jakub Jelinek <jakub@redhat.com>
677
678 PR tree-optimization/70916
679 * tree-if-conv.c (constant_or_ssa_name): Removed.
680 (fold_build_cond_expr): Use is_gimple_val instead of
681 constant_or_ssa_name.
682
683 PR tree-optimization/70916
684 * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
685 if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
686
687 PR target/49244
688 * tree-ssa-ccp.c: Include stor-layout.h and optabs-query.h.
689 (optimize_atomic_bit_test_and): New function.
690 (pass_fold_builtins::execute): Use it.
691 * optabs.def (atomic_bit_test_and_set_optab,
692 atomic_bit_test_and_complement_optab,
693 atomic_bit_test_and_reset_optab): New optabs.
694 * internal-fn.def (ATOMIC_BIT_TEST_AND_SET,
695 ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_BIT_TEST_AND_RESET): New ifns.
696 * builtins.h (expand_ifn_atomic_bit_test_and): New prototype.
697 * builtins.c (expand_ifn_atomic_bit_test_and): New function.
698 * internal-fn.c (expand_ATOMIC_BIT_TEST_AND_SET,
699 expand_ATOMIC_BIT_TEST_AND_COMPLEMENT,
700 expand_ATOMIC_BIT_TEST_AND_RESET): New functions.
701 * doc/md.texi (atomic_bit_test_and_set@var{mode},
702 atomic_bit_test_and_complement@var{mode},
703 atomic_bit_test_and_reset@var{mode}): Document.
704 * config/i386/sync.md (atomic_bit_test_and_set<mode>,
705 atomic_bit_test_and_complement<mode>,
706 atomic_bit_test_and_reset<mode>): New expanders.
707 (atomic_bit_test_and_set<mode>_1,
708 atomic_bit_test_and_complement<mode>_1,
709 atomic_bit_test_and_reset<mode>_1): New insns.
710
711 2016-05-03 Richard Sandiford <richard.sandiford@arm.com>
712
713 PR rtl-optimization/70687
714 * combine.c (change_zero_ext): Check for scalar modes. Use wide_int
715 instead of unsigned HOST_WIDE_INT.
716
717 2016-05-03 Bernd Schmidt <bschmidt@redhat.com>
718
719 PR rtl-optimization/44281
720 * hard-reg-set.h (struct target_hard_regs): New field
721 x_fixed_nonglobal_reg_set.
722 (fixed_nonglobal_reg_set): New macro.
723 * reginfo.c (init_reg_sets_1): Initialize it.
724 * ira.c (setup_alloc_regs): Use fixed_nonglobal_reg_set instead
725 of fixed_reg_set.
726 * df-scan.c (df_insn_refs_collect): Asms may reference global regs.
727
728 2016-05-03 Bin Cheng <bin.cheng@arm.com>
729
730 PR tree-optimization/56541
731 * doc/invoke.texi (@item max-tree-if-conversion-phi-args): New item.
732 * params.def (PARAM_MAX_TREE_IF_CONVERSION_PHI_ARGS): new param.
733 * tree-if-conv.c (MAX_PHI_ARG_NUM): new macro.
734 (any_complicated_phi): new static variable.
735 (aggressive_if_conv): delete.
736 (if_convertible_phi_p): support phis with more than two arguments.
737 (if_convertible_bb_p): remvoe check on aggressive_if_conv and
738 critical pred edges.
739 (ifcvt_split_critical_edges): support phis with more than two
740 arguments by checking new parameter. only split critical edges
741 if needed.
742 (tree_if_conversion): handle simd pragma marked loop using new
743 local variable aggressive_if_conv. check any_complicated_phi.
744
745 2016-05-03 Bin Cheng <bin.cheng@arm.com>
746
747 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Check depends_on
748 before using it.
749
750 2016-05-03 Bin Cheng <bin.cheng@arm.com>
751
752 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Don't clobber
753 cbase.
754
755 2016-05-03 Oleg Endo <olegendo@gcc.gnu.org>
756
757 * config/sh/sh.md (udivsi3, divsi3, mulsi3): Simplify.
758 (mulhisi3, umulhisi3, (smulsi3_highpart, umulsi3_highpart): Convert to
759 define_insn_and_split.
760 (mulsi3_i): New define_insn_and_split.
761 (mulsi3_call): Convert to define_insn.
762 (mulsidi3, mulsidi3_compact, umulsidi3, umulsidi3_compact):
763 Remove constraints.
764
765 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com>
766
767 * machmode.h (mode_complex): Add support to give the complex mode
768 for a given mode.
769 (GET_MODE_COMPLEX_MODE): Likewise.
770 * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
771 stored by build_complex_type and gfc_build_complex_type instead of
772 trying to figure out the appropriate mode based on the size. Raise
773 an assertion error, if the type was not set.
774 * genmodes.c (struct mode_data): Add field for the complex type of
775 the given type.
776 (blank_mode): Likewise.
777 (make_complex_modes): Remember the complex mode created in the
778 base type.
779 (emit_mode_complex): Write out the mode_complex array to map a
780 type mode to the complex version.
781 (emit_insn_modes_c): Likewise.
782 * tree.c (build_complex_type): Set the complex type to use before
783 calling layout_type.
784 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
785 support for __float128 complex datatypes.
786 (rs6000_hard_regno_mode_ok): Likewise.
787 (rs6000_setup_reg_addr_masks): Likewise.
788 (rs6000_complex_function_value): Likewise.
789 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
790 __float128 and __ibm128 complex.
791 (FLOAT128_IBM_P): Likewise.
792 (ALTIVEC_ARG_MAX_RETURN): Likewise.
793 * doc/extend.texi (Additional Floating Types): Document that
794 -mfloat128 must be used to enable __float128. Document complex
795 __float128 and __ibm128 support.
796
797 2016-05-02 Jakub Jelinek <jakub@redhat.com>
798
799 PR target/49244
800 * gimple.c (gimple_builtin_call_types_compatible_p): Allow
801 char/short arguments promoted to int because of promote_prototypes.
802
803 2016-05-02 Uros Bizjak <ubizjak@gmail.com>
804
805 * config/i386/predicates.md (register_ssemem_operand): New predicate.
806 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Merge from
807 *cmpi<FPCMP:unord><MODEF:mode>_mixed and
808 *cmpi<FPCMP:unord><X87MODEF:mode>_i387. Disable unsupported
809 alternatives using "enabled" attribute. Use register_ssemem_operand
810 as operand 1 predicate.
811 (*cmpi<unord>xf_i387): Split XFmode pattern from
812 *cmpi<FPCMP:unord><X87MODEF:mode>_i387.
813 (*absneg<mode>2): Merge from *absneg<mode>2_mixed and
814 *absneg<mode>2_i387. Disable unsupported alternatives using
815 "enabled" attribute.
816 (*absnegxf2_i387): Split XFmode pattern from *absneg<mode>2_i387.
817
818 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
819
820 * omp-low.c (lower_oacc_head_tail): Assert there is at least one
821 marker.
822 (oacc_loop_process): Check mask for loop termination.
823
824 2016-05-02 Jan Hubicka <hubicka@ucw.cz>
825
826 * cif-code.def (CIF_THUNK): Add.
827 * ipa-inline-analsysis.c (evaluate_conditions_for_known_args): Revert
828 accidental change.
829
830 2016-05-02 Jan Hubicka <hubicka@ucw.cz>
831
832 * ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
833 (dump_inline_summary): Dump it.
834 (fp_expression_p): New predicate.
835 (estimate_function_body_sizes): Use it.
836 (inline_merge_summary): Merge fp_expressions.
837 (inline_read_section): Read fp_expressions.
838 (inline_write_summary): Write fp_expressions.
839 * ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
840 codegen boundary if either caller or callee is !fp_expressions.
841 * ipa-inline.h (inline_summary): Add fp_expressions.
842 * ipa-inline-transform.c (inline_call): When inlining !fp_expressions
843 to fp_expressions be sure the fp generation flags are updated.
844
845 2016-05-02 Jakub Jelinek <jakub@redhat.com>
846
847 PR rtl-optimization/70467
848 * cse.c (cse_insn): Handle no-op MEM moves after folding.
849
850 PR rtl-optimization/70467
851 * ipa-pure-const.c (check_call): Handle internal calls even in
852 ipa mode like in local mode.
853
854 2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
855
856 * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.
857
858 2016-05-02 Marc Glisse <marc.glisse@inria.fr>
859
860 * match.pd (X u< X, X u> X): New transformations.
861
862 2016-05-02 Marc Glisse <marc.glisse@inria.fr>
863
864 * flag-types.h (enum warn_strict_overflow_code): Move ...
865 * coretypes.h: ... here.
866 * fold-const.h (fold_overflow_warning): Declare.
867 * fold-const.c (fold_overflow_warning): Make non-static.
868 (fold_comparison): Move the transformation of X +- C1 CMP C2
869 into X CMP C2 -+ C1 ...
870 * match.pd: ... here.
871 * gimple-fold.c (fold_stmt_1): Protect with
872 fold_defer_overflow_warnings.
873
874 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
875
876 * omp-low.c (struct oacc_loop): Add 'inner' field.
877 (new_oacc_loop_raw): Initialize it to zero.
878 (oacc_loop_fixed_partitions): Initialize it.
879 (oacc_loop_auto_partitions): Partition outermost loop to outermost
880 available partitioning.
881
882 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
883
884 * config/arc/arc.md (mulsidi3): Change operand 0 predicate to
885 register_operand.
886 (umulsidi3): Likewise.
887 (indirect_jump): Fix jump instruction assembly patterns.
888
889 2016-05-02 Thomas Schwinge <thomas@codesourcery.com>
890
891 PR target/70860
892 * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
893 (nvptx_function_value): Assert non-NULL cfun.
894
895 2016-05-02 Eric Botcazou <ebotcazou@adacore.com>
896
897 PR rtl-optimization/70886
898 * sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
899
900 * cselib.h (rtx_equal_for_cselib_1): Declare.
901 (rtx_equal_for_cselib_p: New inline function.
902 * cselib.c (rtx_equal_for_cselib_p): Delete.
903 (rtx_equal_for_cselib_1): Make public.
904
905 2016-05-02 Uros Bizjak <ubizjak@gmail.com>
906
907 * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
908 (register_mixssei387nonimm_operand): Remove predicate.
909 * config/i386/i386.md (*fop_<mode>_comm): Merge from
910 *fop_<mode>_comm_mixed and *fop_<mode>_comm_i387. Disable unsupported
911 alternatives using "enabled" attribute. Also check X87_ENABLE_ARITH
912 for TARGET_MIX_SSE_I387 alternatives.
913 (*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
914 Disable unsupported alternatives using "enabled" attribute. Use
915 nonimm_ssenomem_operand as operand 1 predicate. Also check
916 X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
917
918 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
919
920 * tree.c (cst_and_fits_in_hwi): Simplify.
921
922 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
923
924 * tree.h (wi::to_wide): New function.
925 * expr.c (expand_expr_real_1): Use wi::to_wide.
926 * fold-const.c (int_const_binop_1): Likewise.
927 (extract_muldiv_1): Likewise.
928
929 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
930
931 * wide-int.h: Update offset_int and widest_int documentation.
932 (WI_SIGNED_SHIFT_RESULT): New macro.
933 (wi::binary_shift): Define signed_shift_result_type for
934 shifts on offset_int- and widest_int-like types.
935 (generic_wide_int): Support <<= and >>= if << and >> are supported.
936 * tree.h (int_bit_position): Use shift operators instead of wi::
937 shifts.
938 * alias.c (adjust_offset_for_component_ref): Likewise.
939 * expr.c (get_inner_reference): Likewise.
940 * fold-const.c (fold_comparison): Likewise.
941 * gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
942 * gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
943 * tree-dfa.c (get_ref_base_and_extent): Likewise.
944 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
945 (stmt_kills_ref_p): Likewise.
946 * tree-ssa-ccp.c (bit_value_binop_1): Likewise.
947 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
948 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
949 (ao_ref_init_from_vn_reference): Likewise.
950
951 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
952
953 * wide-int.h: Update offset_int and widest_int documentation.
954 (WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
955 (wi::binary_traits): Allow ordered comparisons between offset_int and
956 offset_int, between widest_int and widest_int, and between either
957 of these types and basic C types.
958 (operator <, <=, >, >=): Define for the same combinations.
959 * tree.h (tree_int_cst_lt): Use comparison operators instead
960 of wi:: comparisons.
961 (tree_int_cst_le): Likewise.
962 * gimple-fold.c (fold_array_ctor_reference): Likewise.
963 (fold_nonarray_ctor_reference): Likewise.
964 * gimple-ssa-strength-reduction.c (record_increment): Likewise.
965 * tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
966 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
967 * tree-sra.c (completely_scalarize): Likewise.
968 * tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
969 * tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
970 * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
971 (check_for_binary_op_overflow): Likewise.
972 (search_for_addr_array): Likewise.
973 * ubsan.c (ubsan_expand_objsize_ifn): Likewise.
974
975 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
976
977 * config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
978 (arc_save_restore): Likewise.
979 (arc_dwarf_register_span): Likewise.
980 (arc_output_pic_addr_const): Initialize suffix variable.
981
982 2016-05-02 Martin Liska <mliska@suse.cz>
983
984 * symbol-summary.h (function_summary::function_summary):
985 Remove checking assert for all cgraph nodes.
986 (function_summary::get): Check summary_uid.
987 (symtab_insertion): Check summary_uid.
988
989 2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
990
991 * config/arc/arc-protos.h (compact_memory_operand_p): Declare.
992 * config/arc/arc.c (arc_output_commutative_cond_exec): Consider
993 bmaskn instruction.
994 (arc_dwarf_register_span): Remove enum keyword.
995 (compact_memory_operand_p): New function.
996 * config/arc/arc.h (reg_class): Add code density register classes.
997 (REG_CLASS_NAMES): Likewise.
998 (REG_CLASS_CONTENTS): Likewise.
999 * config/arc/arc.md (*movqi_insn): Add code density instructions.
1000 (*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
1001 (*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
1002 (*cmpsi_cc_c_insn, *movsi_ne): Likewise.
1003 * config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
1004 constraints.
1005 (h, Rcd, Rsd, Rzd): New register constraints.
1006 (T): Use compact_memory_operand_p function.
1007 * config/arc/predicates.md (compact_load_memory_operand): Remove.
1008
1009 2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
1010
1011 * config/sh/sh.md (*negnegt, *movtt): Remove.
1012
1013 2016-05-02 Marek Polacek <polacek@redhat.com>
1014 Tom de Vries <tom@codesourcery.com>
1015
1016 PR tree-optimization/70700
1017 * tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
1018 bigger than FIRST_REF_NODE.
1019
1020 2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
1021
1022 PR target/52898
1023 * config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
1024 TARGET_CMPEQDI_T.
1025 (prepare_cbranch_operands): Don't use scratch register. Assume that
1026 function is used when pseudos can be created.
1027 (expand_cbranchdi4): Likewise. Remove unused TARGET_CMPEQDI_T paths.
1028 * config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
1029 (cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
1030 define_expand. Allow it only when pseudos can be created.
1031 * config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.
1032
1033 2016-05-01 Uros Bizjak <ubizjak@gmail.com>
1034
1035 * config/i386/constraints.md (BC): Only allow -1 operands.
1036 * config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
1037 Add "enabled" attribute. Update XI mode attribute calculation.
1038 * config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
1039 (*movoi_internal_avx): Update XI mode attribute calculation.
1040 (*movti_internal): Ditto.
1041
1042 2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
1043
1044 * config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
1045 cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.
1046
1047 2016-05-01 Eric Botcazou <ebotcazou@adacore.com>
1048
1049 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
1050 statement on instruction code. Remove trailing spaces.
1051 (altivec_expand_stv_builtin): Likewise.
1052
1053 2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
1054
1055 * config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
1056 (TARGET_FPU_DOUBLE): Simplify.
1057 (BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
1058 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
1059 * config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
1060 with 'TARGET_FPU_DOUBLE'.
1061 * config/sh/sh.md: Likewise.
1062
1063 2016-05-01 Yoshinori Sato <ysato@users.sourceforge.jp>
1064
1065 * config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
1066 SH_DIV_STR_FOR_SIZE): Remove.
1067 * config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
1068 SH_DIV_STR_FOR_SIZE): Remove.
1069
1070 2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
1071
1072 * config/sh/predicates.md (any_register_operand, zero_extend_operand,
1073 logical_reg_operand): Delete.
1074 (arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
1075 arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
1076 logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
1077 match_operand and match_test.
1078 (sh_const_vec, sh_1el_vec): Remove redundant checks. Declare local
1079 variables on their first use. Return bool values.
1080 * config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
1081 * config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
1082 arith_reg_operand for input operand. Remove empty constraints.
1083 (xorsi3): Delete.
1084 (*xorsi3_compact): Rename to xorsi3.
1085 (zero_extend<mode>si2): Use arith_reg_operand for input operand.
1086 (*zero_extend<mode>si2_disp_mem): Update comment.
1087 (mov_nop): Delete.
1088
1089 2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
1090
1091 * config/sh/t-sh: Remove SH5 support.
1092 * config.gcc: Likewise.
1093 * configure: Likewise.
1094
1095 2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1096
1097 * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
1098
1099 2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
1100
1101 * config/sh/sh.c (register_sh_passes, sh_option_override,
1102 sh_print_operand, prepare_move_operands,
1103 sh_can_follow_jump): Remove TARGET_SH1 checks.
1104 * config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P,
1105 PROMOTE_MODE): Likewise.
1106 * config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3,
1107 movdi): Likewise.
1108
1109 2016-04-30 Alan Modra <amodra@gmail.com>
1110
1111 * config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
1112 restoring when fixed_reg_p, but allow out-of-line or stmw save.
1113 Check for user regs later to avoid unnecessary looping over regs.
1114 Merge user reg check with non-saved reg check. Don't force
1115 inline VR restore when static chain used.
1116 (rs6000_frame_related): Omit eh_frame info for user regs when
1117 saving.
1118 (fixed_regs_p): Delete.
1119
1120 2016-04-30 Alan Modra <amodra@gmail.com>
1121
1122 * config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with..
1123 (SAVE_STRATEGY, REST_STRATEGY): ..this. Renumber and sort enum.
1124 Update all uses.
1125
1126 2016-04-30 Alan Modra <amodra@gmail.com>
1127
1128 PR target/69645
1129 * config/rs6000/rs6000.c (fixed_reg_p): New function.
1130 (fixed_regs_p): Rename from global_regs_p. Call fixed_reg_p.
1131 Update all uses.
1132
1133 2016-04-30 Alan Modra <amodra@gmail.com>
1134
1135 * config/rs6000/rs6000.c (rs6000_conditional_register_usage):
1136 Remove redundant PIC_OFFSET_TABLE_REGNUM test. Replace with
1137 flag_pic test for Darwin.
1138
1139 2016-04-30 Alan Modra <amodra@gmail.com>
1140
1141 * regs.h (struct reg_info_t): Delete freq_calls_crossed and
1142 throw_calls_crossed.
1143 (REG_FREQ_CALLS_CROSSED): Delete.
1144 (REG_N_THROWING_CALLS_CROSSED): Delete.
1145 * regstat.c (regstat_bb_compute_ri): Don't calculate
1146 REG_FREQ_CALLS_CROSSED and REG_N_THROWING_CALLS_CROSSED.
1147 (dump_reg_info): Don't print call cross frequency.
1148 * ira.c (combine_and_move_insns): Don't set REG_FREQ_CALLS_CROSSED
1149 and REG_N_THROWING_CALLS_CROSSED.
1150
1151 2016-04-30 Alan Modra <amodra@gmail.com>
1152
1153 * regs.h (struct reg_info_t): Delete live_length.
1154 (REG_LIVE_LENGTH): Delete macro.
1155 * regstat.c (regstat_bb_compute_ri): Delete artificial_uses,
1156 local_live, local_processed and local_live_last_luid params.
1157 Replace bb_index param with bb. Don't set REG_LIVE_LENGTH.
1158 Formatting fixes.
1159 (regstat_compute_ri): Adjust for above. Don't set
1160 REG_LIVE_LENGTH.
1161 (dump_reg_info): Don't print live length.
1162 * ira.c (update_equiv_regs): Replace test of REG_LIVE_LENGTH
1163 with test of setjmp_crosses. Don't set REG_LIVE_LENGTH.
1164 Localize loop_depth var.
1165
1166 2016-04-30 Alan Modra <amodra@gmail.com>
1167
1168 * ira.c (enum valid_equiv): New.
1169 (validate_equiv_mem): Return enum.
1170 (update_equiv_mem): Create replacement in more cases.
1171 (add_store_equivs): Update validate_equiv_mem call.
1172
1173 2016-04-30 Alan Modra <amodra@gmail.com>
1174
1175 * ira.c (combine_and_move_insns): Rather than scanning insns,
1176 use DF infrastucture to find use and def insns.
1177
1178 2016-04-30 Alan Modra <amodra@gmail.com>
1179
1180 ira.c (combine_and_move_insns): Move invariant conditions..
1181 (ira.c): ..to here. Call combine_and_move_insns before
1182 add_store_equivs. Call grow_reg_equivs later. Allocate
1183 req_equiv later using max_reg_num() rather than global max_regno.
1184 (contains_replace_regs): Delete.
1185 (add_store_equivs): Remove contains_replace_regs test.
1186
1187 2016-04-30 Alan Modra <amodra@gmail.com>
1188
1189 * ira.c (struct equiv_mem_data): New.
1190 (equiv_mem, equiv_mem_modified): Delete static vars.
1191 (validate_equiv_mem_from_store): Use "data" param to communicate..
1192 (validate_equiv_mem): ..from here.
1193
1194 2016-04-30 Alan Modra <amodra@gmail.com>
1195
1196 * ira.c (add_store_equivs, combine_and_move_insns): New functions,
1197 split out from..
1198 (update_reg_equivs): ..here. Move allocation and freeing of
1199 reg_equiv, and calls to grow_reg_equivs, init_alias_analysis,
1200 end_alias_analysis to..
1201 (ira): ..here.
1202
1203 2016-04-30 Alan Modra <amodra@gmail.com>
1204
1205 * ira.c (pdx_subregs): Delete.
1206 (struct equivalence): Add pdx_subregs field.
1207 (set_paradoxical_subreg): Remove pdx_subregs param. Update
1208 pdx_subregs access.
1209 (update_equiv_regs): Don't create or free pdx_subregs. Update
1210 pdx_subregs access.
1211
1212 2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1213
1214 * config/rs6000/altivec.h: Change definitions of vec_xl and
1215 vec_xst.
1216 * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
1217 (LD_ELEMREV_V2DI): New.
1218 (LD_ELEMREV_V4SF): New.
1219 (LD_ELEMREV_V4SI): New.
1220 (LD_ELEMREV_V8HI): New.
1221 (LD_ELEMREV_V16QI): New.
1222 (ST_ELEMREV_V2DF): New.
1223 (ST_ELEMREV_V2DI): New.
1224 (ST_ELEMREV_V4SF): New.
1225 (ST_ELEMREV_V4SI): New.
1226 (ST_ELEMREV_V8HI): New.
1227 (ST_ELEMREV_V16QI): New.
1228 (XL): New.
1229 (XST): New.
1230 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1231 descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
1232 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
1233 TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
1234 (altivec_expand_builtin): Add handling for
1235 VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
1236 (rs6000_invalid_builtin): Add error-checking for
1237 RS6000_BTM_P9_VECTOR.
1238 (altivec_init_builtins): Define builtins used to implement vec_xl
1239 and vec_xst.
1240 (rs6000_builtin_mask_names): Define power9-vector.
1241 * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
1242 (RS6000_BTM_P9_VECTOR): Define.
1243 (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
1244 * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
1245 (vsx_ld_elemrev_v2df): Likewise.
1246 (vsx_ld_elemrev_v4sf): Likewise.
1247 (vsx_ld_elemrev_v4si): Likewise.
1248 (vsx_ld_elemrev_v8hi): Likewise.
1249 (vsx_ld_elemrev_v16qi): Likewise.
1250 (vsx_st_elemrev_v2df): Likewise.
1251 (vsx_st_elemrev_v2di): Likewise.
1252 (vsx_st_elemrev_v4sf): Likewise.
1253 (vsx_st_elemrev_v4si): Likewise.
1254 (vsx_st_elemrev_v8hi): Likewise.
1255 (vsx_st_elemrev_v16qi): Likewise.
1256 * doc/extend.texi: Add prototypes for vec_xl and vec_xst. Correct
1257 grammar.
1258
1259 2016-04-29 Patrick Palka <ppalka@gcc.gnu.org>
1260
1261 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Split
1262 out into ...
1263 (simplify_control_stmt_condition_1): ... here. Recurse into
1264 BIT_AND_EXPRs and BIT_IOR_EXPRs.
1265
1266 2016-04-29 David Edelsohn <dje.gcc@gmail.com>
1267
1268 PR target/69810
1269 * config/rs6000/rs6000.md (EXTQI): Don't allow extension to HImode.
1270 (zero_extendqi<mode>2_dot): Revert earlier conversion from
1271 define_insn_and_split to define_insn.
1272 (zero_extendqi<mode>2_dot2): Same.
1273 (extendqi<mode>2_dot): Same.
1274 (extendqi<mode>2_dot2): Same.
1275
1276 2016-04-29 Uros Bizjak <ubizjak@gmail.com>
1277
1278 * config/i386/i386.md (unspec): Add UNSPEC_PROBE_STACK.
1279 (probe_stack): New expander.
1280 (probe_stack_<mode>): New insn pattern.
1281
1282 2016-04-29 Uros Bizjak <ubizjak@gmail.com>
1283
1284 * config/i386/i386.md
1285 (operations with memory inputs setting flags peephole2):
1286 Remove uneeded REG_P checks. Cleanup pattern generation.
1287
1288 2016-04-29 Ilya Enkovich <ilya.enkovich@intel.com>
1289
1290 * tree-vect-loop.c (vect_transform_loop): Fix
1291 nb_iterations_upper_bound computation for vectorized loop.
1292
1293 2016-04-29 Marek Polacek <polacek@redhat.com>
1294 Jakub Jelinek <jakub@redhat.com>
1295
1296 PR sanitizer/70342
1297 * fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
1298 TARGET_EXPR_SLOT as a base.
1299
1300 2016-04-29 Andrew Burgess <andrew.burgess@embecosm.com>
1301
1302 * config/arc/arc.md (*loadqi_update): Replace use of 'rI' constraint
1303 with 'rCm2' constraints to limit possible immediate size.
1304 (*load_zeroextendqisi_update): Likewise.
1305 (*load_signextendqisi_update): Likewise.
1306 (*loadhi_update): Likewise.
1307 (*load_zeroextendhisi_update): Likewise.
1308 (*load_signextendhisi_update): Likewise.
1309 (*loadsi_update): Likewise.
1310 (*loadsf_update): Likewise.
1311
1312 2016-04-29 Uros Bizjak <ubizjak@gmail.com>
1313
1314 * config/i386/predicates.md (constm1_operand): Fix comparison.
1315
1316 2016-04-29 Claudiu Zissulescu <claziss@synopsys.com>
1317
1318 * testsuite/gcc.target/arc/ieee_eq.c: New test.
1319
1320 2016-04-29 Oleg Endo <olegendo@gcc.gnu.org>
1321
1322 * common/config/sh/sh-common.c (sh_option_optimization_table): Remove
1323 remaining SH5 related settings.
1324 * config/sh/sh-protos.h (shmedia_cleanup_truncate,
1325 shmedia_prepare_call_address): Delete.
1326 * config/sh/sh.c (sh_print_operand, output_stack_adjust,
1327 DWARF_CIE_DATA_ALIGNMENT, LOCAL_ALIGNMENT): Update comments.
1328 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC,
1329 UNSUPPORTED_SH2A): Remove m5 checks.
1330 (sh_divide_strategy_e): Remove SH5 division strategies.
1331 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Remove and use default.
1332 * config/sh/sh.md (divsf3): Reinstate define_expand pattern.
1333
1334 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1335
1336 * config/s390/s390.c (s390_rtx_costs): Update documentation.
1337
1338 2016-04-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1339
1340 * config/s390/2964.md ("z13_unit_fxu", "z13_0"): Remove lder.
1341 * config/s390/s390.md ("movsi_larl", "*movsi_esa", "mov<mode>"):
1342 Change lder to ldr.
1343 * config/s390/vector.md ("mov<mode>"): Likewise.
1344
1345 2016-04-29 Ulrich Weigand <uweigand@de.ibm.com>
1346
1347 * config/s390/constraints.md ("U", "W"): Invoke
1348 s390_mem_constraint with "ZR" and "ZT".
1349 * config/s390/s390.c (s390_check_qrst_address): Reject invalid
1350 addresses when using LRA. Accept also short displacements for S
1351 and T constraints. Do not check for long displacement target for
1352 S and T constraints.
1353 (s390_mem_constraint): Remove handling of U and W constraints.
1354 * config/s390/s390.md (various patterns): Remove the short
1355 displacement constraints (Q and R) if a long displacement
1356 constraint is present. Add longdisp as required CPU capability.
1357 * config/s390/vector.md: Likewise.
1358 * config/s390/vx-builtins.md: Likewise.
1359
1360 2016-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1361
1362 PR target/60040
1363 * reload1.c (reload): Call finish_spills before
1364 restarting reload loop. Skip select_reload_regs
1365 if update_eliminables_and_spill returns true.
1366
1367 2016-04-29 Claudiu Zissulescu <claziss@synopsys.com>
1368
1369 * config/arc/arc.h (UNSIGNED_INT12, UNSIGNED_INT16): Define.
1370 * config/arc/arc.md (umulhisi3): Use arc_short_operand predicate.
1371 (umulhisi3_imm): Update predicates and constraint letters.
1372 (umulhisi3_reg): Declare instruction as commutative.
1373 * config/arc/constraints.md (J12, J16): New constraints.
1374 * config/arc/predicates.md (short_unsigned_const_operand): New
1375 predicate.
1376 (arc_short_operand): Likewise.
1377 * testsuite/gcc.target/arc/umulsihi3_z.c: New file.
1378
1379 2016-04-29 Richard Biener <rguenther@suse.de>
1380
1381 PR tree-optimization/13962
1382 PR tree-optimization/65686
1383 * tree-ssa-alias.h (ptrs_compare_unequal): Declare.
1384 * tree-ssa-alias.c (ptrs_compare_unequal): New function
1385 using PTA to compare pointers.
1386 * match.pd: Add pattern for pointer equality compare simplification
1387 using ptrs_compare_unequal.
1388
1389 2016-04-29 Richard Biener <rguenther@suse.de>
1390
1391 * stor-layout.c (layout_type): Do not build a pointer-to-element
1392 type for arrays.
1393
1394 2016-04-29 Uros Bizjak <ubizjak@gmail.com>
1395
1396 * config/i386/i386.md (Load+RegOp to Mov+MemOp peephole2):
1397 Use SWI mode iterator. Use general_reg_operand predicate.
1398 (Load+RegOp to Mov+MemOp peephole2 with vector regs): Split
1399 peephole to MMX and SSE part. Use mmx_reg_operand and sse_reg_operand
1400 predicates.
1401
1402 2016-04-29 Jakub Jelinek <jakub@redhat.com>
1403
1404 PR middle-end/70843
1405 * fold-const.c (operand_equal_p): Don't verify hash value equality
1406 if arg0 == arg1.
1407 * tree.c (inchash::add_expr): Handle STATEMENT_LIST. Ignore BLOCK
1408 and OMP_CLAUSE.
1409
1410 2016-04-28 Jakub Jelinek <jakub@redhat.com>
1411
1412 PR target/70858
1413 * config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
1414 to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
1415 (bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
1416 __builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
1417 __builtin_ia32_pdep_di and __builtin_ia32_pext_di.
1418
1419 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
1420
1421 * config/rs6000/rs6000.c (compute_save_world_info): Rename info_ptr
1422 to info. Don't initialize separate fields to 0. Clean up
1423 formatting a bit.
1424
1425 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
1426
1427 * config/i386/i386.md (peephole2s for operations with memory inputs):
1428 Use SWI mode iterator.
1429 (peephole2s for operations with memory outputs): Ditto.
1430 Do not check for stack checking probe.
1431
1432 (probe_stack): Remove expander.
1433
1434 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
1435 Andrew Burgess <andrew.burgess@embecosm.com>
1436
1437 * config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
1438 operands as 32-bits.
1439
1440 2016-04-28 Jason Merrill <jason@redhat.com>
1441
1442 * gdbinit.in: Skip line-map.h.
1443
1444 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
1445 Andrew Burgess <andrew.burgess@embecosm.com>
1446
1447 * config/arc/arc.c (arc_conditional_register_usage): Take
1448 TARGET_RRQ_CLASS into account.
1449 (arc_print_operand): Support printing 'p' and 's' operands.
1450 * config/arc/arc.h (TARGET_NPS_BITOPS_DEFAULT): Provide default
1451 as 0.
1452 (TARGET_RRQ_CLASS): Define.
1453 (IS_POWEROF2_OR_0_P): Define.
1454 * config/arc/arc.md (*movsi_insn): Add w/Clo, w/Chi, and w/Cbi
1455 alternatives.
1456 (*tst_movb): New define_insn.
1457 (*tst): Avoid recognition if it could prevent '*tst_movb'
1458 combination; replace c/CnL with c/Chs alternative.
1459 (*tst_bitfield_tst): New define_insn.
1460 (*tst_bitfield_asr): New define_insn.
1461 (*tst_bitfield): New define_insn.
1462 (andsi3_i): Add Rrq variant.
1463 (extzv): New define_expand.
1464 (insv): New define_expand.
1465 (*insv_i): New define_insn.
1466 (*movb): New define_insn.
1467 (*movb_signed): New define_insn.
1468 (*movb_high): New define_insn.
1469 (*movb_high_signed): New define_insn.
1470 (*movb_high_signed + 1): New define_split pattern.
1471 (*mrgb): New define_insn.
1472 (*mrgb + 1): New define_peephole2 pattern.
1473 (*mrgb + 2): New define_peephole2 pattern.
1474 * config/arc/arc.opt (mbitops): New option for nps400, uses
1475 TARGET_NPS_BITOPS_DEFAULT.
1476 * config/arc/constraints.md (q): Make register class conditional.
1477 (Rrq): New register constraint.
1478 (Chs): New constraint.
1479 (Clo): New constraint.
1480 (Chi): New constraint.
1481 (Cbf): New constraint.
1482 (Cbn): New constraint.
1483 (C18): New constraint.
1484 (Cbi): New constraint.
1485
1486 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
1487
1488 * cfganal.c (bitmap_intersection_of_succs): Delete assert checking
1489 dst->popcount.
1490 (bitmap_intersection_of_preds): Ditto.
1491 (bitmap_union_of_succs): Ditto.
1492 (bitmap_union_of_preds): Ditto.
1493 * sbitmap.c (do_popcount): Delete.
1494 (BITMAP_DEBUGGING): Delete.
1495 (sbitmap_verify_popcount): Delete.
1496 (sbitmap_alloc): Don't initialize the popcount field.
1497 (sbitmap_alloc_with_popcount): Delete.
1498 (sbitmap_resize): Don't resize the popcount array.
1499 (sbitmap_vector_alloc): Don't initialize the popcount field.
1500 (bitmap_copy): Don't copy the popcount array.
1501 (bitmap_clear): Don't clear the popcount array.
1502 (bitmap_clear): Delete the popcount array handling.
1503 (bitmap_ior_and_compl): Delete the popcount assert.
1504 (bitmap_not): Ditto.
1505 (bitmap_and_compl): Ditto.
1506 (bitmap_and): Delete the popcount array handling.
1507 (bitmap_xor): Ditto.
1508 (bitmap_ior): Ditto.
1509 (bitmap_or_and): Delete the popcount assert.
1510 (bitmap_and_or): Ditto.
1511 (popcount_table): Delete.
1512 (sbitmap_elt_popcount): Delete.
1513 * sbitmap.h (simple_bitmap_def): Delete the popcount field.
1514 (bitmap_set_bit): Delete the popcount assert.
1515 (bitmap_clear_bit): Ditto.
1516 (sbitmap_free): Don't free the popcount array.
1517 (sbitmap_alloc_with_popcount): Delete declaration.
1518 (sbitmap_popcount): Ditto.
1519
1520 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
1521 Andrew Burgess <andrew.burgess@embecosm.com>
1522
1523 * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
1524 (TARGET_NPS_CMEM_DEFAULT): Provide default definition.
1525 * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
1526 (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
1527 * config/arc/arc.opt (mcmem): New option.
1528 * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
1529 supply length for r/m alternative.
1530 (*extendqisi2_ac): Likewise.
1531 (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
1532 r/Uex alternative.
1533 (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
1534 (movhi_insn): Likewise.
1535 (movsi_insn): Add r/Ucm,Ucm/w alternatives.
1536 (*zero_extendqihi2_i): Add r/Ucm alternative.
1537 (*zero_extendqisi2_ac): Likewise.
1538 (*zero_extendhisi2_i): Likewise.
1539 * config/arc/constraints.md (Uex): New memory constraint.
1540 (Ucm): New define_constraint.
1541 * config/arc/predicates.md (long_immediate_loadstore_operand):
1542 Return 0 for MEM with cmem_address address.
1543 (cmem_address_0): New predicates.
1544 (cmem_address_1): Likewise.
1545 (cmem_address_2): Likewise.
1546 (cmem_address): Likewise.
1547
1548 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
1549
1550 * config/rs6000/rs6000.c (machine_function): Rename
1551 insn_chain_scanned_p to spe_insn_chain_scanned_p.
1552 (rs6000_stack_info): Adjust.
1553
1554 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
1555 Andrew Burgess <andrew.burgess@embecosm.com>
1556
1557 * config/arc/constraints.md (Usd): Convert to define_constraint.
1558 (Us<): Likewise.
1559 (Us>): Likewise.
1560
1561 2016-04-28 Jakub Jelinek <jakub@redhat.com>
1562
1563 PR target/70821
1564 * config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
1565 Add new peephole2 where the first insn is *mov<mode>_or instead of
1566 *mov<mode>_internal.
1567
1568 2016-04-28 Segher Boesssenkool <segher@kernel.crashing.org>
1569
1570 * tracer.c (bb_seen): Make static.
1571
1572 2016-04-28 Andrew Burgess <andrew.burgess@embecosm.com>
1573
1574 * common/config/arc/arc-common.c (arc_handle_option): Add NPS400
1575 support, setup defaults.
1576 * config/arc/arc-opts.h (enum processor_type): Add NPS400.
1577 * config/arc/arc.c (arc_init): Add NPS400 support.
1578 * config/arc/arc.h (CPP_SPEC): Add NPS400 defines.
1579 (TARGET_ARC700): NPS400 is also an ARC700.
1580 * config/arc/arc.opt: Add NPS400 options to -mcpu=.
1581
1582 2016-04-28 Segher Boessenkool <segher@kernel.crashing.org>
1583
1584 PR target/70668
1585 * config/nds32/nds32.md (casesi): Don't access the operands array
1586 out of bounds.
1587
1588 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
1589
1590 * config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
1591 (or $-1,reg peephole2): Ditto.
1592 (strict_low_part zeroing peephole2): Use SWI12 mode iterator.
1593
1594 2016-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
1595
1596 * doc/extend.texi (Common Function Attributes) [optimize]:
1597 Discourage use of the optimize attribute.
1598
1599 2016-04-28 Bill Seurer <seurer@linux.vnet.ibm.com>
1600
1601 * config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a
1602 special case builtin.
1603 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
1604 ALTIVEC_BUILTIN_VEC_ADDE.
1605 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
1606 support for ALTIVEC_BUILTIN_VEC_ADDE.
1607 * config/rs6000/rs6000.c (altivec_init_builtins): Add definition
1608 for __builtin_vec_adde.
1609
1610 2016-04-28 Jakub Jelinek <jakub@redhat.com>
1611
1612 * config/i386/i386.md (sse4_1_round<mode>2): Add avx512f alternative.
1613 * config/i386/sse.md (sse4_1_round<ssescalarmodesuffix>): Likewise.
1614
1615 2016-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1616
1617 PR testsuite/70595
1618 * doc/sourcebuild.texi (Effective-Target Keywords, Other
1619 attributes): Document cilkplus_runtime.
1620
1621 2016-04-28 Martin Jambor <mjambor@suse.cz>
1622
1623 * tree-cfg.c (verify_expr): Verify that local declarations belong to
1624 this function. Call verify_expr on MEM_REFs and bases of other
1625 handled_components.
1626
1627 2016-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1628
1629 * internal-fn.c (expand_arith_overflow): Convert preprocessor check
1630 for WORD_REGISTER_OPERATIONS to runtime check.
1631
1632 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
1633
1634 * config/arc/arc.h (ASM_SPEC): Pass mfpuda to assembler.
1635
1636 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
1637
1638 * config/arc/arc.c (arc_process_double_reg_moves): Fix for
1639 big-endian compilation.
1640 * config/arc/arc.md (addf3): Likewise.
1641 (subdf3): Likewise.
1642 (muldf3): Likewise.
1643
1644 2016-04-28 Richard Biener <rguenther@suse.de>
1645
1646 PR tree-optimization/70840
1647 * match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
1648 Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
1649 Mark x * pow(x,c) -> pow(x,c+1) commutative.
1650 Add powi(x,y) * powi(z,y) -> powi(x*z,y).
1651
1652 2015-04-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1653
1654 * config/aarch64/aarch64.h (WORD_REGISTER_OPERATIONS): Define to 0
1655 and explain why in a comment.
1656
1657 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
1658
1659 * config/arc/arc.md (cpu_facility): Add fpx variant.
1660 (subdf3): Prohibit use reverse sub when assist operations option
1661 is enabled.
1662 * config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
1663 instructions only when FPX is enabled.
1664 * testsuite/gcc.target/arc/trsub.c: New test.
1665
1666 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
1667
1668 * config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
1669 mult_operator when calculating "type" attribute.
1670 (*fop_<mode>_1_i387): Ditto.
1671 (*fop_xf_1_i387): Ditto.
1672 (x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
1673 Use std::swap to swap operands. Use RTL expressions to generate
1674 converted pattern.
1675
1676 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
1677 Joern Rennecke <joern.rennecke@embecosm.com>
1678
1679 * config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
1680 declaration.
1681 (emit_pic_move): Remove.
1682 (arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
1683 * config/arc/arc.c (emit_pic_move): Removed.
1684 (TARGET_HAVE_TLS): Define.
1685 (arc_conditional_register_usage): Test for arc_tp_regno.
1686 (arc_print_operand, arc_print_operand_address): Handle TLS
1687 unspecs.
1688 (arc_needs_pcl_p): New function.
1689 (arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
1690 (arc_legitimate_pic_addr_p): Handle TLS unspecs.
1691 (arc_raw_symbolic_reference_mentioned_p): Likewise.
1692 (arc_get_tp, arc_emit_call_tls_get_addr): New function.
1693 (arc_legitimize_tls_address): Likewise.
1694 (DTPOFF_ZERO_SYM): Define.
1695 (arc_legitimize_pic_address): Make it static, handle TLS cases.
1696 (arc_output_pic_addr_const): Print TLS unspecs.
1697 (prepare_pic_move): New function, replaces emit_pic_move.
1698 (arc_legitimate_constant_p): Handle TLS unspecs.
1699 (arc_legitimate_address_p): Likewise.
1700 (arc_rewrite_small_data_p): Use assert for TLS constants.
1701 (prepare_move_operands): Use prepare_pic_move.
1702 (arc_legitimize_address): Legitimize tls addresses.
1703 (arc_epilogue_uses): Check for arc_tp_regno.
1704 (arc_eh_uses, insn_is_tls_gd_dispatch): New function.
1705 * config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
1706 Define.
1707 [DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
1708 Likewise.
1709 [DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
1710 %(arc_tls_extra_start_spec).
1711 (TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
1712 (REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
1713 (EH_USES): Define.
1714 (INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
1715 * config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
1716 (UNSPEC_TLS_OFF): Add.
1717 (R10_REG): Define.
1718 (tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
1719 (get_thread_pointersi): New patterns.
1720 * config/arc/arc.opt (mtp-regno): New option.
1721 * config/arc/predicates.md (move_src_operand): Handle TLS symbols.
1722 (move_dest_operand): Likewise.
1723 * configure: Regenerate.
1724 * configure.ac: Add arc*-*-* case to test for tls.
1725 * doc/invoke.texi (ARC options): Document mtp-regno.
1726
1727 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
1728
1729 * config/arc/arc.c (arc_vector_mode_supported_p): Add support for
1730 the new ARC HS SIMD instructions.
1731 (arc_preferred_simd_mode): New function.
1732 (arc_autovectorize_vector_sizes): Likewise.
1733 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
1734 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
1735 (arc_init_reg_tables): Accept new ARC HS SIMD modes.
1736 (arc_init_builtins): Add new SIMD builtin types.
1737 (arc_split_move): Handle 64 bit vector moves.
1738 * config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
1739 (TARGET_PLUS_QMACW): Define.
1740 * config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
1741 (DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
1742 (VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
1743 (VSUBADD4H): New builtins.
1744 * config/arc/simdext.md: Add new ARC HS SIMD instructions.
1745 * testsuite/gcc.target/arc/builtin_simdarc.c: New file.
1746
1747 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
1748 Matthias Klose <doko@debian.org>
1749
1750 * doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.
1751
1752 2016-04-28 Richard Biener <rguenther@suse.de>
1753
1754 PR middle-end/70777
1755 * fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
1756 canonicalization.
1757
1758 2016-04-28 Oleg Endo <olegendo@gcc.gnu.org>
1759
1760 * common/config/sh/sh-common.c: Remove SH5 support.
1761 * config/sh/constraints.md: Likewise.
1762 * config/sh/config/sh/elf.h: Likewise.
1763 * config/sh/linux.h: Likewise.
1764 * config/sh/netbsd-elf.h: Likewise.
1765 * config/sh/predicates.md: Likewise.
1766 * config/sh/sh-c.c: Likewise.
1767 * config/sh/sh-protos.h: Likewise.
1768 * config/sh/sh.c: Likewise.
1769 * config/sh/sh.h: Likewise.
1770 * config/sh/sh.md: Likewise.
1771 * config/sh/sh.opt: Likewise.
1772 * config/sh/sync.md: Likewise.
1773 * config/sh/sh64.h: Delete.
1774 * config/sh/shmedia.h: Likewise.
1775 * config/sh/shmedia.md: Likewise.
1776 * config/sh/sshmedia.h: Likewise.
1777 * config/sh/t-netbsd-sh5-64: Likewise.
1778 * config/sh/t-sh64: Likewise.
1779 * config/sh/ushmedia.h: Likewise.
1780
1781 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
1782
1783 * config/i386/i386.md (sign_extend to memory peephole2s): Use
1784 general_reg_operand instead of register_operand predicate.
1785
1786 2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1787
1788 * params.def (MIN_PARTITION_SIZE): Set default value to 10000.
1789
1790 2016-04-27 Marc Glisse <marc.glisse@inria.fr>
1791
1792 * match.pd (A - B > A, A + B < A): New transformations.
1793
1794 2016-04-27 Patrick Palka <ppalka@gcc.gnu.org>
1795
1796 * genattrtab.c (write_test_expr): New parameter EMIT_PARENS
1797 which defaults to true. Emit an outer pair of parentheses only if
1798 EMIT_PARENS. When continuing a chain of && or || (or & or |),
1799 don't emit parentheses for the right-hand operand.
1800
1801 2016-04-27 Jeff Law <law@redhat.com>
1802
1803 * tree-ssa-dom.c (record_temporary_equivalences): Fix typo in comment.
1804
1805 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1806
1807 * config/rs6000/altivec.md (altivec_lvx_<mode>): Remove.
1808 (altivec_lvx_<mode>_internal): Document.
1809 (altivec_lvx_<mode>_2op): New define_insn.
1810 (altivec_lvx_<mode>_1op): Likewise.
1811 (altivec_lvx_<mode>_2op_si): Likewise.
1812 (altivec_lvx_<mode>_1op_si): Likewise.
1813 (altivec_stvx_<mode>): Remove.
1814 (altivec_stvx_<mode>_internal): Document.
1815 (altivec_stvx_<mode>_2op): New define_insn.
1816 (altivec_stvx_<mode>_1op): Likewise.
1817 (altivec_stvx_<mode>_2op_si): Likewise.
1818 (altivec_stvx_<mode>_1op_si): Likewise.
1819 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1820 Expand vec_ld and vec_st during parsing.
1821 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Commentary
1822 changes.
1823 (altivec_expand_stvx_be): Likewise.
1824 (altivec_expand_lv_builtin): Expand lvx built-ins to expose the
1825 address-masking behavior in RTL.
1826 (altivec_expand_stv_builtin): Expand stvx built-ins to expose the
1827 address-masking behavior in RTL.
1828 (altivec_expand_builtin): Change builtin code arguments for calls
1829 to altivec_expand_stv_builtin and altivec_expand_lv_builtin.
1830 (insn_is_swappable_p): Avoid incorrect swap optimization in the
1831 presence of lvx/stvx patterns.
1832 (alignment_with_canonical_addr): New function.
1833 (alignment_mask): Likewise.
1834 (find_alignment_op): Likewise.
1835 (recombine_lvx_pattern): Likewise.
1836 (recombine_stvx_pattern): Likewise.
1837 (recombine_lvx_stvx_patterns): Likewise.
1838 (rs6000_analyze_swaps): Perform a pre-pass to recognize lvx and
1839 stvx patterns from expand.
1840 * config/rs6000/vector.md (vector_altivec_load_<mode>): Use new
1841 expansions.
1842 (vector_altivec_store_<mode>): Likewise.
1843
1844 2016-04-26 Evandro Menezes <e.menezes@samsung.com>
1845
1846 * config/aarch64/aarch64.md
1847 (*movhf_aarch64): Add "movi %0, #0" to zero up register and
1848 remove the "fp" attributes.
1849 (*movsf_aarch64): Add "movi %0, #0" to zero up register and
1850 add the "simd" attributes.
1851 (*movdf_aarch64): Likewise.
1852 (*movtf_aarch64): Remove the "fp" attributes.
1853 * testsuite/gcc.target/aarch64/fmovf-zero-reg.c: Update accordingly.
1854 * testsuite/gcc.target/aarch64/fmovd-zero-reg.c: Likewise.
1855
1856 2016-04-27 David Malcolm <dmalcolm@redhat.com>
1857
1858 * emit-rtl.c (maybe_set_first_label_num): Strengthen param from
1859 rtx to rtx_code_label *.
1860 * rtl.h (maybe_set_first_label_num): Likewise.
1861
1862 2016-04-27 David Malcolm <dmalcolm@redhat.com>
1863
1864 * df-core.c (df_add_problem): Make the problem param be const.
1865 (df_remove_problem): Make local "problem" be const.
1866 * df-problems.c (problem_RD): Make const.
1867 (problem_LR): Likewise.
1868 (problem_LIVE): Likewise.
1869 (problem_MIR): Likewise.
1870 (problem_CHAIN): Likewise.
1871 (problem_WORD_LR): Likewise.
1872 (problem_NOTE): Likewise.
1873 (problem_MD): Likewise.
1874 * df-scan.c (problem_SCAN): Likewise.
1875 * df.h (struct df_problem): Make field "dependent_problem" be
1876 const.
1877 (struct dataflow): Likewise for field "problem".
1878 (df_add_problem): Make param const.
1879
1880 2016-04-27 Uros Bizjak <ubizjak@gmail.com>
1881
1882 * config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
1883 inter-unit moves to/from vector registers are enabled. Do not disable
1884 for TARGET_MMX.
1885
1886 2016-04-27 David Malcolm <dmalcolm@redhat.com>
1887
1888 * df.h (DF_SCAN, DF_LR, DF_LIVE, DF_RD, DF_CHAIN, DF_WORD_LR,
1889 DF_NOTE, DF_MD, DF_MIR, DF_LAST_PROBLEM_PLUS1): Convert from
1890 #define to...
1891 (enum df_problem_id): ...this new enum.
1892 (struct df_problem): Convert field "id" from "int" to
1893 enum df_problem_id.
1894
1895 2016-04-27 David Malcolm <dmalcolm@redhat.com>
1896
1897 * rtl.def: Update comment for "things in the instruction chain" to
1898 reflect the removal of the leading "i" field for INSN_UID in
1899 r210360. Fix bogus apostrophe.
1900
1901 2016-04-27 Uros Bizjak <ubizjak@gmail.com>
1902
1903 * config/i386/i386.md
1904 (lea arith with mem operand + setcc peephole2): Set operator mode.
1905
1906 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
1907
1908 PR target/70155
1909 * config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ...
1910 (dimode_scalar_to_vector_candidate_p): This.
1911 (timode_scalar_to_vector_candidate_p): New function.
1912 (scalar_to_vector_candidate_p): Likewise.
1913 (timode_check_non_convertible_regs): Likewise.
1914 (timode_remove_non_convertible_regs): Likewise.
1915 (remove_non_convertible_regs): Likewise.
1916 (remove_non_convertible_regs): Renamed to ...
1917 (dimode_remove_non_convertible_regs): This.
1918 (scalar_chain::~scalar_chain): Make it virtual.
1919 (scalar_chain::compute_convert_gain): Make it pure virtual.
1920 (scalar_chain::mark_dual_mode_def): Likewise.
1921 (scalar_chain::convert_insn): Likewise.
1922 (scalar_chain::convert_registers): Likewise.
1923 (scalar_chain::add_to_queue): Make it protected.
1924 (scalar_chain::emit_conversion_insns): Likewise.
1925 (scalar_chain::replace_with_subreg): Likewise.
1926 (scalar_chain::replace_with_subreg_in_insn): Likewise.
1927 (scalar_chain::convert_op): Likewise.
1928 (scalar_chain::convert_reg): Likewise.
1929 (scalar_chain::make_vector_copies): Likewise.
1930 (scalar_chain::convert_registers): New pure virtual function.
1931 (class dimode_scalar_chain): New class.
1932 (class timode_scalar_chain): Likewise.
1933 (scalar_chain::mark_dual_mode_def): Renamed to ...
1934 (dimode_scalar_chain::mark_dual_mode_def): This.
1935 (timode_scalar_chain::mark_dual_mode_def): New function.
1936 (timode_scalar_chain::convert_insn): Likewise.
1937 (dimode_scalar_chain::convert_registers): Likewise.
1938 (scalar_chain::compute_convert_gain): Renamed to ...
1939 (dimode_scalar_chain::compute_convert_gain): This.
1940 (scalar_chain::replace_with_subreg): Renamed to ...
1941 (dimode_scalar_chain::replace_with_subreg): This.
1942 (scalar_chain::replace_with_subreg_in_insn): Renamed to ...
1943 (dimode_scalar_chain::replace_with_subreg_in_insn): This.
1944 (scalar_chain::make_vector_copies): Renamed to ...
1945 (dimode_scalar_chain::make_vector_copies): This.
1946 (scalar_chain::convert_reg): Renamed to ...
1947 (dimode_scalar_chain::convert_reg ): This.
1948 (scalar_chain::convert_op): Renamed to ...
1949 (dimode_scalar_chain::convert_op): This.
1950 (scalar_chain::convert_insn): Renamed to ...
1951 (dimode_scalar_chain::convert_insn): This.
1952 (scalar_chain::convert): Call convert_registers.
1953 (convert_scalars_to_vector): Change to scalar_chain pointer to
1954 use timode_scalar_chain in 64-bit mode and dimode_scalar_chain
1955 in 32-bit mode. Delete scalar_chain pointer. Call
1956 free_dominance_info in 64-bit mode.
1957 (pass_stv::gate): Remove TARGET_64BIT check.
1958 (ix86_option_override): Put the 64-bit STV pass before the CSE
1959 pass.
1960
1961 2016-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
1962
1963 * dwarf2out.h (struct dw_loc_descr_node): Remove the
1964 dw_loc_frame_offset field.
1965 * dwarf2out.c (new_loc_descr): Likewise.
1966 (resolve_args_picking_1): Turn the VISITED hash set into a
1967 FRAME_OFFSET hash map. Use it to associate a frame offset to
1968 visited nodes. Remove uses of the CHECKING_P macro.
1969 (resolve_args_picking): Update call to resolve_args_picking_1.
1970
1971 2016-04-27 Martin Liska <mliska@suse.cz>
1972
1973 * tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
1974 (free_loop_data): Release vuses of groups.
1975
1976 2016-04-27 Bin Cheng <bin.cheng@arm.com>
1977
1978 * tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use
1979 instead of redundant use_id and boolean have_use_for.
1980 (struct iv_use): Change sub_id into group_id. Remove field next.
1981 Move fields: related_cands, n_map_members, cost_map and selected
1982 to ...
1983 (struct iv_group): ... here. New structure.
1984 (struct iv_common_cand): Use structure declaration directly.
1985 (struct ivopts_data, iv_ca, iv_ca_delta): Rename fields.
1986 (MAX_CONSIDERED_USES): Rename macro to ...
1987 (MAX_CONSIDERED_GROUPS): ... here.
1988 (n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete.
1989 (dump_iv, dump_use, dump_cand): Refactor format of dump information.
1990 (dump_uses): Rename to ...
1991 (dump_groups): ... here. Update all uses.
1992 (tree_ssa_iv_optimize_init, alloc_iv): Update all uses.
1993 (find_induction_variables): Refactor format of dump information.
1994 (record_sub_use): Delete.
1995 (record_use): Update all uses.
1996 (record_group): New function.
1997 (record_group_use, find_interesting_uses_op): Call above functions.
1998 Update all uses.
1999 (find_interesting_uses_cond): Ditto.
2000 (group_compare_offset): New function.
2001 (split_all_small_groups): Rename to ...
2002 (split_small_address_groups_p): ... here. Update all uses.
2003 (split_address_groups): Update all uses.
2004 (find_interesting_uses): Refactor format of dump information.
2005 (add_candidate_1): Update all uses. Remove redundant check on iv,
2006 base and step.
2007 (add_candidate, record_common_cand): Remove redundant assert.
2008 (add_iv_candidate_for_biv): Update use.
2009 (add_iv_candidate_derived_from_uses): Update all uses.
2010 (add_iv_candidate_for_groups, record_important_candidates): Ditto.
2011 (alloc_use_cost_map): Ditto.
2012 (set_use_iv_cost, get_use_iv_cost): Rename to ...
2013 (set_group_iv_cost, get_group_iv_cost): ... here. Update all uses.
2014 (determine_use_iv_cost_generic): Ditto.
2015 (determine_group_iv_cost_generic): Ditto.
2016 (determine_use_iv_cost_address): Ditto.
2017 (determine_group_iv_cost_address): Ditto.
2018 (determine_use_iv_cost_condition): Ditto.
2019 (determine_group_iv_cost_cond): Ditto.
2020 (determine_use_iv_cost): Ditto.
2021 (determine_group_iv_cost): Ditto.
2022 (set_autoinc_for_original_candidates): Update all uses.
2023 (find_iv_candidates): Update all uses. Refactor dump information.
2024 (determine_use_iv_costs): Ditto.
2025 (determine_iv_costs): Ditto.
2026 (iv_ca_cand_for_use): Rename to ...
2027 (iv_ca_cand_for_group): ... here. Update all uses.
2028 (iv_ca_add_use, iv_ca_add_group): Ditto.
2029 (iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses.
2030 (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto.
2031 (iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto.
2032 (iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto.
2033 (try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto.
2034 (create_new_iv, adjust_iv_update_pos): Ditto.
2035 (rewrite_use_address): Delete.
2036 (rewrite_use_address_1): Rename to ...
2037 (rewrite_use_address): ... here.
2038 (rewrite_use_compare): Update all uses.
2039 (rewrite_use): Delete.
2040 (rewrite_uses): Rename to ...
2041 (rewrite_groups): ... here. Update all uses.
2042 (remove_unused_ivs, free_loop_data): Update all uses.
2043 (tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto.
2044
2045 2016-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2046
2047 * rtlanal.c (nonzero_bits1): Convert preprocessor check
2048 for WORD_REGISTER_OPERATIONS to runtime check.
2049
2050 2016-04-27 Richard Biener <rguenther@suse.de>
2051
2052 PR ipa/70760
2053 * tree-ssa-structalias.c (find_func_aliases_for_call): Use
2054 aggregate_value_p to determine if a function result is
2055 returned by reference.
2056 (ipa_pta_execute): Functions having their address taken are
2057 not automatically nonlocal.
2058
2059 2016-04-27 Jakub Jelinek <jakub@redhat.com>
2060
2061 PR sanitizer/70683
2062 * tree-core.h (enum operand_equal_flag): Add OEP_NO_HASH_CHECK.
2063 * fold-const.c (operand_equal_p): If flag_checking and
2064 OEP_NO_HASH_CHECK is not set in flag, recurse with OEP_NO_HASH_CHECK
2065 and if it returns non-zero, assert iterative_hash_expr on both
2066 args is the same.
2067
2068 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2069
2070 * doc/invoke.texi (-frename-registers): Also enabled at -Os.
2071
2072 2016-04-27 Nick Clifton <nickc@redhat.com>
2073
2074 PR middle-end/49889
2075 * varasm.c (merge_weak): Generate an error if an attempt is made
2076 to convert a non-weak static function into a weak, public function.
2077
2078 2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2079
2080 * params.def (MAX_PARTITION_SIZE): New param.
2081 * doc/invoke.texi: Document lto-max-partition.
2082
2083 2016-04-27 Richard Biener <rguenther@suse.de>
2084
2085 PR ipa/70785
2086 * tree-ssa-structalias.c (refered_from_nonlocal_fn): New
2087 function cummulating used_from_other_partition, externally_visible
2088 and force_output from aliases.
2089 (refered_from_nonlocal_var): Likewise.
2090 (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
2091 node flags properly.
2092
2093 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
2094
2095 * doc/invoke.texi (Warning Options): Add -Wmemset-elt-size.
2096 (-Wmemset-elt-size): New item.
2097
2098 2016-04-27 Eric Botcazou <ebotcazou@adacore.com>
2099
2100 PR ada/70759
2101 * stor-layout.h (internal_reference_types): Delete.
2102 * stor-layout.c (reference_types_internal): Likewise.
2103 (internal_reference_types): Likewise.
2104 (layout_type) <REFERENCE_TYPE>: Adjust.
2105
2106 2016-04-27 Jakub Jelinek <jakub@redhat.com>
2107
2108 PR sanitizer/70683
2109 * tree.h (inchash::add_expr): Add FLAGS argument.
2110 * tree.c (inchash::add_expr): Likewise. If not OEP_ADDRESS_OF,
2111 use STRIP_NOPS first. For INTEGER_CST assert not OEP_ADDRESS_OF.
2112 For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same.
2113 Formatting fix. Adjust recursive calls. For tcc_comparison,
2114 if swap_tree_comparison (code) is smaller than code, hash that
2115 and arguments in the other order. Hash CONVERT_EXPR the same
2116 as NOP_EXPR. For OEP_ADDRESS_OF hash MEM_REF with 0 offset
2117 of ADDR_EXPR of decl as the decl itself. Add or remove
2118 OEP_ADDRESS_OF from recursive flags as needed. For
2119 FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two
2120 operands commutatively and only the third one normally.
2121 For internal CALL_EXPR hash in CALL_EXPR_IFN.
2122
2123 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
2124
2125 * config/rtems.h (LIB_SPEC): Add -latomic.
2126
2127 2016-04-27 Joel Sherrill <joel@rtems.org>
2128
2129 * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
2130 xilink.ld and flags not relevant to RTEMS.
2131
2132 2016-04-26 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
2133
2134 * toplev.c (backend_init_target): Avoid calling init_reload when using
2135 LRA.
2136
2137 2016-04-26 Jakub Jelinek <jakub@redhat.com>
2138
2139 * reorg.c (try_merge_delay_insns): Declare i and j inside the
2140 for loops rather than one for the whole function.
2141
2142 2016-04-26 Marc Glisse <marc.glisse@inria.fr>
2143
2144 * match.pd (X + CST CMP X): New transformation.
2145
2146 2016-04-26 Marc Glisse <marc.glisse@inria.fr>
2147
2148 * genmatch.c (write_predicate): Add ATTRIBUTE_UNUSED.
2149 * fold-const.c (fold_binary_loc): Remove 2 transformations
2150 superseded by match.pd.
2151 * match.pd (x+x -> x*2): Generalize to integers.
2152
2153 2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
2154
2155 * config/i386/i386.md (operation on memory peephole): Duplicate an
2156 existing peephole and adapt it to match lea rather than an operation
2157 that clobbers CC.
2158
2159 PR rtl-optimization/57193
2160 * opts.c (default_options_table): Add OPT_frename_registers at -O2
2161 and above.
2162 * doc/invoke.texi (-frename-registers, -O2): Update documentation.
2163
2164 2016-04-26 Bin Cheng <bin.cheng@arm.com>
2165
2166 * tree-if-conv.c (any_pred_load_store): New static variable.
2167 (if_convertible_gimple_assign_stmt_p): Remove parameter. Use
2168 any_pred_load_store instead of and_mask_load_store.
2169 (if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
2170 (if_convertible_loop_p, insert_gimplified_predicates): Ditto.
2171 (combine_blocks, tree_if_conversion): Ditto.
2172
2173 2016-04-26 Bin Cheng <bin.cheng@arm.com>
2174
2175 PR tree-optimization/70771
2176 PR tree-optimization/70775
2177 * tree-if-conv.c (if_convertible_phi_p): Remove check on special
2178 virtual PHI nodes. Delete parameter.
2179 (if_convertible_loop_p_1): Delete argument to above function.
2180 (predicate_all_scalar_phis): Delete code handling single-argument
2181 PHIs.
2182 (tree_if_conversion): Mark and update virtual SSA.
2183
2184 2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2185
2186 PR target/61821
2187 * config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
2188 (x86_elf_aligned_common): Rename to ...
2189 (x86_elf_aligned_decl_common): ... this.
2190 Add decl arg. Switch to .lbss for largecomm object. Use
2191 LARGECOMM_SECTION_ASM_OP.
2192 * config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
2193 renaming.
2194 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
2195 (ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
2196 Pass new decl arg.
2197 * config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
2198 [!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
2199
2200 2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2201
2202 PR target/59407
2203 * config/i386/i386.c (SECTION_LARGE): Define.
2204 (x86_64_elf_select_section): Set it for large data/bss sections.
2205 Only clear SECTION_WRITE for .lrodata.
2206 (x86_64_elf_section_type_flags): Set SECTION_LARGE for large
2207 data/bss sections.
2208 * config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
2209 * varasm.c (default_elf_asm_named_section): Grow flagchars.
2210 [MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
2211 SECTION_MACH_DEP.
2212 * doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
2213 * doc/tm.texi: Regenerate.
2214
2215 2016-04-26 Jakub Jelinek <jakub@redhat.com>
2216
2217 PR bootstrap/70704
2218 * configure.ac (--enable-checking): Document extra flag, for
2219 non-release builds default to --enable-checking=yes,extra.
2220 If misc checking and extra checking, define CHECKING_P to 2 instead
2221 of 1.
2222 * common.opt (fchecking=): Add.
2223 * doc/invoke.texi (-fchecking=): Document.
2224 * doc/install.texi: Document --enable-checking changes.
2225 * configure: Regenerated.
2226 * config.in: Regenerated.
2227
2228 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
2229
2230 * config/i386/i386.md (*movxi_internal_avx512f): Use insn type
2231 attribute instead of which_alternative.
2232 * config/i386/sse.md (*mov<mode>_internal): Ditto.
2233 Use EXT_REX_SSE_REG_P where appropriate.
2234
2235 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
2236
2237 * config/i386/predicates.md (const0_operand): Do not match
2238 const_wide_int code.
2239 (const1_operand): Ditto.
2240
2241 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
2242
2243 * config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
2244 for SSE constm1 operands and TARGET_AVX512VL.
2245 (*movti_internal): Ditto.
2246 (*mov<mode>_or): Use constm1_operand predicate.
2247 * config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
2248 for SSE vector_all_ones operands and TARGET_AVX512VL.
2249 * config/i386/predicates.md (constm1_operand): New predicate.
2250 * config/i386/i386.c (standard_sse_constant_opcode): Simplify
2251 emission of constant -1 load.
2252
2253 2016-04-25 Jason Merrill <jason@redhat.com>
2254
2255 * gdbinit.in: Skip is-a.h.
2256
2257 * attribs.c (register_scoped_attributes): Fix logic.
2258 * attribs.h: Declare register_scoped_attributes.
2259
2260 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2261
2262 * config/rs6000/rs6000-builtin.def: Correct pasto error for
2263 stxvd2x and stxvw4x built-in functions.
2264
2265 2016-04-25 DJ Delorie <dj@redhat.com>
2266
2267 * config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
2268 (ashrhi3): Likewise.
2269 (lshrhi3): Likewise.
2270
2271 2016-04-25 Richard Biener <rguenther@suse.de>
2272
2273 PR tree-optimization/70780
2274 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block
2275 wasn't visited yet.
2276 (compute_antic): Mark blocks with abnormal preds as visited as
2277 they have a final empty antic-in solution already.
2278
2279 2016-04-25 Michael Collison <michael.collison@linaro.org>
2280
2281 * ChangeLog(2016-04-25): Fix ChangeLog formatting.
2282
2283 2016-04-25 Michael Collison <michael.collison@linaro.org>
2284
2285 * config/arm/neon.md (widen_<us>sum<mode>): New patterns where
2286 mode is VQI to improve mixed mode vectorization.
2287 * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
2288 define_insn to match low half of signed vaddw.
2289 * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
2290 define_insn to match high half of signed vaddw.
2291 * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
2292 define_insn to match low half of unsigned vaddw.
2293 * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
2294 define_insn to match high half of unsigned vaddw.
2295 * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
2296 (arm_simd_check_vect_par_cnst_half_p): Likewise.
2297 * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
2298 for new function.
2299 (arm_simd_check_vect_par_cnst_half_p): Likewise.
2300 * config/arm/predicates.md (vect_par_constant_high): Support
2301 big endian and simplify by calling
2302 arm_simd_check_vect_par_cnst_half
2303 (vect_par_constant_low): Likewise.
2304
2305 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
2306
2307 * config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
2308 predicate for operand 2.
2309
2310 2016-04-24 Uros Bizjak <ubizjak@gmail.com>
2311 H.J. Lu <hongjiu.lu@intel.com>
2312
2313 * config/i386/i386-protos.h (standard_sse_constant_p): Add
2314 machine_mode argument.
2315 * config/i386/i386.c (standard_sse_constant_p): Return 2 for
2316 constm1_rtx operands. For VOIDmode constants, get mode from
2317 pred_mode. Check mode size if the mode is supported by ABI.
2318 (standard_sse_constant_opcode): Do not use standard_constant_p.
2319 Strictly check ABI support for all-ones operands.
2320 (ix86_legitimate_constant_p): Handle TImode, OImode and XImode
2321 immediates. Update calls to standard_sse_constant_p.
2322 (ix86_expand_vector_move): Update calls to standard_sse_constant_p.
2323 (ix86_rtx_costs): Ditto.
2324 * config/i386/i386.md (*movxi_internal_avx512f): Use
2325 nonimmediate_or_sse_const_operand instead of vector_move_operand.
2326 Use (v,BC) alternative instead of (v,C). Use register_operand
2327 checks instead of MEM_P.
2328 (*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
2329 of vector_move_operand. Add (v,BC) alternative and corresponding avx2
2330 isa attribute. Use register_operand checks instead of MEM_P.
2331 (*movti_internal): Use nonimmediate_or_sse_const_operand for
2332 TARGET_SSE. Improve TARGET_SSE insn constraint. Add (v,BC)
2333 alternative and corresponding sse2 isa attribute.
2334 (*movtf_internal, *movdf_internal, *movsf_interal): Update calls
2335 to standard_sse_constant_p.
2336 (FP constant splitters): Ditto.
2337 * config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
2338 (C): Ditto.
2339 * config/i386/predicates.md (constm1_operand): Remove.
2340 (nonimmediate_or_sse_const_operand): Rewrite using RTX.
2341 * config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
2342 vector_all_ones_operand instead of constm1_operand.
2343
2344 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2345
2346 * print-rtl.c (print_rtx_insn_vec): New function.
2347 * print-rtl.h: New prototype.
2348 * store-motion.c (struct st_expr): Make avail_stores a vector.
2349 (st_expr_entry): Adjust.
2350 (free_st_expr_entry): Likewise.
2351 (print_store_motion_mems): Likewise.
2352 (find_moveable_store): Likewise.
2353 (compute_store_table): Likewise.
2354 (delete_store): Likewise.
2355 (build_store_vectors): Likewise.
2356
2357 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2358
2359 * reorg.c (try_merge_delay_insns): Make merged_insns a vector.
2360
2361 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2362
2363 * vec.h (vec_safe_contains): New function.
2364 (vec::contains): Likewise.
2365 (vec::begin): Likewise.
2366 (vec::end): Likewise.
2367
2368 2016-04-23 Jakub Jelinek <jakub@redhat.com>
2369
2370 PR sanitizer/70712
2371 * cfgexpand.c (expand_stack_vars): Fix typo.
2372
2373 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
2374
2375 * system.h (list, map, set, vector): Include conditionally.
2376 * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
2377 * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
2378 * ipa-icf.c (INCLUDE_LIST): Define.
2379 * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
2380 * config/sh/sh.c (INCLUDE_VECTOR): Define.
2381 * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
2382 (INCLUDE_LIST, INCLUDE_VECTOR): Define.
2383 * cp/logic.cc (INCLUDE_LIST): Define.
2384 * fortran/trans-common.c (INCLUDE_MAP): Define.
2385
2386 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
2387
2388 * auto-profile.c: Remove <string.h> include.
2389 * ipa-icf-gimple.c: Remove <list> include.
2390 * diagnostic.c: Remove <new> include.
2391 * genmatch.c: Likewise.
2392 * pretty-print.c: Likewise.
2393 * toplev.c: Likewise
2394 * c/c-objc-common.c: Likewise.
2395 * cp/error.c: Likewise.
2396 * fortran/error.c: Likewise.
2397
2398 2016-04-22 Richard Biener <rguenther@suse.de>
2399
2400 * lto-streamer-in.c (input_ssa_names): Do not allocate
2401 GIMPLE_NOP for all SSA names.
2402 * lto-streamer-out.c (output_ssa_names): Do not output
2403 SSA names that should have been released.
2404
2405 2016-04-22 Richard Biener <rguenther@suse.de>
2406
2407 PR tree-optimization/70740
2408 * tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
2409 VDEF.
2410
2411 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2412
2413 PR target/70750
2414 * config/i386/predicates.md (call_insn_operand): Replace
2415 sibcall_memory_operand with memory_operand.
2416
2417 2016-04-21 Patrick Palka <ppalka@gcc.gnu.org>
2418
2419 * tree-vrp.c (register_edge_assert_for_2): Remove redundant
2420 has_single_use() tests.
2421 (register_edge_assert_for_1): Likewise.
2422 (find_assert_locations_1): Check the liveness bitmap instead of
2423 checking has_single_use().
2424
2425 2016-04-21 Kirill Yukhin <kirill.yukhin@intel.com>
2426
2427 PR target/70728
2428 * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
2429 Extract AVX-512BW constraint from AVX.
2430
2431 2016-04-21 Richard Biener <rguenther@suse.de>
2432
2433 PR tree-optimization/70725
2434 * tree-if-conv.c (if_convertible_phi_p): Adjust guard
2435 for phi_convertible_by_degenerating_args.
2436 (predicate_all_scalar_phis): Handle single-argument PHIs.
2437
2438 2016-04-21 Richard Biener <rguenther@suse.de>
2439
2440 PR middle-end/70747
2441 * fold-const.c (fold_comparison): Return properly typed
2442 constant boolean.
2443
2444 2016-04-21 Bin Cheng <bin.cheng@arm.com>
2445
2446 PR tree-optimization/70715
2447 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
2448 after expanding BASE using expand_simple_operations.
2449
2450 2016-04-21 Marc Glisse <marc.glisse@inria.fr>
2451
2452 * match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
2453 New transformations.
2454
2455 2016-04-21 Marc Glisse <marc.glisse@inria.fr>
2456
2457 * match.pd (min(int_max, x), max(int_min, x)): New transformations.
2458
2459 2016-04-20 Jan Hubicka <jh@suse.cz>
2460
2461 * ipa-inline.c (can_inline_edge_p): Pass caller info to
2462 ultiimate_alias_target.
2463 (update_callee_keys): Likewise.
2464 (lookup_recursive_calls): Likewise.
2465 (speculation_useful_p): Likewise.
2466
2467 2016-04-20 Jan Hubicka <jh@suse.cz>
2468
2469 PR ipa/70018
2470 * cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
2471 (set_nothrow_flag_1): ... this; handle interposition correctly;
2472 recurse on aliases and thunks.
2473 (cgraph_node::set_nothrow_flag): New.
2474 * ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
2475 functions compiled with non-call exceptions that binds to current
2476 def.
2477 (propagate_nothrow): Be safe WRT interposition.
2478 * cgraph.h (set_nothrow_flag): Update prototype.
2479
2480 2016-04-18 Jan Hubicka <jh@suse.cz>
2481
2482 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
2483 max_loop_iterations_int.
2484 (tree_unswitch_outer_loop): Likewise.
2485
2486 2016-04-20 Bin Cheng <bin.cheng@arm.com>
2487
2488 PR tree-optimization/69489
2489 * tree-if-conv.c (phi_convertible_by_degenerating_args): New.
2490 (if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
2491 Revise dump message.
2492 (if_convertible_bb_p): Remove check on edge count of basic block's
2493 predecessors.
2494
2495 2016-04-20 Bin Cheng <bin.cheng@arm.com>
2496
2497 PR tree-optimization/56625
2498 PR tree-optimization/69489
2499 * tree-data-ref.h (DR_INNERMOST): New macro.
2500 * tree-if-conv.c (innermost_loop_behavior_hash): New class for
2501 hashing struct innermost_loop_behavior.
2502 (ref_DR_map): Remove.
2503 (innermost_DR_map): New map.
2504 (baseref_DR_map): Revise comment.
2505 (hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
2506 to innermost_DR_map accroding to its innermost loop behavior.
2507 (ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
2508 to its innermost loop behavior.
2509 (if_convertible_loop_p_1): Remove intialization for ref_DR_map.
2510 Add initialization for innermost_DR_map. Record memory reference
2511 in DR_BASE_ADDRESS if the reference is compound one or it doesn't
2512 have innermost loop behavior.
2513 (if_convertible_loop_p): Remove release for ref_DR_map. Release
2514 innermost_DR_map.
2515
2516 2016-04-20 Uros Bizjak <ubizjak@gmail.com>
2517
2518 * config/i386/i386.md (*lea<mode>_general_1): Rename from
2519 *lea_general_1. Use explicit SWI12 mode interator.
2520 (*lea<mode>_general_2): Rename from *lea_general_2.
2521 Use explicit SWI12 mode interator.
2522 (*lea<mode>_general_3): Rename from *lea_general_3.
2523 Use explicit SWI12 mode interator.
2524 (*lea<SWI12:mode>_general_4): Split from *lea_general_4.
2525 Use explicit SWI12 mode interator.
2526 (*lea<SWI48:mode>_general_4): Split from *lea_general_4.
2527 Use explicit SWI48 mode interator.
2528
2529 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2530
2531 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
2532 Short-cut unaligned load and store cases. Handle all integer
2533 vector modes.
2534 (ix86_expand_vector_move_misalign): Short-cut unaligned load
2535 and store cases. Call ix86_avx256_split_vector_move_misalign
2536 directly without checking mode class.
2537
2538 2016-04-20 Andrew Pinski <apinski@cavium.com>
2539 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2540
2541 PR target/64971
2542 * config/aarch64/aarch64.md (sibcall): Force call
2543 address to be DImode for ILP32.
2544 (sibcall_value): Likewise.
2545
2546 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
2547
2548 * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
2549
2550 2016-04-20 Richard Biener <rguenther@suse.de>
2551
2552 * gimple-match.h (maybe_build_generic_op): Adjust prototype.
2553 * gimple-match-head.c (maybe_build_generic_op): Pass all ops
2554 by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
2555 (maybe_push_res_to_seq): Adjust.
2556 * gimple-fold.c (maybe_build_generic_op): Likewise.
2557
2558 2016-04-20 Marek Polacek <polacek@redhat.com>
2559
2560 * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
2561 rather than true.
2562
2563 2016-04-20 Ilya Enkovich <ilya.enkovich@intel.com>
2564
2565 * config/i386/sse.md (vec_unpacks_lo_hi): Always
2566 use kmovw to support AVX512F target.
2567
2568 2016-04-20 Bin Cheng <bin.cheng@arm.com>
2569
2570 * tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
2571
2572 2016-04-20 Marek Polacek <polacek@redhat.com>
2573
2574 PR tree-optimization/70725
2575 * tree-if-conv.c (is_false_predicate): New function.
2576 (predicate_mem_writes): Use it.
2577
2578 2016-04-20 Richard Biener <rguenther@suse.de>
2579
2580 PR tree-optimization/70726
2581 * tree-vect-stmts.c (vectorizable_shift): Do not use scalar
2582 shift amounts from a pattern stmt operand.
2583
2584 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2585
2586 PR target/70674
2587 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
2588 stack_restore_from_fpr pattern when restoring r15.
2589 (s390_optimize_prologue): Strip away the memory barrier in the
2590 parallel when trying to get rid of restore insns.
2591 * config/s390/s390.md ("stack_restore_from_fpr"): New insn
2592 definition for loading the stack pointer from an FPR. Compared to
2593 the normal move insn this pattern includes a full memory barrier.
2594
2595 2016-04-19 Jakub Jelinek <jakub@redhat.com>
2596
2597 PR middle-end/70680
2598 * gimplify.c (gimplify_omp_for): Call omp_notice_variable for
2599 implicitly linear or lastprivate iterator on the outer context.
2600
2601 2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
2602
2603 * config/i386/i386.c (ix86_legitimate_combined_insn): Remove
2604 alignment check.
2605 * config/i386/i386.md (ssememalign): Removed.
2606 * config/i386/sse.md: Remove ssememalign attribute from patterns.
2607
2608 2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
2609
2610 PR target/69201
2611 * config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
2612 const short * to __builtin_ia32_loaddquhi512_mask.
2613 (_mm512_maskz_loadu_epi16): Likewise.
2614 (_mm512_mask_storeu_epi16): Pass short * to
2615 __builtin_ia32_storedquhi512_mask.
2616 (_mm512_mask_loadu_epi8): Pass const char * to
2617 __builtin_ia32_loaddquqi512_mask.
2618 (_mm512_maskz_loadu_epi8): Likewise.
2619 (_mm512_mask_storeu_epi8): Pass char * to
2620 __builtin_ia32_storedquqi512_mask.
2621 * config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
2622 const double * to __builtin_ia32_loadupd512_mask.
2623 (_mm512_mask_loadu_pd): Likewise.
2624 (_mm512_maskz_loadu_pd): Likewise.
2625 (_mm512_storeu_pd): Pass double * to
2626 __builtin_ia32_storeupd512_mask.
2627 (_mm512_mask_storeu_pd): Likewise.
2628 (_mm512_loadu_ps): Pass const float * to
2629 __builtin_ia32_loadups512_mask.
2630 (_mm512_mask_loadu_ps): Likewise.
2631 (_mm512_maskz_loadu_ps): Likewise.
2632 (_mm512_storeu_ps): Pass float * to
2633 __builtin_ia32_storeups512_mask.
2634 (_mm512_mask_storeu_ps): Likewise.
2635 (_mm512_mask_loadu_epi64): Pass const long long * to
2636 __builtin_ia32_loaddqudi512_mask.
2637 (_mm512_maskz_loadu_epi64): Likewise.
2638 (_mm512_mask_storeu_epi64): Pass long long *
2639 to __builtin_ia32_storedqudi512_mask.
2640 (_mm512_loadu_si512): Pass const int * to
2641 __builtin_ia32_loaddqusi512_mask.
2642 (_mm512_mask_loadu_epi32): Likewise.
2643 (_mm512_maskz_loadu_epi32): Likewise.
2644 (_mm512_storeu_si512): Pass int * to
2645 __builtin_ia32_storedqusi512_mask.
2646 (_mm512_mask_storeu_epi32): Likewise.
2647 * config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
2648 char * to __builtin_ia32_storedquqi256_mask.
2649 (_mm_mask_storeu_epi8): Likewise.
2650 (_mm256_mask_loadu_epi16): Pass const short * to
2651 __builtin_ia32_loaddquhi256_mask.
2652 (_mm256_maskz_loadu_epi16): Likewise.
2653 (_mm_mask_loadu_epi16): Pass const short * to
2654 __builtin_ia32_loaddquhi128_mask.
2655 (_mm_maskz_loadu_epi16): Likewise.
2656 (_mm256_mask_loadu_epi8): Pass const char * to
2657 __builtin_ia32_loaddquqi256_mask.
2658 (_mm256_maskz_loadu_epi8): Likewise.
2659 (_mm_mask_loadu_epi8): Pass const char * to
2660 __builtin_ia32_loaddquqi128_mask.
2661 (_mm_maskz_loadu_epi8): Likewise.
2662 (_mm256_mask_storeu_epi16): Pass short * to.
2663 __builtin_ia32_storedquhi256_mask.
2664 (_mm_mask_storeu_epi16): Pass short * to.
2665 __builtin_ia32_storedquhi128_mask.
2666 * config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
2667 const double * to __builtin_ia32_loadupd256_mask.
2668 (_mm256_maskz_loadu_pd): Likewise.
2669 (_mm_mask_loadu_pd): Pass onst double * to
2670 __builtin_ia32_loadupd128_mask.
2671 (_mm_maskz_loadu_pd): Likewise.
2672 (_mm256_mask_storeu_pd): Pass double * to
2673 __builtin_ia32_storeupd256_mask.
2674 (_mm_mask_storeu_pd): Pass double * to
2675 __builtin_ia32_storeupd128_mask.
2676 (_mm256_mask_loadu_ps): Pass const float * to
2677 __builtin_ia32_loadups256_mask.
2678 (_mm256_maskz_loadu_ps): Likewise.
2679 (_mm_mask_loadu_ps): Pass const float * to
2680 __builtin_ia32_loadups128_mask.
2681 (_mm_maskz_loadu_ps): Likewise.
2682 (_mm256_mask_storeu_ps): Pass float * to
2683 __builtin_ia32_storeups256_mask.
2684 (_mm_mask_storeu_ps): ass float * to
2685 __builtin_ia32_storeups128_mask.
2686 (_mm256_mask_loadu_epi64): Pass const long long * to
2687 __builtin_ia32_loaddqudi256_mask.
2688 (_mm256_maskz_loadu_epi64): Likewise.
2689 (_mm_mask_loadu_epi64): Pass const long long * to
2690 __builtin_ia32_loaddqudi128_mask.
2691 (_mm_maskz_loadu_epi64): Likewise.
2692 (_mm256_mask_storeu_epi64): Pass long long * to
2693 __builtin_ia32_storedqudi256_mask.
2694 (_mm_mask_storeu_epi64): Pass long long * to
2695 __builtin_ia32_storedqudi128_mask.
2696 (_mm256_mask_loadu_epi32): Pass const int * to
2697 __builtin_ia32_loaddqusi256_mask.
2698 (_mm256_maskz_loadu_epi32): Likewise.
2699 (_mm_mask_loadu_epi32): Pass const int * to
2700 __builtin_ia32_loaddqusi128_mask.
2701 (_mm_maskz_loadu_epi32): Likewise.
2702 (_mm256_mask_storeu_epi32): Pass int * to
2703 __builtin_ia32_storedqusi256_mask.
2704 (_mm_mask_storeu_epi32): Pass int * to
2705 __builtin_ia32_storedqusi128_mask.
2706 * config/i386/i386-builtin-types.def (PCSHORT): New.
2707 (PINT64): Likewise.
2708 (V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
2709 (V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
2710 (V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
2711 (V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
2712 (V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
2713 (V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
2714 (V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
2715 (V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
2716 (V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
2717 (V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
2718 (V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
2719 (V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
2720 (V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
2721 (V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
2722 (V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
2723 (V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
2724 (V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
2725 (V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
2726 (VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
2727 (VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
2728 (VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
2729 (VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
2730 (VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
2731 (VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
2732 (VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
2733 (VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
2734 (VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
2735 (VOID_FTYPE_PINT_V16SI_UHI): Likewise.
2736 (VOID_FTYPE_PINT_V8SI_UHI): Likewise.
2737 (VOID_FTYPE_PINT_V4SI_UHI): Likewise.
2738 (VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
2739 (VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
2740 (VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
2741 (VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
2742 (VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
2743 (VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
2744 (V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
2745 (V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
2746 (V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
2747 (V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
2748 (V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
2749 (V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
2750 (VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
2751 (VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
2752 (VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
2753 (VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
2754 (VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
2755 (VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
2756 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
2757 use UNSPEC_STOREU.
2758 (ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
2759 (ix86_avx256_split_vector_move_misalign): Don't use unaligned
2760 load nor store.
2761 (ix86_expand_vector_move_misalign): Likewise.
2762 (bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
2763 to scalar function prototype for unaligned load/store builtins.
2764 (ix86_expand_special_args_builtin): Updated.
2765 * config/i386/sse.md (UNSPEC_LOADU): Removed.
2766 (UNSPEC_STOREU): Likewise.
2767 (VI_ULOADSTORE_BW_AVX512VL): Likewise.
2768 (VI_ULOADSTORE_F_AVX512VL): Likewise.
2769 (ssescalarsize): Handle V4TI, V2TI and V1TI.
2770 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
2771 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
2772 (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
2773 (<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
2774 (<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
2775 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
2776 (sse2_avx_avx512f>_storedqu<mode>): Likewise.
2777 (<avx512>_storedqu<mode>_mask): Likewise.
2778 (*sse4_2_pcmpestr_unaligned): Likewise.
2779 (*sse4_2_pcmpistr_unaligned): Likewise.
2780 (*mov<mode>_internal): Renamed to ...
2781 (mov<mode>_internal): This. Remove check of AVX and IAMCU on
2782 misaligned operand. Replace vmovdqu64 with vmovdqu<ssescalarsize>.
2783 (movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
2784 (movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
2785
2786 2016-04-19 Richard Biener <rguenther@suse.de>
2787
2788 PR tree-optimization/70171
2789 * tree-ssa-phiprop.c: Include stor-layout.h.
2790 (phiprop_insert_phi): Handle the aggregate copy case.
2791 (propagate_with_phi): Likewise.
2792
2793 2016-04-19 Uros Bizjak <ubizjak@gmail.com>
2794
2795 * config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
2796 instead of simplify_gen_subreg (... , 0).
2797 (ix86_delegitimize_address): Ditto.
2798 (ix86_split_divmod): Ditto.
2799 (ix86_split_copysign_const): Ditto.
2800 (ix86_split_copysign_var): Ditto.
2801 (ix86_expand_args_builtin): Ditto.
2802 (ix86_expand_round_builtin): Ditto.
2803 (ix86_expand_special_args_builtin): Ditto.
2804 * config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
2805 (TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
2806 (udivmodqi4): Ditto.
2807 (absneg splitters): Ditto.
2808 (*jcc_bt<mode>_1): Ditto.
2809
2810 2016-04-19 Richard Biener <rguenther@suse.de>
2811
2812 PR tree-optimization/70724
2813 * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
2814 restoring out from ...
2815 (free_scc_vn): ... here.
2816 * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
2817 * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
2818 tail merging.
2819 (pass_fre::execute): Restore SSA info.
2820
2821 2016-04-19 Richard Biener <rguenther@suse.de>
2822
2823 * gimple-walk.h (struct walk_stmt_info): Add stmt member.
2824 * gimple-walk.c (walk_gimple_op): Initialize it.
2825 (walk_gimple_asm): Set wi->is_lhs before each callback invocation.
2826 * tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
2827 remapping SSA names of defs.
2828 (copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
2829 adjustment.
2830
2831 2016-04-18 Vladimir Makarov <vmakarov@redhat.com>
2832
2833 PR middle-end/70689
2834 * lra-constraints.c (equiv_substition_p): New.
2835 (process_alt_operands): Use it.
2836 (swap_operands): Swap it.
2837 (curr_insn_transform): Update it.
2838
2839 2016-04-18 Michael Matz <matz@suse.de>
2840
2841 * tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
2842 (SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
2843 * tree-core.h (tree_type_common.align): Use bit-field.
2844 (tree_type_common.spare): New.
2845 (tree_decl_common.off_align): Make smaller.
2846 (tree_decl_common.align): Use bit-field.
2847
2848 * expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
2849 * omp-low.c (install_var_field): Use SET_DECL_ALIGN.
2850 (scan_sharing_clauses): Ditto.
2851 (finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
2852 (omp_finish_file): Ditto.
2853 * stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
2854 (layout_decl): Ditto.
2855 (relayout_decl): Ditto.
2856 (finalize_record_size): Use SET_TYPE_ALIGN.
2857 (finalize_type_size): Ditto.
2858 (finish_builtin_struct): Ditto.
2859 (layout_type): Ditto.
2860 (initialize_sizetypes): Ditto.
2861 * targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
2862 * tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
2863 (lookup_field_for_decl): Use SET_DECL_ALIGN.
2864 (get_chain_field): Ditto.
2865 (get_trampoline_type): Ditto.
2866 (get_nl_goto_field): Ditto.
2867 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
2868 SET_DECL_ALIGN.
2869 (unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
2870 * gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
2871 * tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
2872 (build_qualified_type): Use SET_TYPE_ALIGN.
2873 (build_aligned_type, build_range_type_1): Ditto.
2874 (build_atomic_base): Ditto.
2875 (build_common_tree_nodes): Ditto.
2876 * cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
2877 (expand_one_stack_var_at): Ditto.
2878 * coverage.c (build_var): Use SET_DECL_ALIGN.
2879 * except.c (init_eh): Ditto.
2880 * function.c (assign_parm_setup_block): Ditto.
2881 * symtab.c (increase_alignment_1): Ditto.
2882 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
2883 * tree-vect-stmts.c (ensure_base_align): Ditto.
2884 * varasm.c (align_variable): Ditto.
2885 (assemble_variable): Ditto.
2886 (build_constant_desc): Ditto.
2887 (output_constant_def_contents): Ditto.
2888
2889 * config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
2890 * config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
2891 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
2892 * config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
2893 * config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
2894
2895 2016-04-18 H.J. Lu <hongjiu.lu@intel.com>
2896
2897 PR target/70708
2898 * config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
2899 replace %vmovsd with "%vmovq".
2900 (vec_concatv2df): Likewise.
2901
2902 2016-04-18 Uros Bizjak <ubizjak@gmail.com>
2903
2904 * config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
2905 (*vec_extractv2si_0): Ditto.
2906 * config/i386/sse.md (*vec_extractv4sf_0): Ditto.
2907 (zero_extended_scalar_load_operand splitters): Ditto.
2908 (vec_extract splitters): Ditto.
2909 (*vec_extractv4si_0_zext): Ditto.
2910 (avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
2911 and lowpart_subreg.
2912 (avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
2913 (avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
2914 (*sse4_1_extractps): Use lowpart_subreg.
2915 * config/i386/i386.md (x87 floatsplitter): Use gen_lowpart.
2916
2917 2016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2918
2919 * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
2920 gld requirements.
2921 (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
2922 Mention Solaris 11 packaging changes.
2923 Update gas and gld requirements.
2924 Remove reference to pre-Solaris 10 bug.
2925 (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
2926 systems and bugs.
2927 (Specific, sparc64-*-solaris2*): Remove reference to bootstrap
2928 with cc.
2929
2930 2016-04-17 Jan Hubicka <jh@suse.cz>
2931
2932 * tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
2933 max_loop_iterations_int.
2934
2935 2016-04-18 Richard Biener <rguenther@suse.de>
2936
2937 PR tree-optimization/43434
2938 * tree-ssa-structalias.c (struct vls_data): New.
2939 (visit_loadstore): Handle all pointer-based accesses.
2940 (compute_dependence_clique): Compute a bitmap of restrict tags
2941 assigned bases and pass it to visit_loadstore.
2942
2943 2016-04-18 Matthew Wahab <matthew.wahab@arm.com>
2944
2945 PR target/70711
2946 * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
2947 armv8.1-a and armv8.1-a+crc.
2948
2949 2016-04-18 Richard Biener <rguenther@suse.de>
2950
2951 PR tree-optimization/70701
2952 * tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
2953 references after translating through a memcpy.
2954
2955 2016-04-18 Richard Biener <rguenther@suse.de>
2956
2957 * tree-ssa-pre.c (postorder, postorder_num): Make locals ...
2958 (compute_antic): ... here. For partial antic use regular
2959 postorder and scrap iteration.
2960 (compute_partial_antic_aux): Remove unused return value.
2961 (init_pre): Do not allocate postorder.
2962 (fini_pre): Do not free postorder.
2963
2964 2016-04-18 Richard Biener <rguenther@suse.de>
2965
2966 PR middle-end/37870
2967 * expmed.c (extract_bit_field_1): Remove broken case
2968 using a wider MODE_INT mode.
2969
2970 2016-04-18 Segher Boessenkool <segher@kernel.crashing.org>
2971
2972 * has-brig.c (lendian16): Don't try to use __builtin_bswap16
2973 unless compiling with at least GCC-4.8.
2974
2975 2016-04-17 Jan Hubicka <jh@suse.cz>
2976
2977 PR bootstrap/70706
2978 * graphite.c (graphite_finalize): Update call to
2979 tree_estimate_probability.
2980 * predict.h (tree_estimate_probability): Update prototype.
2981
2982 2016-04-17 Jan Hubicka <jh@suse.cz>
2983
2984 * predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
2985 (tree_estimate_probability): Likewise.
2986 (pass_profile::execute): Update.
2987 (report_predictor_hitrates): New function.
2988 * profile.c (compute_branch_probabilities): Use it.
2989 * predict.h (report_predictor_hitrates): Declare.
2990
2991 2016-04-17 Jan Hubicka <jh@suse.cz>
2992
2993 PR ipa/70018
2994 * cgraph.h (cgraph_node::set_const_flag,
2995 cgraph_node::set_pure_flag): Update prototype to return bool;
2996 update comment.
2997 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
2998 of interposable symbol are interposable, too.
2999 (cgraph_set_const_flag_1): Rename to ...
3000 (set_const_flag_1): ... this one; change to self recursive function
3001 instead of call_for_symbol_thunks_and_aliases. Handle correctly
3002 clearnig the flag in all variants and also virtual thunks of const
3003 functions are pure; track if any change was done.
3004 (cgraph_node::set_const_flag): Update.
3005 (struct set_pure_flag_info): New struct.
3006 (cgraph_set_pure_flag_1): Rename to ...
3007 (set_pure_flag_1): ... this one; take set_pure_flag_info parameter
3008 rather than pointer encoded flags; track if any changes was done;
3009 handle correctly clearning flag and setting flag of aliases already
3010 declared const.
3011 (cgraph_node::set_pure_flag): Update.
3012 (cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
3013
3014 2016-04-17 Tom de Vries <tom@codesourcery.com>
3015
3016 PR other/70433
3017 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
3018 backslash in label.
3019
3020 2016-04-17 Tom de Vries <tom@codesourcery.com>
3021
3022 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
3023 '{}<> ' as escape-for-record.
3024
3025 2016-04-17 Tom de Vries <tom@codesourcery.com>
3026
3027 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
3028 structure.
3029
3030 2016-04-17 Tom de Vries <tom@codesourcery.com>
3031
3032 PR other/70185
3033 * tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
3034 * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
3035 * dumpfile.c (dump_files): Initialize graph_dump_initialized field.
3036 * passes.c (finish_optimization_passes): Only call
3037 finish_graph_dump_file if dfi->graph_dump_initialized.
3038 (execute_function_dump, pass_init_dump_file): Use
3039 dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
3040
3041 2016-04-17 Tom de Vries <tom@codesourcery.com>
3042
3043 PR tree-optimization/70256
3044 * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
3045 (debug_varmap): New function.
3046
3047 2016-04-17 Tom de Vries <tom@codesourcery.com>
3048
3049 PR other/70183
3050 * passes.c (pass_manager::register_pass): Propagate pflags.
3051
3052 2016-04-17 Tom de Vries <tom@codesourcery.com>
3053
3054 PR other/68875
3055 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
3056 * passes.c (pass_manager::pass_manager): Declare and init p_start in
3057 INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and
3058 check if it's equal to p_start.
3059 * passes.def: Add arguments to TERMINATE_PASS_LISTs.
3060
3061 2016-04-15 Jan Hubicka <jh@suse.cz>
3062
3063 PR ipa/70018
3064 * cgraph.c (cgraph_set_const_flag_1): Only set as pure if
3065 function does not bind to current def.
3066 * ipa-pure-const.c (worse_state): Add FROM and TO parameters;
3067 handle conservatively calls to functions that does not need to bind
3068 to current def.
3069 (check_call): Update call of worse_state.
3070 (ignore_edge_for_nothrow): Update.
3071 (ignore_edge_for_pure_const): Likewise.
3072 (propagate_pure_const): Update calls to worse_state.
3073 (skip_function_for_local_pure_const): Reformat comments.
3074
3075 2016-04-15 Jan Hubicka <jh@suse.cz>
3076
3077 PR ipa/70018
3078 * cgraph.c (cgraph_node::get_availability): Add REF parameter.
3079 (cgraph_node::function_symbol): Likewise.
3080 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
3081 * cgraph.h (symtab_node::get_availabbility): Add REF parameter.
3082 (symtab_node::ultimate_alias_target): Add REF parameter.
3083 (symtab_node::binds_to_current_def_p): Declare.
3084 (symtab_node;:ultimate_alias_target_1): Add REF parameter.
3085 (cgraph_node::function_symbol): Likewise.
3086 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
3087 (cgraph_node::get_availability): Likewise.
3088 (cgraph_edge::binds_to_current_def_p): New inline function.
3089 (varpool_node::get_availability): Add REF parameter.
3090 (varpool_node::ultimate_alias_target): Likewise.
3091 * symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
3092 (symtab_node::binds_to_current_def_p): Likewise.
3093 * varpool.c (varpool_node::get_availability): Likewise.
3094
3095 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
3096
3097 PR target/70662
3098 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
3099 Fix mode size check.
3100
3101 2016-04-15 Jakub Jelinek <jakub@redhat.com>
3102
3103 * BASE-VER: Set to 7.0.0.
3104
3105 2016-04-15 Alexander Monakov <amonakov@ispras.ru>
3106
3107 * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
3108
3109 2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3110
3111 * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
3112 architecture revisions.
3113
3114 2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
3115
3116 * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
3117 * config/i386/i386.c (ix86_using_red_zone): No longer static.
3118 * config/i386/i386.md (stack decrement to push peepholes): Guard
3119 with !x86_using_red_zone ().
3120
3121 2016-04-15 Jakub Jelinek <jakub@redhat.com>
3122
3123 PR c++/70675
3124 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
3125 to dump_generic_node.
3126 (NIY): Pass also flags to do_niy.
3127
3128 2016-04-15 Thomas Schwinge <thomas@codesourcery.com>
3129
3130 * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
3131 (simd_clone_vector_of_formal_parm_types)
3132 (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
3133 (simd_clone_mangle, simd_clone_create)
3134 (simd_clone_adjust_return_type, create_tmp_simd_array)
3135 (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
3136 (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
3137 (ipa_simd_modify_function_body, simd_clone_linear_addend)
3138 (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
3139 (pass_data_omp_simd_clone, class pass_omp_simd_clone)
3140 (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
3141 * omp-simd-clone.c: ... this new file.
3142 (simd_clone_vector_of_formal_parm_types): Make it static.
3143 * Makefile.in (OBJS): Add omp-simd-clone.o.
3144
3145 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
3146
3147 PR target/70662
3148 * config/i386/sse.md: Use proper memory operand modifiers.
3149
3150
3151 2016-04-15 Richard Biener <rguenther@suse.de>
3152 Alan Modra <amodra@gmail.com>
3153
3154 PR tree-optimization/70130
3155 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
3156 when alignment stays not the same and no not use the realign
3157 scheme then.
3158
3159 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3160
3161 PR target/70669
3162 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
3163 direct move handlers for KFmode. Change TFmode handlers test from
3164 FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
3165
3166 2016-04-14 Jakub Jelinek <jakub@redhat.com>
3167
3168 PR c++/70594
3169 * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
3170 * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
3171 (inlined_polymorphic_ctor_dtor_block_p): Use it.
3172 * tree-ssa-live.c (remove_unused_scope_block_p): When
3173 in_ctor_dtor_block, avoid discarding not just BLOCKs with
3174 BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
3175 block_ultimate_origin is FUNCTION_DECL.
3176 (remove_unused_locals): If current_function_decl is
3177 polymorphic_ctor_dtor_p, pass initial true to
3178 remove_unused_scope_block_p' is_ctor_dtor_block.
3179
3180 2016-04-14 Martin Sebor <msebor@redhat.com>
3181
3182 PR c++/69517
3183 PR c++/70019
3184 PR c++/70588
3185 * doc/extend.texi (Variable Length): Revert.
3186
3187 2016-04-14 Marek Polacek <polacek@redhat.com>
3188 Jan Hubicka <hubicka@ucw.cz>
3189
3190 PR c++/70029
3191 * tree.c (verify_type): Disable the canonical type of main variant
3192 check.
3193
3194 2016-04-14 Jason Merrill <jason@redhat.com>
3195
3196 * cfgexpand.c, expr.c: Revert previous change.
3197
3198 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3199
3200 PR middle-end/70643
3201 * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
3202 when building a mem ref for the incoming reduction variable.
3203
3204 2016-04-14 Richard Biener <rguenther@suse.de>
3205
3206 PR tree-optimization/70614
3207 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
3208 loop if the evolution dropped to chrec_dont_know.
3209 (interpret_condition_phi): Likewise.
3210
3211 2016-04-14 Richard Biener <rguenther@suse.de>
3212
3213 PR tree-optimization/70623
3214 * tree-ssa-pre.c (changed_blocks): Make global ...
3215 (compute_antic): ... local here. Move and fix worklist
3216 handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
3217 (compute_antic_aux): Add dumping for MAX assumed succs. Remove
3218 worklist handling, dump when ANTIC_IN changed.
3219 (compute_partial_antic_aux): Remove worklist handling.
3220 (init_pre): Do not compute post dominators. Add a comment about
3221 the CFG order chosen.
3222 (fini_pre): Do not free post dominators.
3223
3224 2016-04-13 Martin Sebor <msebor@redhat.com>
3225
3226 PR c++/69517
3227 PR c++/70019
3228 PR c++/70588
3229 * doc/extend.texi (Variable Length): Document C++ specifics.
3230
3231 2016-04-13 Jakub Jelinek <jakub@redhat.com>
3232
3233 PR c++/70641
3234 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
3235 on all recursive call stmts. Return TODO_cleanup_cfg if any dead
3236 eh edges have been purged.
3237
3238 PR c++/70594
3239 * tree-sra.c (create_access_replacement,
3240 get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
3241 gets fancy name.
3242 * tree-pretty-print.c (dump_fancy_name): New function.
3243 (dump_decl_name, dump_generic_node): Use it.
3244
3245 2016-04-13 Jason Merrill <jason@redhat.com>
3246
3247 * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
3248 * expr.c (expand_expr_real_1): Likewise.
3249
3250 2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
3251
3252 * config/i386/i386.md (kunpckhi): Swap operands.
3253 (kunpcksi): Likewise.
3254 (kunpckdi): Likewise.
3255 * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
3256 (vec_pack_trunc_<mode>): Likewise.
3257
3258 2016-04-13 Jakub Jelinek <jakub@redhat.com>
3259
3260 PR debug/70628
3261 * explow.c (convert_memory_address_addr_space_1): Formatting fix.
3262
3263 PR middle-end/70633
3264 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
3265 gimplification turns some element into non-constant.
3266
3267 PR debug/70628
3268 * rtl.h (convert_memory_address_addr_space_1): New prototype.
3269 * explow.c (convert_memory_address_addr_space_1): No longer static,
3270 add NO_EMIT argument and don't call convert_modes if true, pass
3271 it down recursively, remove break after return.
3272 (convert_memory_address_addr_space): Adjust caller.
3273 * simplify-rtx.c (simplify_unary_operation_1): Call
3274 convert_memory_address_addr_space_1 instead of convert_memory_address,
3275 if it returns NULL, don't simplify.
3276
3277 2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
3278
3279 PR target/70630
3280 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
3281
3282 2016-04-12 Jakub Jelinek <jakub@redhat.com>
3283
3284 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
3285 Bump the upper SIMDLEN limits, so that if the return type or
3286 characteristic type if the return type is void can be passed in
3287 all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
3288 allowed.
3289
3290 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
3291
3292 PR target/70640
3293 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
3294 Do not use "=" constraint on an input constraint.
3295 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
3296 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
3297 (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
3298 generates (neg (abs ...)) instead of (abs ...).
3299
3300 2016-04-12 Jakub Jelinek <jakub@redhat.com>
3301
3302 PR rtl-optimization/70596
3303 * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
3304 just invalidate LRA data and reset them. Adjust dump wording.
3305
3306 2016-04-12 Martin Liska <mliska@suse.cz>
3307
3308 Revert
3309 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
3310
3311 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
3312 estimates here.
3313 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
3314 max_loop_iterations_int.
3315 (tree_unswitch_outer_loop): Likewise.
3316 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
3317 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
3318
3319 2016-04-12 Tom de Vries <tom@codesourcery.com>
3320
3321 PR tree-optimization/68756
3322 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
3323 instead of new_name.
3324
3325 2016-04-12 Jakub Jelinek <jakub@redhat.com>
3326
3327 PR tree-optimization/70602
3328 * tree-sra.c (generate_subtree_copies): Don't write anything into
3329 constant pool decls.
3330
3331 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
3332 regardless whether there are depend clauses or not.
3333
3334 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3335
3336 PR target/70381
3337 * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
3338 target attribute and pragma from changing the -mfloat128
3339 and -mfloat128-hardware options.
3340
3341 * doc/extend.texi (Additional Floating Types): Document PowerPC
3342 __float128 restrictions.
3343
3344 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
3345
3346 PR target/70133
3347 * config/aarch64/driver-aarch64.c
3348 (aarch64_get_extension_string_for_isa_flags): New.
3349 (arch_extension): Rename to...
3350 (aarch64_arch_extension): ...This.
3351 (ext_to_feat_string): Rename to...
3352 (aarch64_extensions): ...This.
3353 (aarch64_core_data): Keep track of architecture extension flags.
3354 (cpu_data): Rename to...
3355 (aarch64_cpu_data): ...This.
3356 (aarch64_arch_driver_info): Keep track of architecture extension
3357 flags.
3358 (get_arch_name_from_id): Rename to...
3359 (get_arch_from_id): ...This, change return type.
3360 (host_detect_local_cpu): Update and reformat for renames, handle
3361 extensions through common infrastructure.
3362
3363 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
3364
3365 PR target/70133
3366 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
3367 track of a canonical flag name.
3368 (all_extensions): Likewise.
3369 (arch_to_arch_name): Also track extension flags enabled by the arch.
3370 (all_architectures): Likewise.
3371 (aarch64_parse_extension): Move to here.
3372 (aarch64_get_extension_string_for_isa_flags): Take a new argument,
3373 rework.
3374 (aarch64_rewrite_selected_cpu): Update for above change.
3375 * config/aarch64/aarch64-option-extensions.def: Rework the way flags
3376 are handled, such that the single explicit value enabled by an
3377 extension is kept seperate from the implicit values it also enables.
3378 * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
3379 to here.
3380 (aarch64_parse_extension): New.
3381 * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
3382 here to config/aarch64/aarch64-protos.h.
3383 (aarch64_parse_extension): Move from here to
3384 common/config/aarch64/aarch64-common.c.
3385 (aarch64_option_print): Update.
3386 (aarch64_declare_function_name): Likewise.
3387 (aarch64_start_file): Likewise.
3388 * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
3389 the canonical flag for extensions.
3390 * config.gcc (aarch64*-*-*): Extend regex for capturing extension
3391 flags.
3392
3393 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
3394
3395 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
3396 AARCH64_FL_CRC.
3397
3398 2016-04-09 Tom de Vries <tom@codesourcery.com>
3399
3400 PR tree-optimization/68953
3401 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
3402 first to last subscript.
3403
3404 2016-04-09 Jakub Jelinek <jakub@redhat.com>
3405
3406 PR tree-optimization/70586
3407 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
3408 for any calls.
3409
3410 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3411
3412 PR lto/70289
3413 PR ipa/70348
3414 PR tree-optimization/70373
3415 PR middle-end/70533
3416 PR middle-end/70534
3417 PR middle-end/70535
3418 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
3419 clauses for acc parallel reductions as necessary. Error on those
3420 that are private.
3421 * omp-low.c (scan_sharing_clauses): Don't install variables which
3422 are used in acc parallel reductions.
3423 (lower_rec_input_clauses): Remove dead code.
3424 (lower_oacc_reductions): Add support for reference reductions.
3425 (lower_reduction_clauses): Remove dead code.
3426 (lower_omp_target): Don't remap variables appearing in acc parallel
3427 reductions.
3428 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
3429
3430 2016-04-08 Jakub Jelinek <jakub@redhat.com>
3431
3432 PR middle-end/70593
3433 * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
3434 with multiple SSA_NAME defs, force the outputs other than first
3435 to be live before calling live_track_process_def on each output.
3436
3437 PR rtl-optimization/70574
3438 * fwprop.c (forward_propagate_and_simplify): Don't add
3439 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
3440 (try_fwprop_subst): Don't add REG_EQUAL note if there are any
3441 paradoxical subregs within *loc.
3442
3443 2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
3444
3445 * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
3446 -ftree-parallelize-loops={0,1}.
3447 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
3448 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
3449 * config/ia64/hpux.h (LIB_SPEC): Likewise.
3450 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
3451 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
3452
3453 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
3454
3455 PR sanitizer/70541
3456 * asan.c (instrument_derefs): If we get unknown location, extract it
3457 with EXPR_LOCATION.
3458 (maybe_instrument_call): Instrument gimple_call's arguments if needed.
3459
3460 2016-04-08 Tom de Vries <tom@codesourcery.com>
3461
3462 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
3463 implicit firstprivate clause.
3464
3465 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3466
3467 PR target/70566
3468 * config/arm/thumb2.md (tst + branch-> lsls + branch
3469 peephole below *orsi_not_shiftsi_si): Require that condition
3470 register is dead after the peephole.
3471 (second peephole after the above): Likewise.
3472
3473 2016-04-08 Alan Modra <amodra@gmail.com>
3474
3475 PR target/70117
3476 * builtins.c (fold_builtin_classify): For IBM extended precision,
3477 look at just the high-order double to test for NaN.
3478 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
3479 test just the high double for Inf but both doubles for subnormal
3480 limit.
3481
3482 2016-04-07 Jakub Jelinek <jakub@redhat.com>
3483
3484 * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
3485 * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
3486 node->simdclone->mask_mode != VOIDmode masks.
3487 (simd_clone_adjust_argument_types): Likewise. Move sc var definition
3488 earlier, use it instead of node->simdclone.
3489 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
3490 Set clonei->mask_mode.
3491
3492 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
3493
3494 PR c/70436
3495 * parser.c (cp_parser_iteration_statement): New parameter IF_P.
3496 Pass it through to cp_parser_already_scoped_statement.
3497 (cp_parser_already_scoped_statement): New parameter IF_P. Pass
3498 it through to cp_parser_statement.
3499 (cp_parser_statement): Pass IF_P through to
3500 cp_parser_iteration_statement.
3501 (cp_parser_pragma): Adjust call to
3502 cp_parser_iteration_statement.
3503
3504 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
3505
3506 PR c/70436
3507 * gimplify.c (gimplify_omp_ordered): Add explicit braces to
3508 resolve a future -Wparentheses warning.
3509 * omp-low.c (scan_sharing_clauses): Likewise.
3510 * tree-parloops.c (eliminate_local_variables): Likewise.
3511
3512 2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
3513
3514 PR rtl-optimization/70398
3515 * lra-constraints.c (process_address_1): Check zero scale and code
3516 for reloading with zero scale.
3517
3518 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
3519
3520 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
3521 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
3522
3523 2016-04-06 Jakub Jelinek <jakub@redhat.com>
3524
3525 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
3526 Add support for AVX512F clones, include them by default for
3527 exported OpenMP declare simd functions. For AVX2 allow simdlen 32
3528 and use it if charasteric type is 8-bit, for AVX512F allow simdlen
3529 up to 128.
3530
3531 PR middle-end/70550
3532 * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
3533 * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
3534 firstprivate clauses.
3535 * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
3536 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
3537 (lower_omp_target): Set TREE_NO_WARNING for
3538 non-addressable possibly uninitialized vars which are copied into
3539 addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
3540
3541 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
3542
3543 * config/pa/predicates.md (integer_store_memory_operand): Accept
3544 REG+D operands with a large offset when reload_in_progress is true.
3545 (floating_point_store_memory_operand): Likewise.
3546
3547 2016-04-05 Jakub Jelinek <jakub@redhat.com>
3548
3549 PR c++/70336
3550 * match.pd (nested int casts): Limit to GIMPLE.
3551
3552 2016-04-05 Jan Hubicka <hubicka@ucw.cz>
3553
3554 PR ipa/66223
3555 * ipa-devirt.c (maybe_record_node): Fix comment; use
3556 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
3557
3558 2016-04-05 Jakub Jelinek <jakub@redhat.com>
3559
3560 PR rtl-optimization/70542
3561 * ree.c (add_removable_extension): For VECTOR_MODE_P punt
3562 if there are any uses other than insn or debug insns.
3563
3564 2016-04-05 Marc Glisse <marc.glisse@inria.fr>
3565 Jakub Jelinek <jakub@redhat.com>
3566
3567 PR tree-optimization/70509
3568 * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
3569 Shift HOST_WIDE_INT_1U instead of 1.
3570
3571 2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
3572
3573 PR tree-optimization/70509
3574 * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
3575 of the vector base type for index.
3576
3577 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
3578
3579 PR target/70510
3580 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
3581
3582 2016-04-05 Richard Biener <rguenther@suse.de>
3583
3584 PR tree-optimization/70526
3585 * tree-sra.c (build_ref_for_offset): Use prev_base to
3586 extract the alias pointer type.
3587
3588 2016-04-05 Richard Biener <rguenther@suse.de>
3589
3590 * dse.c (struct store_info): Remove alias_set member.
3591 (struct read_info_type): Likewise.
3592 (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
3593 spill_deleted, clear_alias_set_lookup): Remove.
3594 (get_group_info): Remove dead base == NULL_RTX case.
3595 (dse_step0): Remove initialization of removed variables.
3596 (delete_dead_store_insn): Reomve alias set dumping.
3597 (free_read_records): Remove alias_set handling.
3598 (canon_address): Remove alias_set_out parameter.
3599 (record_store): Remove spill_alias_set, it's always zero.
3600 (check_mem_read_rtx): Likewise.
3601 (dse_step2): Rename from ...
3602 (dse_step2_nospill): ... this. Adjust.
3603 (scan_stores): Rename from ...
3604 (scan_stores_nospill): ... this.
3605 (scan_reads): Rename from ...
3606 (scan_reads_nospill): ... this.
3607 (scan_stores_spill, scan_reads_spill): Remove.
3608 (dse_step3_scan): Remove for_spills argument which is always false.
3609 (dse_step3): Likewise.
3610 (dse_step5): Rename from ...
3611 (dse_step5_nospill): ... this. Remove alias_set handling.
3612 (rest_of_handle_dse): Adjust.
3613
3614 2016-04-05 Jakub Jelinek <jakub@redhat.com>
3615
3616 PR target/70525
3617 * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
3618 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
3619 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
3620 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
3621
3622 2016-04-05 Richard Biener <rguenther@suse.de>
3623
3624 PR middle-end/70499
3625 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
3626 non-register type temporaries into SSA.
3627
3628 2016-04-04 Jan Hubicka <hubicka@ucw.cz>
3629
3630 PR ipa/66223
3631 * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
3632 calls when sanitizing.
3633 (possible_polymorphic_call_target_p): Fix formatting.
3634
3635 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3636 Jakub Jelinek <jakub@redhat.com>
3637
3638 PR middle-end/70457
3639 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
3640 to ensure a call statement is compatible with a built-in's
3641 prototype.
3642 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
3643 Likewise.
3644
3645 2016-04-04 Richard Biener <rguenther@suse.de>
3646
3647 PR rtl-optimization/70484
3648 * rtl.h (canon_output_dependence): Declare.
3649 * alias.c (canon_output_dependence): New function.
3650 * dse.c (record_store): Use canon_output_dependence rather
3651 than canon_true_dependence.
3652
3653 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
3654
3655 PR ipa/68881
3656 * cgraph.h (symtab_node::copy_visibility_from): New function.
3657 * symtab.c (symtab_node::copy_visibility_from): New function.
3658 * ipa-visibility.c (optimize_weakref): New function.
3659 (function_and_variable_visibility): Use it.
3660
3661 2016-04-04 Martin Liska <mliska@suse.cz>
3662
3663 PR hsa/70402
3664 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
3665 value that is really in range handled by SBR instruction.
3666 * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
3667 * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
3668 * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
3669
3670 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
3671
3672 PR target/70416
3673 PR target/67391
3674 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
3675 set, but not for SP_REG operands.
3676
3677 2016-04-02 Martin Sebor <msebor@redhat.com>
3678
3679 PR c++/67376
3680 * fold-const.c (maybe_nonzero_address): New function.
3681 (fold_comparison): Call it. Fold equality and relational
3682 expressions involving null pointers.
3683 (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
3684
3685 2016-03-31 Evandro Menezes <e.menezes@samsung.com>
3686
3687 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
3688 the "Y" constraint (scalar FP 0.0 immediate).
3689
3690 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
3691 Add the "const_double" to the list of operand constraints.
3692
3693 2016-04-01 Jakub Jelinek <jakub@redhat.com>
3694
3695 PR rtl-optimization/70467
3696 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
3697 If low word of the last operand is 0, just emit addition/subtraction
3698 for the high word.
3699
3700 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3701
3702 PR target/70404
3703 * config/s390/s390.c (s390_expand_insv): Check for everything
3704 constant instead of just VOIDmode stuff.
3705
3706 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3707
3708 PR target/70496
3709 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
3710
3711 2016-04-01 Nathan Sidwell <nathan@acm.org>
3712
3713 * tree.def (TRY_CATCH_EXPR): Correct documentation.
3714
3715 2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
3716
3717 PR rtl-optimization/70461
3718 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
3719 is necessary.
3720
3721 2016-03-31 Martin Liska <mliska@suse.cz>
3722
3723 PR hsa/70399
3724 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
3725 a tree value or an immediate integer value to a buffer
3726 that is eventually copied to a BRIG section.
3727 (emit_immediate_operand): Call the function here.
3728 * hsa-dump.c (dump_hsa_immed): Remove checking assert.
3729 * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
3730 of class' fields that are removed.
3731 (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
3732 * hsa.h (class hsa_op_immed): Remove m_brig_repr and
3733 m_brig_repr_size fields.
3734
3735 2016-03-31 Martin Liska <mliska@suse.cz>
3736
3737 PR hsa/70391
3738 * hsa-gen.c (hsa_function_representation::update_dominance): New
3739 function.
3740 (convert_addr_to_flat_segment): Likewise.
3741 (gen_hsa_memory_set): New alignment argument.
3742 (gen_hsa_ctor_assignment): Likewise.
3743 (gen_hsa_insns_for_single_assignment): Provide alignment
3744 to gen_hsa_ctor_assignment.
3745 (gen_hsa_insns_for_direct_call): Add new argument.
3746 (expand_lhs_of_string_op): New function.
3747 (expand_string_operation_builtin): Likewise.
3748 (expand_memory_copy): New function.
3749 (expand_memory_set): New function.
3750 (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
3751 (convert_switch_statements): Change signature.
3752 (generate_hsa): Use a return value of the function.
3753 (pass_gen_hsail::execute): Do not call
3754 convert_switch_statements here.
3755 * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
3756 * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
3757 (hsa_function_representation::update_dominance): New function.
3758
3759 2016-03-31 Martin Liska <mliska@suse.cz>
3760
3761 PR hsa/70391
3762 * hsa-brig.c (emit_directive_variable): Emit alignment
3763 according to hsa_symbol::m_align.
3764 * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
3765 (dump_hsa_symbol): Dump alignment of HSA symbols.
3766 * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
3767 (gen_hsa_addr_with_align): New function.
3768 (hsa_bitmemref_alignment): Use newly added function.
3769 (gen_hsa_insns_for_load): Likewise.
3770 (gen_hsa_insns_for_store): Likewise.
3771 (gen_hsa_memory_copy): New argument added.
3772 (gen_hsa_insns_for_single_assignment): Respect
3773 alignment for assignments processed via gen_hsa_memory_copy.
3774 (gen_hsa_insns_for_direct_call): Likewise.
3775 (gen_hsa_insns_for_return): Likewise.
3776 (gen_function_def_parameters): Set default alignment.
3777 * hsa.c (hsa_object_alignment): New function.
3778 (hsa_byte_alignment): Pasted function.
3779 * hsa.h (hsa_symbol::m_align): New field.
3780
3781 2016-03-31 Bin Cheng <bin.cheng@arm.com>
3782
3783 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
3784 scratch field for goto case.
3785
3786 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
3787
3788 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
3789
3790 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
3791
3792 PR target/70442
3793 * config/i386/i386.c (scalar_chain::convert_op): Fix description.
3794 (scalar_chain::convert_insn): Call convert_op for reg
3795 moves to handle undefined registers.
3796
3797 2016-03-31 Nathan Sidwell <nathan@acm.org>
3798
3799 PR c++/70393
3800 * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
3801 Assert we don't want to move backwards.
3802
3803 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
3804
3805 PR target/70453
3806 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
3807
3808 2016-03-31 Jakub Jelinek <jakub@redhat.com>
3809
3810 PR rtl-optimization/70460
3811 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
3812 with operand from REG_LABEL_OPERAND, instead substitute
3813 SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
3814 Don't do anything for REG_NON_LOCAL_GOTO jumps.
3815
3816 2016-03-31 Martin Liska <mliska@suse.cz>
3817
3818 * passes.c (execute_one_pass): Do not call
3819 todo_after for a discarded function.
3820
3821 2016-03-31 Bin Cheng <bin.cheng@arm.com>
3822
3823 * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
3824 (no_cost, infinite_cost): Initialize the new field.
3825 (get_computation_cost_at): Record setup cost.
3826 (determine_use_iv_cost_address): Skip cost computation for sub
3827 uses if we can estimate it without losing accuracy.
3828
3829 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
3830
3831 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
3832 estimates here.
3833 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
3834 max_loop_iterations_int.
3835 (tree_unswitch_outer_loop): Likewise.
3836 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
3837 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
3838
3839 2016-03-30 Richard Biener <rguenther@suse.de>
3840
3841 PR middle-end/70450
3842 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
3843
3844 2016-03-30 Jakub Jelinek <jakub@redhat.com>
3845
3846 PR target/70421
3847 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
3848 in gen_blendm expander.
3849
3850 2016-03-30 Nick Clifton <nickc@redhat.com>
3851
3852 PR target/62254
3853 * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
3854 case where we are already provided with an SImode SUBREG.
3855
3856 2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
3857
3858 PR target/70439
3859 * config/i386/i386.c (ix86_expand_epilogue): Properly check
3860 conflict between DRAP register and __builtin_eh_return.
3861
3862 2016-03-30 Michael Matz <matz@suse.de>
3863 Richard Biener <rguenther@suse.de>
3864
3865 PR ipa/12392
3866 * ipa-polymorphic-call.c (struct type_change_info): Change
3867 speculative to an unsigned allowing to limit the work we do.
3868 (csftc_abort_walking_p): New inline function..
3869 (check_stmt_for_type_change): Limit the number of may-defs
3870 skipped for speculative devirtualization to
3871 max-speculative-devirt-maydefs.
3872 * params.def (max-speculative-devirt-maydefs): New param.
3873 * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
3874
3875 2016-03-30 Mike Stump <mrs@gcc.gnu.org>
3876
3877 PR target/63890
3878 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
3879 and TARGET_MACHO.
3880
3881 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
3882
3883 PR tree-optimization/59124
3884 * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
3885 where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
3886
3887 2016-03-29 Jeff Law <law@redhat.com>
3888
3889 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
3890
3891 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3892
3893 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
3894 to HOST_WIDE_INT.
3895
3896 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3897
3898 * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
3899 * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
3900 gcrt0.o if linking dynamically.
3901
3902 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3903
3904 PR ipa/70283
3905 * ipa-devirt.c (methods_equal_p): New function.
3906 (compare_virtual_tables): Use it.
3907 * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
3908 * cgraphclones.c (clone_function_name_1): Use
3909 symbol_table::symbol_suffix_separator.
3910 * coverage.c (build_var): Likewise.
3911 * symtab.c (symbol_table::symbol_suffix_separator): New.
3912
3913 2016-03-29 Jakub Jelinek <jakub@redhat.com>
3914
3915 PR rtl-optimization/70429
3916 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
3917 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
3918 mode != result_mode.
3919
3920 PR c++/70353
3921 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
3922
3923 PR tree-optimization/70405
3924 * ssa-iterators.h (num_imm_uses): Add missing braces.
3925
3926 2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
3927
3928 PR rtl-optimization/68695
3929 * ira-color.c (allocno_copy_cost_saving): New.
3930 (improve_allocation): Use it.
3931
3932 2016-03-29 Richard Henderson <rth@redhat.com>
3933
3934 PR middle-end/70355
3935 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
3936
3937 2016-03-29 Richard Biener <rguenther@suse.de>
3938
3939 PR middle-end/70424
3940 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
3941 use alignment returned by get_pointer_alignment_1 if it is
3942 bigger than BITS_PER_UNIT.
3943 * builtins.c (get_pointer_alignment_1): Do not return true
3944 for alignment extracted from SSA info.
3945
3946 2016-03-28 James Bowman <james.bowman@ftdichip.com>
3947
3948 * config/ft32/ft32.opt (mnodiv): New.
3949 * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
3950 * doc/invoke.texi (FT32 Options -mnodiv): New.
3951
3952 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
3953
3954 PR target/70406
3955 * config/i386/i386.md (define_split, andn): Fix modes.
3956
3957 2016-03-26 Richard Biener <rguenther@suse.de>
3958 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3959
3960 PR ipa/70366
3961 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
3962 instead of
3963 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
3964 as 2nd argument to cl_optimization_restore().
3965
3966 2016-03-25 Richard Henderson <rth@redhat.com>
3967
3968 PR target/70120
3969 * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
3970 * config/aarch64/aarch64-protos.h: Declare it.
3971 * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
3972
3973 2016-03-25 Alan Modra <amodra@gmail.com>
3974
3975 PR target/70052
3976 * config/rs6000/constraints.md (j): Simplify.
3977 * config/rs6000/predicates.md (easy_fp_constant): Exclude
3978 decimal float 0.D.
3979 * config/rs6000/rs6000.md (zero_fp): New mode_attr.
3980 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
3981 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
3982 in all constraint alternatives.
3983 (movtd_64bit_nodm): Delete "j" constraint alternative.
3984
3985 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
3986
3987 * tree-ssa-propagate.c: Enhance docs for
3988 SSA_PROP_NOT_INTERESTING.
3989
3990 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
3991
3992 * doc/extend.texi: Fix typo in documentation to pure attribute.
3993
3994 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
3995
3996 PR target/70319
3997 * config/pa/pa.md (bswapdi2): Use a scratch register.
3998
3999 2016-03-24 Richard Henderson <rth@redhat.com>
4000
4001 PR middle-end/69845
4002 * fold-const.c (extract_muldiv_1): Correct test for multiplication
4003 overflow.
4004
4005 2016-03-24 Uros Bizjak <ubizjak@gmail.com>
4006
4007 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
4008 using ix86_expand_binary_operator instead of gen_andsi3.
4009
4010 2016-03-24 Richard Biener <rguenther@suse.de>
4011
4012 PR tree-optimization/70396
4013 * tree-vect-stmts.c (vectorizable_comparison): Use
4014 get_vectype_for_scalar_type.
4015
4016 2016-03-24 Richard Biener <rguenther@suse.de>
4017
4018 PR middle-end/70370
4019 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
4020 with register bases.
4021
4022 2016-03-24 Richard Biener <rguenther@suse.de>
4023
4024 PR tree-optimization/70372
4025 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
4026 build_all_ones_cst to also handle vector types correctly.
4027
4028 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
4029
4030 PR target/70381
4031 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
4032 -mfloat128 here.
4033
4034 2016-03-23 Marek Polacek <polacek@redhat.com>
4035
4036 PR c++/69884
4037 * doc/invoke.texi: Document -Wignored-attributes.
4038
4039 2016-03-23 Bin Cheng <bin.cheng@arm.com>
4040
4041 PR tree-optimization/69042
4042 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
4043 parameter from 30 to 40.
4044
4045 2016-03-23 Bin Cheng <bin.cheng@arm.com>
4046
4047 PR tree-optimization/69042
4048 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
4049 for use with constant offset stripped in base.
4050
4051 2016-03-23 Richard Biener <rguenther@suse.de>
4052
4053 PR middle-end/70251
4054 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
4055 mode compatibility check.
4056 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
4057
4058 2016-03-23 Jeff Law <law@redhat.com>
4059
4060 PR tree-optimization/64058
4061 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
4062 CONFLICT_COUNT.
4063 (struct ssa_conflicts): Move up earlier in the file.
4064 (conflicts_, var_map_): New static variables.
4065 (initialize_conflict_count): New function to initialize the
4066 CONFLICT_COUNT field for each conflict pair.
4067 (compare_pairs): Lazily initialize the conflict count and use it
4068 as the first tie-breaker.
4069 (sort_coalesce_list): Add new arguments conflicts, map. Initialize
4070 and wipe conflicts_ and map_ around the call to qsort. Remove
4071 special case for 2 coalesce pairs.
4072 * bitmap.c (bitmap_count_unique_bits): New function.
4073 (bitmap_count_bits_in_word): New function, extracted from
4074 bitmap_count_bits.
4075 (bitmap_count_bits): Use bitmap_count_bits_in_word.
4076 * bitmap.h (bitmap_count_unique_bits): Declare it.
4077
4078 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
4079
4080 PR target/69917
4081 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
4082 transparent alias chain for decl assembler name.
4083 * config/sol2.c (solaris_assemble_visibility): Likewise.
4084
4085 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4086
4087 * config/arm/arm1020e.md (1020call_op): Reduce reservation
4088 duration.
4089 (v10_fdivs): Likewise.
4090 (v10_fdivd): Likewise.
4091
4092 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4093
4094 PR driver/70132
4095 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
4096 to not call fclose twice on file.
4097
4098 2016-03-23 Jakub Jelinek <jakub@redhat.com>
4099
4100 PR tree-optimization/70354
4101 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
4102 oprnd0 is wider than oprnd1 and there is a cast from the wider
4103 type to oprnd1, mask it with the mask of the narrower type.
4104
4105 PR target/70321
4106 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
4107 Optimize TARGET_STV splitters, if high or low word of last argument
4108 is 0 or -1.
4109
4110 2016-03-22 Jeff Law <law@redhat.com>
4111
4112 PR target/70232
4113 tree-ssa-threadbackward.c
4114 (fsm_find_control_statement_thread_paths): Correctly distinguish
4115 between old style jump threads vs FSM jump threads.
4116
4117 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
4118
4119 PR target/70302
4120 * config/i386/i386.c (scalar_chain::convert_op): Support
4121 uninitialized register usage case.
4122
4123 2016-03-22 Richard Biener <rguenther@suse.de>
4124
4125 PR middle-end/70251
4126 * genmatch.c (gen_transform): Adjust last parameter to a three-state
4127 int...
4128 (capture::gen_transform): ... to change behavior when substituting
4129 a condition into cond or not-cond expr context.
4130 (dt_simplify::gen_1): Adjust.
4131 * gimple-match-head.c: Include gimplify.h for unshare_expr.
4132 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
4133 last change and instead change to
4134 A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
4135 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
4136
4137 2016-03-22 Anthony Green <green@moxielogic.com>
4138
4139 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
4140 issue for moxiebox targets.
4141 (CC1PLUS_SPEC): Ditto.
4142
4143 2016-03-22 Richard Biener <rguenther@suse.de>
4144
4145 PR middle-end/70333
4146 * fold-const.c (extract_muldiv_1): Properly perform multiplication
4147 in the wide type.
4148
4149 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
4150
4151 * config/i386/i386.c (def_builtin): Remove duplicated functionality.
4152
4153 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
4154
4155 PR target/70325
4156 * config/i386/i386.c (def_builtin): Handle
4157 OPTION_MASK_ISA_AVX512VL to be and-ed with other
4158 bits.
4159 (const struct builtin_description bdesc_special_args[]):
4160 Remove duplicate ISA bits.
4161
4162 2016-03-22 Jakub Jelinek <jakub@redhat.com>
4163
4164 PR target/70329
4165 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
4166 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
4167 in a way that works also for AVX512BW.
4168
4169 PR target/70300
4170 * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
4171 instead of source if operands[1] is xmm16 and above and
4172 !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
4173 vec_interleave_lowv4sf if we need to unpack xmm16 and above.
4174
4175 PR c++/70295
4176 * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
4177 on assign if (*from_p) is a comparison, set it to
4178 TREE_NO_WARNING (*from_p).
4179
4180 2016-03-21 Jakub Jelinek <jakub@redhat.com>
4181
4182 PR middle-end/70326
4183 * lra.c (restore_scratches): Ignore deleted insns.
4184
4185 2016-03-21 Marc Glisse <marc.glisse@inria.fr>
4186 Jakub Jelinek <jakub@redhat.com>
4187
4188 PR tree-optimization/70317
4189 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
4190 to HONOR_NANS.
4191
4192 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
4193
4194 PR target/70327
4195 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
4196 of ix86_expand_move.
4197 (movoi): Ditto.
4198 (movti): Use general_operand for operand 1 predicate.
4199
4200 2016-03-21 Martin Liska <mliska@suse.cz>
4201
4202 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
4203 insns.
4204 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
4205
4206 2016-03-21 Martin Liska <mliska@suse.cz>
4207
4208 PR ipa/70306
4209 * ipa-icf.c (sem_function::parse): Skip static
4210 constructors and destructors.
4211
4212 2016-03-21 Jakub Jelinek <jakub@redhat.com>
4213
4214 PR target/70296
4215 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
4216 function-like macro, peek following token(s) if it is followed
4217 by CPP_OPEN_PAREN token with optional padding in between, and
4218 if not, don't treat it like a macro.
4219
4220 2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
4221 Alexander Monakov <amonakov@ispras.ru>
4222
4223 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
4224 for the stabs debug format.
4225
4226 2016-03-21 Richard Biener <rguenther@suse.de>
4227
4228 PR tree-optimization/70310
4229 * tree-vect-generic.c (expand_vector_condition): Fold the built
4230 condition.
4231
4232 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
4233
4234 PR target/70293
4235 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
4236 Block third alternative for AVX-512VL target,
4237
4238 2016-03-21 Martin Liska <mliska@suse.cz>
4239
4240 PR hsa/70234
4241 * hsa-brig.c (emit_function_directives): Mark unemitted
4242 global variables for emission.
4243 * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
4244 (get_symbol_for_decl): Likewise.
4245 * hsa.h (struct hsa_symbol): New flag.
4246
4247 2016-03-21 Richard Biener <rguenther@suse.de>
4248
4249 PR tree-optimization/70288
4250 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
4251 we do not estimate unsimplified all-constant conditionals or
4252 switches as optimized away.
4253
4254 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
4255
4256 PR rtl-optimization/69102
4257 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
4258 when we have a readonly dependency context.
4259
4260 2016-03-18 Jeff Law <law@redhat.com>
4261
4262 PR rtl-optimization/70263
4263 * ira.c (memref_used_between_p): Assert we found END in the insn chain.
4264 (update_equiv_regs): When trying to move a store to after the insn
4265 that sets the source of the store, make sure the store occurs after
4266 the insn that sets the source of the store. When successful note
4267 the REG_EQUIV note created in the dump file.
4268
4269 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
4270 Bernd Schmidt <bschmidt@redhat.com>
4271
4272 * doc/extend.texi: Document more potential problems with basic asms.
4273
4274 2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
4275
4276 PR rtl-optimization/70278
4277 * lra-constraints.c (split_reg): Handle the case where biggest_mode is
4278 VOIDmode.
4279
4280 2016-03-18 Jason Merrill <jason@redhat.com>
4281
4282 * calls.c (load_register_parameters): Fix zero size sibcall logic.
4283
4284 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
4285
4286 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
4287 values to 128b regs.
4288
4289 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
4290
4291 PR tree-optimization/70252
4292 * tree-vect-stmts.c (supportable_widening_operation): Check resulting
4293 boolean vector has a proper number of elements.
4294 (supportable_narrowing_operation): Likewise.
4295
4296 2016-03-18 Tom de Vries <tom@codesourcery.com>
4297
4298 PR ipa/70269
4299 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
4300
4301 2016-03-18 Jakub Jelinek <jakub@redhat.com>
4302
4303 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
4304 instead of replace_rtx for DEBUG_INSNs.
4305
4306 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4307
4308 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
4309 load type reservations.
4310
4311 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
4312
4313 PR target/70188
4314 * config/pa/constraints.md: Revert 2015-02-13 change. Use
4315 define_constraint for "Q" and "T" constraints.
4316
4317 2016-03-17 Evandro Menezes <e.menezes@samsung.com>
4318
4319 Tweak the pipeline model for Exynos M1
4320
4321 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
4322 model.
4323
4324 2016-03-17 David Malcolm <dmalcolm@redhat.com>
4325
4326 PR c/70264
4327 * diagnostic-show-locus.c (compatible_locations_p): Handle the case
4328 where one or both locations aren't within a line_map.
4329
4330 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
4331
4332 PR driver/70192
4333 * opts.c (finish_options): Don't set flag_pie to the default if
4334 -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
4335 if it is -1.
4336
4337 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
4338
4339 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
4340 true as ALL_REGS argument to replace_rtx.
4341
4342 2016-03-17 Richard Biener <rguenther@suse.de>
4343
4344 PR debug/70271
4345 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
4346 last.
4347
4348 2016-03-17 Jakub Jelinek <jakub@redhat.com>
4349
4350 PR target/70245
4351 * rtl.h (replace_rtx): Add ALL_REGS argument.
4352 * rtlanal.c (replace_rtx): Likewise. If true, use REGNO
4353 equality and assert mode is the same, instead of just rtx pointer
4354 equality.
4355 * config/i386/i386.md (mov + arithmetics with load peephole): Pass
4356 true as ALL_REGS argument to replace_rtx.
4357
4358 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
4359
4360 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
4361 for boolean vector with vector mode only.
4362 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
4363
4364 2016-03-17 Nick Clifton <nickc@redhat.com>
4365
4366 PR target/70162
4367 * config/rx/rx.c (rx_print_integer): Print negative constants in
4368 decimal.
4369
4370 2016-03-17 Jakub Jelinek <jakub@redhat.com>
4371
4372 PR target/70261
4373 * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
4374
4375 2016-03-16 Richard Henderson <rth@redhat.com>
4376 Richard Biener <rguenth@suse.de>
4377
4378 PR middle-end/70240
4379 PR middle-end/68215
4380 PR tree-opt/68714
4381 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
4382 first operand as is_gimple_condexpr.
4383
4384 PR middle-end/70240
4385 PR middle-end/68215
4386 Revert r231575
4387 2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
4388 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
4389 Do not gimplify the result.
4390 (do_unop): Adjust call to tree_vec_extract.
4391 (do_binop): Likewise.
4392 (do_compare): Likewise.
4393 (do_plus_minus): Likewise.
4394 (do_negate): Likewise.
4395 (expand_vector_condition): Likewise.
4396 (do_cond): Likewise.
4397
4398 2016-03-16 Richard Henderson <rth@redhat.com>
4399
4400 PR target/70048
4401 * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
4402 (aarch64_classify_address): Use it.
4403 (aarch64_legitimize_address): Force all subexpressions of PLUS
4404 into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
4405
4406 2016-03-16 Jakub Jelinek <jakub@redhat.com>
4407 Richard Biener <rguenth@suse.de>
4408
4409 PR target/70245
4410 * rtlanal.c (replace_rtx): For REG, if from is a REG,
4411 return to even if only REGNO is equal, and assert
4412 mode is the same.
4413
4414 2016-03-11 Jeff Law <law@redhat.com>
4415
4416 PR rtl-optimization/70224
4417 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
4418
4419 2016-03-16 Richard Henderson <rth@redhat.com>
4420
4421 PR middle-end/70199
4422 * function.h (struct function): Add has_forced_label_in_static.
4423 * gimplify.c (force_labels_r): Set it.
4424 * lto-streamer-in.c (input_struct_function_base): Read it.
4425 * lto-streamer-out.c (output_struct_function_base): Write it.
4426 * tree-inline.c (has_label_address_in_static_1): Remove.
4427 (copy_forbidden): Remove fndecl parameter; test
4428 has_forced_label_in_static.
4429 (inline_forbidden_p): Update call to copy_forbidden.
4430 (tree_versionable_function_p): Likewise.
4431 * ipa-chkp.c (chkp_instrumentable_p): Likewise.
4432 (chkp_versioning): Likewise.
4433 * tree-inline.h (copy_forbidden): Update decl.
4434
4435 2016-03-16 Marek Polacek <polacek@redhat.com>
4436
4437 PR c/70093
4438 * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
4439 function being thunked if the result type doesn't have fixed size.
4440 * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
4441 doesn't have fixed size.
4442
4443 2016-03-16 Bin Cheng <bin.cheng@arm.com>
4444
4445 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
4446 reporting malformed loop nest.
4447
4448 2016-03-16 Tom de Vries <tom@codesourcery.com>
4449
4450 PR lto/70187
4451 * ipa-devirt.c (possible_polymorphic_call_targets): Move
4452 nodes.length () == 1 test to before first nodes[0] access.
4453
4454 2016-03-16 Tom de Vries <tom@codesourcery.com>
4455
4456 PR tree-optimization/68715
4457 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
4458 single_pred_p test.
4459
4460 2016-03-16 Tom de Vries <tom@codesourcery.com>
4461
4462 PR tree-optimization/68809
4463 * graphite-scop-detection.c (same_close_phi_node): Test if result types
4464 are the same.
4465
4466 2016-03-16 Carlos O'Donell <carlos@redhat.com>
4467 Sandra Loosemore <sandra@codesourcery.com>
4468
4469 * doc/extend.texi (Common Function Attributes): Describe ifunc impact
4470 on leaf attribute. Mention ELF interposition problems.
4471
4472 2016-03-16 Alan Modra <amodra@gmail.com>
4473
4474 PR rtl-optimization/69195
4475 PR rtl-optimization/47992
4476 * ira.c (indirect_jump_optimize): Ignore artificial defs.
4477 Add comments.
4478
4479 2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
4480
4481 PR bootstrap/69513
4482 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
4483
4484 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4485
4486 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
4487
4488 2016-03-15 Jakub Jelinek <jakub@redhat.com>
4489
4490 PR rtl-optimization/70222
4491 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
4492 optimization if mode is different from result_mode, queue up masking
4493 of the result in outer_op. Formatting fix.
4494
4495 PR middle-end/70239
4496 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
4497 of safe_grow.
4498
4499 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
4500
4501 PR rtl-optimization/69032
4502 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
4503 looping backwards over basic block insns.
4504
4505 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
4506
4507 PR target/66660
4508 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
4509 to non-speculative when propagating trap bits.
4510
4511 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
4512
4513 PR rtl-optimization/63384
4514 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
4515 DEBUG_INSN_P insns.
4516
4517 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
4518
4519 PR target/64411
4520 * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
4521 factored out from ...
4522 (sched_analyze_insn): ... here.
4523 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
4524 * sel-sched-ir.c (setup_id_implicit_regs): New function, use
4525 get_implicit_reg_pending_clobbers in it.
4526 (setup_id_reg_sets): Use setup_id_implicit_regs.
4527 (deps_init_id): Ditto.
4528
4529 2016-03-15 Tom de Vries <tom@codesourcery.com>
4530
4531 PR ipa/70161
4532 * cgraph.c (cgraph_node::get_body): Save, reset and restore
4533 dump_file_name.
4534 * passes.c (execute_one_ipa_transform_pass): Add missing argument to
4535 execute_function_dump.
4536 (execute_one_pass): Don't dump function if it will be dumped after ipa
4537 transform.
4538
4539 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
4540
4541 * genrecog.c (match_pattern_2): If pred is NULL don't call
4542 safe_predicate_mode on it.
4543
4544 2016-03-14 Jakub Jelinek <jakub@redhat.com>
4545
4546 PR middle-end/70219
4547 * lra-constraints.c (delete_move_and_clobber): Change assertion
4548 to also allow dregno == 0.
4549
4550 2016-03-14 Richard Henderson <rth@redhat.com>
4551
4552 PR tree-opt/68714
4553 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
4554 (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
4555 (reassociate_bb): Use optimize_vec_cond_expr; avoid
4556 optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
4557 on vectors.
4558
4559 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
4560
4561 PR target/70083
4562 * lra-lives.c (process_bb_lives): Also update biggest mode for hard
4563 regs.
4564 (lra_create_live_ranges_1): initialize hard register biggest_mode to
4565 VOIDmode.
4566 * lra-constraints.c (split_reg): For hard regs, try to find the
4567 biggest single-register mode used in the function.
4568
4569 2016-03-14 Richard Biener <rguenther@suse.de>
4570
4571 PR tree-optimization/56365
4572 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
4573 constants to compare against.
4574
4575 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
4576
4577 PR target/70098
4578 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
4579 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
4580 (define_split for the GPR case): Use int_reg_operand instead of
4581 gpc_reg_operand for the output.
4582
4583 2016-03-14 Tom de Vries <tom@codesourcery.com>
4584
4585 PR tree-optimization/70045
4586 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
4587 create_empty_if_region_on_edge argument.
4588
4589 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
4590
4591 * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
4592 (STACK_CHECK_PROTECT): Likewise.
4593 * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
4594 (STACK_CHECK_PROTECT): Likewise.
4595 * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
4596 (STACK_CHECK_PROTECT): Likewise.
4597 * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
4598 * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
4599 (STACK_CHECK_PROTECT): Likewise.
4600
4601 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
4602
4603 PR rtl-optimization/69307
4604 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
4605 registers in modes that span more than one register.
4606
4607 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
4608
4609 PR target/69614
4610 * lra-constraints.c (delete_move_and_clobber): New.
4611 (remove_inheritance_pseudos): Use it.
4612
4613 2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
4614
4615 PR ada/70017
4616 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
4617 the libcall is LCT_THROW.
4618 * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
4619 for the checking routine.
4620
4621 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
4622
4623 PR target/70131
4624 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
4625 optimization if we have direct move.
4626 (roundu32<mode>2_fprs): Likewise.
4627
4628 2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
4629
4630 PR target/70123
4631 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
4632 be rematerialized.
4633 (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
4634 Arguments swapped. All callers changed. Take reg_renumber into
4635 account, and Calculate and compare register ranges for hard regs.
4636
4637 2016-03-11 Jeff Law <law@redhat.com>
4638
4639 PR tree-optimization/70190
4640 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4641 Handle cases where we can not extract the taken edge, even though we
4642 found a constant value.
4643
4644 PR tree-optimization/64058
4645 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
4646 (num_coalesce_pairs): Move up earlier in file.
4647 (find_coalesce_pair): Initialize the INDEX field for each pair
4648 discovered.
4649 (compare_pairs): No longer sort on the elements in each pair.
4650 Instead break ties with the index of the coalesce pair.
4651
4652 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4653
4654 PR target/70002
4655 * config/aarch64/aarch64-protos.h
4656 (aarch64_save_restore_target_globals): New prototype.
4657 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
4658 Call the above when popping pragma.
4659 * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
4660 New function.
4661 (aarch64_set_current_function): Rewrite using the above.
4662
4663 2016-03-11 Jakub Jelinek <jakub@redhat.com>
4664
4665 PR tree-optimization/70177
4666 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
4667 (extract_ops_from_tree): ... this. In the 2 argument
4668 overload remove _1 suffix.
4669 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
4670 (extract_ops_from_tree): ... this.
4671 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
4672 Adjust callers.
4673 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
4674 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
4675 extract_ops_from_tree instead of 2 operand one.
4676
4677 2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
4678
4679 PR tree-optimization/70013
4680 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
4681 for constant-pool entries.
4682
4683 2016-03-11 Jakub Jelinek <jakub@redhat.com>
4684
4685 PR rtl-optimization/70174
4686 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
4687 followed by gen_lowpart on force_reg instead of just gen_lowpart.
4688
4689 PR tree-optimization/70169
4690 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
4691 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
4692 for unknown codes.
4693
4694 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
4695 Jakub Jelinek <jakub@redhat.com>
4696
4697 PR target/70160
4698 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
4699 of uninitialized values.
4700
4701 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4702
4703 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
4704 define_expand.
4705 ("*trunctddd2"): New pattern definition.
4706 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
4707 TD->DD truncation.
4708
4709 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4710
4711 * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
4712 definitions for BFP and DFP rounding modes.
4713 ("fixuns_truncdddi2", "fixuns_trunctddi2")
4714 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
4715 ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
4716 ("fix_trunctf<mode>2"): Use the new constants instead of magic
4717 numbers.
4718
4719 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4720
4721 * config/s390/constraints.md: Adjust comment.
4722 ("Y"): Adjust comment. Rename s390_decompose_shift_count to
4723 s390_decompose_addrstyle_without_index.
4724 * config/s390/predicates.md (shift_count_or_setmem_operand):
4725 Rename to setmem_operand.
4726 * config/s390/s390-protos.h
4727 (s390_decompose_shift_count): Rename to
4728 s390_decompose_addrstyle_without_index.
4729 * config/s390/s390.c (s390_decompose_shift_count)
4730 (s390_mem_constraint, print_shift_count_operand)
4731 (print_operand_address, print_operand): Rename
4732 s390_decompose_shift_count to
4733 s390_decompose_addrstyle_without_index and rename
4734 print_shift_count_operand to print_addrstyle_operand troughout the
4735 file.
4736 * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
4737 ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
4738 Rename shift_count_or_setmem_operand to setmem_operand.
4739 * config/s390/vx-builtins.md ("vec_insert<mode>")
4740 ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
4741 nonmemory_operand.
4742
4743 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4744
4745 PR target/70168
4746 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
4747 Handle overlapping retval and newval.
4748
4749 2016-03-10 Nick Clifton <nickc@redhat.com>
4750
4751 PR target/7044
4752 * config/aarch64/aarch64.c
4753 (aarch64_override_options_after_change_1): When forcing
4754 flag_omit_frame_pointer to be true, use a special value that can
4755 be detected if this function is called again, thus preventing
4756 flag_omit_leaf_frame_pointer from being forced to be false.
4757
4758 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4759
4760 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
4761 Set x_flag_omit_leaf_frame_pointer when handling
4762 -momit-leaf-frame-pointer.
4763
4764 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
4765
4766 PR lto/69589
4767 * cgraph.c (cgraph_node::dump): Dump split_part and
4768 indirect_call_target.
4769 * cgraph.h (cgraph_node): Add indirect_call_target flag.
4770 * ipa.c (has_addr_references_p): Cleanup.
4771 (is_indirect_call_target_p): New.
4772 (walk_polymorphic_call_targets): Do not mark virtuals that may be
4773 called indirectly as local.
4774 (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
4775
4776 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
4777
4778 PR ipa/69630
4779 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
4780 on cxa_pure_virtual.
4781
4782 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
4783
4784 PR lto/69589
4785 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
4786
4787 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
4788
4789 PR lto/69589
4790 * tree.c (need_assembler_name_p): Only record main variant type names.
4791
4792 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
4793
4794 PR target/70113.
4795 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
4796 Always define to 0 or 1.
4797 (TARGET_FIX_ERR_A53_843419): New macro.
4798 * config/aarch64/aarch64-elf-raw.h
4799 (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
4800 * config/aarch64/aarch64-linux.h: Likewise.
4801 * config/aarch64/aarch64.c
4802 (aarch64_override_options_after_change_1): Do not default
4803 aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
4804 843419 is on.
4805 (aarch64_attributes): Handle fix-cortex-a53-843419.
4806 (aarch64_can_inline_p): Likewise.
4807 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
4808
4809 2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
4810 Jakub Jelinek <jakub@redhat.com>
4811
4812 * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
4813 * tree.c (array_at_struct_end_p): Do not limit to size of decl for
4814 DECL_COMMONS if flag_unconstrained_commons is set.
4815 * tree-dfa.c (get_ref_base_and_extent): Likewise.
4816 * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
4817 (funconstrained-commons): Document.
4818
4819 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
4820
4821 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
4822 aarch64-fusion-pairs.def and aarch64-tuning-flags.def
4823
4824 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
4825
4826 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
4827 has a proper number of elements.
4828
4829 2016-03-10 Alan Modra <amodra@gmail.com>
4830
4831 PR rtl-optimization/69195
4832 PR rtl-optimization/47992
4833 * ira.c (recorded_label_ref): Delete.
4834 (update_equiv_regs): Return void.
4835 (indirect_jump_optimize): New function.
4836 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
4837 before regstat_compute_ri. Don't rebuild_jump_labels here.
4838 Delete update_regstat.
4839
4840 2016-03-10 Richard Biener <rguenther@suse.de>
4841
4842 PR tree-optimization/70128
4843 * tree-ssa-structalias.c (set_uids_in_ptset): Set
4844 vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
4845
4846 2016-03-09 Jakub Jelinek <jakub@redhat.com>
4847
4848 PR tree-optimization/70152
4849 * tree-sra.c (replace_removed_params_ssa_names): Copy over
4850 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
4851
4852 PR target/70086
4853 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
4854 instead of gen_sse2_loadlpd.
4855 * config/i386/sse.md (*vec_concatv2df): Rename to...
4856 (vec_concatv2df): ... this.
4857
4858 PR tree-optimization/70127
4859 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
4860
4861 2016-03-09 David Malcolm <dmalcolm@redhat.com>
4862
4863 PR c/68473
4864 PR c++/70105
4865 * diagnostic-show-locus.c (compatible_locations_p): New function.
4866 (layout::layout): Sanitize ranges using compatible_locations_p.
4867
4868 2016-03-09 David Malcolm <dmalcolm@redhat.com>
4869
4870 PR c/68473
4871 PR c++/70105
4872 * diagnostic-show-locus.c (layout_range::layout_range): Replace
4873 location_range param with three const expanded_locations * and a
4874 bool.
4875 (layout::layout): Replace call to
4876 rich_location::lazily_expand_location with get_expanded_location.
4877 Extract the range and perform location expansion here, passing
4878 the results to the layout_range ctor.
4879 * diagnostic.c (source_range::debug): Delete.
4880 * diagnostic.h (diagnostic_expand_location): Reimplement in terms
4881 of rich_location::get_expanded_location.
4882 * gcc-rich-location.c (get_range_for_expr): Delete.
4883 (gcc_rich_location::add_expr): Reimplement to avoid the
4884 rich_location::add_range overload that took a location_range,
4885 passing a location_t instead.
4886
4887 2016-03-09 Richard Biener <rguenther@suse.de>
4888 Jakub Jelinek <jakub@redhat.com>
4889
4890 PR tree-optimization/70138
4891 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
4892 Also skip vect_double_reduction_def.
4893
4894 2016-03-09 Jakub Jelinek <jakub@redhat.com>
4895
4896 PR target/70049
4897 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
4898 if the operand is "m".
4899
4900 2016-03-09 Nathan Sidwell <nathan@acm.org>
4901
4902 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
4903
4904 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4905
4906 * config/i386/i386.c (processor_target_table): Fix cost table
4907 intialization order for znver1.
4908
4909 2016-03-08 Jakub Jelinek <jakub@redhat.com>
4910
4911 * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
4912 - becuase -> because.
4913 * ipa-reference.c (ignore_module_statics): Likewise.
4914 * cgraph.c (cgraph_node::get_body): Likewise.
4915 * ipa-inline.c (early_inliner): Likewise.
4916 * ipa-devirt.c (types_same_for_odr): Likewise.
4917 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
4918 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
4919
4920 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4921
4922 * tree-ssa-math-opts.c: Fix typo in comment.
4923
4924 2016-03-08 Jakub Jelinek <jakub@redhat.com>
4925
4926 PR target/70110
4927 * config/i386/i386.c (scalar_chain::make_vector_copies,
4928 scalar_chain::convert_reg): Call end_sequence in between
4929 get_insns and emit_conversion_insns rather than after both
4930 calls.
4931
4932 2016-03-07 Uros Bizjak <ubizjak@gmail.com>
4933
4934 PR target/70064
4935 * config/i386/i386.h (machine_function): Add
4936 pc_thunk_call_expanded flag.
4937 (ix86_pc_thunk_call_expanded): New define.
4938 * config/i386/i386.md (set_got, set_got_labelled): New expanders.
4939 (*set_got): Rename insn pattern from set_got.
4940 (*set_got_labelled): Rename inst pattern from set_got_labelled.
4941 * config/i386/i386.c (ix86_compute_frame_layout): Use
4942 ix86_pc_thunk_call_expanded to prevent red-zone.
4943
4944 2016-03-07 Martin Jambor <mjambor@suse.cz>
4945
4946 * hsa.h (hsa_get_ctor_statements): Declare.
4947 (hsa_get_dtor_statements): Likewise.
4948 (hsa_get_kernel_dispatch_type): Likewise.
4949 * hsa.c (hsa_get_ctor_statements): New function.
4950 (hsa_get_dtor_statements): Likewise.
4951 (hsa_get_kernel_dispatch_type): Likewise.
4952 * hsa-brig.c (hsa_cdtor_statements): Removed.
4953 (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
4954 hsa_get_dtor_statements.
4955 * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
4956 (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
4957
4958 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
4959
4960 * config/arm/arm-cores.def (cortex-r8): New.
4961 * config/arm/arm-tables.opt (cortex-r8): Regenerate.
4962 * config/arm/arm-tune.md: Likewise.
4963 * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
4964
4965 2016-03-07 Martin Sebor <msebor@redhat.com>
4966
4967 PR rtl-optimization/19705
4968 * doc/invoke.texi (Options That Control Optimization): Clarify
4969 -fno-branch-count-reg.
4970
4971 2016-02-26 Richard Biener <rguenther@suse.de>
4972 Jeff Law <law@redhat.com>
4973
4974 PR tree-optimization/69740
4975 * cfghooks.c (remove_edge): Request loop fixups if we delete
4976 an edge that might turn an irreducible loop into a natural
4977 loop.
4978 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
4979 Move after definition of loops_state_clear.
4980
4981 2016-03-07 Bin Cheng <bin.cheng@arm.com>
4982
4983 PR rtl-optimization/69052
4984 * rtlanal.c (commutative_operand_precedence): Set higher precedence
4985 to CONST_WIDE_INT.
4986
4987 2016-03-07 Tom de Vries <tom@codesourcery.com>
4988
4989 PR tree-optimization/70116
4990 * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
4991 is_tm_ending stmts and ubsan/asan internal functions.
4992 (find_duplicate): Use it. Don't test is_tm_ending here.
4993
4994 2016-03-07 Richard Biener <rguenther@suse.de>
4995
4996 PR tree-optimization/70115
4997 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
4998 (propagate_constants_for_unrolling): Use replace_uses_by.
4999
5000 2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
5001
5002 PR middle-end/69916
5003 * omp-low.c (struct oacc_loop): Add ifns.
5004 (new_oacc_loop_raw): Initialize it.
5005 (finish_oacc_loop): Clear mask & flags if no ifns.
5006 (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
5007 (oacc_loop_xform_loop): Add ifns arg & adjust.
5008 (oacc_loop_process): Adjust oacc_loop_xform_loop call.
5009
5010 2016-03-07 Richard Henderson <rth@redhat.com>
5011
5012 PR rtl-opt/70061
5013 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
5014 (insert_value_copy_on_edge): Likewise.
5015
5016 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5017
5018 * config/arm/arm_neon.h: Show error if using with soft-float ABI.
5019
5020 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5021
5022 PR target/62281
5023 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
5024
5025 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
5026
5027 * config/i386/i386.c (znver1_cost): Fix Multiply cost.
5028
5029 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
5030
5031 Fix sseimul type attribute.
5032 * config/i386/znver1.md
5033 (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
5034 znver1_sseimul_avx256_load) : Fix the type attribute.
5035 (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
5036 pipe usage and latency.
5037
5038 2016-03-05 Jakub Jelinek <jakub@redhat.com>
5039
5040 PR c++/70084
5041 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
5042 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
5043 to the right type.
5044
5045 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
5046
5047 PR c/69973
5048 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
5049
5050 PR rtl-optimization/69941
5051 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
5052 the reg share its mode.
5053
5054 2016-03-04 Jeff Law <law@redhat.com>
5055
5056 PR tree-optimization/69196
5057 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5058 If the both SSA_NAMEs are anonymous, then consider them unassociated
5059 and include the PHI in the statement count.
5060
5061 2016-03-05 Tom de Vries <tom@codesourcery.com>
5062
5063 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
5064 construct in oacc routine. Check for oacc region in oacc routine.
5065
5066 2016-03-04 Jakub Jelinek <jakub@redhat.com>
5067
5068 PR target/70062
5069 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
5070 2016-02-22 changes, instead don't recurse if RECUR is already true.
5071 Don't change *dynamic_check if RECUR. Adjust recursive caller
5072 to pass true to the new argument.
5073 (ix86_expand_set_or_movmem): Adjust decide_alg caller.
5074
5075 PR target/70059
5076 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
5077 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
5078 fixes.
5079 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
5080
5081 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
5082
5083 PR rtl-optimization/57676
5084 * lra-assigns.c (lra_assign): Guard test for maximum iterations
5085 with flag_checking.
5086
5087 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
5088
5089 * tree-vect-patterns.c (search_type_for_mask): Handle
5090 comparison of booleans.
5091
5092 2016-03-04 Jakub Jelinek <jakub@redhat.com>
5093
5094 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
5095 Fix @xref usage.
5096
5097 PR debug/69947
5098 * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
5099 all other ops that have dw_val_class_die_ref operands,
5100 and DW_OP_GNU_entry_value.
5101
5102 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5103
5104 PR rtl-optimization/69904
5105 * config/arm/arm.c (arm_cannot_copy_insn_p):
5106 Return true for load-exclusive instructions.
5107
5108 2016-03-03 Jakub Jelinek <jakub@redhat.com>
5109
5110 PR target/70021
5111 * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
5112 argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
5113 the pattern no matter if it is used just by non-pattern, pattern
5114 or mix thereof.
5115 (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
5116 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
5117 oprnd1 def_stmt is in pattern, don't look through it.
5118
5119 2016-03-03 Marek Polacek <polacek@redhat.com>
5120
5121 PR middle-end/70050
5122 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
5123
5124 2016-03-03 Martin Liska <mliska@suse.cz>
5125
5126 PR tree-optimization/70043
5127 * tree-vect-loop.c (optimize_mask_stores): Move iterator to
5128 previous statement if we see a debug statement.
5129
5130 2016-03-03 Richard Biener <rguenther@suse.de>
5131
5132 PR tree-optimization/55936
5133 * tree-vrp.c (compare_name_with_value): Add use_equiv_p
5134 parameter and guard unsafe equivalence use.
5135 (vrp_evaluate_conditional_warnv_with_ops): Always use
5136 safe equivalences but not via the quadratic compare_names
5137 helper.
5138
5139 2016-03-03 Michael Collison <michael.collison@linaro.org>
5140
5141 PR target/70014
5142 * config/arm/arm.md (*subsi3_carryin_const): Change predicate
5143 for operand 1 to s_register_operand. Change predicate for operand
5144 2 to arm_not_immediate_operand.
5145
5146 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
5147
5148 * doc/tm.texi: Regenerated.
5149
5150 2016-03-02 Richard Henderson <rth@redhat.com>
5151
5152 PR rtl-opt/67145
5153 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
5154 simplification when all args are positive non-fixed registers.
5155
5156 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
5157
5158 * target.def (lra_p): Specify that new ports should use LRA.
5159
5160 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5161
5162 PR libgomp/69555
5163 * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
5164 gimplify_type_sizes the type they refer to.
5165 (omp_notice_variable): Handle reference vars to VLAs.
5166 * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
5167 reference to VLA decls in the second pass instead of first pass.
5168
5169 2016-03-02 Tom de Vries <tom@codesourcery.com>
5170
5171 PR tree-optimization/68659
5172 * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
5173 new_expr == NULL_TREE.
5174 (get_new_name): Handle ADDR_EXPR.
5175
5176 2016-03-02 Bin Cheng <bin.cheng@arm.com>
5177
5178 PR rtl-optimization/69052
5179 * loop-invariant.c (canonicalize_address): New function.
5180 (inv_can_prop_to_addr_use): Check validity of address expression
5181 which is canonicalized by above function.
5182
5183 2016-03-02 Alan Modra <amodra@gmail.com>
5184
5185 PR ipa/69990
5186 * ipa-icf.c (sem_variable::merge): Do not merge an alias with
5187 larger alignment.
5188
5189 2016-03-02 Jakub Jelinek <jakub@redhat.com>
5190
5191 PR target/70028
5192 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
5193 (*movhi_internal): Put mask moves from and to memory separately
5194 from moves from/to GPRs.
5195
5196 2016-03-02 Richard Biener <rguenther@suse.de>
5197
5198 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
5199 GENERIC expressions in GIMPLE.
5200
5201 2016-03-02 Richard Biener <rguenther@suse.de>
5202
5203 * config/i386/i386.c (type_natural_mode): Fix typo.
5204
5205 2016-03-02 Nick Clifton <nickc@redhat.com>
5206
5207 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
5208
5209 2016-03-02 Richard Biener <rguenther@suse.de>
5210 Uros Bizjak <ubizjak@gmail.com>
5211
5212 PR target/67278
5213 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
5214
5215 2016-03-02 Richard Biener <rguenther@suse.de>
5216
5217 PR middle-end/67278
5218 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
5219
5220 2016-03-02 Marek Polacek <polacek@redhat.com>
5221
5222 PR c/67854
5223 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
5224 "is promoted to" warning.
5225
5226 2016-03-01 DJ Delorie <dj@redhat.com>
5227
5228 * config.gcc: Deprecate mep-*.
5229
5230 2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
5231
5232 PR middle-end/70025
5233 * lra-constraints.c (regno_val_use_in): New.
5234 (match_reload): Use it instead of regno_use_in.
5235
5236 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
5237
5238 PR rtl-optimization/70007
5239 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
5240 references present in REG_EQUAL notes attached to non-SET patterns.
5241
5242 2016-03-01 Jeff Law <law@redhat.com>
5243
5244 PR tree-optimization/69196
5245 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5246 Appropriately clamp the number of statements to copy when the
5247 thread path does not traverse a loop backedge.
5248
5249 PR tree-optimization/69196
5250 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5251 Do count some PHIs in the thread path against the insn count. Decrease
5252 final statement count by one as the control statement in the last
5253 block will get removed. Remove special cased code for handling PHIs
5254 in the last block.
5255
5256 2016-03-01 Uros Bizjak <ubizjak@gmail.com>
5257
5258 PR target/70027
5259 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
5260 asm dialect alternatives to explicit GOTPCREL calls.
5261
5262 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
5263
5264 PR ada/70017
5265 * ira.c (do_reload): Issue warning for generic stack checking here...
5266 * reload1.c (reload): ...instead of here and streamline it.
5267
5268 2016-03-01 Nick Clifton <nickc@redhat.com>
5269
5270 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
5271
5272 2016-03-01 Richard Biener <rguenther@suse.de>
5273
5274 PR tree-optimization/69983
5275 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
5276 types and fall back to operand_equal_p.
5277
5278 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5279
5280 Revert
5281 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5282
5283 * config/s390/constraints.md ("jm8"): New constraint.
5284 * config/s390/predicates.md ("const_int_8bitset_operand"): New
5285 predicate.
5286 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
5287 into ...
5288 ("*setmem_long<setmem_and>"): New pattern.
5289 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
5290 into ...
5291 ("*setmem_long_31z<setmem_and>"): New pattern.
5292 * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
5293 New substitution rules with the required attributes.
5294
5295
5296 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5297
5298 Revert
5299 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5300
5301 * gensupport.c (process_substs_on_one_elem): Split loop to
5302 complete mark_operands_used_in_match_dup on all expressions in the
5303 vector first.
5304 (adjust_operands_numbers): Inline into process_substs_on_one_elem
5305 and remove function.
5306
5307 2016-03-01 Richard Biener <rguenther@suse.de>
5308
5309 PR middle-end/70022
5310 * fold-const.c (fold_indirect_ref_1): Fix range checking for
5311 vector BIT_FIELD_REF extract.
5312
5313 2016-03-01 Richard Biener <rguenther@suse.de>
5314
5315 PR tree-optimization/69994
5316 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
5317
5318 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
5319
5320 PR tree-optimization/69956
5321 * tree-vect-stmts.c (supportable_widening_operation): Support
5322 multi-step conversion of boolean vectors.
5323 (supportable_narrowing_operation): Likewise.
5324
5325 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5326
5327 * config/s390/s390.c (s390_decompose_address): Don't accept SImode
5328 anymore.
5329
5330 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5331
5332 * config/s390/subst.md (DSI_VI): New mode iterator.
5333 ("addr_style_op_subst"): Use DSI_VI instead of DSI.
5334 * config/s390/vector.md ("vec_set<mode>"): Move expander before
5335 the insn definition.
5336 ("*vec_set<mode>"): Change predicate and add alternative to
5337 support only either register or const_int operands as element
5338 selector.
5339 ("*vec_set<mode>_plus"): New pattern to support reg + const_int
5340 operands.
5341 ("vec_extract<mode>"): New expander.
5342 ("*vec_extract<mode>"): New insn definition supporting reg and
5343 const_int element selectors.
5344 ("*vec_extract<mode>_plus"): New insn definition supporting
5345 reg+const_int element selectors.
5346 ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
5347 following expander+insn definition.
5348 ("<vec_shifts_name><mode>3"): New expander.
5349 ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
5350
5351 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5352
5353 * config/s390/s390.md ("*tabort_1"): Change predicate to
5354 nonmemory_operand. Add a second alternative to cover
5355 register as well as const int operands.
5356 ("*tabort_1_plus"): New pattern definition.
5357
5358 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5359
5360 * config/s390/s390.md ("*ashrdi3_cc_31")
5361 ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
5362 ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
5363 Merge insn definitions into ...
5364 ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
5365 New pattern definition.
5366 ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
5367 ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
5368 ("*ashr<mode>3_and"): Merge insn definitions into ...
5369 ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
5370 New pattern definition.
5371 * config/s390/subst.md ("addr_style_op_cc_subst")
5372 ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
5373 substitutions patterns plus attributes.
5374 Add ashiftrt to SUBST iterator.
5375
5376 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5377
5378 * config/s390/s390.md ("<shift><mode>3"): Change predicate of
5379 op2 to nonmemory_operand.
5380 ("*<shift>di3_31", "*<shift>di3_31_and"):
5381 Merge into single pattern definition ...
5382 ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
5383 ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
5384 pattern definition ...
5385 ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
5386 * config/s390/subst.md: Add ashift and lshiftrt to SUBST
5387 iterator.
5388
5389 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5390
5391 * config/s390/predicates.md (const_int_6bitset_operand): New
5392 predicate.
5393 * config/s390/s390.md: Include subst.md.
5394 ("rotl<mode>3"): New expander.
5395 ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
5396 ...
5397 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
5398 * config/s390/subst.md: New file.
5399
5400 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5401
5402 * config/s390/s390.md ("op_type", "atype", "length" attributes):
5403 Remove RRR type. It doesn't really exist.
5404 ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
5405 attributes.
5406 ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
5407 ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
5408 ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
5409 ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
5410 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
5411 ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
5412 `enabled' attribute.
5413
5414 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5415
5416 * gensupport.c (process_substs_on_one_elem): Split loop to
5417 complete mark_operands_used_in_match_dup on all expressions in the
5418 vector first.
5419 (adjust_operands_numbers): Inline into process_substs_on_one_elem
5420 and remove function.
5421
5422 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
5423
5424 PR target/69706
5425 * config/sparc/sparc.c (NWORDS_UP): Rename to...
5426 (CEIL_NWORDS): ...this. Use CEIL macro.
5427 (compute_fp_layout): Adjust to above renaming.
5428 (function_arg_union_value): Likewise.
5429 (sparc_arg_partial_bytes): Likewise.
5430 (sparc_function_arg_advance): Likewise.
5431
5432 2016-02-29 Jeff Law <law@redhat.com>
5433
5434 PR tree-optimization/70005
5435 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
5436 where an object with a boolean range is compared against a value
5437 outside [0..1].
5438
5439 PR tree-optimization/69999
5440 * gimple-ssa-split-paths.c (split_paths): When duplicating a block
5441 with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
5442 loop cleanups.
5443
5444 2016-02-29 Richard Biener <rguenther@suse.de>
5445
5446 PR tree-optimization/69994
5447 * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
5448 (get_unary_op): Look through nop conversions.
5449 (ops_equal_values_p): New function, look for equality diregarding
5450 nop conversions.
5451 (eliminate_plus_minus_pair): Use ops_equal_values_p
5452 (repropagate_negates): Do not use get_unary_op here.
5453
5454 2016-02-29 Martin Liska <mliska@suse.cz>
5455
5456 * system.h: Poison ENABLE_CHECKING macro.
5457
5458 2016-02-29 Martin Liska <mliska@suse.cz>
5459
5460 * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
5461 is presented in dump flags.
5462 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
5463 (hsa_regalloc): Likewise.
5464
5465 2016-02-19 Richard Biener <rguenther@suse.de>
5466
5467 PR tree-optimization/69980
5468 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
5469 permutation of those we need to keep.
5470
5471 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
5472
5473 PR target/69706
5474 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
5475 (NWORDS_UP): ...this
5476 (init_cumulative_args): Minor tweaks.
5477 (sparc_promote_function_mode): Likewise.
5478 (scan_record_type): Delete.
5479 (traverse_record_type): New function template.
5480 (classify_data_t): New structure type.
5481 (classify_registers): New inline function.
5482 (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
5483 exhausted. Instantiate traverse_record_type on classify_registers and
5484 deal with the case of a structure passed in slot #15 with no FP field
5485 in the first word.
5486 (assign_data_t): New structure type.
5487 (compute_int_layout): New static function.
5488 (compute_fp_layout): Likewise.
5489 (count_registers): New inline function.
5490 (assign_int_registers): New static function.
5491 (assign_fp_registers): Likewise.
5492 (assign_registers): New inline function.
5493 (function_arg_record_value_1): Delete.
5494 (function_arg_record_value_2): Likewise.
5495 (function_arg_record_value_3): Likewise.
5496 (function_arg_record_value): Adjust to above changes. Instantiate
5497 traverse_record_type on count_registers to first count the number of
5498 registers to be used and then on assign_registers to assign them.
5499 (function_arg_union_value): Adjust to above renaming.
5500 (sparc_function_arg_1); Minor tweaks. Remove commented out code.
5501 (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
5502 case of a structure passed in slot #15
5503 (sparc_function_arg_advance): Likewise.
5504 (function_arg_padding): Minor tweak.
5505
5506 2016-02-29 Richard Biener <rguenther@suse.de>
5507
5508 PR tree-optimization/69720
5509 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
5510 the adjustment_def path for possibly vectorized defs.
5511 (vect_create_epilog_for_reduction): Handle vectorized initial
5512 defs properly.
5513
5514 2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
5515
5516 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
5517
5518 2016-02-27 Jeff Law <law@redhat.com>
5519
5520 Revert
5521 2016-02-26 Richard Biener <rguenther@suse.de>
5522 Jeff Law <law@redhat.com>
5523
5524 PR tree-optimization/69740
5525 * cfghooks.c (remove_edge): Request loop fixups if we delete
5526 an edge that might turn an irreducible loop into a natural
5527 loop.
5528
5529 2016-02-27 Jakub Jelinek <jakub@redhat.com>
5530
5531 PR rtl-optimization/69896
5532 * tree-vect-generic.c (get_compute_type): Avoid single element
5533 vector types.
5534
5535 2016-02-26 Evandro Menezes <e.menezes@samsung.com>
5536
5537 Rename the AArch64 tuning option and related functions to enable the
5538 Newton series for the reciprocal square root to reflect its
5539 approximative characteristic.
5540
5541 * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
5542 function to "aarch64_emit_approx_rsqrt".
5543 * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
5544 AARCH64_EXTRA_TUNE_APPROX_RSQRT.
5545 * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
5546 (xgene1_tunings): Likewise.
5547 (use_rsqrt_p): Likewise.
5548 (aarch64_emit_swrsqrt): Use new function name.
5549 * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
5550 * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
5551 text explaining this option.
5552 * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
5553
5554 2016-02-26 Jakub Jelinek <jakub@redhat.com>
5555
5556 PR target/69969
5557 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
5558 complain about -mallow-movmisalign without -mvsx if
5559 TARGET_ALLOW_MOVMISALIGN was not set explicitly.
5560
5561 2016-02-26 Joel Sherrill <joel@rtems.org>
5562
5563 * config.gcc: Add x86_64-*-rtems*.
5564 * gcc/config/i386/rtems-64.h: New file.
5565
5566 2016-02-26 Joel Sherrill <joel@rtems.org>
5567
5568 * config.gcc: Add aarch64-*-rtems*.
5569 * gcc/config/aarch64/rtems.h: New file.
5570
5571 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
5572
5573 PR target/69946
5574 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
5575 shift amount using %h. Add comment.
5576
5577 2016-02-26 Richard Biener <rguenther@suse.de>
5578 Jeff Law <law@redhat.com>
5579
5580 PR tree-optimization/69740
5581 * cfghooks.c (remove_edge): Request loop fixups if we delete
5582 an edge that might turn an irreducible loop into a natural
5583 loop.
5584
5585 2016-02-26 Martin Jambor <mjambor@suse.cz>
5586
5587 PR middle-end/69920
5588 * tree-sra.c (sra_modify_assign): Do not remove loads of
5589 uninitialized aggregates to SSA_NAMEs.
5590
5591 2016-02-26 Richard Henderson <rth@redhat.com>
5592
5593 PR target/69709
5594 * config/s390/s390.md (risbg and risbgn splitters): Allocate new
5595 pseudo in case the target rtx matches the source of the left
5596 shift.
5597
5598 2016-02-26 Martin Jambor <mjambor@suse.cz>
5599
5600 PR hsa/69568
5601 * hsa.h (hsa_type_packed_p): Declare.
5602 * hsa.c (hsa_type_packed_p): New function.
5603 * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
5604 loads.
5605 (gen_hsa_insns_for_store): Use hsa_type_packed_p.
5606 * hsa-brig.c (emit_basic_insn): Likewise.
5607
5608 2016-02-26 Martin Jambor <mjambor@suse.cz>
5609
5610 pr hsa/69674
5611 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
5612 pointers.
5613 (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
5614
5615 2016-02-26 Martin Jambor <mjambor@suse.cz>
5616
5617 * hsa.h (is_a_helper): New overload for hsa_op_immed for
5618 hsa_op_with_type operands.
5619 (hsa_unsigned_type_for_type): Declare.
5620 * hsa.c (hsa_unsigned_type_for_type): New function.
5621 * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
5622 (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
5623 the finalizer. Do not emit extra move.
5624
5625 2016-02-26 Martin Jambor <mjambor@suse.cz>
5626
5627 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
5628 atomic operations in private segment.
5629
5630 2016-02-26 Martin Jambor <mjambor@suse.cz>
5631
5632 * omp-low.c (grid_find_ungridifiable_statement): Store problematic
5633 statements to wi->info. Also disallow omp simd constructs.
5634 (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
5635 for not gridifying. Dump special string for omp_for.
5636
5637 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5638
5639 PR target/69245
5640 * config/aarch64/aarch64.c (aarch64_set_current_function):
5641 Save/restore target globals when switching to
5642 target_option_default_node.
5643
5644 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5645
5646 PR target/69613
5647 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
5648 Return 0 if !SHIFT_COUNT_TRUNCATED.
5649
5650 2016-02-26 Jakub Jelinek <jakub@redhat.com>
5651 Eric Botcazou <ebotcazou@adacore.com>
5652
5653 PR rtl-optimization/69891
5654 * dse.c (scan_insn): If we can't figure out memset arguments
5655 or they are non-constant, call clear_rhs_from_active_local_stores.
5656
5657 2016-02-26 Martin Liska <mliska@suse.cz>
5658
5659 * doc/extend.texi: Mention clog10, clog10f an clog10l
5660 in Builtins section.
5661
5662 2016-02-26 Martin Liska <mliska@suse.cz>
5663
5664 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
5665 CHECKING_P.
5666 (resolve_args_picking_1): Likewise.
5667 * dwarf2out.h (struct GTY): Likewise.
5668
5669 2016-02-26 Martin Liska <mliska@suse.cz>
5670
5671 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
5672 with flag_checking.
5673 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
5674
5675 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
5676 Martin Liska <mliska@suse.cz>
5677
5678 * doc/install.texi: Mention --enable-valgrind-annotations.
5679
5680 2016-02-26 Richard Biener <rguenther@suse.de>
5681
5682 PR tree-optimization/69551
5683 * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
5684 looking through aliases adjust DECL_PT_UID to refer to the
5685 ultimate alias target.
5686
5687 2016-02-25 Martin Liska <mliska@suse.cz>
5688
5689 PR middle-end/69919
5690 * alloc-pool.c (after_memory_report): New variable.
5691 * alloc-pool.h (base_pool_allocator ::release): Do not use
5692 the infrastructure if after_memory_report.
5693 * toplev.c (toplev::main): Mark after memory report.
5694
5695 2016-02-25 Richard Biener <rguenther@suse.de>
5696
5697 PR tree-optimization/48795
5698 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
5699
5700 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5701
5702 PR driver/68463
5703 * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
5704 offloading is enabled and -fopenacc or -fopenmp is specified.
5705 (CRTOFFLOADEND): Likewise.
5706 (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
5707 (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
5708 * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
5709 (offload_objects_file_name): New static var.
5710 (tool_cleanup): Remove offload_objects_file_name file.
5711 (find_offloadbeginend): Replace with ...
5712 (find_crtoffloadtable): ... this.
5713 (run_gcc): Remove offload_argc and offload_argv.
5714 Get offload_objects_file_name from -foffload-objects=... option.
5715 Read names of object files with offload from this file, pass them to
5716 compile_images_for_offload_targets. Don't call find_offloadbeginend and
5717 don't pass offloadbegin and offloadend to the linker. Don't pass
5718 offload non-LTO files to the linker, because now they're not claimed.
5719
5720 2016-02-25 Jan Hubicka <hubicka@ucw.cz>
5721
5722 PR ipa/69630
5723 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
5724 on builtin_unreachable.
5725
5726 2016-02-25 Jakub Jelinek <jakub@redhat.com>
5727
5728 PR rtl-optimization/69896
5729 * regcprop.c: Include cfgrtl.h.
5730 (copyprop_hardreg_forward_1): If noop_p insn uses narrower
5731 than remembered mode, either delete it (if noop_move_p), or
5732 treat like copy_p but not noop_p instruction.
5733
5734 2016-02-24 Jakub Jelinek <jakub@redhat.com>
5735
5736 PR debug/69705
5737 * dwarf2out.c (gen_variable_die): Work around buggy LTO
5738 - allow NULL decl for Fortran DW_TAG_common_block variables.
5739
5740 2016-02-24 Jason Merrill <jason@redhat.com>
5741
5742 * common.opt (flifetime-dse): Add -flifetime-dse=1.
5743
5744 2016-02-24 Richard Biener <rguenther@suse.de>
5745 Jakub Jelinek <jakub@redhat.com>
5746
5747 PR middle-end/69760
5748 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
5749 conditionally executed ops to well-defined overflow behavior.
5750
5751 2016-02-24 Jakub Jelinek <jakub@redhat.com>
5752
5753 PR middle-end/69915
5754 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
5755 elements.
5756
5757 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5758
5759 PR rtl-optimization/69886
5760 * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
5761 argument. Use it when checking validity of set instructions.
5762 (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
5763 (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
5764 callsite.
5765 * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
5766 * store-motion.c (find_moveable_store): Update
5767 can_assign_to_reg_without_clobbers_p callsite.
5768
5769 2016-02-24 Richard Biener <rguenther@suse.de>
5770
5771 PR middle-end/68963
5772 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
5773 bogus check.
5774 (record_nonwrapping_iv): Do not fall back to the low/high bound
5775 for non-constant IV bases if the stmt is not always executed.
5776
5777 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5778
5779 * config/arm/arm-cores.def (cortex-a32): New entry.
5780 * config/arm/arm-tables.opt: Regenerate.
5781 * config/arm/arm-tune.md: Regenerate.
5782 * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
5783 * config/arm/t-aprofile: Handle mcpu=cortex-a32.
5784 * doc/invoke.texi (ARM Options): Document cortex-a32 as value
5785 for -mcpu and -mtune.
5786
5787 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5788
5789 PR target/69875
5790 * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
5791 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
5792 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
5793 (atomic_loaddi_1): Delete.
5794 (atomic_loaddi): Rewrite expander using the above changes.
5795
5796 2016-02-24 Jakub Jelinek <jakub@redhat.com>
5797
5798 PR c/69918
5799 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
5800 2 to 3.
5801
5802 2016-02-24 Jakub Jelinek <jakub@redhat.com>
5803 Richard Biener <rguenth@suse.de>
5804
5805 PR middle-end/69909
5806 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
5807 set_mem_attributes if tem is SSA_NAME which got expanded
5808 as a MEM.
5809
5810 2016-02-24 Richard Biener <rguenther@suse.de>
5811
5812 PR tree-optimization/69907
5813 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
5814 end of permutations for BB vectorization.
5815
5816 2016-02-24 Christian Bruel <christian.bruel@st.com>
5817
5818 * config/arm/arm-c.c (arm_option_override): Initialize
5819 target_option_current_node.
5820 * config/arm/arm.c (arm_pragma_target_parse): Replace
5821 build_target_option_node call by target_option_current_node.
5822 Set target_option_current_node.
5823 Fix comments.
5824
5825 2016-02-23 David Edelsohn <dje.gcc@gmail.com>
5826
5827 PR target/69810
5828 * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
5829 define_insn_and_split to define_insn.
5830 (zero_extendqi<mode>2_dot2): Same.
5831 (extendqi<mode>2_dot): Same.
5832 (extendqi<mode>2_dot2): Same.
5833
5834 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
5835
5836 * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
5837 and add bypass for AES{D,E} and AESMC pairs.
5838 * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
5839 and AESMC pairs.
5840
5841 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
5842
5843 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
5844 series for reciprocal square root in Exynos M1.
5845
5846 2016-02-23 Martin Sebor <msebor@redhat.com>
5847
5848 PR c/69759
5849 * doc/extend.texi (Other Builtins): Document __builtin_alloca and
5850 __builtin_alloca_with_align.
5851
5852 2016-02-23 Richard Henderson <rth@redhat.com>
5853
5854 * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
5855 (ix86_register_pragmas): Remove __seg_tls.
5856 * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
5857 * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
5858 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
5859 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
5860 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
5861 * doc/extend.texi (__seg_tls): Remove item.
5862
5863 2016-02-23 Richard Biener <rguenther@suse.de>
5864
5865 * alloc-pool.h (struct allocation_object): Make id member
5866 conditional on CHECKING_P again.
5867 (get_instance): Adjust.
5868 (base_pool_allocator): Likewise.
5869
5870 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5871
5872 * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
5873 (parallelize_loops): In OpenACC kernels mode, set n_threads to
5874 zero.
5875 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
5876 flag_openacc.
5877 * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
5878
5879 2016-02-23 Richard Biener <rguenther@suse.de>
5880
5881 * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
5882 * bitmap.h (struct bitmap_usage): Likewise.
5883 (bitmap_move): Declare.
5884 * bitmap.c (register_overhead): Take size_t argument.
5885 (bitmap_move): New function.
5886 * df-problems.c (df_rd_transfer_function): Use bitmap_move
5887 to properly account overhead.
5888 * tree.c (free_node): Use tree_size.
5889
5890 2016-02-23 Jakub Jelinek <jakub@redhat.com>
5891
5892 PR c++/69902
5893 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
5894 when inverting comparison.
5895
5896 PR c/69900
5897 * common.opt (Wunreachable-code): Add Warning flag.
5898
5899 2016-02-23 Mark Wielaard <mjw@redhat.com>
5900 Jakub Jelinek <jakub@redhat.com>
5901
5902 PR c/69911
5903 * cgraphunit.c (check_global_declaration): Check main_input_filename
5904 and DECL_SOURCE_FILE are not NULL.
5905
5906 2016-02-23 Martin Jambor <mjambor@suse.cz>
5907
5908 PR tree-optimization/69666
5909 * tree-sra.c (sra_modify_assign): Do not attempt to create
5910 default_def replacements for unscalarizable regions.
5911
5912 2016-02-20 Mark Wielaard <mjw@redhat.com>
5913
5914 PR c/28901
5915 * cgraphunit.c (check_global_declaration): Check level of
5916 warn_unused_const_variable and main_input_filename.
5917 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
5918 (-Wunused-variable): For C implies -Wunused-const-variable=1.
5919 (-Wunused-const-variable): Explain levels 1 and 2.
5920
5921 2016-02-22 Jakub Jelinek <jakub@redhat.com>
5922
5923 PR target/69888
5924 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
5925 identical arguments. Formatting and spelling fixes.
5926
5927 PR target/69885
5928 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
5929 be specified.
5930
5931 PR target/69894
5932 PR target/69895
5933 * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
5934 and m68k-devices.def.
5935 * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
5936 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
5937
5938 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5939
5940 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
5941 and HImode registers.
5942
5943 2016-02-22 Richard Biener <rguenther@suse.de>
5944
5945 PR tree-optimization/69882
5946 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
5947 preserve permutations present because of gaps.
5948 (vect_supported_load_permutation_p): Always continue checking
5949 permutations after vect_attempt_slp_rearrange_stmts.
5950
5951 2016-02-22 Bin Cheng <bin.cheng@arm.com>
5952
5953 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
5954 min_profitable_estimate, rather than min_profitable_iters.
5955
5956 2016-02-22 Jakub Jelinek <jakub@redhat.com>
5957
5958 PR target/69885
5959 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
5960 SImode for last match_operand.
5961
5962 2016-02-22 Martin Liska <mliska@suse.cz>
5963
5964 * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
5965 return bitsize - 1 as the return value.
5966
5967 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
5968
5969 PR target/69806
5970 PR target/54089
5971 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
5972 Handle negative shift counts.
5973 * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
5974 force_reg on the shift constant.
5975 (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
5976 (lshrsi3_d): Handle negative shift counts.
5977
5978 2016-02-22 Richard Biener <rguenther@suse.de>
5979 Tom de Vries <tom@codesourcery.com>
5980
5981 * graph.c: Include dumpfile.h.
5982 (print_graph_cfg): Split into three overloads.
5983 * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
5984
5985 2016-02-22 Tom de Vries <tom@codesourcery.com>
5986
5987 * gdbhooks.py (class DumpFn): Add and instantiate, adding command
5988 dump-fn.
5989
5990 2016-02-22 Richard Biener <rguenther@suse.de>
5991
5992 PR ipa/37448
5993 * ipa-inline-transform.c (inline_call): When not updating
5994 overall summaries adjust self size by the growth estimate.
5995 * ipa-inline.c (inline_to_all_callers_1): Add to the callers
5996 hash-set, do not update overall summaries here. Renamed from ...
5997 (inline_to_all_callers): ... this which is now wrapping the
5998 above and performing delayed overall summary update.
5999 (early_inline_small_functions): Delay updating of the overall
6000 summary.
6001
6002 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
6003
6004 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
6005 variable.
6006
6007 2016-02-19 Jakub Jelinek <jakub@redhat.com>
6008
6009 PR driver/69805
6010 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
6011 :%* in %:gt() argument.
6012 (greater_than_spec_func): Adjust for expecting only numbers,
6013 if there are more than two numbers, compare the last two.
6014
6015 2016-02-19 Jonathan Wakely <jwakely@redhat.com>
6016
6017 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
6018 -Wnarrowing with -std.
6019
6020 2016-02-19 Jakub Jelinek <jakub@redhat.com>
6021
6022 PR c++/69851
6023 * expr.c (store_field): Don't use bit-field path if exp is
6024 COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
6025 different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
6026 and the assignment can be performed by bitwise copy. Formatting
6027 fix.
6028
6029 PR middle-end/69838
6030 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
6031 call copy_reg_eh_region_note_forward on before and/or after sequences
6032 and remove note from insn if it no longer can throw.
6033
6034 PR target/69820
6035 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
6036 if TARGET_AVX512BW.
6037
6038 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6039
6040 * config/s390/vector.md: Add missing commutative operand markers
6041 to the patterns which qualify for one.
6042 * config/s390/vx-builtins.md: Likewise.
6043
6044 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6045
6046 * config/s390/vector.md (VI, VI_QHS): Add single element vector
6047 types to mode iterators.
6048 (vec_double): ... and mode attribute.
6049 * config/s390/vx-builtins.md (non_vec_int): Likewise.
6050
6051 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6052
6053 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
6054 Change the predicate of op2 from nonimmediate to general and let
6055 reload fix it if necessary.
6056
6057 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6058
6059 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
6060
6061 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6062
6063 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
6064 mode.
6065
6066 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6067
6068 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
6069 * config/s390/s390.c (s390_expand_vec_movstr): New function.
6070 * config/s390/s390.md ("movstr<P:mode>"): Call
6071 s390_expand_vec_movstr.
6072
6073 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6074
6075 * config/s390/s390.md: Add missing output modifier for operand 1
6076 to print it as address properly.
6077
6078 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6079
6080 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
6081 * config/s390/2964.md: New file.
6082 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
6083 of insn grouping attributes depending on the CPU level.
6084 (s390_get_unit_mask): New function.
6085 (s390_sched_score): Remove the OOO from the scheduling macros.
6086 Add loop to calculate a score for the instruction mix.
6087 (s390_sched_reorder): Likewise plus improve debug output.
6088 (s390_sched_variable_issue): Rename macros as above. Calculate
6089 the unit distances after actually scheduling an insn. Improve
6090 debug output.
6091 (s390_sched_init): Clear last_scheduled_unit_distance array.
6092 * config/s390/s390.md: Include 2964.md.
6093
6094 2016-02-18 Jakub Jelinek <jakub@redhat.com>
6095
6096 PR target/69671
6097 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
6098 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
6099 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
6100 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
6101 *avx512f_<code>v8div16qi2_mask_1): New insns.
6102
6103 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6104
6105 PR target/68404
6106 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
6107 2016-02-09 change.
6108
6109 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
6110 earlyclobber from target. Use wF constraint for fused memory
6111 address.
6112 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
6113
6114 2016-02-18 Jakub Jelinek <jakub@redhat.com>
6115 Martin Liska <mliska@suse.cz>
6116
6117 PR sanitizer/69863
6118 * cfgexpand.c (asan_sanitize_stack_p): New function.
6119 (partition_stack_vars): Use the function.
6120 (expand_stack_vars): Likewise.
6121 (defer_stack_allocation): Likewise.
6122 (expand_used_vars): Likewise.
6123
6124 2016-02-18 Richard Biener <rguenther@suse.de>
6125
6126 PR middle-end/69553
6127 * fold-const.c (operand_equal_p): Properly compare offsets for
6128 IMAGPART_EXPR and ARRAY_REF.
6129
6130 2016-02-18 Nick Clifton <nickc@redhat.com>
6131
6132 PR target/62254
6133 PR target/69610
6134 * config/arm/arm.c (arm_option_override_internal): Disable
6135 interworking if the target does not support thumb instructions.
6136 (arm_reload_in_hi): Handle the case where a register to register
6137 move needs reloading because there is no simple pattern to handle
6138 it.
6139 (arm_reload_out_hi): Likewise.
6140
6141 2016-02-18 Richard Biener <rguenther@suse.de>
6142
6143 PR middle-end/69854
6144 * match.pd: Don't use fold_binary or fold_unary for folding
6145 constants.
6146
6147 2016-02-17 Jakub Jelinek <jakub@redhat.com>
6148
6149 PR c++/69850
6150 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
6151 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
6152 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
6153 warn on gimple_no_warning_p statements.
6154
6155 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
6156
6157 * doc/extend.texi (C++ Attributes): Correct description of
6158 warn_unused type attribute.
6159
6160 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6161
6162 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
6163 correct instruction.
6164
6165 2016-02-17 Richard Biener <rguenther@suse.de>
6166
6167 PR rtl-optimization/69609
6168 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
6169 (find_traces_1_round): When ending a trace update cached priority
6170 of successors.
6171 (bb_to_key): Use cached priority when available.
6172 (copy_bb): Initialize cached priority.
6173 (reorder_basic_blocks_software_trace_cache): Likewise.
6174
6175 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6176
6177 PR target/69161
6178 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
6179 New predicate.
6180 (aarch64_comparison_operator): Break overly long line into two.
6181 (aarch64_comparison_operation): Likewise.
6182 * config/aarch64/aarch64.md (cstorecc4): Use
6183 aarch64_comparison_operator_mode instead of
6184 aarch64_comparison_operator.
6185 (cstore<mode>4): Likewise.
6186 (aarch64_cstore<mode>): Likewise.
6187 (*cstoresi_insn_uxtw): Likewise.
6188 (cstore<mode>_neg): Likewise.
6189 (*cstoresi_neg_uxtw): Likewise.
6190
6191 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6192
6193 PR target/69161
6194 * config/arm/predicates.md (arm_comparison_operator_mode):
6195 New predicate.
6196 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
6197 instead of arm_comparison_operator.
6198 (*mov_negscc): Likewise.
6199 (*mov_notscc): Likewise.
6200 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
6201 (*thumb2_mov_negscc): Likewise.
6202 (*thumb2_mov_negscc_strict_it): Likewise.
6203 (*thumb2_mov_notscc): Likewise.
6204 (*thumb2_mov_notscc_strict_it): Likewise.
6205
6206 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
6207
6208 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
6209 Add missing return.
6210
6211 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
6212
6213 * config/visium/visium.c (machine_libfunc_index): New enum.
6214 (machine_libfuncs): New structure.
6215 (visium_libfuncs): New static variable.
6216 (TARGET_INIT_LIBFUNCS): Define to...
6217 (visium_init_libfuncs): ...this. New function.
6218 (expand_block_move_4): Use the appropriate libfunc.
6219 (expand_block_move_2): Likewise.
6220 (expand_block_move_1): Likewise.
6221 (expand_block_set_4): Likewise.
6222 (expand_block_set_2): Likewise.
6223 (expand_block_set_1): Likewise.
6224 (visium_trampoline_init): Likewise.
6225
6226 2016-02-17 Nick Clifton <nickc@redhat.com>
6227
6228 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
6229 TI's devices.csv file as of March 2016.
6230
6231 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
6232
6233 PR Target/48344
6234 * opts-global.c (handle_common_deferred_options): Introduce and
6235 initialize two global variables to remember command-line options
6236 specifying a stack-limiting register.
6237 * opts.h: Add extern declarations of the two new global variables.
6238 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
6239 variable based on the values of the two new global variables.
6240
6241 2016-02-16 Jakub Jelinek <jakub@redhat.com>
6242
6243 PR c/69835
6244 * common.opt (Wnonnull-compare): New warning.
6245 * doc/invoke.texi (-Wnonnull): Remove text about comparison
6246 of arguments against NULL.
6247 (-Wnonnull-compare): Document.
6248 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
6249 * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
6250 * passes.def (pass_warn_nonnull_compare): Add.
6251 * gimple-ssa-nonnull-compare.c: New file.
6252
6253 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
6254
6255 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
6256 AARCH64_EXTRA_TUNE_RECIP_SQRT.
6257
6258 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
6259
6260 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
6261 reciprocal sqrt for -mlow-precision-recip-sqrt.
6262
6263 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
6264 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6265
6266 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
6267 always use lane loads to construct non-constant vectors.
6268
6269 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
6270
6271 * config/aarch64/aarch64.md
6272 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
6273 constraints for operand 3.
6274 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
6275
6276 2016-02-16 Jakub Jelinek <jakub@redhat.com>
6277 Richard Biener <rguenther@suse.de>
6278
6279 PR tree-optimization/69820
6280 * tree-vect-patterns.c (type_conversion_p): Return false if
6281 *orig_type is unsigned single precision or boolean.
6282 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
6283 Formatting fix.
6284
6285 2016-02-16 Jakub Jelinek <jakub@redhat.com>
6286
6287 PR rtl-optimization/69764
6288 PR rtl-optimization/69771
6289 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
6290 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
6291
6292 2016-02-16 Richard Biener <rguenther@suse.de>
6293
6294 PR tree-optimization/69776
6295 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
6296 sets from caller.
6297 (indirect_refs_may_alias_p): Likewise.
6298 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
6299 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
6300 according to tbaa_p.
6301 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
6302 (optimize_stmt): For redundant store discovery do not allow tbaa.
6303
6304 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
6305
6306 PR tree-optimization/69714
6307 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
6308 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
6309
6310 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
6311
6312 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
6313 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
6314 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
6315 * config/arc/arc.c (arc_init): Check FPU options.
6316 (get_arc_condition_code): Handle new CC_FPU* modes.
6317 (arc_select_cc_mode): Likewise.
6318 (arc_conditional_register_usage): Allow 64 bit datum into even-odd
6319 register pair only. Allow access for ARCv2 accumulator.
6320 (gen_compare_reg): Whenever we have FPU support use FPU compare
6321 instructions.
6322 (arc_reorg): Don't generate brcc insns when FPU compare
6323 instructions are involved.
6324 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
6325 (TARGET_OPTFPE): Add condition when ARC EM can use optimized
6326 floating point emulation.
6327 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
6328 (REVERSE_CONDITION): Add new CC_FPU* modes.
6329 (TARGET_FP_SP_BASE): Define.
6330 (TARGET_FP_DP_BASE): Likewise.
6331 (TARGET_FP_SP_FUSED): Likewise.
6332 (TARGET_FP_DP_FUSED): Likewise.
6333 (TARGET_FP_SP_CONV): Likewise.
6334 (TARGET_FP_DP_CONV): Likewise.
6335 (TARGET_FP_SP_SQRT): Likewise.
6336 (TARGET_FP_DP_SQRT): Likewise.
6337 (TARGET_FP_DP_AX): Likewise.
6338 * config/arc/arc.md (ARCV2_ACC): New constant.
6339 (type): New fpu type attribute.
6340 (SDF): Conditional iterator.
6341 (cstore<mode>, cbranch<mode>): Change expand condition.
6342 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
6343 handles FPU/FPX cases as well.
6344 * config/arc/arc.opt (mfpu): New option.
6345 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
6346 Renamed.
6347 (adddf3, muldf3, subdf3): Removed.
6348 * config/arc/predicates.md (proper_comparison_operator): Recognize
6349 CC_FPU* modes.
6350 * config/arc/fpu.md: New file.
6351 * doc/invoke.texi (ARC Options): Document mfpu option.
6352
6353 2016-02-16 Richard Biener <rguenther@suse.de>
6354
6355 PR rtl-optimization/69291
6356 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
6357 noce_operand_ok check.
6358
6359 2016-02-16 Tom de Vries <tom@codesourcery.com>
6360
6361 PR lto/67709
6362 * omp-low.c (simd_clone_create): Remove call to
6363 symtab->call_cgraph_insertion_hooks.
6364
6365 2016-02-16 Jakub Jelinek <jakub@redhat.com>
6366
6367 PR tree-optimization/69802
6368 * tree-ssa-reassoc.c (update_range_test): If op is
6369 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
6370 op == 1 test of precision 1 integral op, otherwise handle
6371 that case as op itself. Fix up formatting.
6372 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
6373 up formatting.
6374
6375 2016-02-16 Richard Biener <rguenther@suse.de>
6376
6377 PR tree-optimization/69586
6378 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
6379 types for conversion sources.
6380
6381 2016-02-16 Richard Biener <rguenther@suse.de>
6382
6383 PR middle-end/69801
6384 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
6385 mask OEP_ADDRESS_OF.
6386
6387 2016-02-16 Alan Modra <amodra@gmail.com>
6388
6389 PR target/68973
6390 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
6391 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
6392 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
6393 (p8_mtvsrwz): New.
6394 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
6395 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
6396 (p8_fmrgow_<mode>): Likewise.
6397 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
6398 changes.
6399 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
6400 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
6401 to use movdi_internal64. Remove op0_di.
6402 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
6403
6404 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
6405
6406 Add support for the FCCMP insn types
6407
6408 * config/aarch64/aarch64.md (fccmp): Change insn type.
6409 (fccmpe): Likewise.
6410 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
6411 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
6412 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
6413 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
6414 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
6415 * config/arm/types.md (fccmps): Add new insn type.
6416 (fccmpd): Likewise.
6417
6418 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
6419
6420 * alias.c (get_alias_set): Fix a typo in comment.
6421
6422 2016-02-15 Richard Biener <rguenther@suse.de>
6423
6424 PR tree-optimization/69595
6425 * match.pd: Complete range test simplification to true.
6426
6427 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
6428
6429 PR rtl-optimization/69648
6430 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
6431 pic_offset_table_rtx.
6432
6433 PR rtl-optimization/69752
6434 * ira.c (update_equiv_regs): When looking for more than a single SET,
6435 also take other side effects into account.
6436
6437 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
6438
6439 * config/s390/s390.c (s390_function_profiler): Add a new sequence
6440 for z900+ CPUs in 31-bit mode.
6441
6442 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
6443
6444 * common/config/s390/s390-common.c (s390_supports_split_stack):
6445 New function.
6446 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
6447 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
6448 * config/s390/s390.c (struct machine_function): New field
6449 split_stack_varargs_pointer.
6450 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
6451 in s390_emit_prologue.
6452 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
6453 vararg pointer.
6454 (morestack_ref): New global.
6455 (SPLIT_STACK_AVAILABLE): New macro.
6456 (s390_expand_split_stack_prologue): New function.
6457 (s390_live_on_entry): New function.
6458 (s390_va_start): Use split-stack vararg pointer if appropriate.
6459 (s390_asm_file_end): Emit the split-stack note sections.
6460 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
6461 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
6462 (UNSPECV_SPLIT_STACK_CALL): New unspec.
6463 (UNSPECV_SPLIT_STACK_DATA): New unspec.
6464 (split_stack_prologue): New expand.
6465 (split_stack_space_check): New expand.
6466 (split_stack_data): New insn.
6467 (split_stack_call): New expand.
6468 (split_stack_call_*): New insn.
6469 (split_stack_cond_call): New expand.
6470 (split_stack_cond_call_*): New insn.
6471
6472 2016-02-15 Richard Biener <rguenther@suse.de>
6473
6474 PR tree-optimization/69783
6475 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
6476 Add trivially correct cases.
6477
6478 2016-02-15 Tom de Vries <tom@codesourcery.com>
6479
6480 PR lto/69655
6481 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
6482 do_force_output.
6483 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
6484
6485 2016-02-15 Richard Biener <rguenther@suse.de>
6486
6487 PR tree-optimization/69776
6488 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
6489 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
6490 indicate whether we can use TBAA to disambiguate against stores.
6491 Use alias-set zero if not.
6492 (visit_reference_op_store): Do not use TBAA when looking up
6493 redundant stores.
6494 * tree-ssa-pre.c (compute_avail): Use TBAA here.
6495 (eliminate_dom_walker::before_dom_children): But not when looking
6496 up redundant stores.
6497
6498 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
6499
6500 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
6501
6502 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
6503
6504 * config/i386/znver1.md
6505 (znver1_pop, znver1_pop_mem,
6506 znver1_load_imov_double_store,
6507 znver1_load_imov_direct_store,
6508 znver1_load_imov_direct_load,
6509 znver1_load_imov_double_load): Add new.
6510 (znver1_insn, znver1_insn_load): Add icmov type.
6511 (znver1_sseavx_fma,
6512 znver1_sseavx_fma_load,
6513 znver1_avx256_fma,
6514 znver1_avx256_fma_load): Fix pipe usage.
6515
6516 2016-02-14 Alan Modra <amodra@gmail.com>
6517
6518 PR target/68973
6519 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
6520 with an invalid hard reg, reload just the reg not the entire
6521 pre/post-inc/dec address expression.
6522
6523 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
6524
6525 PR target/67260
6526 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
6527 fixed R1_REG scratch reg.
6528 (sibcall_value_pcrel_fdpic): Likewise.
6529
6530 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
6531
6532 PR target/67636
6533 PR target/64345
6534 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
6535
6536 2016-02-12 Walter Lee <walt@tilera.com>
6537
6538 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
6539 * config/tilegx/t-tilegx: Likewise.
6540
6541 2016-02-12 David Malcolm <dmalcolm@redhat.com>
6542
6543 PR other/69554
6544 * diagnostic-show-locus.c (struct line_span): New struct.
6545 (layout::get_first_line): Delete.
6546 (layout::get_last_line): Delete.
6547 (layout::get_num_line_spans): New member function.
6548 (layout::get_line_span): Likewise.
6549 (layout::print_heading_for_line_span_index_p): Likewise.
6550 (layout::get_expanded_location): Likewise.
6551 (layout::calculate_line_spans): Likewise.
6552 (layout::m_first_line): Delete.
6553 (layout::m_last_line): Delete.
6554 (layout::m_line_spans): New field.
6555 (layout::layout): Update comment. Replace m_first_line and
6556 m_last_line with m_line_spans, replacing their initialization
6557 with a call to calculate_line_spans.
6558 (diagnostic_show_locus): When printing source lines and
6559 annotations, rather than looping over a single span
6560 of lines, instead loop over each line_span within
6561 the layout, with an inner loop over the lines within them.
6562 Call the context's start_span callback when changing line spans.
6563 * diagnostic.c (diagnostic_initialize): Initialize start_span.
6564 (diagnostic_build_prefix): Break out the building of the location
6565 part of the string into...
6566 (diagnostic_get_location_text): ...this new function, rewriting
6567 it from nested ternary expressions to a sequence of "if"
6568 statements.
6569 (default_diagnostic_start_span_fn): New function.
6570 * diagnostic.h (diagnostic_start_span_fn): New typedef.
6571 (diagnostic_context::start_span): New field.
6572 (default_diagnostic_start_span_fn): New prototype.
6573
6574 2016-02-12 David Malcolm <dmalcolm@redhat.com>
6575
6576 PR driver/69779
6577 * gcc.c (driver::finalize): Fix cleanup of "specs".
6578
6579 2016-02-12 David Malcolm <dmalcolm@redhat.com>
6580
6581 PR driver/69265
6582 PR driver/69453
6583 * gcc.c (driver::driver): Initialize m_option_suggestions.
6584 (driver::~driver): Clean up m_option_suggestions.
6585 (suggest_option): Convert to...
6586 (driver::suggest_option): ...this, and split out into
6587 driver::build_option_suggestions and find_closest_string.
6588 (driver::build_option_suggestions): New function, from
6589 first half of suggest_option. Special-case
6590 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
6591 the sanitizer_opts array. For options of enum types, add the
6592 various enum values to the candidate strings.
6593 (driver::handle_unrecognized_options): Remove "const".
6594 * gcc.h (driver::handle_unrecognized_options): Likewise.
6595 (driver::build_option_suggestions): New decl.
6596 (driver::suggest_option): New decl.
6597 (driver::m_option_suggestions): New field.
6598 * opts-common.c (add_misspelling_candidates): New function.
6599 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
6600 and make non-static.
6601 * opts.h (sanitizer_opts): New array decl.
6602 (add_misspelling_candidates): New function decl.
6603 * spellcheck.c (find_closest_string): New function.
6604 * spellcheck.h (find_closest_string): New function decl.
6605
6606 2016-02-12 Jakub Jelinek <jakub@redhat.com>
6607
6608 PR rtl-optimization/69764
6609 PR rtl-optimization/69771
6610 * optabs.c (expand_binop_directly): For shift_optab_p, force
6611 convert_modes with VOIDmode if xop1 has VOIDmode.
6612
6613 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
6614
6615 PR target/69729
6616 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
6617 to correctly determine instrumentation thunks.
6618
6619 2016-02-12 Jakub Jelinek <jakub@redhat.com>
6620
6621 PR ipa/69241
6622 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
6623 type by reference, force lhs on the call.
6624
6625 PR ipa/68672
6626 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
6627 Compute retval and retbnd early in all cases if split_part_return_p
6628 and return_bb is not EXIT. Remove all clobber stmts and reset
6629 all debug stmts that refer to SSA_NAMEs defined in split part,
6630 except if it is retval, in that case replace the old retval with the
6631 lhs of the call to the split part.
6632
6633 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
6634
6635 revert:
6636 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
6637
6638 PR middle-end/66726
6639 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
6640 whose result is used in PHI.
6641 (maybe_optimize_range_tests): Likewise.
6642 (final_range_test_p): Likweise.
6643
6644 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
6645
6646 PR middle-end/66726
6647 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
6648 whose result is used in PHI.
6649 (maybe_optimize_range_tests): Likewise.
6650 (final_range_test_p): Likweise.
6651
6652 2016-02-12 Jakub Jelinek <jakub@redhat.com>
6653
6654 * cgraph.c: Spelling fixes - behaviour -> behavior and
6655 neighbour -> neighbor.
6656 * target.def: Likewise.
6657 * sel-sched.c: Likewise.
6658 * config/mips/mips.c: Likewise.
6659 * config/arc/arc.md: Likewise.
6660 * config/arm/cortex-a57.md: Likewise.
6661 * config/arm/arm.c: Likewise.
6662 * config/arm/neon.md: Likewise.
6663 * config/arm/arm-c.c: Likewise.
6664 * config/vms/vms-c.c: Likewise.
6665 * config/s390/s390.c: Likewise.
6666 * config/i386/znver1.md: Likewise.
6667 * config/i386/i386.c: Likewise.
6668 * config/ia64/hpux-unix2003.h: Likewise.
6669 * config/msp430/msp430.md: Likewise.
6670 * config/rx/rx.c: Likewise.
6671 * config/rx/rx.md: Likewise.
6672 * config/aarch64/aarch64-simd.md: Likewise.
6673 * config/aarch64/aarch64.c: Likewise.
6674 * config/nvptx/nvptx.c: Likewise.
6675 * config/bfin/bfin.c: Likewise.
6676 * config/cris/cris.opt: Likewise.
6677 * config/rs6000/rs6000.c: Likewise.
6678 * target.h: Likewise.
6679 * spellcheck.c: Likewise.
6680 * ira-build.c: Likewise.
6681 * tree-inline.c: Likewise.
6682 * builtins.c: Likewise.
6683 * lra-constraints.c: Likewise.
6684 * explow.c: Likewise.
6685 * hwint.h: Likewise.
6686 * targhooks.c: Likewise.
6687 * tree-vect-data-refs.c: Likewise.
6688 * expr.c: Likewise.
6689 * doc/tm.texi: Likewise.
6690 * doc/extend.texi: Likewise.
6691 * doc/install.texi: Likewise.
6692 * doc/md.texi: Likewise.
6693 * tree-ssa-tail-merge.c: Likewise.
6694 * sched-int.h: Likewise.
6695 * match.pd: Likewise.
6696 * sched-ebb.c: Likewise.
6697 * target.def (omit_struct_return_reg): Likewise.
6698 * gimple-ssa-isolate-paths.c: Likewise.
6699 (find_implicit_erroneous_behaviour): Renamed to...
6700 (find_implicit_erroneous_behavior): ... this.
6701 (find_explicit_erroneous_behaviour): Renamed to...
6702 (find_explicit_erroneous_behavior): ... this.
6703 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
6704
6705 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
6706
6707 PR rtl-optimization/64682
6708 PR rtl-optimization/69567
6709 PR rtl-optimization/69737
6710 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
6711 in I2 as well, just lose it.
6712
6713 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6714
6715 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
6716 New variable.
6717 (aarch64_last_printed_tune_string): Likewise.
6718 (aarch64_declare_function_name): Only output .arch assembler
6719 directive if it will be different from the previously output
6720 directive. Same for .tune comment but only if -dA is set.
6721 (aarch64_start_file): New function.
6722 (TARGET_ASM_FILE_START): Define.
6723
6724 2016-02-11 David Malcolm <dmalcolm@redhat.com>
6725
6726 PR plugins/69758
6727 * Makefile.in (PLUGIN_HEADERS): Add params.list.
6728
6729 2016-02-11 Jakub Jelinek <jakub@redhat.com>
6730
6731 PR target/65313
6732 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
6733 -Wmaybe-uninitialized warning.
6734
6735 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
6736
6737 PR target/69713
6738 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
6739
6740 2016-02-11 Richard Biener <rguenther@suse.de>
6741
6742 PR rtl-optimization/69291
6743 * ifcvt.c (noce_try_store_flag_constants): Do not allow
6744 subexpressions affected by changing the result.
6745
6746 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
6747
6748 PR target/69148
6749 * lra-constraints.c (curr_insn_transform): Find in/out operands
6750 for secondary memory moves. Update dups.
6751
6752 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
6753
6754 PR tree-optimization/69652
6755 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
6756 to nested loop, did source re-formatting, skip debug statements,
6757 add check on statement with volatile operand, remove dead scalar
6758 statements.
6759
6760 2016-02-10 Jakub Jelinek <jakub@redhat.com>
6761 Patrick Palka <ppalka@gcc.gnu.org>
6762
6763 PR ipa/69241
6764 PR c++/69649
6765 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
6766 calls if the return type is TREE_ADDRESSABLE.
6767 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
6768 * ipa-split.c (split_function): Fix doubled "we" in comment.
6769 Use void return type for the split part even if
6770 !split_point->split_part_set_retval.
6771
6772 2016-02-10 Bin Cheng <bin.cheng@arm.com>
6773
6774 PR tree-optimization/68021
6775 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
6776 when computing the value of biv cand by itself.
6777
6778 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
6779
6780 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
6781 (cortexa57_tunings): Likewise.
6782 (cortexa72_tunings): Likewise.
6783 (arch_macro_fusion_pair_p): Add support for AES fusion.
6784 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
6785 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
6786 Allow virtual registers before reload so early scheduling works.
6787 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
6788 correct latency and pipeline.
6789 (cortex_a57_crypto_complex): Likewise.
6790 (cortex_a57_crypto_xor): Likewise.
6791 (define_bypass): Add AES bypass.
6792
6793 2016-02-10 Richard Biener <rguenther@suse.de>
6794
6795 PR tree-optimization/69726
6796 * passes.def: Add DCE pass before late uninit.
6797 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
6798 really fixup if-conversions job.
6799
6800 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
6801
6802 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
6803 (arm_cortex_a57_tune): Likewise.
6804 (aarch_macro_fusion_pair_p): Add support for AES fusion.
6805 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
6806
6807 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
6808
6809 * timevar.def (TV_PHASE_DBGINFO): Delete.
6810 (TV_PHASE_CHECK_DBGINFO): Likewise.
6811 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
6812
6813 2016-02-10 Richard Biener <rguenther@suse.de>
6814
6815 PR tree-optimization/69719
6816 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
6817 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
6818
6819 2016-02-09 Andrew Pinski <apinski@cavium.com>
6820
6821 PR tree-opt/69282
6822 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
6823 get_vcond_mask_icode returns false.
6824
6825 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
6826
6827 PR target/68404
6828 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
6829 an ADDIS that adds a pointer to a large constant that sets the
6830 upper16 bits with a load operation.
6831
6832 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
6833
6834 PR target/68532
6835 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
6836 order.
6837 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
6838 endian.
6839 (vzipq_s16): Likewise.
6840 (vzipq_s32): Likewise.
6841 (vzipq_f32): Likewise.
6842 (vzipq_u8): Likewise.
6843 (vzipq_u16): Likewise.
6844 (vzipq_u32): Likewise.
6845 (vzipq_p8): Likewise.
6846 (vzipq_p16): Likewise.
6847
6848 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
6849
6850 PR target/68532
6851 * config/arm/arm.c (neon_endian_lane_map): New function.
6852 (neon_vector_pair_endian_lane_map): New function.
6853 (arm_evpc_neon_vuzp): Allow for big endian lane order.
6854 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
6855 endian.
6856 (vuzpq_s16): Likewise.
6857 (vuzpq_s32): Likewise.
6858 (vuzpq_f32): Likewise.
6859 (vuzpq_u8): Likewise.
6860 (vuzpq_u16): Likewise.
6861 (vuzpq_u32): Likewise.
6862 (vuzpq_p8): Likewise.
6863 (vuzpq_p16): Likewise.
6864
6865 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
6866
6867 PR target/69634
6868 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
6869 debug insns.
6870
6871 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
6872
6873 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
6874 truncate const_int operand 1 to QImode.
6875
6876 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
6877
6878 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
6879 corresponding to an abnormal edge.
6880
6881 2016-02-09 Tom de Vries <tom@codesourcery.com>
6882
6883 PR tree-optimization/69599
6884 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
6885 function.
6886 (find_func_aliases_for_builtin_call, find_func_clobbers)
6887 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
6888 partition.
6889
6890 2016-02-09 Richard Biener <rguenther@suse.de>
6891
6892 PR tree-optimization/69715
6893 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
6894 LHS on calls as non-rewritable.
6895
6896 2016-02-09 Tom de Vries <tom@codesourcery.com>
6897
6898 PR lto/69707
6899 * lto-wrapper.c (append_diag_options): New function.
6900 (compile_offload_image): Call append_diag_options.
6901
6902 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
6903
6904 PR other/69722
6905 * doc/extend.texi (Flag Output Operands): Correct sectioning.
6906 Minor copy-edit to fix verb tenses.
6907
6908 2016-02-08 Jakub Jelinek <jakub@redhat.com>
6909
6910 PR tree-optimization/69209
6911 * ipa-split.c (split_function): If split part is not
6912 returning retval, retval has gimple type but is not
6913 gimple value, force it into a SSA_NAME first.
6914
6915 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
6916
6917 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
6918 outdated section.
6919
6920 2016-02-08 Jason Merrill <jason@redhat.com>
6921
6922 PR c++/69631
6923 * convert.c (convert_to_integer_1): Check dofold on truncation
6924 distribution.
6925 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
6926 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
6927 Rename from *_nofold.
6928 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
6929 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
6930
6931 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
6932
6933 PR target/60410
6934 * tree.c (build_common_tree_nodes): Remove short_double argument.
6935 All callers changed.
6936 * tree.h (build_common_tree_nodes): Adjust declaration.
6937 * doc/invoke.texi (-fshort-double): Remove documentation.
6938 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
6939 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
6940 * lto-wrapper.c (merge_and_complain, append_compiler_options)
6941 (append_linker_options): Don't handle OPT_fshort_double.
6942
6943 PR rtl-optimization/68730
6944 * lra-remat.c (insn_to_cand_activation): New static variable.
6945 (lra_remat): Allocate and free it.
6946 (create_cand): New arg activation. Initialize a field in
6947 insn_to_cand_activation if it is nonnull.
6948 (create_cands): Pass the activation insn to create_cand when making
6949 a candidate involving an output reload. Reorganize code a little.
6950 (do_remat): Keep track of active status of candidates in a separate
6951 bitmap.
6952
6953 2016-02-08 Richard Biener <rguenther@suse.de>
6954
6955 PR tree-optimization/69719
6956 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
6957 Properly use absolute of the difference of the two offsets to
6958 compare or adjust the segment length.
6959
6960 2016-02-08 Richard Biener <rguenther@suse.de>
6961 Jeff Law <law@redhat.com>
6962
6963 PR target/68273
6964 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
6965 types for anonymous SSA names.
6966
6967 2016-02-08 Richard Biener <rguenther@suse.de>
6968
6969 PR rtl-optimization/69274
6970 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
6971
6972 2016-02-08 Jeff Law <law@redhat.com>
6973
6974 PR tree-optimization/65917
6975 * tree-ssa-dom.c (record_temporary_equivalences): Record both
6976 equivalences from if (x == y) style conditionals.
6977 (loop_depth_of_name): Remove.
6978 (record_equality): Remove loop depth check.
6979 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
6980 (const_and_copies::record_const_or_copy_raw): New member function.
6981 * tree-ssa-scopedtables.c
6982 (const_and_copies::record_const_or_copy_raw): New, factored out of
6983 (const_and_copies::record_const_or_copy): Call new member function.
6984
6985 2016-02-05 Jeff Law <law@redhat.com>
6986
6987 PR tree-optimization/68541
6988 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
6989 (count_stmts_in_block): New function.
6990 (poor_ifcvt_candidate_code): Likewise.
6991 (is_feasible_trace): Add some heuristics to determine when path
6992 splitting is profitable.
6993 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
6994 is a diamond with a single exit.
6995
6996 2016-02-05 Martin Sebor <msebor@redhat.com>
6997
6998 PR c++/69662
6999 * doc/invoke.texi: Update -Wplacement-new to take an optional
7000 argument.
7001
7002 2016-02-06 Richard Henderson <rth@redhat.com>
7003
7004 PR c/69643
7005 * tree.c (tree_nop_conversion_p): Do not strip casts into or
7006 out of non-standard address spaces.
7007
7008 2016-02-05 Jakub Jelinek <jakub@redhat.com>
7009
7010 PR rtl-optimization/69691
7011 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
7012
7013 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
7014
7015 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
7016 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
7017 (*ieee128_mfvsrd_64bit): Likewise.
7018 (*ieee128_mfvsrd_32bit): Likewise.
7019
7020 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
7021
7022 PR target/69369
7023 Revert r232560:
7024 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7025
7026 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
7027 instrumented_version.
7028
7029 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
7030
7031 * doc/invoke.texi (Optimize Options): In table of --param options
7032 rename second occurrence of tracer-min-branch-ratio to
7033 tracer-min-branch-probability, rename
7034 tracer-min-branch-ratio-feedback to
7035 tracer-min-branch-probability-feedback and clarify description,
7036 rename sched-spec-state-edge-prob-cutoff to
7037 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
7038 to selsched-insns-to-rename, rename lto-minpartition to
7039 lto-min-partition, delete reorder-blocks-duplicate and
7040 reorder-blocks-duplicate-feedback.
7041
7042 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7043
7044 * config/s390/s390.c (s390_register_info_set_ranges): Remove
7045 superfluous loops.
7046
7047 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
7048
7049 * doc/extend.texi: S/390: Correct some typos.
7050
7051 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7052
7053 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
7054
7055 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7056
7057 PR target/69625
7058 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
7059 (s390_register_info_gprtofpr): Use new macros above.
7060 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
7061 its name.
7062 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
7063 its name. Adjust restore and save gpr ranges.
7064 (s390_register_info_set_ranges): New function.
7065 (s390_register_info): Use new macros above. Call
7066 s390_register_info_set_ranges.
7067 (s390_optimize_register_info): Likewise.
7068 (s390_hard_regno_rename_ok): Use new macros.
7069 (s390_hard_regno_scratch_ok): Likewise.
7070 (s390_emit_epilogue): Likewise.
7071 (s390_can_use_return_insn): Likewise.
7072 (s390_optimize_prologue): Likewise.
7073 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
7074
7075 2016-02-05 Jakub Jelinek <jakub@redhat.com>
7076
7077 PR bootstrap/69677
7078 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
7079 alignment fixes.
7080 (ix86_option_override_internal): Disable TARGET_STV even for
7081 -m{incoming,preferred}-stack-boundary=3.
7082
7083 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7084
7085 * config.gcc: Mark deprecated rtems targets as obsolete.
7086
7087 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
7088
7089 PR rtl-optimization/64682
7090 PR rtl-optimization/69567
7091 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
7092 before I2 only if the register is both used and set in I2.
7093
7094 2016-02-04 DJ Delorie <dj@redhat.com>
7095
7096 * config/msp430/msp430.c (msp430_start_function): Add function type.
7097
7098 2016-02-04 Jakub Jelinek <jakub@redhat.com>
7099
7100 PR fortran/69368
7101 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
7102
7103 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
7104
7105 PR rtl-optimization/69577
7106 Revert:
7107 2015-10-29 Richard Henderson <rth@redhat.com>
7108
7109 PR target/68124
7110 PR rtl-opt/67609
7111 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
7112 sse check to the exact conditions of PR 67609.
7113
7114 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
7115
7116 PR target/69667
7117 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
7118 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
7119 not allowed into the traditional Altivec registers.
7120 (movtd_64bit_nodm): Likewise.
7121 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
7122
7123 2016-02-04 David Malcolm <dmalcolm@redhat.com>
7124
7125 * config/aarch64/cortex-a57-fma-steering.c
7126 (aarch64_register_fma_steering): Remove "static" from arguments
7127 to register_pass.
7128
7129 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
7130
7131 PR target/69619
7132 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
7133 twice when complex.
7134
7135 2016-02-04 Mike Frysinger <vapier@gentoo.org>
7136
7137 * doc/invoke.texi: Delete -mno-fma4.
7138
7139 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
7140
7141 PR rtl-optimization/69577
7142 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
7143 (find_subregs_of_mode): Update accordingly. Iterate over partial
7144 definitions.
7145
7146 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
7147
7148 * config/arm/arm-protos.h (neon_reinterpret): Remove.
7149 * config/arm/arm.c (neon_reinterpret): Remove.
7150 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
7151 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
7152 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
7153 vreinterpretti): Remove.
7154 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
7155 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
7156 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
7157 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
7158 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
7159 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
7160 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
7161 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
7162 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
7163 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
7164 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
7165 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
7166 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
7167 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
7168 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
7169 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
7170 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
7171 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
7172 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
7173 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
7174 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
7175 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
7176 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
7177 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
7178 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
7179 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
7180 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
7181 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
7182 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
7183 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
7184 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
7185 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
7186 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
7187 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
7188 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
7189 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
7190 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
7191 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
7192 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
7193 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
7194 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
7195 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
7196 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
7197 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
7198 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
7199 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
7200 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
7201 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
7202 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
7203 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
7204 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
7205 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
7206 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
7207 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
7208 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
7209 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
7210 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
7211 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
7212 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
7213 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
7214 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
7215 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
7216 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
7217 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
7218 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
7219 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
7220 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
7221 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
7222 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
7223 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
7224 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
7225 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
7226 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
7227 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
7228 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
7229 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
7230 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
7231 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
7232 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
7233 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
7234 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
7235 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
7236 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
7237 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
7238 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
7239 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
7240 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
7241 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
7242 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
7243 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
7244 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
7245 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
7246 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
7247 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
7248 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
7249 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
7250 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
7251 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
7252 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
7253 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
7254 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
7255 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
7256 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
7257
7258 2016-02-04 Martin Liska <mliska@suse.cz>
7259
7260 PR sanitizer/69276
7261 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
7262 that are gimple_store_p.
7263 (maybe_instrument_call): Likewise.
7264
7265 2016-02-04 Bin Cheng <bin.cheng@arm.com>
7266
7267 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
7268 register scaling out of memory reference and comment why.
7269
7270 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7271
7272 PR target/65932
7273 PR target/67714
7274 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
7275 folding the source of a SET.
7276
7277 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7278
7279 PR target/65932
7280 PR target/67714
7281 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
7282 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
7283
7284 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
7285
7286 PR target/65932
7287 PR target/67714
7288 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
7289 HImode.
7290
7291 2016-02-04 Christian Bruel <christian.bruel@st.com>
7292
7293 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
7294 * config/arm/arm.c (arm_set_current_function): Likewise.
7295
7296 2016-02-04 Jakub Jelinek <jakub@redhat.com>
7297 Ilya Enkovich <enkovich.gnu@gmail.com>
7298 H.J. Lu <hongjiu.lu@intel.com>
7299
7300 PR target/69454
7301 * config/i386/i386.c (convert_scalars_to_vector): Remove
7302 stack alignment fixes.
7303 (ix86_option_override_internal): Disable TARGET_STV if stack
7304 might not be aligned enough.
7305 (ix86_minimum_alignment): Assert that TARGET_STV is false.
7306
7307 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
7308
7309 * gcc/config/i386/x86-tune.def: Disable default prefetching
7310 for -march=znver1.
7311
7312 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
7313 Vladimir Makarov <vmakarov@redhat.com>
7314
7315 PR target/69461
7316 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
7317 in validating fused toc addresses.
7318
7319 2016-02-03 Jakub Jelinek <jakub@redhat.com>
7320
7321 PR c/69627
7322 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
7323 range->m_caret fields if range->m_show_caret_p is false.
7324
7325 PR target/69644
7326 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
7327 Force oldval into register if it does not satisfy reg_or_short_operand
7328 predicate. Fix up formatting.
7329
7330 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
7331 Alexandre Oliva <aoliva@redhat.com>
7332
7333 PR target/69461
7334 * lra-constraints.c (simplify_operand_subreg): Check additionally
7335 address validity after potential reloading.
7336 (process_address_1): Check insns validity. In case of failure do
7337 nothing.
7338
7339 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
7340
7341 PR target/69118
7342 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
7343 Fix target.
7344
7345 2016-02-02 Jakub Jelinek <jakub@redhat.com>
7346
7347 * wide-int.cc (canonize_uhwi): New function.
7348 (wi::divmod_internal): Use it.
7349
7350 2016-02-02 James Norris <jnorris@codesourcery.com
7351
7352 * gimplify.c (omp_notice_variable): Add usage check.
7353
7354 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
7355
7356 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
7357 like LE, GE, LT, GT when emitting relational operator.
7358
7359 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
7360
7361 * ira-costs.c (find_costs_and_classes): Add extra argument.
7362 * target.def (ira_change_pseudo_allocno_class): Add parameter.
7363 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
7364 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
7365 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
7366 Add best_class parameter, and return it if not ALL_REGS.
7367 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
7368 Add parameter.
7369 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
7370 Update target hook.
7371
7372 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
7373
7374 * config/aarch64/aarch64.c
7375 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
7376 (aarch64_ira_change_pseudo_allocno_class): New function.
7377
7378 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
7379
7380 PR target/67032
7381 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
7382
7383 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7384
7385 * config/avr/avr.c (avr_option_override): Set
7386 PARAM_ALLOW_STORE_DATA_RACES to 1.
7387
7388 2016-02-02 Richard Biener <rguenther@suse.de>
7389
7390 PR tree-optimization/69595
7391 * match.pd: Add range test simplifications to true/false.
7392
7393 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
7394
7395 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
7396 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
7397 instead.
7398
7399 2016-02-02 Richard Biener <rguenther@suse.de>
7400
7401 PR tree-optimization/69606
7402 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
7403 info on the result before moving a stmt.
7404
7405 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
7406
7407 PR middle-end/68542
7408 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
7409 branch with vector comparison.
7410 * config/i386/sse.md (VI48_AVX): New mode iterator.
7411 (define_expand "cbranch<mode>4): Add support for conditional branch
7412 with vector comparison.
7413 * tree-vect-loop.c (optimize_mask_stores): New function.
7414 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
7415 has_mask_store field of vect_info.
7416 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
7417 vectorized loops having masked stores after vec_info destroy.
7418 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
7419 correspondent macros.
7420 (optimize_mask_stores): Add prototype.
7421
7422 2016-02-02 Alan Modra <amodra@gmail.com>
7423
7424 PR target/69548
7425 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
7426 allow subregs.
7427
7428 2016-02-02 Alan Modra <amodra@gmail.com>
7429
7430 PR target/68662
7431 * config/rs6000/rs6000.c (need_toc_init): New var, set it
7432 whenever toc_label_name used.
7433 (rs6000_file_start): Don't set up toc section here,
7434 (rs6000_output_function_epilogue): do so here instead,
7435 (rs6000_xcoff_file_start): and here.
7436 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
7437 (load_toc_aix_di): Likewise.
7438
7439 2016-02-01 Jakub Jelinek <jakub@redhat.com>
7440
7441 PR rtl-optimization/69592
7442 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
7443 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
7444 (num_sign_bit_copies_binary_arith_p): New inline function.
7445 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
7446
7447 2016-02-01 Jeff Law <law@redhat.com>
7448
7449 PR tree-optimization/69580
7450 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
7451 * tree-ssa-threadbackward.c
7452 (fsm_find_control_statement_thread_paths): Do not try to walk
7453 through large PHI nodes.
7454
7455 2016-02-01 Jakub Jelinek <jakub@redhat.com>
7456
7457 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
7458 when count is incremented above limit, don't analyze further
7459 insns afterwards.
7460
7461 * omp-low.c (oacc_parse_default_dims): Avoid
7462 -Wsign-compare warning, make sure value fits into int
7463 rather than just unsigned int.
7464
7465 2016-02-01 Bin Cheng <bin.cheng@arm.com>
7466
7467 PR tree-optimization/67921
7468 * fold-const.c (split_tree): New parameters. Convert pointer
7469 type variable part to proper type before negating.
7470 (fold_binary_loc): Pass new arguments to split_tree.
7471
7472 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
7473
7474 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
7475 (nvptx_goacc_validate_dims): Extend to handle global defaults.
7476 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
7477 * doc/tm.texti: Rebuilt.
7478 * doc/invoke.texi (fopenacc-dim): Document.
7479 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
7480 (append_compiler_options): Likewise.
7481 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
7482 (oacc_parse_default_dims): New.
7483 (oacc_validate_dims): Add USED arg. Select non-unity default when
7484 possible.
7485 (oacc_loop_fixed_partitions): Return mask of used partitions.
7486 (oacc_loop_auto_partitions): Emit dump info.
7487 (oacc_loop_partition): Return mask of used partitions.
7488 (execute_oacc_device_lower): Parse default dimension arg. Adjust
7489 loop partitioning and validation calls.
7490
7491 2016-02-01 Richard Biener <rguenther@suse.de>
7492
7493 PR middle-end/69556
7494 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
7495
7496 2016-02-01 Richard Biener <rguenther@suse.de>
7497
7498 PR tree-optimization/69574
7499 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
7500 of asserting return chrec_dont_know.
7501
7502 2016-02-01 Martin Liska <mliska@suse.cz>
7503
7504 * mem-stats-traits.h: Add copyright header.
7505 * mem-stats.h: Likewise.
7506
7507 2016-02-01 Richard Biener <rguenther@suse.de>
7508
7509 PR tree-optimization/69579
7510 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
7511 Do not propagate through abnormal PHI results.
7512
7513 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
7514
7515 * postreload.c (reload_cse_simplify): Remove dead code.
7516
7517 2016-02-01 Jakub Jelinek <jakub@redhat.com>
7518
7519 PR rtl-optimization/69570
7520 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
7521 if there is more than one set, not if there is a single set.
7522
7523 2016-02-01 Richard Henderson <rth@redhat.com>
7524
7525 PR rtl-opt/69535
7526 * combine.c (make_compound_operation): When looking through a
7527 subreg, make sure to re-extend to the width of the outer mode.
7528
7529 2016-01-30 Jakub Jelinek <jakub@redhat.com>
7530
7531 PR tree-optimization/69546
7532 * wide-int.cc (wi::divmod_internal): For unsigned division
7533 where both operands fit into uhwi, if o1 is 1 and o0 has
7534 msb set, if divident_prec is larger than bits per hwi,
7535 clear another quotient word and return 2 instead of 1.
7536 Similarly for remainder with msb in HWI set, if dividend_prec
7537 is larger than bits per hwi.
7538
7539 2016-01-29 Martin Jambor <mjambor@suse.cz>
7540
7541 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
7542 Use short lowercase names.
7543 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
7544 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
7545 acq_rel one. Protect warning agains segfaults if
7546 get_memory_order_name returns NULL.
7547 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
7548 with release semantics. Do not warn if get_memory_order already did.
7549 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
7550 semantics. Fix check for relaxed or acquire semantics. Do not warn
7551 if get_memory_order already did.
7552
7553 2016-01-29 Sebastian Pop <s.pop@samsung.com>
7554
7555 * doc/install.texi: Document that isl-0.16 is supported.
7556
7557 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
7558
7559 PR target/69299
7560 * config/i386/constraints.md (Bm): Describe as special memory
7561 constraint.
7562 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
7563 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
7564 * genpreds.c (struct constraint_data): Add is_special_memory.
7565 (have_special_memory_constraints, special_memory_start): New
7566 static vars.
7567 (special_memory_end): Ditto.
7568 (add_constraint): Add new arg is_special_memory. Add code to
7569 process its true value. Update have_special_memory_constraints.
7570 (process_define_constraint): Pass the new arg.
7571 (process_define_register_constraint): Ditto.
7572 (choose_enum_order): Process special memory.
7573 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
7574 function insn_extra_special_memory_constraint.
7575 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
7576 * gensupport.c (process_rtx): Process
7577 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
7578 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
7579 * ira-lives.c (single_reg_class): Use
7580 insn_extra_special_memory_constraint.
7581 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
7582 * lra-constraints.c (process_alt_operands): Ditto.
7583 (curr_insn_transform): Use insn_extra_special_memory_constraint.
7584 * recog.c (asm_operand_ok, preprocess_constraints): Process
7585 CT_SPECIAL_MEMORY.
7586 * reload.c (find_reloads): Ditto.
7587 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
7588 * stmt.c (parse_input_constraint): Use
7589 insn_extra_special_memory_constraint.
7590
7591 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
7592
7593 PR target/69530
7594 * lra-splill.c (lra_final_code_change): Revert r229087 by
7595 removing all sub-registers.
7596
7597 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
7598
7599 PR target/65604
7600 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
7601
7602 2016-01-29 Jakub Jelinek <jakub@redhat.com>
7603
7604 PR target/69551
7605 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
7606 SSE1, copy target into the temporary reg first before recursing
7607 on it.
7608
7609 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
7610
7611 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
7612 with vm.
7613
7614 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
7615
7616 * ginclude/stdarg.h: Test __cplusplus instead of
7617 __GXX_EXPERIMENTAL_CXX0X__.
7618
7619 2016-01-29 Richard Biener <rguenther@suse.de>
7620
7621 PR tree-optimization/69547
7622 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
7623 Do not mark clobbers necessary.
7624 (mark_all_reaching_defs_necessary_1): Likewise.
7625
7626 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7627
7628 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
7629 declaration name with %qs and print it in both error messages.
7630 Also fix indentation.
7631
7632 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
7633
7634 PR other/69006
7635 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
7636 trailing blank line from error message.
7637
7638 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
7639
7640 PR c++/69462
7641 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
7642 for C++-11.
7643
7644 2016-01-29 Richard Biener <rguenther@suse.de>
7645
7646 PR middle-end/69537
7647 * match.pd: Allow all integral types when simplifying a
7648 widening or sign-changing conversion.
7649
7650 2016-01-28 Sebastian Pop <s.pop@samsung.com>
7651
7652 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
7653 back to setting codegen_error to fail codegen.
7654
7655 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
7656
7657 PR target/69459
7658 * config/i386/constraints.md (C): Only accept constant zero operand.
7659 (BC): New constraint.
7660 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
7661 instead of C constraint.
7662 * doc/md.texi (Machine Constraints): Update description
7663 of C constraint.
7664
7665 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
7666
7667 PR target/68400
7668 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
7669
7670 2016-01-28 Jakub Jelinek <jakub@redhat.com>
7671
7672 PR middle-end/69542
7673 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
7674 non-debug insns.
7675
7676 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
7677
7678 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
7679 branches if using guessed profile.
7680
7681 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
7682
7683 * graphite-optimize-isl.c (optimize_isl): Fix dump.
7684
7685 2016-01-28 Richard Henderson <rth@redhat.com>
7686
7687 PR target/69305
7688 * config/aarch64/aarch64-modes.def (CC_Cmode): New
7689 * config/aarch64/aarch64-protos.h: Update.
7690 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
7691 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
7692 (aarch64_get_condition_code_1): Handle CC_Cmode.
7693 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
7694 (*add<mode>3_compareC_cconly_imm): New.
7695 (*add<mode>3_compareC_cconly): New.
7696 (*add<mode>3_compareC_imm): New.
7697 (add<mode>3_compareC): New.
7698 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
7699 to be first. Use aarch64_carry_operation.
7700 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
7701 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
7702 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
7703 (subti3): Use subdi3_compare1.
7704 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
7705 (sub<mode>3_compare1): New.
7706 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
7707 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
7708 (*subsi3_carryin_uxtw): Likewise.
7709 (*ngc<mode>, *ngcsi_uxtw): Likewise.
7710 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
7711 * config/aarch64/iterators.md (DWI): New.
7712 * config/aarch64/predicates.md (aarch64_carry_operation): New.
7713 (aarch64_borrow_operation): New.
7714
7715 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
7716
7717 * graphite-optimize-isl.c (optimize_isl): Print a different debug
7718 message when isl does not return a valid schedule.
7719
7720 2016-01-28 Sebastian Pop <s.pop@samsung.com>
7721
7722 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
7723 Remove comments from class declarations: they are already in the code
7724 close by the defs.
7725
7726 2016-01-28 Sebastian Pop <s.pop@samsung.com>
7727
7728 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
7729 codegen_error_p.
7730 (ternary_op_to_tree): Same.
7731 (unary_op_to_tree): Same.
7732 (nary_op_to_tree): Same.
7733 (gcc_expression_from_isl_expr_op): Same.
7734 (gcc_expression_from_isl_expression): Same.
7735 (graphite_create_new_loop): Same.
7736 (graphite_create_new_loop_guard): Same.
7737 (build_iv_mapping): Same.
7738 (graphite_create_new_guard): Same.
7739 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
7740 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
7741
7742 2016-01-28 Sebastian Pop <s.pop@samsung.com>
7743
7744 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
7745 instead of setting codegen_error to fail codegen.
7746
7747 2016-01-28 Jason Merrill <jason@redhat.com>
7748
7749 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
7750
7751 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
7752
7753 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
7754 Remove CONST_INT_P check in CCMP cost calculation.
7755
7756 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
7757
7758 * config/aarch64/aarch64.c (generic_vector_cost):
7759 Set vec_permute_cost.
7760 (cortexa57_vector_cost): Likewise.
7761 (exynosm1_vector_cost): Likewise.
7762 (xgene1_vector_cost): Likewise.
7763 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
7764 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
7765 Add vec_permute_cost entry.
7766
7767 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
7768
7769 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
7770 immediate as %1.
7771 (add<mode>3_compare0): Likewise.
7772 (addsi3_compare0_uxtw): Likewise.
7773 (add<mode>3nr_compare0): Likewise.
7774 (compare_neg<mode>): Likewise.
7775 (<optab><mode>3): Likewise.
7776
7777 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
7778
7779 * tree-vect-stmts.c (vectorizable_comparison): Add
7780 NULL check for vectype.
7781
7782 2016-01-28 Richard Biener <rguenther@suse.de>
7783
7784 PR tree-optimization/69466
7785 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
7786 Account for PHIs we couldn't duplicate.
7787
7788 2016-01-28 Martin Liska <mliska@suse.cz>
7789
7790 PR pch/68758
7791 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
7792 instead of ENABLE_VALGRIND_CHECKING.
7793
7794 2016-01-27 Richard Henderson <rth@redhat.com>
7795
7796 PR rtl-opt/69447
7797 * lra-remat.c (subreg_regs): New.
7798 (dump_candidates_and_remat_bb_data): Dump it.
7799 (operand_to_remat): Reject if operand in subreg_regs.
7800 (set_bb_regs): Collect subreg_regs.
7801 (lra_remat): Init and free subreg_regs. Compute
7802 calculate_local_reg_remat_bb_data before create_cands.
7803
7804 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
7805
7806 PR target/68986
7807 * config/i386/i386.c (ix86_update_stack_boundary): Don't
7808 change stack_alignment_needed for __tls_get_addr call.
7809
7810 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
7811
7812 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
7813
7814 2016-01-27 Jeff Law <law@redhat.com>
7815
7816 PR tree-optimization/68398
7817 PR tree-optimization/69196
7818 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
7819 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
7820 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
7821 Only count PHIs in the last block in the path. The others will
7822 const/copy propagate away. Add heuristic to allow more irreducible
7823 subloops to be created when it is likely profitable to do so.
7824
7825 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
7826 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
7827 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
7828
7829 2016-01-27 Jakub Jelinek <jakub@redhat.com>
7830
7831 PR lto/69254
7832 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
7833 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
7834 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
7835 * tree-streamer-in.c: Include asan.h.
7836 (streamer_get_builtin_tree): For builtins in sanitizer
7837 range call initialize_sanitizer_builtins and retry.
7838
7839 2016-01-27 Ian Lance Taylor <iant@google.com>
7840
7841 * common.opt (fkeep-gc-roots-live): New undocumented option.
7842 * tree-ssa-loop-ivopts.c (add_candidate_1): If
7843 -fkeep-gc-roots-live, skip pointers.
7844 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
7845 NULL.
7846
7847 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
7848
7849 PR target/69512
7850 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
7851 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
7852
7853 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
7854
7855 PR target/68380
7856 * configure.ac: NetBSD provides SSP in its C library.
7857 * configure: Updated.
7858
7859 2016-01-27 Richard Biener <rguenther@suse.de>
7860
7861 PR tree-optimization/69166
7862 * tree-vect-loop.c (vect_is_simple_reduction): Always check
7863 reduction code for commutativity / associativity.
7864
7865 2016-01-27 Martin Jambor <mjambor@suse.cz>
7866
7867 PR tree-optimization/69355
7868 * tree-sra.c (analyze_access_subtree): Correct hole detection when
7869 total_scalarization fails.
7870
7871 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
7872
7873 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
7874 power9.
7875
7876 2016-01-27 Christian Bruel <christian.bruel@st.com>
7877
7878 PR target/69245
7879 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
7880 Move arm_reset_previous_fndecl and set_target_option_current_node in
7881 the conditional part. Call save_restore_target_globals.
7882 * config/arm/arm.c (arm_set_current_function):
7883 Refactor to better support #pragma target and attribute mix.
7884 Call save_restore_target_globals.
7885 * config/arm/arm-protos.h (save_restore_target_globals): New function.
7886
7887 2016-01-27 Martin Liska <mliska@suse.cz>
7888
7889 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
7890 reference for an HSA kernel and its host function.
7891
7892 2016-01-27 Jakub Jelinek <jakub@redhat.com>
7893
7894 PR tree-optimization/69399
7895 * wide-int.h (wi::lrshift): For larger precisions, only
7896 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
7897
7898 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
7899
7900 * config/arc/predicates.md (proper_comparison_operator): Reject
7901 constant-constant comparison.
7902
7903 2016-01-26 Tom de Vries <tom@codesourcery.com>
7904
7905 PR tree-optimization/69110
7906 * tree-data-ref.c (initialize_data_dependence_relation): Handle
7907 DR_NUM_DIMENSIONS == 0.
7908
7909 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
7910 Sebastian Pop <s.pop@samsung.com>
7911
7912 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
7913 isl_ast_op_cond and isl_ast_op_select.
7914 (gcc_expression_from_isl_expr_op): Same.
7915
7916 2016-01-26 Jason Merrill <jason@redhat.com>
7917
7918 PR c++/68782
7919 * tree.c (recompute_constructor_flags): Split out from
7920 build_constructor.
7921 (verify_constructor_flags): New.
7922 * tree.h: Declare them.
7923
7924 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
7925
7926 PR rtl-optimization/69217
7927 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
7928 are no TYPE_FIELDS set for the record type.
7929
7930 2016-01-26 Jakub Jelinek <jakub@redhat.com>
7931
7932 PR target/68662
7933 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
7934 toc_label_name unconditionally.
7935 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
7936 SYMBOL_REF string. Use toc_label_name instead of constructing
7937 LCTOC1.
7938 (rs6000_elf_declare_function_name): Use toc_label_name instead of
7939 constructing LCTOC1.
7940
7941 2016-01-26 Martin Sebor <msebor@redhat.com>
7942
7943 PR other/69477
7944 * doc/extend.texi (Common Type Attributes): Move text that talks about
7945 attribute packed from attribute aligned to the section discussing
7946 the former attribute for clarity.
7947
7948 2016-01-26 Richard Henderson <rth@redhat.com>
7949
7950 PR middle-end/60908
7951 * trans-mem.c (tm_region_init): Mark entry block as visited.
7952
7953 2016-01-26 David Malcolm <dmalcolm@redhat.com>
7954
7955 PR other/69006
7956 * diagnostic-show-locus.c (layout::print_source_line): Replace
7957 call to pp_newline with call to layout::print_newline.
7958 (layout::print_annotation_line): Likewise.
7959 (layout::move_to_column): Likewise.
7960 (layout::print_any_fixits): After printing any fixits, print a
7961 trailing newline, if necessary.
7962 (layout::print_newline): New method, resetting any colorization
7963 before a newline.
7964 (diagnostic_show_locus): Move the pp_newline to before the
7965 early bailout. Remove dummy block enclosing the layout instance.
7966 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
7967 of pp_newline_and_flush with pp_flush.
7968 (diagnostic_append_note): Delete use of pp_newline.
7969 (diagnostic_append_note_at_rich_loc): Delete.
7970 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
7971 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
7972 when newline characters are added to the buffer.
7973
7974 2016-01-26 Michael Matz <matz@suse.de>
7975
7976 * configure.ac (ac_cv_std_swap_in_utility): New test.
7977 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
7978 * configure: Regenerate.
7979 * config.in: Regenerate.
7980
7981 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
7982
7983 * config/arc/arc.md (cstoresi4): Force operand into register.
7984 (arcset<code>): Fix predicate.
7985 (arcsetltu): Likewise.
7986 (arcsetgeu): Likewise.
7987 (arcsethi): Likewise.
7988 (arcsetls): Likewise.
7989
7990 2016-01-26 Jakub Jelinek <jakub@redhat.com>
7991
7992 PR tree-optimization/69483
7993 * gimple-fold.c (canonicalize_constructor_val): Return NULL
7994 if base has error_mark_node type.
7995
7996 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
7997
7998 PR target/68620
7999 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
8000 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
8001 New helper macros.
8002 (vget_lane_f16): Handle big-endian.
8003 (vgetq_lane_f16): Likewise.
8004 (vset_lane_f16): Likewise.
8005 (vsetq_lane_f16): Likewise.
8006 * config/arm/iterators.md (VQXMOV): Add V8HF.
8007 (VDQ): Add V4HF and V8HF.
8008 (V_reg): Handle V4HF and V8HF.
8009 (Is_float_mode): Likewise.
8010 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
8011 neon_vdup_nv8hf): New patterns.
8012 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
8013 Use VD_LANE iterator.
8014 (neon_vld1_dup<mode>): Use VQ2 iterator.
8015
8016 2016-01-26 Nathan Sidwell <nathan@acm.org>
8017
8018 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
8019 (set_oacc_fn_attrib): Add IS_KERNEL arg.
8020 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
8021 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
8022 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
8023 (oacc_validate_dims): Add LEVEL arg, don't return level.
8024 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
8025 oacc_validate_dims.
8026 (execute_oacc_device_lower): Adjust, add more dump output.
8027 * tree-ssa-loop.c (gate_oacc_kernels): Use
8028 oacc_fn_attrib_kernels_p.
8029 * tree-parloops.c (create_parallel_loop): Adjust
8030 set_oacc_fn_attrib call.
8031
8032 2016-01-26 Jakub Jelinek <jakub@redhat.com>
8033
8034 PR lto/69254
8035 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
8036 (append_compiler_options): Handle -fcilkplus.
8037 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
8038
8039 2016-01-26 Nick Clifton <nickc@redhat.com>
8040
8041 PR target/66655
8042 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
8043 been marked as DECL_ONE_ONLY but we do not the means to make it
8044 so, then do not allow it to bind locally.
8045
8046 2016-01-26 Jakub Jelinek <jakub@redhat.com>
8047
8048 PR lto/69254
8049 * opts.h (parse_sanitizer_options): New prototype.
8050 * opts.c (sanitizer_opts): New array.
8051 (parse_sanitizer_options): New function.
8052 (common_handle_option): Use parse_sanitizer_options.
8053
8054 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
8055
8056 PR target/68986
8057 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
8058 alignment adjustment to ...
8059 (ix86_update_stack_boundary): Here. Don't over-align stack for
8060 __tls_get_addr.
8061 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
8062 if __tls_get_addr is called.
8063
8064 2016-01-26 Christian Bruel <christian.bruel@st.com>
8065
8066 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
8067
8068 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
8069
8070 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
8071
8072 2016-01-26 Richard Biener <rguenther@suse.de>
8073
8074 PR middle-end/69467
8075 * match.pd: Guard X * CST CMP 0 pattern with single_use.
8076
8077 2016-01-26 Richard Biener <rguenther@suse.de>
8078
8079 PR tree-optimization/69452
8080 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
8081 (move_computations_dom_walker::before_dom_children): Rename
8082 to ...
8083 (move_computations_worker): This.
8084 (move_computations): Perform an RPO rather than a DOM walk.
8085
8086 2016-01-26 Jakub Jelinek <jakub@redhat.com>
8087
8088 PR target/69442
8089 * combine.c (combine_instructions): For REG_EQUAL note with
8090 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
8091 to the underlying register.
8092 * doc/rtl.texi (REG_EQUAL): Document the behavior of
8093 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
8094
8095 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
8096
8097 PR target/67896
8098 * config/aarch64/aarch64-builtins.c
8099 (aarch64_init_simd_builtin_types): Do not set structural
8100 equality to __Poly{8,16,64,128}_t types.
8101
8102 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
8103
8104 PR tree-optimization/69400
8105 * wide-int.cc (wi_pack): Take the precision as argument and
8106 perform canonicalization here rather than in the callers.
8107 Use the main loop to handle all full-width HWIs. Add a
8108 zero HWI if in_len isn't a full result.
8109 (wi::divmod_internal): Update accordingly.
8110 (wi::mul_internal): Likewise. Simplify.
8111
8112 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
8113 Sebastian Pop <s.pop@samsung.com>
8114
8115 * graphite-poly.c (apply_poly_transforms): Simplify.
8116 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
8117 (print_isl_map): Same.
8118 (print_isl_union_map): Same.
8119 (print_isl_schedule): New.
8120 (debug_isl_schedule): New.
8121 * graphite-dependences.c (scop_get_reads): Do not call
8122 isl_union_map_add_map that is undocumented isl functionality.
8123 (scop_get_must_writes): Same.
8124 (scop_get_may_writes): Same.
8125 (scop_get_original_schedule): Remove.
8126 (scop_get_dependences): Do not call isl_union_map_compute_flow that
8127 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
8128 (compute_deps): Remove.
8129 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
8130 (debug_schedule_ast): New.
8131 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
8132 set_separate_option.
8133 (graphite_regenerate_ast_isl): Add dump.
8134 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
8135 from scop->transformed_schedule.
8136 (graphite_regenerate_ast_isl): Add more dump.
8137 * graphite-optimize-isl.c (optimize_isl): Set
8138 scop->transformed_schedule. Check whether schedules are equal.
8139 (apply_poly_transforms): Move here.
8140 * graphite-poly.c (apply_poly_transforms): ... from here.
8141 (free_poly_bb): Static.
8142 (free_scop): Static.
8143 (pbb_number_of_iterations_at_time): Remove.
8144 (print_isl_ast): New.
8145 (debug_isl_ast): New.
8146 (debug_scop_pbb): New.
8147 * graphite-scop-detection.c (print_edge): Move.
8148 (print_sese): Move.
8149 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
8150 (build_scop_scattering): Remove.
8151 (create_pw_aff_from_tree): Assert instead of bailing out.
8152 (add_condition_to_pbb): Remove unused code, do not fail.
8153 (add_conditions_to_domain): Same.
8154 (add_conditions_to_constraints): Remove.
8155 (build_scop_context): New.
8156 (add_iter_domain_dimension): New.
8157 (build_iteration_domains): Initialize pbb->iterators.
8158 Call add_conditions_to_domain.
8159 (nested_in): New.
8160 (loop_at): New.
8161 (index_outermost_in_loop): New.
8162 (index_pbb_in_loop): New.
8163 (outermost_pbb_in): New.
8164 (add_in_sequence): New.
8165 (add_outer_projection): New.
8166 (outer_projection_mupa): New.
8167 (add_loop_schedule): New.
8168 (build_schedule_pbb): New.
8169 (build_schedule_loop): New.
8170 (embed_in_surrounding_loops): New.
8171 (build_schedule_loop_nest): New.
8172 (build_original_schedule): New.
8173 (build_poly_scop): Call build_original_schedule.
8174 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
8175 (free_poly_dr): Remove.
8176 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
8177 (free_poly_bb): Remove.
8178 (debug_loop_vec): Remove.
8179 (print_isl_ast): Declare.
8180 (debug_isl_ast): Declare.
8181 (scop_do_interchange): Remove.
8182 (scop_do_strip_mine): Remove.
8183 (scop_do_block): Remove.
8184 (flatten_all_loops): Remove.
8185 (optimize_isl): Remove.
8186 (pbb_number_of_iterations_at_time): Remove.
8187 (debug_scop_pbb): Declare.
8188 (print_schedule_ast): Declare.
8189 (debug_schedule_ast): Declare.
8190 (struct scop): Remove schedule. Add original_schedule,
8191 transformed_schedule.
8192 (free_gimple_poly_bb): Remove.
8193 (print_generated_program): Remove.
8194 (debug_generated_program): Remove.
8195 (unify_scattering_dimensions): Remove.
8196 * sese.c (print_edge): ... here.
8197 (print_sese): ... here.
8198 (debug_edge): ... here.
8199 (debug_sese): ... here.
8200 * sese.h (print_edge): Declare.
8201 (print_sese): Declare.
8202 (dump_edge): Declare.
8203 (dump_sese): Declare.
8204
8205 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
8206 Sebastian Pop <s.pop@samsung.com>
8207
8208 * Makefile.in: Set ISLVER in site.exp.
8209
8210 2016-01-25 Jakub Jelinek <jakub@redhat.com>
8211
8212 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
8213 DECL_VALUE_EXPR of new_var even for the non-array case. Look
8214 through DECL_VALUE_EXPR for expansion.
8215
8216 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
8217
8218 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
8219 the frame info after reload completed.
8220
8221 2016-01-25 Jeff Law <law@redhat.com>
8222
8223 PR tree-optimization/69196
8224 PR tree-optimization/68398
8225 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
8226 tree-ssa-threadupdate.c.
8227 (determine_bb_domination_status): Prototype
8228 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
8229 (determine_bb_domination_status): No longer static.
8230 (valid_jump_thread_path): Remove code to detect characteristics
8231 of the jump thread path not associated with correctness.
8232 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
8233 Correct test for thread path length. Count PHIs for real operands as
8234 statements that need to be copied. Do not count ASSERT_EXPRs.
8235 Look at all the blocks in the thread path. Compute and selectively
8236 filter thread paths based on threading through the latch, threading
8237 a multiway branch or crossing a multiway branch.
8238
8239 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8240
8241 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
8242 decl with __attribute__ ((unused)) annotation.
8243
8244 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
8245
8246 PR target/69421
8247 * tree-vect-stmts.c (vectorizable_condition): Check vectype
8248 of operands is compatible with a statement vectype.
8249
8250 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
8251
8252 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
8253 improve wording for mixed storage order support.
8254
8255 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
8256
8257 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
8258 (vcvt_u64_f64): Likewise.
8259 (vcvta_s64_f64): Likewise.
8260 (vcvta_u64_f64): Likewise.
8261 (vcvtm_s64_f64): Likewise.
8262 (vcvtm_u64_f64): Likewise.
8263 (vcvtn_s64_f64): Likewise.
8264 (vcvtn_u64_f64): Likewise.
8265 (vcvtp_s64_f64): Likewise.
8266 (vcvtp_u64_f64): Likewise.
8267
8268 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
8269
8270 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
8271 (arc_init): Check validity mll64 option.
8272 (arc_save_restore): Use double load/store instruction.
8273 (arc_expand_movmem): Likewise.
8274 (arc_split_move): Don't split if we have double load/store
8275 instructions. Returns a boolean.
8276 (arc_process_double_reg_moves): Change function to return boolean
8277 instead of a sequence of instructions.
8278 (arc_dwarf_register_span): New function.
8279 * config/arc/arc-protos.h (arc_split_move): Change prototype.
8280 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
8281 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
8282 (*movdf_insn): Likewise.
8283 * config/arc/arc.opt (mll64): New option.
8284 * config/arc/predicates.md (even_register_operand): New predicate.
8285 * doc/invoke.texi (ARC Options): Add mll64 documentation.
8286
8287 2016-01-25 Richard Biener <rguenther@suse.de>
8288
8289 PR lto/69393
8290 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
8291 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
8292 DECL_NAMELESS.
8293 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
8294
8295 2016-01-25 Richard Biener <rguenther@suse.de>
8296
8297 PR tree-optimization/69376
8298 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
8299 flag.
8300 (VN_INFO_ANTI_RANGE_P): New inline.
8301 (VN_INFO_RANGE_TYPE): Likewise.
8302 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
8303 SSA_NAME_ANTI_RANGE_P.
8304 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
8305 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
8306 Properly query VN_INFO_RANGE_TYPE.
8307
8308 2016-01-25 Nick Clifton <nickc@redhat.com>
8309
8310 PR target/66655
8311 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
8312
8313 2016-01-23 Tom de Vries <tom@codesourcery.com>
8314
8315 PR tree-optimization/69426
8316 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
8317 removed clobber.
8318
8319 2016-01-23 Jakub Jelinek <jakub@redhat.com>
8320
8321 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
8322 "the the" with "the" in the comments.
8323 * ipa-devirt.c (build_type_inheritance_graph,
8324 update_type_inheritance_graph): Likewise.
8325 * tree.c (build_function_type_list_1): Likewise.
8326 * cfgloopmanip.c (scale_loop_profile): Likewise.
8327 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
8328 * gimple-ssa-split-paths.c
8329 (find_block_to_duplicate_for_splitting_paths): Likewise.
8330 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
8331 * expr.c (convert_move): Likewise.
8332 * var-tracking.c (vt_stack_adjustments): Likewise.
8333 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
8334 * tree-vrp.c (test_for_singularity): Likewise.
8335
8336 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
8337 directly instead of building a temporary tree.
8338
8339 PR bootstrap/69434
8340 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
8341 remove <algorithm> include.
8342
8343 2016-01-22 Jakub Jelinek <jakub@redhat.com>
8344
8345 PR target/69432
8346 * config/i386/i386.c: Include dojump.h.
8347 (expand_small_movmem_or_setmem,
8348 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
8349 fixes.
8350 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
8351 if dynamic_check != -1.
8352
8353 2016-01-21 Jeff Law <law@redhat.com>
8354
8355 PR middle-end/69347
8356 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
8357 record_temporary_equivalences. Rewritten to avoid unnecessary calls
8358 into dominated_by_p.
8359 (cprop_into_successor_phis): Avoid unnecessary tests.
8360
8361 2016-01-22 Richard Henderson <rth@redhat.com>
8362
8363 PR target/69416
8364 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
8365 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
8366
8367 2016-01-22 Michael Matz <matz@suse.de>
8368
8369 * system.h (string, algorithm): Include only conditionally.
8370 (new): Include always under C++.
8371 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
8372 * final.c (toplevel): Ditto.
8373 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
8374 * genconditions.c (write_header): Make gencondmd.c define
8375 INCLUDE_STRING.
8376 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
8377
8378 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
8379 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
8380
8381 2016-01-22 Christian Bruel <christian.bruel@st.com>
8382
8383 PR target/68674
8384 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
8385
8386 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8387
8388 PR target/69403
8389 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
8390 define_insn_and_split. Ensure operands[1] and operands[0] do not
8391 get assigned the same register.
8392
8393 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
8394
8395 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
8396
8397 2016-01-22 Christian Bruel <christian.bruel@st.com>
8398
8399 * config/arm/arm-c.c (arm_pragma_target_parse):
8400 Remove warn_builtin_macro_redefined overwrite.
8401
8402 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
8403
8404 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
8405 flag_non_call_exceptions compatibility.
8406
8407 2016-01-22 Jakub Jelinek <jakub@redhat.com>
8408
8409 PR debug/66668
8410 * dwarf2out.c (add_child_die_after): New function.
8411 (dwarf_qual_info_t): New type.
8412 (dwarf_qual_info): New variable.
8413 (qualified_die_p): New function.
8414 (modified_type_die): For -fdebug-types-section, ensure
8415 canonical order of qualifiers. Put qualified DIEs adjacent
8416 to the corresponding non-qualified type DIE and search there
8417 for existing qualified DIEs.
8418
8419 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
8420
8421 * doc/extend.texi (scalar_storage_order type attribute): Document
8422 restriction on type punning and aliasing, and remove future tense.
8423
8424 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
8425
8426 PR target/69252
8427 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
8428 first stage.
8429
8430 2016-01-21 Jeff Law <law@redhat.com>
8431
8432 PR middle-end/69347
8433 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
8434 useless call to record_temporary_equivalences.
8435 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
8436 allocate 10 slots in the bb_path vector and let it grow as needed.
8437 (fsm_find_control_statement_thread_paths): Similarly for the next_path
8438 vector.
8439
8440 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
8441
8442 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
8443 Detangle.
8444 * configure: Regenerate.
8445
8446 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
8447
8448 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
8449 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
8450
8451 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
8452
8453 PR middle-end/66178
8454 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
8455 drop EXPAND_INITIALIZER.
8456 * rtl.h (contains_symbolic_reference_p): Declare.
8457 * rtlanal.c (contains_symbolic_reference_p): New function.
8458 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
8459 a subtraction into a NOT if symbolic constants are involved.
8460
8461 2016-01-21 Anton Blanchard <anton@samba.org>
8462 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8463
8464 PR target/63354
8465 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
8466 #define.
8467 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
8468 function.
8469
8470 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
8471
8472 * config/microblaze/microblaze.c
8473 (get_branch_target): New.
8474 (insert_wic_for_ilb_runout): New.
8475 (insert_wic): New.
8476 (microblaze_machine_dependent_reorg): New.
8477 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
8478 * config/microblaze/microblaze.md
8479 (UNSPEC_IPREFETCH): Define.
8480 (iprefetch): New pattern
8481 * config/microblaze/microblaze.opt
8482 (mxl-prefetch): New flag.
8483
8484 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
8485
8486 * config/microblaze/microblaze.h
8487 (FIXED_REGISTERS): Update in macro.
8488 (CALL_USED_REGISTERS): Update in macro.
8489
8490 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
8491
8492 PR rtl-optimization/68920
8493 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
8494 moves.
8495
8496 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
8497
8498 PR rtl-optimization/68990
8499 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
8500 pseudo instead of inheritance ones.
8501
8502 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
8503 Nick Clifton <nickc@redhat.com>
8504
8505 PR target/69129
8506 PR target/69012
8507 * config/mips/mips.c (mips_compute_frame_info): Initialise
8508 args_size and hard_frame_pointer_offset fields of the frame
8509 structure before calling mips_global_pointer.
8510
8511 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
8512
8513 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
8514 label reference.
8515 * configure: Regenerate.
8516
8517 2016-01-21 Richard Biener <rguenther@suse.de>
8518
8519 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
8520
8521 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
8522
8523 * config/s390/s390.c (s390_asm_declare_function_size): Add code
8524 to actually emit the .size directive.
8525
8526 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
8527 Jakub Jelinek <jakub@redhat.com>
8528
8529 PR target/69187
8530 PR target/65624
8531 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
8532 args array size by one to avoid buffer overflow.
8533
8534 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
8535
8536 * config/s390/s390.md (pool_section_start): Use switch_to_section
8537 to select proper read-only data section instead of hardcoding
8538 .rodata.
8539 (pool_section_end): Use switch_to_section to match the above.
8540
8541 2016-01-21 Richard Biener <rguenther@suse.de>
8542
8543 PR tree-optimization/69378
8544 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
8545 (set_ssa_val_to): Use it for dominance checks taking into
8546 account not executable edges.
8547
8548 2016-01-21 Jakub Jelinek <jakub@redhat.com>
8549
8550 PR c++/69355
8551 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
8552 for bitsize instead of GET_MODE_PRECISION (mode).
8553
8554 2016-01-20 Martin Sebor <msebor@redhat.com>
8555
8556 PR c/52291
8557 * extend.texi (__sync Builtins): Clarify the semantics of
8558 __sync_fetch_and_OP built-ins on pointers.
8559 (__atomic Builtins): Same.
8560
8561 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8562 Sebastian Pop <s.pop@samsung.com>
8563
8564 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
8565 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
8566 (is_valid_rename): Same.
8567 (translate_isl_ast_to_gimple::get_rename): Same.
8568 (translate_isl_ast_to_gimple::rename_all_uses): Same.
8569 (translate_isl_ast_to_gimple::rename_uses): Same.
8570 (get_new_name): Check for close_phi nodes.
8571 (copy_loop_phi_args): Use phi_node_kind.
8572 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
8573 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
8574
8575 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8576 Sebastian Pop <s.pop@samsung.com>
8577
8578 Revert commit r229783.
8579 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
8580 Remove use of parameter_rename_map.
8581 (copy_def): Remove.
8582 (copy_internal_parameters): Remove.
8583 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
8584 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
8585 (free_sese_info): Do not free parameter_rename_map.
8586 (set_rename): Do not use parameter_rename_map.
8587 (rename_uses): Update call to set_rename.
8588 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
8589 * sese.h (parameter_rename_map_t): Remove.
8590 (struct sese_info_t): Remove field parameter_rename_map.
8591
8592 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8593 Sebastian Pop <s.pop@samsung.com>
8594
8595 * graphite-isl-ast-to-gimple.c: Fix comment.
8596 * graphite-scop-detection.c (defined_in_loop_p): New.
8597 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
8598 names defined in loop.
8599
8600 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8601 Sebastian Pop <s.pop@samsung.com>
8602
8603 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
8604 Discard unstructured if-then-else regions.
8605
8606 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8607 Sebastian Pop <s.pop@samsung.com>
8608
8609 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
8610 (cleanup_loop_iter_dom): Remove.
8611 (build_loop_iteration_domains): Remove.
8612 (build_scop_context): Remove.
8613 (build_scop_iteration_domain): Remove.
8614 (add_loop_constraints): New.
8615 (build_iteration_domains): New.
8616 (build_poly_scop): Call build_iteration_domains.
8617
8618 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8619 Sebastian Pop <s.pop@samsung.com>
8620
8621 * graphite-scop-detection.c
8622 (scop_detection::harmful_loop_in_region): Free dom and loops.
8623 (scop_detection::loop_body_is_valid_scop): Free bbs.
8624
8625 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8626 Sebastian Pop <s.pop@samsung.com>
8627
8628 * graphite-scop-detection.c (record_loop_in_sese): New.
8629 (gather_bbs::before_dom_children): Call record_loop_in_sese.
8630 (build_scops): Remove call to build_sese_loop_nests.
8631 * sese.c (sese_record_loop): Remove.
8632 (build_sese_loop_nests): Remove.
8633 (new_sese_info): Remove region->loops.
8634 (free_sese_info): Same.
8635 * sese.h (sese_contains_loop): Same.
8636 (build_sese_loop_nests): Remove.
8637 (sese_contains_loop): Remove.
8638
8639 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8640 Sebastian Pop <s.pop@samsung.com>
8641
8642 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
8643 loop_is_valid_in_scop.
8644 (scop_detection::harmful_stmt_in_region): Renamed
8645 harmful_loop_in_region.
8646 Call loop_is_valid_in_scop.
8647
8648 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8649 Sebastian Pop <s.pop@samsung.com>
8650
8651 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
8652 isl_ast_node_mark.
8653
8654 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8655 Sebastian Pop <s.pop@samsung.com>
8656
8657 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
8658 * graphite.h (struct poly_bb): Remove field is_reduction.
8659 (PBB_IS_REDUCTION): Remove.
8660
8661 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
8662 Sebastian Pop <s.pop@samsung.com>
8663
8664 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
8665 (add_pdr_constraints): Same.
8666 (scop_get_reads): Same.
8667 (scop_get_must_writes): Same.
8668 (scop_get_may_writes): Same.
8669 (scop_get_original_schedule): Same.
8670 (extend_schedule): Same.
8671 (apply_schedule_on_deps): Same.
8672 (carries_deps): Same.
8673 (compute_deps): Same.
8674 (scop_get_dependences): Same.
8675 * graphite-isl-ast-to-gimple.c
8676 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
8677 * graphite-optimize-isl.c (get_schedule_for_band): Same.
8678 (get_schedule_for_band_list): Same.
8679 (get_schedule_map): Same.
8680 (apply_schedule_map_to_scop): Same.
8681 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
8682 (build_loop_iteration_domains): Same.
8683 (add_condition_to_pbb): Same.
8684 (add_param_constraints): Same.
8685 (pdr_add_memory_accesses): Same.
8686 (pdr_add_data_dimensions): Same.
8687
8688 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
8689
8690 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
8691 requirements.
8692
8693 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
8694
8695 * common.opt (feliminate-dwarf2-dups): Replace references to
8696 "DWARF 2" with just "DWARF".
8697 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
8698 * doc/extend.texi: Likewise.
8699 * doc/cpp.texi: Likewise.
8700 * doc/invoke.texi: Likewise.
8701 (Option Summary): Add -gdwarf to list of Debugging Options.
8702 (Debugging Options): Document -gdwarf.
8703 * doc/contrib.texi: Spell "DWARF" like that.
8704
8705 2016-01-21 Jakub Jelinek <jakub@redhat.com>
8706
8707 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
8708 warning. Fix up formatting.
8709
8710 PR middle-end/67653
8711 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
8712 attempt to mark memory input operand addressable and
8713 call prepare_gimple_addressable in that case. Don't adjust
8714 input_location for diagnostics, use error_at instead.
8715
8716 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
8717
8718 * config/rs6000/ppc-auxv.h: New file.
8719 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
8720 (cpu_is): Likewise.
8721 (cpu_supports): Likewise.
8722 * config/rs6000/rs6000.c: include "ppc-auxv.h".
8723 (cpu_is_info): New variable.
8724 (cpu_supports_info): Likewise.
8725 (tcb_verification_symbol): Likewise.
8726 (cpu_builtin_p): Likewise.
8727 (cpu_expand_builtin): New function.
8728 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
8729 (rs6000_init_builtins): Likewise.
8730 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
8731 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
8732 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
8733 * configure: Regenerate.
8734 * config.in: Likewise.
8735 * doc/extend.texi (PowerPC Built-in Functions): Document
8736 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
8737
8738 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
8739
8740 PR target/68609
8741 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
8742 domain check.
8743 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
8744 for V4SFmode.
8745
8746 2016-01-20 Richard Henderson <rth@redhat.com>
8747
8748 PR bootstrap/69343
8749 PR bootstrap/69339
8750 PR tree-opt/68964
8751 Revert:
8752 * tree.c (tm_define_builtin): New.
8753 (find_tm_vector_type): New.
8754 (build_tm_vector_builtins): New.
8755 (build_common_builtin_nodes): Call it.
8756
8757 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
8758
8759 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
8760 (arm_fp_ok): Likewise.
8761 (arm_fp): Likewise.
8762 (arm_crypto): Likewise.
8763
8764 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
8765 Richard Biener <rguenther@suse.de>
8766
8767 PR tree-optimization/69328
8768 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
8769 vectors have same number of elements.
8770 (vectorizable_condition): Fix masked version recognition.
8771
8772 2016-01-20 Richard Biener <rguenther@suse.de>
8773
8774 PR tree-optimization/69345
8775 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
8776 (VN_INFO_PTR_INFO): Likewise.
8777 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
8778 info when it is equal between non-dominating SSA names.
8779 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
8780 Make sure to look at original SSA infos.
8781
8782 2016-01-20 Jeff Law <law@redhat.com>
8783
8784 PR target/25114
8785 * config/m68k/predicates.md (pow2_m1_operand): New predicate
8786 extracted from ...
8787 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
8788 (pc_or_label_operand): New predicate.
8789 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
8790 tests for small integers that are 2^n - 1.
8791
8792 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
8793
8794 * doc/invoke.texi (Options Summary): Add '.' after @xref.
8795
8796 2016-01-19 Jeff Law <law@redhat.com>
8797
8798 PR middle-end/69347
8799 * tree-ssa-threadbackwards.c
8800 (fsm_find_control_statement_thread_paths): Do not try to lookup
8801 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
8802
8803 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
8804
8805 * doc/lto.texi: Remove text that says only Gold has linker plugin
8806 support.
8807
8808 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
8809
8810 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
8811 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
8812 the DIE accordingly.
8813 (modified_type_die): Add REVERSE parameter and pass it recursively,
8814 as well as to base_type_die. Adjust presence check accordingly.
8815 (base_type_for_mode): Adjust call to modified_type_die.
8816 (add_type_attribute): Add REVERSE parameter and pass it to
8817 modified_type_die.
8818 (generic_parameter_die): Adjust call to add_type_attribute.
8819 (add_scalar_info): Likewise.
8820 (add_subscript_info): Likewise.
8821 (gen_array_type_die): Likewise.
8822 (gen_descr_array_type_die): Likewise.
8823 (gen_entry_point_die): Likewise.
8824 (gen_enumeration_type_die): Likewise.
8825 (gen_formal_parameter_die): Likewise.
8826 (gen_subprogram_die): Likewise.
8827 (gen_variable_die ): Likewise.
8828 (gen_const_die): Likewise.
8829 (gen_field_die): Likewise.
8830 (gen_pointer_type_die): Likewise.
8831 (gen_reference_type_die): Likewise.
8832 (gen_ptr_to_mbr_type_die): Likewise.
8833 (gen_inheritance_die): Likewise.
8834 (gen_subroutine_type_die): Likewise.
8835 (gen_typedef_die): Likewise.
8836 (force_type_die): Adjust call to modified_type_die.
8837
8838 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
8839
8840 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
8841 flow throughout the file. Fix broken link to Objective-C 2.0
8842 documentation.
8843 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
8844 errors.
8845
8846 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
8847
8848 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
8849
8850 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
8851
8852 PR ipa/66223
8853 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
8854 (maybe_record_node): Record cxa_pure_virtual as the only possible
8855 target if there are not ohter candidates.
8856 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
8857
8858 2016-01-19 Richard Biener <rguenther@suse.de>
8859
8860 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
8861 (get_memory_order): Likewise.
8862
8863 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
8864
8865 * tree-vect-stmts.c (vectorizable_store): Check
8866 rhs vectype.
8867
8868 2016-01-19 David Malcolm <dmalcolm@redhat.com>
8869
8870 PR jit/68446
8871 * gcc.c (driver::decode_argv): Add call to
8872 init_opts_obstack before init_options_struct.
8873 * opts.c (init_opts_obstack): Remove idempotency.
8874 (init_options_struct): Replace call to init_opts_obstack
8875 with a gcc_assert to verify that it has already been called.
8876 * toplev.c (toplev::main): Add call to init_opts_obstack before
8877 calls to init_options_struct.
8878 (toplev::finalize): Move cleanup of opts_obstack next to
8879 cleanup of save_decoded_options, clearing the latter, and
8880 save_decoded_options_count.
8881
8882 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8883
8884 PR target/69135
8885 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
8886 attribute to unconditional. Remove %? from output template.
8887
8888 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
8889 Jiong Wang <jiong.wang@arm.com>
8890
8891 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
8892 generated from different expand order.
8893
8894 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
8895
8896 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
8897 Add support for CCMP costing.
8898
8899 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
8900
8901 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
8902 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
8903 (fccmpe<mode>): Likewise.
8904 (fcmp): Rename to fcmp and globalize pattern.
8905 (fcmpe): Likewise.
8906 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
8907 (aarch64_gen_ccmp_next): Add FP support.
8908
8909 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
8910
8911 * target.def (gen_ccmp_first): Update documentation.
8912 (gen_ccmp_next): Likewise.
8913 * doc/tm.texi (gen_ccmp_first): Update documentation.
8914 (gen_ccmp_next): Likewise.
8915 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
8916 expand_ccmp_expr_1. Improve comments.
8917 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
8918 (ccmp_ior<mode>): Remove pattern.
8919 (cmp<mode>): Remove expand.
8920 (cmp): Globalize pattern.
8921 (cstorecc4): Use cc_register.
8922 (mov<mode>cc): Remove ccmp_cc_register check.
8923 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
8924 Simplify after removal of CC_DNE/* modes.
8925 (aarch64_ccmp_mode_to_code): Remove.
8926 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
8927 In 'k' case use integer as condition.
8928 (aarch64_nzcv_codes): Remove inverted cases.
8929 (aarch64_code_to_ccmode): Remove.
8930 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
8931 comparison with CC register to be used in folowing CCMP/branch/CSEL.
8932 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
8933 pattern. Return the comparison with CC register. Invert conditions
8934 when bitcode is OR.
8935 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
8936 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
8937
8938 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
8939
8940 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
8941 instrumented_version.
8942
8943 2016-01-19 Richard Biener <rguenther@suse.de>
8944
8945 PR tree-optimization/69336
8946 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
8947 handled components with get_ref_base_and_extent.
8948 (equal_mem_array_ref_p): Adjust.
8949
8950 2016-01-19 Jakub Jelinek <jakub@redhat.com>
8951
8952 PR debug/65779
8953 * shrink-wrap.c: Include valtrack.h.
8954 (move_insn_for_shrink_wrap): Add DEBUG argument. If
8955 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
8956 in between insn and where it will be moved to. Call
8957 dead_debug_insert_temp.
8958 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
8959 first and dead_debug_local_finish at the end.
8960 For uses and defs bitmap, handle all regs in between REGNO and
8961 END_REGNO, not just the first one.
8962
8963 2016-01-19 Richard Biener <rguenther@suse.de>
8964
8965 PR tree-optimization/69352
8966 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
8967 (equal_mem_array_ref_p): Constrain size and max size properly.
8968 Compare the reverse flag.
8969
8970 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
8971
8972 * ira.c (ira): Update regstat data if we deleted insns.
8973
8974 2016-01-19 Jakub Jelinek <jakub@redhat.com>
8975
8976 PR rtl-optimization/68955
8977 PR rtl-optimization/64557
8978 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
8979 here. Fix up formatting.
8980 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
8981
8982 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
8983
8984 PR lto/69133
8985 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
8986 assume that the node has body.
8987 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
8988 check.
8989
8990 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
8991
8992 * lto-streamer-out.c (lto_output): Do not stream instrumentation
8993 thunks.
8994
8995 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
8996
8997 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
8998 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
8999
9000 2016-01-19 Martin Jambor <mjambor@suse.cz>
9001 Martin Liska <mliska@suse.cz>
9002 Michael Matz <matz@suse.de>
9003
9004 * Makefile.in (OBJS): Add new source files.
9005 (GTFILES): Add hsa.c.
9006 * common.opt (disable_hsa): New variable.
9007 (-Whsa): New warning.
9008 * config.in (ENABLE_HSA): New.
9009 * configure.ac: Treat hsa differently from other accelerators.
9010 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
9011 $enable_offloading.
9012 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
9013 * doc/install.texi (Configuration): Document --with-hsa-runtime,
9014 --with-hsa-runtime-include, --with-hsa-runtime-lib and
9015 --with-hsa-kmt-lib.
9016 * doc/invoke.texi (-Whsa): Document.
9017 (hsa-gen-debug-stores): Likewise.
9018 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
9019 to invoke offload compiler for hsa acclerator.
9020 * opts.c (common_handle_option): Determine whether HSA offloading
9021 should be performed.
9022 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
9023 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
9024 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
9025 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
9026 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
9027 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
9028 GF_OMP_FOR_KIND_GRID_LOOP.
9029 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
9030 (pp_gimple_stmt_1): Likewise.
9031 * gimple-walk.c (walk_gimple_stmt): Likewise.
9032 * gimple.c (gimple_build_omp_grid_body): New function.
9033 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
9034 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
9035 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
9036 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
9037 GF_OMP_TEAMS_GRID_PHONY.
9038 (gimple_statement_omp_single_layout): Updated comments.
9039 (gimple_build_omp_grid_body): New function.
9040 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
9041 (gimple_omp_for_grid_phony): New function.
9042 (gimple_omp_for_set_grid_phony): Likewise.
9043 (gimple_omp_parallel_grid_phony): Likewise.
9044 (gimple_omp_parallel_set_grid_phony): Likewise.
9045 (gimple_omp_teams_grid_phony): Likewise.
9046 (gimple_omp_teams_set_grid_phony): Likewise.
9047 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
9048 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
9049 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
9050 (BUILT_IN_GOMP_TARGET): Updated type.
9051 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
9052 (adjust_for_condition): New function.
9053 (get_omp_for_step_from_incr): Likewise.
9054 (extract_omp_for_data): Moved parts to adjust_for_condition and
9055 get_omp_for_step_from_incr.
9056 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
9057 (fixup_child_record_type): Bail out if receiver_decl is NULL.
9058 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
9059 (scan_omp_parallel): Do not create child functions for phony
9060 constructs.
9061 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
9062 (scan_omp_1_op): Checking assert we are not remapping to
9063 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
9064 (parallel_needs_hsa_kernel_p): New function.
9065 (expand_parallel_call): Register apprpriate parallel child
9066 functions as HSA kernels.
9067 (grid_launch_attributes_trees): New type.
9068 (grid_attr_trees): New variable.
9069 (grid_create_kernel_launch_attr_types): New function.
9070 (grid_insert_store_range_dim): Likewise.
9071 (grid_get_kernel_launch_attributes): Likewise.
9072 (get_target_argument_identifier_1): Likewise.
9073 (get_target_argument_identifier): Likewise.
9074 (get_target_argument_value): Likewise.
9075 (push_target_argument_according_to_value): Likewise.
9076 (get_target_arguments): Likewise.
9077 (expand_omp_target): Call get_target_arguments instead of looking
9078 up for teams and thread limit.
9079 (grid_expand_omp_for_loop): New function.
9080 (grid_arg_decl_map): New type.
9081 (grid_remap_kernel_arg_accesses): New function.
9082 (grid_expand_target_kernel_body): New function.
9083 (expand_omp): Call it.
9084 (lower_omp_for): Do not emit phony constructs.
9085 (lower_omp_taskreg): Do not emit phony constructs but create for them
9086 a temporary variable receiver_decl.
9087 (lower_omp_taskreg): Do not emit phony constructs.
9088 (lower_omp_teams): Likewise.
9089 (lower_omp_grid_body): New function.
9090 (lower_omp_1): Call it.
9091 (grid_reg_assignment_to_local_var_p): New function.
9092 (grid_seq_only_contains_local_assignments): Likewise.
9093 (grid_find_single_omp_among_assignments_1): Likewise.
9094 (grid_find_single_omp_among_assignments): Likewise.
9095 (grid_find_ungridifiable_statement): Likewise.
9096 (grid_target_follows_gridifiable_pattern): Likewise.
9097 (grid_remap_prebody_decls): Likewise.
9098 (grid_copy_leading_local_assignments): Likewise.
9099 (grid_process_kernel_body_copy): Likewise.
9100 (grid_attempt_target_gridification): Likewise.
9101 (grid_gridify_all_targets_stmt): Likewise.
9102 (grid_gridify_all_targets): Likewise.
9103 (execute_lower_omp): Call grid_gridify_all_targets.
9104 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
9105 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
9106 (tree_omp_clause): Added union field dimension.
9107 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
9108 * tree.c (omp_clause_num_ops): Added number of arguments of
9109 OMP_CLAUSE__GRIDDIM_.
9110 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
9111 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
9112 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
9113 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
9114 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
9115 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
9116 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
9117 * tree-pass.h (make_pass_gen_hsail): Declare.
9118 (make_pass_ipa_hsa): Likewise.
9119 * ipa-hsa.c: New file.
9120 * lto-section-in.c (lto_section_name): Add hsa section name.
9121 * lto-streamer.h (lto_section_type): Add hsa section.
9122 * timevar.def (TV_IPA_HSA): New.
9123 * hsa-brig-format.h: New file.
9124 * hsa-brig.c: New file.
9125 * hsa-dump.c: Likewise.
9126 * hsa-gen.c: Likewise.
9127 * hsa.c: Likewise.
9128 * hsa.h: Likewise.
9129 * toplev.c (compile_file): Call hsa_output_brig.
9130 * hsa-regalloc.c: New file.
9131
9132 2016-01-18 Jeff Law <law@redhat.com>
9133
9134 PR tree-optimization/69320
9135 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
9136 ranged object, do nothing if the RHS constant is not [0..1].
9137 (optimize_stmt): Comparing a boolean ranged object against a
9138 constant outside [0..1] results in a compile-time constant.
9139
9140 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
9141 test.
9142
9143 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
9144
9145 * doc/invoke.texi (Invoking GCC): Add new section to menu.
9146 (Option Summary): Update to reflect new section and moved options.
9147 (C++ Dialect Options): Move -fstats to new section.
9148 (Debugging Options): Move all dump, statistics, and other GCC
9149 developer options to new section. Rewrite section introduction
9150 and re-order remaining options to put the more basic ones first.
9151 (Optimization Options): Move -fira-verbose and -flto-report* to
9152 new section.
9153 (Developer Options): New section incorporating moved options.
9154 * doc/cppopts.texi (-dM): Update cross-reference.
9155
9156 2016-01-18 Richard Henderson <rth@redhat.com>
9157
9158 PR target/69176
9159 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
9160 operands to pseudo only if CSE is expected. Split long immediate
9161 operands only after reload, and for the stack pointer.
9162 (*add<GPI>3_pluslong): Remove.
9163 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
9164 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
9165 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
9166 (*add<GPI>3 peepholes): New.
9167 (*add<GPI>3 splitters): New.
9168 * config/aarch64/constraints.md (Upl): New.
9169 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
9170
9171 2016-01-18 Richard Biener <rguenther@suse.de>
9172
9173 PR tree-optimization/69297
9174 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
9175 stmt at most once.
9176 (vect_bb_vectorization_profitable_p): Clear visited flag again.
9177
9178 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
9179
9180 PR middle-end/68542
9181 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
9182 of mixind vector and scalar types.
9183 (fold_relational_const): Add handling of vector
9184 comparison with boolean result.
9185 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
9186 comparison of vector operands with boolean result for EQ/NE only.
9187 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
9188 (verify_gimple_cond): Likewise.
9189 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
9190 valid type of VAL.
9191
9192 2016-01-18 Joseph Myers <joseph@codesourcery.com>
9193
9194 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
9195 !TARGET_OCTEON.
9196
9197 2016-01-18 Richard Biener <rguenther@suse.de>
9198
9199 PR middle-end/69308
9200 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
9201
9202 2016-01-18 Tom de Vries <tom@codesourcery.com>
9203
9204 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
9205
9206 2016-01-18 Tom de Vries <tom@codesourcery.com>
9207
9208 * omp-low.c (set_oacc_fn_attrib): Make extern.
9209 * omp-low.h (set_oacc_fn_attrib): Declare.
9210 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
9211 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
9212 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
9213 Add and handle function parameter oacc_kernels_p.
9214 (find_reduc_addr, get_omp_data_i_param): New function.
9215 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
9216 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
9217 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
9218 Calculate dominance info. Skip loops that are not in a kernels region
9219 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
9220 (pass_parallelize_loops::execute): Call parallelize_loops with
9221 oacc_kernels_p argument.
9222 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
9223 New member function.
9224 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
9225 * passes.def: Add argument to pass_parallelize_loops instantation.
9226
9227 2016-01-18 Tom de Vries <tom@codesourcery.com>
9228
9229 * tree-parloops.c (pass_parallelize_loops::execute): Allow
9230 pass_parallelize_loops to be run outside the loop pipeline.
9231
9232 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
9233
9234 * tree-scalar-evolution.c (follow_copies_to_constant): New.
9235 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
9236
9237 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
9238
9239 PR target/63679
9240 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
9241 using get_ref_base_and_extent.
9242 (equal_mem_array_ref_p): New.
9243 (hashable_expr_equal_p): Add call to previous.
9244
9245 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
9246
9247 PR target/63679
9248 * tree-sra.c (disqualified_constants, constant_decl_p): New.
9249 (sra_initialize): Allocate disqualified_constants.
9250 (sra_deinitialize): Free disqualified_constants.
9251 (disqualify_candidate): Update disqualified_constants when appropriate.
9252 (create_access): Scan for constant-pool entries as we go along.
9253 (scalarizable_type_p): Add check against type_contains_placeholder_p.
9254 (maybe_add_sra_candidate): Allow constant-pool entries.
9255 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
9256 (initialize_constant_pool_replacements): New.
9257 (sra_modify_assign): Avoid mangling assignments created by previous,
9258 and don't generate writes into constant pool.
9259 (sra_modify_function_body): Call initialize_constant_pool_replacements.
9260
9261 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
9262
9263 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
9264 andnot instruction.
9265 (scalar_chain::convert_op): Likewise.
9266 * config/i386/i386.md (*andndi3_doubleword): New.
9267
9268 2016-01-18 Richard Biener <rguenther@suse.de>
9269
9270 PR tree-optimization/69170
9271 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
9272 building a vector from scalar results of a pattern stmt.
9273
9274 2016-01-18 Jakub Jelinek <jakub@redhat.com>
9275
9276 * haifa-sched.c (autopref_multipass_init): Work around
9277 -Wmaybe-uninitialized warning.
9278
9279 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
9280
9281 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
9282 against the constant 0.
9283
9284 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9285
9286 PR tree-optimization/68799
9287 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
9288 look up phi candidates in the statement-candidate map.
9289 (phi_add_costs): Likewise.
9290 (record_phi_increments): Likewise.
9291 (phi_incr_cost): Likewise.
9292 (ncd_with_phi): Likewise.
9293 (all_phi_incrs_profitable): Likewise.
9294
9295 2016-01-17 Jakub Jelinek <jakub@redhat.com>
9296
9297 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
9298 -Wmaybe-uninitialized warning.
9299
9300 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
9301
9302 * doc/invoke.texi (Invoking GCC): Add new section to menu.
9303 (Option Summary): Update to reflect new section and moved options.
9304 (C++ Dialect Options): Move -fvtable-verify and related options.
9305 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
9306 and profiling-related options.
9307 (Optimization Options): Move profile generation options and
9308 -fstack-protector and related options.
9309 (Instrumentation Options): New section incorporating moved options.
9310 (Code Generation Options): Move -finstrument-functions and
9311 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
9312
9313 2016-01-16 Tom de Vries <tom@codesourcery.com>
9314
9315 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
9316
9317 2016-01-16 Tom de Vries <tom@codesourcery.com>
9318
9319 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
9320
9321 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
9322
9323 * hash-table.h (hash_table::empty): Turn into an inline wrapper
9324 that checks whether the table is already empty. Rename the
9325 original implementation to...
9326 (hash_table::empty_slot): ...this new private function.
9327
9328 2016-01-15 David Malcolm <dmalcolm@redhat.com>
9329
9330 PR diagnostic/68899
9331 * diagnostic-show-locus.c (layout::print_source_line): Move x
9332 offset of line until after call to
9333 get_line_width_without_trailing_whitespace.
9334
9335 2016-01-15 Jeff Law <law@redhat.com>
9336
9337 PR tree-optimization/69270
9338 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
9339 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
9340 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
9341 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
9342 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
9343 ssa_name_has_boolean_range and constant_boolean_node.
9344
9345 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
9346
9347 PR rtl-optimization/69030
9348 * lra-spills.c (remove_pseudos): Check nrefs and make the function
9349 returning bool.
9350 (spill_pseudos): Delete debug insn for dead pseudo.
9351 (lra_spill): Initiate spill_hard_reg and slots memory separately.
9352
9353 2016-01-15 Jiong Wang <jiong.wang@arm.com>
9354
9355 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
9356 New.
9357 (TYPES_UNOPUS): Likewise.
9358 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
9359 builtin type, from UNOP to UNOPUS.
9360 (lbtruncuv4sf): Likewise.
9361 (lbtruncuv2df): Likewise.
9362 (lrounduv2sf): Likewise.
9363 (lrounduv4sf): Likewise.
9364 (lrounduv2df): Likewise.
9365 (lroundusf): Likewise.
9366 (lroundusf): Likewise.
9367 (lceiluv2sf): Likewise.
9368 (lceiluv4sf): Likewise.
9369 (lceiluv2df): Likewise.
9370 (lceilusf): Likewise.
9371 (lceiludf): Likewise.
9372 (lflooruv2sf): Likewise.
9373 (lflooruv4sf): Likewise.
9374 (lflooruv2df): Likewise.
9375 (lfloorusf): Likewise.
9376 (lfloorudf): Likewise.
9377 (lfrintnuv2sf): Likewise.
9378 (lfrintnuv4sf): Likewise.
9379 (lfrintnuv2df): Likewise.
9380 (lfrintnusf): Likewise.
9381 (lfrintnudf): Likewise.
9382 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
9383 conversion.
9384 (vcvtq_u32_f32): Likewise.
9385 (vcvtq_u64_f64): Likewise.
9386 (vcvta_u32_f32): Likewise.
9387 (vcvtaq_u32_f32): Likewise.
9388 (vcvtaq_u64_f64): Likewise.
9389 (vcvtm_u32_f32): Likewise.
9390 (vcvtmq_u32_f32): Likewise.
9391 (vcvtmq_u64_f64): Likewise.
9392 (vcvtn_u32_f32): Likwise.
9393 (vcvtnq_u32_f32): Likewise.
9394 (vcvtnq_u64_f64): Likewise.
9395 (vcvtp_u32_f32): Likewise.
9396 (vcvtpq_u32_f32): Likewise.
9397 (vcvtpq_u64_f64): Likewise.
9398 (vcvtmd_u64_f64): Likewise.
9399 (vcvtms_u32_f32): Likewise.
9400 (vcvtad_u64_f64): Likewise.
9401 (vcvtas_u32_f32): Likewise.
9402 (vcvtnd_u64_f64): Likewise.
9403 (vcvtns_u32_f32): Likewise.
9404 (vcvtpd_u64_f64): Likewise.
9405 (vcvtps_u32_f32): Likewise.
9406
9407 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9408
9409 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
9410 CSEL of zero_extended registers.
9411
9412 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9413
9414 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
9415 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
9416
9417 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9418
9419 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
9420 false when argument string is not found in the attributes table
9421 at all.
9422
9423 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
9424
9425 PR target/68609
9426 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
9427 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
9428 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
9429 precision estimate.
9430
9431 2016-01-15 Richard Biener <rguenther@suse.de>
9432
9433 PR tree-optimization/66856
9434 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
9435 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
9436 (vect_create_new_slp_node): Increment stmt reference count.
9437 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
9438 an SLP tree before swapping operands.
9439 (vect_build_slp_tree): Likewise.
9440 (destroy_bb_vec_info): Free stmt info after SLP instances.
9441 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
9442 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
9443 (STMT_VINFO_NUM_SLP_USES): New macro.
9444
9445 2016-01-15 Richard Biener <rguenther@suse.de>
9446
9447 PR debug/69137
9448 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
9449 (add_linkage_name): ... here.
9450 (gen_typedef_die): Use add_linkage_name_raw instead of
9451 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
9452 if necessary.
9453
9454 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
9455
9456 * gimplify.c (oacc_default_clause): Decode reference and pointer
9457 types for both kernels and parallel regions.
9458
9459 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
9460
9461 PR middle-end/69246
9462 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
9463
9464 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
9465
9466 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
9467 (convert_scalars_to_vector): Likewise.
9468
9469 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
9470
9471 * doc/extend.texi (Type Traits): Fix grammar.
9472
9473 2016-01-15 Martin Jambor <mjambor@suse.cz>
9474
9475 * tree-inline.c (remap_decl): Use existing dclarations if
9476 remapping a type and prevent_decl_creation_for_types.
9477 (replace_locals_stmt): Do an initial remapping of non-VLA typed
9478 decls first. Do real remapping with
9479 prevent_decl_creation_for_types set.
9480 * tree-inline.h (copy_body_data): New field
9481 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
9482 padding.
9483
9484 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
9485
9486 * config/s390/s390.opt (mmvcle): More verbose help text.
9487
9488 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
9489
9490 * config/s390/s390.opt: Add period to -mzvector option text.
9491
9492 2016-01-15 Richard Biener <rguenther@suse.de>
9493
9494 PR tree-optimization/68961
9495 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
9496 of invariants in stores again.
9497
9498 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
9499
9500 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
9501
9502 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
9503
9504 * config/i386/i386.c (ix86_expand_branch): Don't split
9505 DI mode xor instruction to SI mode.
9506
9507 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
9508
9509 PR ipa/68148
9510 * ipa-icf.c (sem_function::merge): Virtual functions may become
9511 reachable even if they address is not taken and there are no
9512 idrect calls.
9513
9514 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
9515
9516 * lto-streamer-out.c (subtract_estimated_size): New function.
9517 (get_symbol_initial_value): Use it.
9518
9519 2016-01-15 Christian Bruel <christian.bruel@st.com>
9520
9521 PR target/65837
9522 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
9523 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
9524 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
9525 use add_builtin_function_ext_scope instead of add_builtin_function.
9526 (neon_set_p, neon_crypto_set_p): Remove.
9527 (arm_init_builtins): Always call arm_init_neon_builtins and
9528 arm_init_crypto_builtins.
9529 (arm_expand_builtin): Check that builtins are allowed for the arch.
9530 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
9531 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
9532 arm_init_neon_builtins call.
9533
9534 2016-01-15 Richard Biener <rguenther@suse.de>
9535
9536 PR tree-optimization/69117
9537 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
9538 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
9539 of the leader conservatively.
9540 (free_scc_vn): Restore original SSA name infos.
9541
9542 2016-01-14 Jeff Law <law@redhat.com>
9543
9544 PR tree-optimization/69270
9545 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
9546 single bit of precision, verify it's also unsigned.
9547 (record_edge_info): Use constant_boolean_node rather than fold_convert
9548 to convert boolean_true/boolean_false to the right type.
9549
9550 2016-01-14 Richard Henderson <rth@redhat.com>
9551
9552 PR rtl-opt/69014
9553 * loop-doloop.c (record_reg_sets): New.
9554 (doloop_optimize): Reject the transform if the sequence
9555 clobbers registers live at the end of the loop block.
9556 (doloop_optimize_loops): Enable df_live if needed.
9557
9558 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9559
9560 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
9561 * gcc/config/rs6000/rs6000.c: Likewise.
9562 * gcc/config/rs6000/rs6000.h: Likewise.
9563 * gcc/config/rs6000/rs6000.md: Likewise.
9564 * gcc/doc/extend.texi: Likewsie.
9565
9566 2016-01-14 Jeff Law <law@redhat.com>
9567
9568 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
9569 typo.
9570
9571 2016-01-14 Richard Henderson <rth@redhat.com>
9572
9573 PR c/69272
9574 PR tree-opt/68964
9575 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
9576 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
9577 instead of builtin_decl_declared_p to test for declaration.
9578
9579 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
9580
9581 * doc/loop.texi (Loop Analysis and Representation): Document
9582 loop_depth function.
9583
9584 2016-01-14 Tom de Vries <tom@codesourcery.com>
9585
9586 PR tree-optimization/68773
9587 * omp-low.c (expand_omp_target): Don't set force_output.
9588 * varpool.c (varpool_node::get_create): Same.
9589 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
9590 offload_funcs with force_output.
9591
9592 2016-01-14 Jakub Jelinek <jakub@redhat.com>
9593
9594 PR debug/69244
9595 * lra-eliminations.c (move_plus_up): Don't change anything if either
9596 the outer or inner subreg mode is not MODE_INT.
9597 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
9598 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
9599
9600 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
9601
9602 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
9603 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
9604 reduc_uplus_@var{m}): Remove.
9605 * expr.c (expand_expr_real_2): Remove expansion path for
9606 reduc_[us](min|max|plus) optabs.
9607 * optabs-tree.c (scalar_reduc_to_vector): Remove.
9608 * optabs-tree.h (scalar_reduc_to_vector): Remove.
9609 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
9610 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
9611 * tree-vect-loop.c (vectorizable_reduction): Remove test for
9612 reduc_[us](min|max|plus) optabs.
9613
9614 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
9615
9616 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
9617 (reduc_plus_scal_v2sf): New.
9618 (reduc_smax_v2sf): Rename to...
9619 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
9620 (reduc_smin_v2sf): Rename to...
9621 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
9622
9623 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
9624
9625 * alias.c (compare_base_symbol_refs): New function.
9626 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
9627 it.
9628
9629 2016-01-14 Jakub Jelinek <jakub@redhat.com>
9630
9631 PR middle-end/68146
9632 PR tree-optimization/69155
9633 * tree-complex.c: Include cfganal.h.
9634 (phis_to_revisit): New variable.
9635 (extract_component): Add phiarg_p argument. Assert that returned
9636 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
9637 (update_phi_components): Partly rewrite to use loop over real/imag
9638 components instead of code duplication. If extract_component returns
9639 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
9640 create_tmp_reg into the PHI node instead, and mention the phi triplet
9641 in phis_to_revisit.
9642 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
9643 in phis_to_revisit at the end.
9644
9645 2016-01-14 Richard Biener <rguenther@suse.de>
9646
9647 PR tree-optimization/68060
9648 * tree-vect-loop.c (vect_is_simple_reduction): Check the
9649 outer loop reduction is only used in the inner loop before
9650 detecting a double reduction.
9651
9652 2016-01-14 Jakub Jelinek <jakub@redhat.com>
9653
9654 PR target/68269
9655 * combine.c (expand_field_assignment): Punt if compute_mode is
9656 unsupported scalar mode.
9657
9658 2016-01-14 Richard Biener <rguenther@suse.de>
9659
9660 PR tree-optimization/66856
9661 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
9662 SLP node only if it built successfully.
9663 (vect_analyze_slp_instance): Adjust.
9664
9665 2016-01-14 Jeff Law <law@redhat.com>
9666
9667 PR tree-optimization/69270
9668 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
9669 (record_edge_info): Use it. Convert boolean_{true,false}_node
9670 to the type of op0.
9671
9672 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
9673
9674 PR ipa/66487
9675 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
9676 use block_ultimate_origin
9677 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
9678
9679 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
9680
9681 * doc/invoke.texi (Submodel Options): Rename section to
9682 "Machine-Dependent Options" to better reflect its content.
9683 Rewrite introductory text to remove archaic CPU names.
9684 Update references.
9685
9686 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
9687
9688 * doc/invoke.texi (Code Gen Options): Move section up in file,
9689 before target-specific options. Update menu and option summary
9690 to reflect the new section ordering.
9691
9692 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
9693
9694 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
9695 (C++ Dialect Options): Add cross-reference to -std option.
9696 * doc/standards.texi (C++ Language): Document C++14 support.
9697
9698 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
9699
9700 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
9701 for pack/unpack functions for __ibm128.
9702 (PACK_IF): Likewise.
9703 (UNPACK_IF): Likewise.
9704
9705 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
9706 support for __ibm128 pack/unpack functions.
9707 (rs6000_invalid_builtin): Likewise.
9708 (rs6000_init_builtins): Likewise.
9709 (rs6000_opt_masks): Likewise.
9710
9711 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
9712 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
9713 functions
9714 (RS6000_BTM_COMMON): Likewise.
9715
9716 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
9717 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
9718 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
9719 128-bit floating point. Add support for the double values to be
9720 in Altivec registers for TF/IF packing and unpacking, but restrict
9721 TD packing sub-fields to be FPR registers. Don't allow overlapped
9722 register support for packing. Allow pack inputs to be memory
9723 locations. Don't build generator functions for unpack<mode>_dm
9724 and unpack<mode>_nodm.
9725 (unpack<mode>_dm): Likewise.
9726 (unpack<mode>_nodm): Likewise.
9727 (pack<mode>): Likewise.
9728
9729 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
9730 built-in functions to pack/unpack explicit __ibm128 values.
9731 (__builtin_unpack_ibm128): Likewise.
9732
9733 * doc/extend.texi (PowerPC Built-in Functions): Document
9734 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
9735
9736 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
9737
9738 PR c/66208
9739 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
9740 Add new arg loc and pass it down as context.
9741 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
9742 to the location to use for the warning.
9743 (check_function_arguments): New arg loc. All callers changed. Pass
9744 it to check_function_nonnull.
9745 * c-common.h (check_function_arguments): Adjust declaration.
9746
9747 2016-01-13 Jakub Jelinek <jakub@redhat.com>
9748
9749 PR tree-optimization/69156
9750 * gimple.c (validate_type): Removed.
9751 (gimple_builtin_call_types_compatible_p): Use
9752 useless_type_conversion_p instead of validate_type.
9753 * value-prof.c (gimple_stringop_fixed_value): Fold
9754 icall_size to correct type.
9755
9756 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
9757
9758 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
9759 effects.
9760
9761 2016-01-13 Richard Henderson <rth@redhat.com>
9762
9763 PR tree-opt/68964
9764 * target.def (builtin_tm_load, builtin_tm_store): Remove.
9765 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
9766 (ix86_builtin_tm_store): Remove.
9767 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
9768 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
9769 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
9770 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
9771 * doc/tm.texi: Rebuild.
9772
9773 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
9774 (BUILT_IN_TM_MEMCPY_RTWN): New.
9775 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
9776 fallback from vector to integer helpers.
9777 (build_tm_load): Handle vector types directly, instead of
9778 via target hook.
9779 (build_tm_store): Likewise.
9780 (expand_assign_tm): Prepare for register types not handled by
9781 the above. Copy them to memory and use memcpy.
9782 * tree.c (tm_define_builtin): New.
9783 (find_tm_vector_type): New.
9784 (build_tm_vector_builtins): New.
9785 (build_common_builtin_nodes): Call it.
9786
9787 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
9788
9789 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
9790 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
9791
9792 2016-01-13 Tom de Vries <tom@codesourcery.com>
9793
9794 PR tree-optimization/69169
9795 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
9796 handled_struct_type param.
9797 (create_variable_info_for, intra_create_variable_infos): Call
9798 create_variable_info_for_1 with extra arg.
9799
9800 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
9801
9802 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
9803 and "armv8.1-a+crc" entries.
9804
9805 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
9806
9807 PR target/69228
9808 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
9809 Change first operand predicate from register_or_constm1_operand
9810 to register_operand.
9811 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
9812 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
9813 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
9814 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
9815 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
9816 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
9817 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
9818 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
9819 comparison with constm1_rtx from vec_prefetch_gen part.
9820
9821 2016-01-13 Richard Biener <rguenther@suse.de>
9822
9823 PR tree-optimization/69013
9824 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
9825 Exchange assert for a test.
9826
9827 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9828
9829 PR target/69247
9830 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
9831
9832 2016-01-13 Richard Biener <rguenther@suse.de>
9833
9834 PR tree-optimization/69242
9835 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
9836 assert with a check.
9837
9838 2016-01-13 Richard Biener <rguenther@suse.de>
9839
9840 PR tree-optimization/69186
9841 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
9842 Properly guard vect_update_misalignment_for_peel call.
9843
9844 2016-01-12 Jeff Law <law@redhat.com>
9845
9846 PR tree-optimization/pr67755
9847 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
9848 "need_profile_correction".
9849 (thread_block_1): Initialize new field to false by default. If we
9850 have multiple thread paths through a common joiner to different
9851 final targets, then set new field to true.
9852 (compute_path_counts): Only do count adjustment when it's really
9853 needed.
9854
9855 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
9856
9857 * doc/invoke.texi (Spec Files): Move section down in file, past
9858 all command-line option descriptions.
9859
9860 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9861
9862 PR middle-end/54809
9863 * doc/gty.texi: Remove documentation of mark_hook.
9864 * gengtype.c (struct write_types_data): Remove code to support
9865 mark_hook attribute.
9866 (walk_type): Likewise.
9867 (write_func_for_structure): Likewise.
9868
9869 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
9870
9871 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
9872 Directory Options, and -specs= to Overall Options.
9873 (Overall Options): Adjust similarly. Reorder to group related
9874 options together. Make -specs= cross-reference the spec file details.
9875 (Directory Options): Adjust similarly.
9876
9877 2016-01-12 Jeff Law <law@redhat.com>
9878
9879 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
9880
9881 2016-01-12 Olivier Hainque <hainque@adacore.com>
9882
9883 * gcc.c (spec_undefvar_allowed): New global.
9884 (process_command): Set to true when running for --version or --help,
9885 alone or together.
9886 (getenv_spec_function): When the variable is not defined, use the
9887 variable name as the variable value if we're allowed not to issue
9888 a fatal error.
9889
9890 2016-01-12 Bin Cheng <bin.cheng@arm.com>
9891
9892 PR tree-optimization/68911
9893 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
9894 information computed for expression "init + nit * step".
9895
9896 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
9897
9898 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
9899 about name of GCC executable. Remove deleted node from menu.
9900 (Directory Options) <-B>: Remove cross-reference to deleted node.
9901 (Target Options): Delete section.
9902
9903 2016-01-12 Christian Bruel <christian.bruel@st.com>
9904
9905 PR target/69180
9906 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
9907 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
9908
9909 2016-01-12 Jakub Jelinek <jakub@redhat.com>
9910
9911 PR target/69198
9912 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
9913 aligned_mem is properly set for AVX512-VL floating point masked
9914 stores.
9915
9916 PR target/69175
9917 * ifcvt.c (cond_exec_process_if_block): When removing the last
9918 insn from then_bb, remove also any possible barriers that follow it.
9919
9920 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
9921
9922 PR target/68456
9923 PR target/69226
9924 * config/i386/iamcu.h (SIZE_TYPE): New macro.
9925 (PTRDIFF_TYPE): Likewise.
9926 (WCHAR_TYPE): Likewise.
9927 (WCHAR_TYPE_SIZE): Likewise.
9928 (STDINT_LONG32): Likewise.
9929
9930 2016-01-12 Richard Biener <rguenther@suse.de>
9931
9932 PR tree-optimization/69053
9933 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
9934 convert initial value for cond reductions.
9935
9936 2016-01-12 Richard Biener <rguenther@suse.de>
9937
9938 PR tree-optimization/69007
9939 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
9940 widen_sum after dot_prod and sad.
9941
9942 2016-01-12 Richard Biener <rguenther@suse.de>
9943
9944 PR tree-optimization/69168
9945 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
9946 pattern stmt SLP type.
9947 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
9948 end up unused so cope with that case.
9949
9950 2016-01-12 Richard Biener <rguenther@suse.de>
9951
9952 PR tree-optimization/69157
9953 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
9954 stmts def type only during analyze phase.
9955 (vectorizable_call): Likewise.
9956 (vectorizable_simd_clone_call): Likewise.
9957 (vectorizable_conversion): Likewise.
9958 (vectorizable_assignment): Likewise.
9959 (vectorizable_shift): Likewise.
9960 (vectorizable_operation): Likewise.
9961 (vectorizable_store): Likewise.
9962 (vectorizable_load): Likewise.
9963
9964 2016-01-12 Richard Biener <rguenther@suse.de>
9965
9966 PR tree-optimization/69174
9967 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
9968 space.
9969 (vectorizable_load): Properly compute the number of loads needed
9970 for permuted strided SLP loads and do not spuriously assign
9971 to SLP_TREE_VEC_STMTS.
9972
9973 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
9974
9975 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
9976 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
9977 (MD_EXEC_PREFIX): Remove.
9978 (MD_STARTFILE_PREFIX) Removee.
9979 (FILE_NAME_ABSOLUTE_P): Remove.
9980 (CPP_SPEC): Do not read macros from sys/version.h.
9981 (LINK_COMMAND_SPEC): Remove.
9982 (LOCAL_INCLUDE_DIR): Remove.
9983 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
9984 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
9985 (POST_LINK_SPEC): Define to invoke stubify after linker
9986 (LIBSTDCXX): Remove define
9987 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
9988 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
9989 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
9990 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
9991 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
9992 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
9993 (i386_djgpp_asm_named_section): Add propotype of new procedure
9994
9995 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
9996 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
9997 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
9998 in config/i386/djgpp.h).
9999 (STANDARD_STARTFILE_PREFIX_2): Define identical to
10000 STANDARD_STARTFILE_PREFIX_1.
10001 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
10002 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
10003 installation errors.
10004 (MAX_OFILE_ALIGNMENT): Define to 128.
10005 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
10006
10007 * config/i386/djgpp.c: New file. Add implementation of
10008 i386_djgpp_asm_named_section.
10009
10010 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
10011
10012 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
10013 Add rule for building djgpp.o.
10014
10015 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10016
10017 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
10018 (rtx_is_swappable_p): Reductions are swappable.
10019 (insn_is_swappable_p): V2DF reductions are swappable.
10020
10021 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
10022
10023 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
10024 reloads for other unsupported memory operands.
10025
10026 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
10027 Jim Wilson <jim.wilson@linaro.org>
10028
10029 PR target/69194
10030 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
10031 copy_to_mode_reg instead of force_reg.
10032
10033 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
10034
10035 PR target/69225
10036 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
10037 TARGET_80387 is true.
10038
10039 2016-01-11 Jakub Jelinek <jakub@redhat.com>
10040
10041 PR target/69071
10042 * lra-eliminations.c (move_plus_up): Only move plus up
10043 if subreg of the constant can be simplified into constant
10044 and use the simplified subreg of the constant instead of
10045 the original constant.
10046
10047 * fold-const.c (fold_convertible_p): Don't return true
10048 for conversion of VECTOR_TYPE to same sized integral type.
10049 (fold_convert_loc): Fix up formatting. Fold conversion of
10050 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
10051 instead of NOP_EXPR.
10052
10053 PR tree-optimization/69214
10054 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
10055 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
10056 Formatting fix.
10057
10058 PR tree-optimization/69207
10059 * tree-vect-slp.c (vect_get_constant_vectors): For
10060 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
10061 fold_convertible_p to vector_type's element type, and always
10062 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
10063
10064 2016-01-11 Richard Biener <rguenther@suse.de>
10065
10066 PR tree-optimization/69173
10067 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
10068 fixup the cycle if all stmts are in a pattern.
10069
10070 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
10071
10072 PR middle-end/68999
10073 * alias.c (base_alias_check): Move check for addresses with
10074 alignment ANDs before the call for compare_base_decls.
10075 (memrefs_conflict_p): Return -1 for different decls
10076 that went through alignment adjustments.
10077
10078 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10079
10080 PR rtl-optimization/68796
10081 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
10082 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
10083 and QImode comparisons against zero with CC_NZmode.
10084 * config/aarch64/iterators.md (short_mask): New mode_attr.
10085
10086 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
10087
10088 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
10089 (<avx512>_store<mode>_mask): Likewise.
10090
10091 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
10092 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10093
10094 PR rtl-optimization/68841
10095 * ifcvt.c (struct noce_if_info): Add orig_x field.
10096 (bbs_ok_for_cmove_arith): Add to_rename parameter.
10097 Don't record conflicts on to_rename if it's present.
10098 Allow memory destinations in sets.
10099 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
10100 blocks, passing orig_x to the checks.
10101 (noce_process_if_block): Set if_info->orig_x appropriately.
10102
10103 2016-01-11 Tom de Vries <tom@codesourcery.com>
10104
10105 PR tree-optimization/69069
10106 * tree-parloops.c (create_parallel_loop): Add missing phi args.
10107
10108 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
10109
10110 PR rtl-optimization/68920
10111 * config/i386/i386.c (ix86_option_override_internal): Restrict number
10112 of conditional moves for RTL if-conversion to 1 for
10113 TARGET_ONE_IF_CONV_INSN.
10114 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
10115 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
10116 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
10117 parameter to restirct number of conditional moves for
10118 RTL if-conversion.
10119 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
10120 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
10121 conditionl moves.
10122
10123 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
10124
10125 PR bootstrap/69123
10126 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
10127 onepart vars. Fix typo in comment. Fix reversed condition in
10128 unshare test.
10129 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
10130
10131 PR bootstrap/69123
10132 * var-tracking.c (dump_onepart_variable_differences): New.
10133 (dataflow_set_different): If a detailed dump is requested,
10134 delay early returns and dump differences between onepart
10135 variables present before and after, and added variables.
10136
10137 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
10138
10139 PR target/69010
10140 * expr.c (expand_expr_real_1): For boolean vector constants
10141 with a scalar mode use const_scalar_mask_from_tree.
10142 (const_scalar_mask_from_tree): New.
10143 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
10144 assigned to a mask type to handle constants.
10145
10146 2016-01-11 Martin Jambor <mjambor@suse.cz>
10147
10148 PR ipa/69044
10149 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
10150 useless parameters if we cannot change function signature.
10151
10152 2016-01-11 Martin Jambor <mjambor@suse.cz>
10153
10154 PR ipa/66616
10155 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
10156 flag.
10157
10158 2016-01-11 Tom de Vries <tom@codesourcery.com>
10159
10160 PR tree-optimization/69109
10161 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
10162 latch with phi.
10163
10164 2016-01-11 Tom de Vries <tom@codesourcery.com>
10165
10166 PR tree-optimization/69108
10167 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
10168 res is not used in a phi.
10169
10170 2016-01-11 Yury Gribov <y.gribov@samsung.com>
10171
10172 PR 67425
10173 * common.opt (frandom-seed): Fix parameter name.
10174 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
10175
10176 2016-01-11 Tom de Vries <tom@codesourcery.com>
10177
10178 PR tree-optimization/69058
10179 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
10180 not supported.
10181
10182 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
10183
10184 * config/arc/arc.opt (mdiv-rem): Add period to the end.
10185 (mcode-density): Likewise.
10186
10187 2016-01-10 Tom de Vries <tom@codesourcery.com>
10188
10189 PR tree-optimization/69062
10190 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
10191 (parallelize_loops): Don't paralelize loop that has phi with address
10192 arg.
10193
10194 2016-01-10 Tom de Vries <tom@codesourcery.com>
10195
10196 PR tree-optimization/69039
10197 * tree-parloops.c (try_create_reduction_list): Only allow single exit
10198 phi for reduction.
10199
10200 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
10201
10202 PR middle-end/68743
10203 * match.pd: Require target has function_c99_misc before doing
10204 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
10205
10206 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
10207
10208 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
10209 use GMPINC.
10210 * configure: Regenerate.
10211
10212 2016-01-09 Jakub Jelinek <jakub@redhat.com>
10213
10214 PR middle-end/50865
10215 PR tree-optimization/69097
10216 * fold-const.h (expr_not_equal_to): New prototype.
10217 * fold-const.c: Include stringpool.h and tree-ssanames.h.
10218 (expr_not_equal_to): New function.
10219 * match.pd (X % -Y is the same as X % Y): Don't optimize
10220 unless X is known not to be equal to minimum or Y is known
10221 not to be equal to -1.
10222 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
10223 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
10224 (simplify_stmt_using_ranges): Adjust caller.
10225 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
10226 substitute_and_fold.
10227
10228 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
10229
10230 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
10231 w/o DECL_NAME.
10232
10233 2016-01-08 Jakub Jelinek <jakub@redhat.com>
10234
10235 PR tree-optimization/69167
10236 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
10237 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
10238 ops[0] comparison.
10239 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
10240
10241 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
10242 Richard Biener <rguenther@suse.de>
10243
10244 PR tree-optimization/68707
10245 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
10246 instances that can be handled via vect_load_lanes.
10247
10248 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
10249
10250 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
10251 if we can't determine address equivalence.
10252 * alias.c (compare_base_decl): Update for changed return value of
10253 symtab_node::equal_address_to.
10254
10255 2016-01-08 Jason Merrill <jason@redhat.com>
10256
10257 PR c++/68983
10258 PR c++/67557
10259 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
10260 * expr.c (store_field): Not here.
10261 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
10262 call with TREE_ADDRESSABLE type.
10263 * tree-cfg.c (verify_gimple_call): Adjust.
10264
10265 2016-01-08 Olivier Hainque <hainque@adacore.com>
10266
10267 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
10268 libc_internal.
10269
10270 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
10271
10272 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
10273 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
10274 (reduc_smin_v2sf): Rename to...
10275 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
10276 (reduc_splus_v2sf): Rename to...
10277 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
10278
10279 2016-01-08 Jakub Jelinek <jakub@redhat.com>
10280
10281 PR tree-optimization/69162
10282 * gimplify.c (gimplify_va_arg_expr): Encode original type of
10283 valist argument in another argument.
10284 (gimplify_modify_expr): Adjust for the above change. Cleanup.
10285 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
10286 to determine the va_list type, build a MEM_REF instead of
10287 build_fold_indirect_ref.
10288
10289 PR tree-optimization/69172
10290 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
10291 gimple_build.
10292
10293 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
10294
10295 PR tree-optimization/67781
10296 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
10297 and cmpnop in two steps: first the ones not accessed in original
10298 gimple expression in a endian independent way and then the ones not
10299 accessed in the final result in an endian-specific way.
10300
10301 2016-01-08 Jakub Jelinek <jakub@redhat.com>
10302
10303 PR tree-optimization/69083
10304 * tree-vect-slp.c (vect_get_constant_vectors): For
10305 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
10306 element type. If op is fold_convertible_p to vector_type's element
10307 type, use NOP_EXPR instead of VCE.
10308
10309 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
10310
10311 PR rtl-optimization/67778
10312 PR rtl-optimization/68634
10313 PR rtl-optimization/68909
10314 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
10315 block from the stack until done with it. Remove a superfluous
10316 bitmap set. Remove a superfluous bitmap test.
10317
10318 2016-01-07 Martin Sebor <msebor@redhat.com>
10319
10320 PR c/68966
10321 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
10322 constraint on the type of arguments.
10323
10324 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
10325
10326 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
10327 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
10328 unaligned_access on the gcc_options set.
10329 * config/arm/arm.c (arm_option_override_internal): Use
10330 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
10331
10332 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
10333
10334 PR target/69140
10335 * config/i386/i386.c (ix86_frame_pointer_required): Enable
10336 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
10337
10338 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
10339
10340 Revert
10341 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
10342
10343 PR target/69140
10344 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
10345 depending on frame_pointer_needed before remaining integer and SSE
10346 registers are saved.
10347
10348 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
10349
10350 PR 1078
10351 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
10352
10353 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10354
10355 PR target/69171
10356 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
10357 Use the "xBm" constraint.
10358 (float<sseintvecmodelower><mode>2<mask_name><round_name):
10359 Likewise.
10360 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
10361 (sse_cvtsi2ssq<round_name>): Likewise.
10362 (sse_cvtss2si<round_name>): Likewise.
10363 (sse_cvtss2siq<round_name>): Likewise.
10364 (sse2_cvtsi2sdq<round_name>): Likewise.
10365 (sse2_cvtsd2si<round_name>): Likewise.
10366 (sse2_cvtsd2siq<round_name>): Likewise.
10367 * config/i386/subst.md (round_nimm_scalar_predicate): New
10368 predicate.
10369
10370 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
10371
10372 PR middle-end/67639
10373 * varasm.c (make_decl_rtl): Mark invalid register vars as
10374 DECL_EXTERNAL.
10375
10376 PR rtl-optimization/66206
10377 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
10378 All callers changed.
10379
10380 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10381
10382 PR tree-optimization/69141
10383 * tree-ssa-pre.c: Include langhooks.h.
10384 (eliminate_dom_walker::before_dom_children): Use
10385 lang_hooks.decl_printable_name instead of
10386 cgraph_node::get ()->name ().
10387
10388 PR middle-end/68960
10389 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
10390 it and DECL_ALIGN too.
10391
10392 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
10393
10394 * config/mips/mips-ftypes.def: Sort to lexicographical order.
10395
10396 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
10397
10398 PR target/69140
10399 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
10400 depending on frame_pointer_needed before remaining integer and SSE
10401 registers are saved.
10402
10403 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10404
10405 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
10406 mode iterator with VSX_M2.
10407 (*p9_vecstore_<mode>): Likewise.
10408 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
10409 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
10410 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
10411 (define_split for VSX_LE128 stores): Likewise.
10412 (define_peephole2 for TImode LE swaps): Likewise.
10413 (define_split for VSX_LE128 post-reload stores): Likewise.
10414
10415 2016-01-06 Marek Polacek <polacek@redhat.com>
10416
10417 PR sanitizer/69099
10418 * convert.c (convert_to_integer_1): Adjust call to
10419 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
10420 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
10421 EXPR instead of ARG.
10422 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
10423
10424 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
10425
10426 PR 1078
10427 * doc/extend.texi (RL78 Variable Attributes): New section.
10428
10429 2016-01-05 Marek Polacek <polacek@redhat.com>
10430
10431 PR c/69104
10432 * builtins.c (get_memmodel): Use expansion point location rather than
10433 the input location. Call warning_at rather than warning.
10434 (expand_builtin_atomic_compare_exchange): Likewise.
10435 (expand_builtin_atomic_load): Likewise.
10436 (expand_builtin_atomic_store): Likewise.
10437 (expand_builtin_atomic_clear): Likewise.
10438
10439 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
10440
10441 PR target/68991
10442 * config/i386/i386.c (ix86_expand_vector_logical_operator):
10443 Replace nonimmediate_operand with vector_operand.
10444 * config/i386/predicates.md (vector_operand): New predicate.
10445 (general_vector_operand): Replace nonimmediate_operand with
10446 vector_operand.
10447 * config/i386/sse.md: Replace nonimmediate_operand with
10448 vector_operand and m constraint with Bm constraint on SSE
10449 patterns with 16-byte memory operand.
10450 * config/i386/subst.md (round_nimm_predicate): Replace
10451 nonimmediate_operand with vector_operand.
10452 (round_saeonly_nimm_predicate): Likewise.
10453 (round_saeonly_nimm_scalar_predicate): New.
10454
10455 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
10456
10457 PR target/68991
10458 * config/i386/constraints.md (Bm): New constraint.
10459 * config/i386/predicates.md (vector_memory_operand): New
10460 predicate.
10461 * config/i386/sse.md: Replace xm with xBm in plusminus and
10462 any_logic patterns.
10463
10464 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
10465
10466 PR 1078
10467 * doc/extend.texi (V850 Function Attributes): New section.
10468 (V850 Variable Attributes): New section.
10469
10470 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
10471
10472 PR 1078
10473 * doc/extend.texi (MicroBlaze Function Attributes): Document
10474 interrupt_handler and fast_interrupt attributes.
10475
10476 2016-01-05 Sergei Trofimovich <siarheit@google.com>
10477
10478 PR other/60465
10479 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
10480 for local symbolic operands.
10481 * config/ia64/predicates.md (local_symbolic_operand64): New
10482 predicate.
10483
10484 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10485
10486 PR rtl-optimization/68651
10487 * combine.c (combine_simplify_rtx): Canonicalize x + x into
10488 x << 1.
10489
10490 2016-01-05 Nathan Sidwell <nathan@acm.org>
10491
10492 * alias.c (compare_base_decls): Use symtab_node::get.
10493
10494 2016-01-05 Nick Clifton <nickc@redhat.com>
10495
10496 PR target/68770
10497 * ira-costs.c (copy_cost): Initialise the t_icode field of the
10498 secondary_reload_info structure.
10499
10500 PR target/66655
10501 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
10502 decls if weak support is available.
10503
10504 2016-01-04 Martin Sebor <msebor@redhat.com>
10505
10506 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
10507
10508 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
10509
10510 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
10511 OPTION_MASK_P9_DFORM.
10512
10513 * config/rs6000/constraints.md (wo constraint): New constraint for
10514 ISA 3.0 (power9).
10515
10516 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
10517 for wo constraint.
10518 (rs6000_init_hard_regno_mode_ok): Likewise.
10519
10520 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
10521 wo constraint.
10522
10523 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
10524 expanders not to have constraints. Add support for ISA 3.0 xxperm
10525 instruction. Add support for fusing xxlor with xxperm.
10526 (altivec_vperm_<mode>_internal): Likewise.
10527 (altivec_vperm_v8hiv16qi): Likewise.
10528 (altivec_vperm_<mode>v16q): Likewise.
10529 (altivec_vperm_<mode>_uns): Likewise.
10530 (vperm_v8hiv4si): Likewise.
10531 (vperm_v16qiv8hi): Likewise.
10532
10533 * doc/md.texi (RS/6000 constraints): Document wo constraint.
10534
10535 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10536
10537 Update copyright years.
10538
10539 * gcc.c (process_command): Update copyright notice dates.
10540 * gcov-dump.c (print_version): Ditto.
10541 * gcov.c (print_version): Ditto.
10542 * gcov-tool.c (print_version): Ditto.
10543 * gengtype.c (create_file): Ditto.
10544 * doc/cpp.texi: Bump @copying's copyright year.
10545 * doc/cppinternals.texi: Ditto.
10546 * doc/gcc.texi: Ditto.
10547 * doc/gccint.texi: Ditto.
10548 * doc/gcov.texi: Ditto.
10549 * doc/install.texi: Ditto.
10550 * doc/invoke.texi: Ditto.
10551
10552 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
10553
10554 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
10555 modes larger than TImode as TImode if NEON is not enabled.
10556
10557 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
10558
10559 PR target/69100
10560 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
10561 mode for %f0-%f31 only if TARGET_FPU.
10562
10563 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
10564
10565 PR target/69072
10566 * config/sparc/sparc.c (scan_record_type): Take into account subfields
10567 to compute the PACKED_P predicate.
10568 (function_arg_record_value): Minor tweaks.
10569
10570 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
10571
10572 * doc/install.texi (--with-multilib-list): Describe the meaning of the
10573 option for arm*-*-* targets.
10574
10575 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
10576
10577 * doc/extend.texi (Common Function Attributes): Move docs for
10578 MSP430-specific attributes to....
10579 (MSP430 Function Attributes): ...here. Delete the redundant
10580 entries and copy-edit the remaining text.
10581 (MSP430 Variable Attributes): Use uniform format for index
10582 entries and add a cross-reference to the corresponding function
10583 attribute docs.
10584
10585 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
10586
10587 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
10588 -finite-math typo.
10589 (x86 Options): Likewise.
10590
10591 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
10592
10593 PR 1078
10594
10595 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
10596 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
10597 to corresponding attribute.
10598
10599 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
10600
10601 * doc/extend.texi (Common Function Attributes) <noplt>: Move
10602 to correct alphabetization of table. Copy-edit and correct
10603 markup.
10604 <stack_protect>: Likewise.
10605 <target_clones>: Likewise.
10606 <simd>: Likewise.
10607 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
10608 Correct punctuation.
10609 (Code Gen Options) <-fno-plt>: Copy-edit.
10610
10611 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
10612
10613 PR target/68917
10614 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
10615 SI values. Explicitly convert SI to DI and vice-versa.
10616
10617 2016-01-01 Jakub Jelinek <jakub@redhat.com>
10618
10619 PR tree-optimization/69070
10620 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
10621 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
10622
10623 PR sanitizer/69055
10624 * ubsan.c (ubsan_instrument_float_cast): Call
10625 initialize_sanitizer_builtins.
10626
10627 PR target/69015
10628 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
10629 \f
10630 Copyright (C) 2016 Free Software Foundation, Inc.
10631
10632 Copying and distribution of this file, with or without modification,
10633 are permitted in any medium without royalty provided the copyright
10634 notice and this notice are preserved.