1 2015-04-07 Richard Biener <rguenther@suse.de>
4 2015-04-04 Richard Biener <rguenther@suse.de>
6 PR tree-optimization/64909
7 PR tree-optimization/65660
8 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
9 to take a cost vector for scalar iteration cost.
10 (vect_get_single_scalar_iteration_cost): Likewise.
11 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
12 Compute the scalar iteration cost into a cost vector.
13 (vect_get_known_peeling_cost): Use the scalar cost vector to
14 account for the cost of the peeled iterations.
15 (vect_estimate_min_profitable_iters): Likewise.
16 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
19 2015-04-05 Yvan Roux <yvan.roux@linaro.org>
21 Backport from trunk r221867
22 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
25 * lra.c (lra): Stop updating lra_constraint_new_regno_start after
26 switching off inheritance.
28 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
30 * config/pa/pa.c (pa_output_move_double): Directly handle register
31 indexed memory operand. Simplify handling of scaled register indexed
34 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
36 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
38 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
39 (s390_asm_output_function_label): Adapt to new signature of
40 s390_function_num_hotpatch_hw
41 Optimise the code generating assembler output.
42 Add comments to assembler file.
44 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
46 Backport from mainline
47 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
50 * lra-constraints.c (original_subreg_reg_mode): New.
51 (simplify_operand_subreg): Try to simplify subreg of const. Use
52 original_subreg_reg_mode for it.
53 (swap_operands): Update original_subreg_reg_mode.
54 (curr_insn_transform): Set up original_subreg_reg_mode.
56 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
59 * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
60 Check operand 6 and operand 0 for equality.
61 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
63 (vec_extract_hi_<mode>_maskm): Ditto.
65 2015-03-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
67 Backport of r214242, r214254, and bug fix patches from mainline
68 * config/rs6000/rs6000.c (context.h): New #include.
69 (tree-pass.h): Likewise.
70 (make_pass_analyze_swaps): New declaration.
71 (rs6000_option_override): Register swap-optimization pass.
72 (swap_web_entry): New class.
73 (special_handling_values): New enum.
74 (union_defs): New function.
75 (union_uses): Likewise.
76 (insn_is_load_p): Likewise.
77 (insn_is_store_p): Likewise.
78 (insn_is_swap_p): Likewise.
79 (rtx_is_swappable_p): Likewise.
80 (insn_is_swappable_p): Likewise.
81 (chain_purpose): New enum.
82 (chain_contains_only_swaps): New function.
83 (mark_swaps_for_removal): Likewise.
84 (swap_const_vector_halves): Likewise.
85 (adjust_subreg_index): Likewise.
86 (permute_load): Likewise.
87 (permute_store): Likewise.
88 (adjust_extract): Likewise.
89 (adjust_splat): Likewise.
90 (handle_special_swappables): Likewise.
91 (replace_swap_with_copy): Likewise.
92 (dump_swap_insn_table): Likewise.
93 (rs6000_analyze_swaps): Likewise.
94 (pass_data_analyze_swaps): New pass_data.
95 (pass_analyze_swaps): New class.
96 (pass_analyze_swaps::gate): New method.
97 (pass_analyze_swaps::execute): New method.
98 (make_pass_analyze_swaps): New function.
99 * config/rs6000/rs6000.opt (moptimize-swaps): New option.
100 * df.h (web_entry_base): New class, replacing struct web_entry.
101 (web_entry_base::pred): New method.
102 (web_entry_base::set_pred): Likewise.
103 (web_entry_base::unionfind_root): Likewise.
104 (web_entry_base::unionfind_union): Likewise.
105 (unionfind_root): Delete external reference.
106 (unionfind_union): Likewise.
107 (union_defs): Likewise.
108 * web.c (web_entry_base::unionfind_root): Convert to method.
109 (web_entry_base::unionfind_union): Likewise.
110 (web_entry): New class.
111 (union_match_dups): Convert to use class structure.
112 (union_defs): Likewise.
113 (entry_register): Likewise.
114 (web_main): Likewise.
116 2015-03-26 Alan Modra <amodra@gmail.com>
119 Backport from trunk 211857 and 221445.
120 2014-06-20 Maciej W. Rozycki <macro@codesourcery.com>
121 * config/rs6000/rs6000.md: Append `DONE' to preparation
122 statements of `bswap' pattern splitters.
124 2015-03-16 Alan Modra <amodra@gmail.com>
125 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
126 Modify Z->r bswapdi splitter to use dest in place of scratch.
127 In r->Z and Z->r bswapdi splitter rename word_high, word_low
128 to word1, word2 and rearrange logic to suit.
129 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
130 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
131 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
132 Add one '?' on r->r. Modify Z->r splitter to avoid need for
135 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
137 Backport from mainline
138 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
140 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
142 2015-03-24 Uros Bizjak <ubizjak@gmail.com>
144 PR rtl-optimization/60851
145 * recog.c (constrain_operands): Accept a pseudo register before reload
146 for LRA enabled targets.
148 2015-03-23 Yvan Roux <yvan.roux@linaro.org>
150 Backport from trunk r220616.
151 2015-02-11 Martin Liska <mliska@suse.cz>
154 * cgraphunit.c (cgraph_node::expand_thunk): Do not create a return
155 value for call to a function that is noreturn.
157 2015-03-23 Yvan Roux <yvan.roux@linaro.org>
159 Backport from trunk r216841.
160 2014-10-29 Martin Liska <mliska@suse.cz>
163 * cgraphunit.c (cgraph_node::expand_thunk): Only VAR_DECLs are put
164 to local declarations.
165 * function.c (add_local_decl): Implementation moved from header file,
166 assert introduced for tree type.
167 * function.h: Likewise.
169 2015-03-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
171 Backport from mainline
172 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
174 PR rtl-optimization/65235
175 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
176 When first element of vec_concat is const_int, calculate its size
177 using second element.
179 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
182 * expr.c (store_field): Do not do a direct block copy if the source is
183 a PARALLEL with BLKmode.
185 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
187 Backport from mainline
188 * config/s390/s390.c (s390_reorg): Move code to output nops after label
190 (s390_asm_output_function_label): Likewise.
191 * config/s390/s390.c (s390_asm_output_function_label):
192 Fix function label alignment with -mhtopatch.
193 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
194 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
195 ("nop_2_byte"): New define_insn.
196 ("nop_4_byte"): Likewise.
197 ("nop_6_byte"): Likewise.
198 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
199 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
201 2015-03-12 Marek Polacek <polacek@redhat.com>
203 Backported from mainline
204 2015-03-11 Marek Polacek <polacek@redhat.com>
206 PR tree-optimization/65388
207 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
209 2015-03-11 Georg-Johann Lay <avr@gjlay.de>
212 * configure.ac [avr]: Check as for option -mrmw.
213 * configure: Regenerate.
214 * config.in: Regenerate.
215 * config/avr/driver-avr.c (avr_device_to_as): Don't add -mrmw to
216 assembler options if not HAVE_AS_AVR_MRMW_OPTION.
218 2015-03-11 Marek Polacek <polacek@redhat.com>
220 Backported from mainline
221 2014-12-04 Marek Polacek <polacek@redhat.com>
224 * fold-const.c (fold_unary_loc): Perform the negation in A's type
225 when transforming ~ (A - 1) or ~ (A + -1) to -A.
227 2015-03-10 Yvan Roux <yvan.roux@linaro.org>
229 Backport from trunk r220489.
230 2015-02-06 Jakub Jelinek <jakub@redhat.com>
233 * cgraphunit.c (cgraph_node::expand_thunk): If
234 restype is not is_gimple_reg_type nor the thunk_fndecl
235 returns aggregate_value_p, set restmp to a temporary variable
238 2015-03-10 Jakub Jelinek <jakub@redhat.com>
241 * config/rs6000/t-linux: For powerpc64* target set
242 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
244 2015-03-10 Oleg Endo <olegendo@gcc.gnu.org>
247 * config/sh/sh.md (*tst<mode>_t_zero): Remove insns.
249 2015-03-10 Alan Modra <amodra@gmail.com>
252 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
253 to be single-arch by default. Set cpu_is_64bit for powerpc64
254 given --with-cpu=native.
255 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
256 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
258 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
259 rs6000_isa_flags rather than TARGET_64BIT.
261 2015-03-05 Michael Meissner <meissner@linux.vnet.ibm.com>
264 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
267 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
268 processor type for 64-bit little endian PowerPC.
270 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
271 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
272 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
273 printing built-in mask so it does not pass NULL pointers.
275 * config/rs6000/rs6000-tables.opt: Regenerate.
277 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
281 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
283 * config/rs6000/default64.h: Include rs6000-cpus.def.
284 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
285 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
286 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
288 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
290 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
291 pseudo-op to specify assembler dialect.
293 2015-03-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
295 Backport from mainline
296 2014-11-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
299 * config/arm/arm.c (dump_minipool): dispatch to consttable pattern
301 * config/arm/arm.md (consttable_1): Make it TARGET_EITHER.
302 (consttable_2): Make it TARGET_EITHER and move HFmode handling from
304 (consttable_4): Move HFmode handling to consttable_2 pattern.
306 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
309 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
310 called for __stack_chk_guard symbol.
312 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
315 * config/avr/avr.c (context.h, tree-pass.h): Include them.
316 (avr_pass_data_recompute_notes): New static variable.
317 (avr_pass_recompute_notes): New class.
318 (avr_register_passes): New static function.
319 (avr_option_override): Call it.
321 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
323 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
324 to create a register in testing mode.
326 2015-03-03 Thomas Preud'homme <thomas.preudhomme@arm.com>
328 Backport from mainline
329 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
332 * config/arm/arm.c (callee_saved_reg_p): Define.
333 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
334 register is callee saved instead of !call_used_regs[reg].
335 (thumb1_compute_save_reg_mask): Likewise.
337 2015-02-27 Richard Biener <rguenther@suse.de>
340 * builtins.c (get_object_alignment_2): Make sure to re-apply
341 the ANDed mask after recursing to its operand gets us a new
342 misalignment bit position.
344 2015-02-27 Andrew Pinski <apinski@cavium.com>
345 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
347 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
348 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
350 2015-02-27 Richard Biener <rguenther@suse.de>
353 Backport from mainline
354 2014-07-24 Jan Hubicka <hubicka@ucw.cz>
356 * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
359 2015-02-25 Peter Bergner <bergner@vnet.ibm.com>
361 Backport from mainline
362 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
364 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
366 2015-02-26 Matthew Fortune <matthew.fortune@imgtec.com>
369 Backported from mainline: r213872, r217446, r217939, r219867
371 * config.in [!USED_FOR_TARGET] (HAVE_AS_DOT_MODULE): Undefine.
372 * config/mips/mips.h (FP_ASM_SPEC): New macro.
373 (ASM_SPEC): Use FP_ASM_SPEC.
374 * configure.ac (HAVE_AS_DOT_MODULE): Detect support for .module
376 * configure: Regenerate.
378 2015-02-25 Jason Merrill <jason@redhat.com>
380 * common.opt (-flifetime-dse): New.
382 2015-02-25 Kai Tietz <ktietz@redhat.com>
384 PR tree-optimization/61917
385 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
386 that reduc_def_stmt is null.
390 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
391 (symtab::noninterposable_alias): Likewise.
393 2015-02-25 Richard Biener <rguenther@suse.de>
394 Kai Tietz <ktietz@redhat.com>
396 Backported from mainline
397 PR tree-optimization/61917
398 * tree-vect-loop.c (vectorizable_reduction): Allow
399 vect_internal_def without reduction to exit graceful.
401 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
404 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
405 only with NONDEBUG_INSN_P.
407 2015-02-25 Kaz Kojima <kkojima@gcc.gnu.org>
409 Backport from mainline
410 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
413 * config/sh/sh.md (movsicc_true+3): Remove peephole.
414 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
415 * config/sh/sh.c (replace_n_hard_rtx): Remove.
417 2015-02-24 Richard Biener <rguenther@suse.de>
419 Backport from mainline
420 2015-02-11 Richard Biener <rguenther@suse.de>
423 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
426 2015-02-13 Richard Biener <rguenther@suse.de>
429 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
430 for LTO produced CUs.
432 2015-02-16 Richard Biener <rguenther@suse.de>
435 * varasm.c (default_file_start): For LTO produced units
436 emit <artificial> as file directive.
438 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
440 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
442 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
444 Backport from mainline
445 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
448 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
449 instead of const_int 4294901760.
451 2015-02-23 Richard Biener <rguenther@suse.de>
453 Backport from mainline
454 2014-11-19 Richard Biener <rguenther@suse.de>
456 PR tree-optimization/63844
457 * omp-low.c (fixup_child_record_type): Use a restrict qualified
458 referece type for the receiver parameter.
460 2014-11-27 Richard Biener <rguenther@suse.de>
462 PR tree-optimization/61634
463 * tree-vect-slp.c: Include gimple-walk.h.
464 (vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid
465 down the SLP tree for one scalar statement.
466 (vect_detect_hybrid_slp_1): New walker function.
467 (vect_detect_hybrid_slp_2): Likewise.
468 (vect_detect_hybrid_slp): Properly handle pattern statements
469 in a pre-scan over all loop stmts.
471 2015-01-14 Richard Biener <rguenther@suse.de>
473 PR tree-optimization/59354
474 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
475 groups larger than the slp group size as having gaps.
477 2015-02-10 Richard Biener <rguenther@suse.de>
479 PR tree-optimization/64909
480 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
481 pass a scalar-stmt count estimate to the cost model.
482 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
484 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
486 Backport from mainline
487 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
489 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
490 Mark operand 0 as earlyclobber in 2nd alternative.
491 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
492 Write negated shift amount into QI lowpart operand 0 and use it
494 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
496 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
498 Backport from 2015-02-20 trunk r220847.
501 * config/avr/avr.md (pushhi_insn): New insn.
502 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
504 2015-02-20 Richard Biener <rguenther@suse.de>
506 Backport from mainline
507 2015-01-12 Richard Biener <rguenther@suse.de>
509 PR tree-optimization/64530
510 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
513 2015-02-13 Richard Biener <rguenther@suse.de>
516 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
519 2015-02-16 Richard Biener <rguenther@suse.de>
521 PR tree-optimization/63593
522 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
523 stmts and releasing SSA names until...
524 (execute_pred_commoning): ... after processing all chains.
526 2015-02-18 Richard Biener <rguenther@suse.de>
528 PR tree-optimization/65063
529 * tree-predcom.c (determine_unroll_factor): Return 1 if we
530 have replaced looparound PHIs.
532 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
534 * config/pa/pa.c (pa_reloc_rw_mask): New function.
535 (TARGET_ASM_RELOC_RW_MASK): Define.
536 (pa_cannot_force_const_mem): Revert previous change.
538 2015-02-19 Richard Biener <rguenther@suse.de>
540 Backport from mainline
541 2014-12-09 Richard Biener <rguenther@suse.de>
544 * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.
546 2015-01-14 Richard Biener <rguenther@suse.de>
548 PR tree-optimization/64493
549 PR tree-optimization/64495
550 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
551 assign the proper vectorized PHI to the inner loop exit PHIs.
553 2015-01-27 Richard Biener <rguenther@suse.de>
555 PR tree-optimization/56273
556 PR tree-optimization/59124
557 PR tree-optimization/64277
558 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
559 from the first VRP pass.
561 2015-02-19 Richard Biener <rguenther@suse.de>
563 Backport from mainline
564 2015-01-15 Richard Biener <rguenther@suse.de>
567 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
568 for MEM_REF access functions with the same base can never partially
571 2015-02-17 Ilya Tocar <ilya.tocar@intel.com>
573 Backported from mainline
574 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
577 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
578 (vec_unpacks_hi_v16sf): Ditto.
580 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
582 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
583 for all floading point loads and stores except those using a register
585 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
588 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
590 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
592 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
593 symbolic references to data to be forced to constant memory on the
596 2015-02-11 Jakub Jelinek <jakub@redhat.com>
598 Backported from mainline
599 2015-02-09 Jakub Jelinek <jakub@redhat.com>
602 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
605 2015-02-11 Uros Bizjak <ubizjak@gmail.com>
607 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
608 and 3 earlyclobber operands.
610 2015-02-09 Dominik Vogt <vogt@linux.vnet.ibm.com>
612 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
613 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
615 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
616 -mno-hotpatch options. Change syntax of -mhotpatch= option.
617 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
619 (s390_hotpatch_trampoline_halfwords_max): Renamed.
620 (s390_hotpatch_hw_max): New name.
621 (s390_hotpatch_trampoline_halfwords): Renamed.
622 (s390_hotpatch_hw_before_label): New name.
623 (get_hotpatch_attribute): Removed.
624 (s390_hotpatch_hw_after_label): New name.
625 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
627 (s390_attribute_table): Ditto.
628 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
629 (s390_function_num_hotpatch_hw): New name.
630 Remove special handling of inline functions and hotpatching.
631 Return number of nops before and after the function label.
632 (s390_can_inline_p): Removed.
633 (s390_asm_output_function_label): Emit a configurable number of nops
634 after the function label.
635 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
636 (TARGET_CAN_INLINE_P) Removed.
637 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
639 2015-02-05 Segher Boessenkool <segher@kernel.crashing.org>
642 Backport from mainline
643 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
644 (rs6000_stack_info): Add assert.
645 (rs6000_output_savres_externs): New function, split off from...
646 (rs6000_output_function_prologue): ... here. Do not call it for
649 2015-02-04 Matthias Klose <doko@ubuntu.com>
652 Backport from mainline
653 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
657 * ipa.c (symbol_table::remove_unreachable_nodes):
658 Do not put abstract origins into boundary.
660 2015-02-04 Uros Bizjak <ubizjak@gmail.com>
662 Backport from mainline
663 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
666 * config/i386/predicates.md (address_no_seg_operand): Reject
667 non-CONST_INT_P operands in invalid mode.
669 Backport from mainline
670 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
672 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
673 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
674 * config/i386/predicates.md (address_no_seg_operand): Call
675 address_operand with VOIDmode.
676 (vsib_address_operand): Ditto.
678 2015-02-01 H.J. Lu <hongjiu.lu@intel.com>
680 Backported from mainline
681 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
683 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
684 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
685 * config/i386/i386.c (processor_model): Add
686 M_INTEL_COREI7_BROADWELL.
687 (arch_names_table): Add "broadwell".
689 2015-02-01 Jakub Jelinek <jakub@redhat.com>
691 Backported from mainline
692 2015-01-27 Jakub Jelinek <jakub@redhat.com>
694 PR rtl-optimization/61058
695 * jump.c (cleanup_barriers): Update basic block boundaries
696 if BLOCK_FOR_INSN is non-NULL on PREV.
698 2015-01-26 Jakub Jelinek <jakub@redhat.com>
701 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
702 with asterisk, skip the first character.
704 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
705 OPTION_MASK_QUAD_MEMORY_ATOMIC.
707 2015-01-23 Jakub Jelinek <jakub@redhat.com>
709 PR rtl-optimization/63637
710 PR rtl-optimization/60663
711 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
712 if elt->cost is MAX_COST for ASM_OPERANDS.
713 (find_sets_in_insn): Fix up comment typo.
714 (cse_insn): Don't set src_volatile for all non-volatile
715 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
716 or with "memory" clobber. Set elt->cost to MAX_COST
717 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
718 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
721 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
724 2015-01-20 Jakub Jelinek <jakub@redhat.com>
727 * dwarf2out.c (decl_piece_node): Don't put bitsize into
728 mode if bitsize <= 0.
729 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
730 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
733 2015-01-29 Ilya Tocar <ilya.tocar@intel.com>
735 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
736 _mm256_bsrli_epi128): New.
737 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
739 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
741 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
744 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
746 * config/s390/s390.c (s390_register_move_cost): Increase costs for
749 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
751 Backport from mainline
752 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
755 * config/i386/i386.md (*movdi_internal): Also check operand 0
756 to determine TYPE_LEA operand.
757 (*movsi_internal): Ditto.
759 Backport from mainline
760 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
762 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
765 2015-01-23 Jakub Jelinek <jakub@redhat.com>
768 * omp-low.c (scan_sharing_clauses): Don't ignore
769 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
770 on target data/update constructs.
772 2015-01-23 Wei Mi <wmi@google.com>
774 Backported from trunk.
775 2015-01-22 Wei Mi <wmi@google.com>
777 PR rtl-optimization/64557
778 * dse.c (record_store): Call get_addr for mem_addr.
779 (check_mem_read_rtx): Likewise.
781 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
783 * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
786 2015-01-21 Wei Mi <wmi@google.com>
788 Backported from trunk.
789 2014-11-22 Jan Hubicka <hubicka@ucw.cz>
792 * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
793 as having abstract origin used.
794 * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract
796 (clone_inlined_nodes): Copy abstract originflag.
797 * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get
798 abstract origin node.
800 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
802 Backport from mainline
803 * config/nios2/nios2.c (nios2_asm_file_end): Implement
804 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
806 (TARGET_ASM_FILE_END): Define.
808 2015-01-15 Martin Liska <mliska@suse.cz>
810 Backport from mainline
811 2014-11-27 Richard Biener <rguenther@suse.de>
814 * alias.c (mems_in_disjoint_alias_sets_p): Remove assert
815 and instead return false when !fstrict-aliasing.
817 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
819 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
820 set the memory attributes in all cases but clear MEM_EXPR if need be.
822 2015-01-14 Jakub Jelinek <jakub@redhat.com>
824 Backported from mainline
825 2015-01-12 Jakub Jelinek <jakub@redhat.com>
828 * config/i386/i386.c (ix86_expand_prologue): Add
829 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
831 2015-01-13 Jakub Jelinek <jakub@redhat.com>
833 PR rtl-optimization/64286
834 * ree.c (combine_reaching_defs): Move part of comment earlier,
835 remove !SCALAR_INT_MODE_P check.
836 (add_removable_extension): Don't add vector mode
837 extensions if all uses of the source register aren't the same
840 2015-01-12 Jakub Jelinek <jakub@redhat.com>
842 PR tree-optimization/64563
843 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
844 instead of != VR_VARYING.
846 2015-01-14 Marek Polacek <polacek@redhat.com>
848 Backport from mainline
849 2015-01-13 Marek Polacek <polacek@redhat.com>
852 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
854 2015-01-13 Marc Glisse <marc.glisse@inria.fr>
857 * tree.c (build_qualified_type): Use a canonical type for
860 2015-01-13 Pat Haugen <pthaugen@us.ibm.com>
862 Backport from mainline
863 2014-12-20 Segher Boessenkool <segher@kernel.crashing.org>
866 * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
867 input operands if only the second is inverted.
868 * config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
869 Swap BOOL_REGS_OP1 and BOOL_REGS_OP2. Correct arguments to
870 rs6000_split_logical.
871 (*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].
873 2015-01-13 Renlin Li <renlin.li@arm.com>
875 Backport from mainline:
876 2014-11-19 Renlin Li <renlin.li@arm.com>
879 * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): New.
881 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
883 Backport form mainline
884 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
887 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
889 2015-01-09 Jakub Jelinek <jakub@redhat.com>
891 PR rtl-optimization/64536
892 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
895 2015-01-09 Michael Meissner <meissner@linux.vnet.ibm.com>
897 Backport from mainline:
898 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
901 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
902 correct reload handler if -m32 -mpowerpc64 is used.
904 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
906 Backport from mainline:
907 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
909 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
911 * config/rs6000/t-rtems: Add e6500 multilibs.
913 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
915 Backport from mainline:
916 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
918 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
921 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
923 Backport from mainline:
924 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
926 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
929 2015-01-09 Renlin Li <renlin.li@arm.com>
931 Backport from mainline:
932 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
935 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
936 of __ARM_SIZEOF_WCHAR_T.
938 2015-01-08 Christian Bruel <christian.bruel@st.com>
941 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
943 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
945 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
946 instead of `m' constraint. Likewise for unnamed movb comparison
947 patterns using reg_before_reload_operand predicate.
948 * config/pa/predicates.md (reg_before_reload_operand): Tighten
949 predicate to reject register index and LO_SUM DLT memory forms
952 2014-12-27 H.J. Lu <hongjiu.lu@intel.com>
954 Backport from mainline:
955 2014-12-27 H.J. Lu <hongjiu.lu@intel.com>
958 * config/i386/i386.c (ix86_function_type_abi): Issue an error
959 when ms_abi attribute is used with x32.
961 2014-12-27 Uros Bizjak <ubizjak@gmail.com>
963 * config/i386/mmx.md (*vec_extractv2sf_1): Do not emit unpckhps.
964 Emit movshdup for SSE3 and shufps otherwise.
965 (*vec_extractv2si_1): Do not emit punpckhdq and unpckhps.
966 Emit pshufd for SSE2 and shufps otherwise.
968 2014-12-24 Nick Clifton <nickc@redhat.com>
970 Backport from mainline:
971 2014-06-13 Nick Clifton <nickc@redhat.com>
973 * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
974 requested alignment is active.
975 (LABEL_ALIGN): Likewise.
976 (LOOP_ALIGN): Likewise.
978 2014-03-25 Nick Clifton <nickc@redhat.com>
980 * config/rx/rx.c (rx_print_operand): Allow R operator to accept
983 2014-12-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
985 Backport from mainline
986 2014-12-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
988 PR rtl-optimization/64010
989 * reload.c (push_reload): Before reusing a register contained
990 in an operand as input reload register, ensure that it is not
991 used in CALL_INSN_FUNCTION_USAGE.
993 2014-12-15 Jakub Jelinek <jakub@redhat.com>
996 * tsan.c (instrument_func_entry): Insert __tsan_func_entry
997 call on edge from entry block to single succ instead
998 of after labels of single succ of entry block.
1000 2014-12-14 H.J. Lu <hongjiu.lu@intel.com>
1002 Backported from mainline
1003 2014-12-14 H.J. Lu <hongjiu.lu@intel.com>
1005 PR rtl-optimization/64037
1006 * combine.c (setup_incoming_promotions): Pass the argument
1007 before any promotions happen to promote_function_mode.
1009 2014-12-14 H.J. Lu <hongjiu.lu@intel.com>
1011 Backported from mainline
1012 2014-12-06 H.J. Lu <hongjiu.lu@intel.com>
1015 * config/i386/i386.c (decide_alg): Don't assert "alg != libcall"
1016 for TARGET_INLINE_STRINGOPS_DYNAMICALLY.
1018 2014-12-13 Jakub Jelinek <jakub@redhat.com>
1020 Backported from mainline
1021 2014-12-12 Jakub Jelinek <jakub@redhat.com>
1023 PR tree-optimization/64269
1024 * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
1025 len2 or diff are too large.
1027 2014-12-11 Eric Botcazou <ebotcazou@adacore.com>
1029 * doc/md.texi (Insn Lengths): Fix description of (pc).
1031 2014-12-11 Renlin Li <renlin.li@arm.com>
1033 Backport from mainline
1034 2014-12-11 Renlin Li <renlin.li@arm.com>
1036 * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
1038 (aarch64_override_options): Use selected_cpu's tuning.
1040 2014-12-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1042 Backport from mainline
1043 2014-09-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1045 * config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE): New
1046 built-in definition.
1047 (XVCVUXDDP_SCALE): Likewise.
1048 (XVCVDPSXDS_SCALE): Likewise.
1049 (XVCVDPUXDS_SCALE): Likewise.
1050 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1051 entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
1052 VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
1053 VSX_BUILTIN_XVCVDPUXDS_SCALE.
1054 * config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
1056 * config/rs6000/rs6000.c (real.h): New include.
1057 (rs6000_scale_v2df): New function.
1058 * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
1059 (UNSPEC_VSX_XVCVUXDDP): Likewise.
1060 (UNSPEC_VSX_XVCVDPSXDS): Likewise.
1061 (UNSPEC_VSX_XVCVDPUXDS): Likewise.
1062 (vsx_xvcvsxddp_scale): New define_expand.
1063 (vsx_xvcvsxddp): New define_insn.
1064 (vsx_xvcvuxddp_scale): New define_expand.
1065 (vsx_xvcvuxddp): New define_insn.
1066 (vsx_xvcvdpsxds_scale): New define_expand.
1067 (vsx_xvcvdpsxds): New define_insn.
1068 (vsx_xvcvdpuxds_scale): New define_expand.
1069 (vsx_xvcvdpuxds): New define_insn.
1070 * doc/extend.texi (vec_ctf): Add new prototypes.
1071 (vec_cts): Likewise.
1072 (vec_ctu): Likewise.
1073 (vec_splat): Likewise.
1074 (vec_div): Likewise.
1075 (vec_mul): Likewise.
1077 Backport from mainline
1078 2014-08-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1080 * config/rs6000/altivec.h (vec_xl): New #define.
1081 (vec_xst): Likewise.
1082 * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
1083 (XXSPLTD_V2DI): Likewise.
1084 (DIV_V2DI): Likewise.
1085 (UDIV_V2DI): Likewise.
1086 (MUL_V2DI): Likewise.
1087 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1088 entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
1089 VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
1090 VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
1091 * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
1092 (UNSPEC_VSX_DIVSD): Likewise.
1093 (UNSPEC_VSX_DIVUD): Likewise.
1094 (UNSPEC_VSX_MULSD): Likewise.
1095 (vsx_mul_v2di): New insn-and-split.
1096 (vsx_div_v2di): Likewise.
1097 (vsx_udiv_v2di): Likewise.
1098 (vsx_xxspltd_<mode>): New insn.
1100 Backport from mainline
1101 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1103 * config/rs6000/altivec.h (vec_cpsgn): New #define.
1104 (vec_mergee): Likewise.
1105 (vec_mergeo): Likewise.
1106 (vec_cntlz): Likewise.
1107 * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
1108 entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
1109 VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
1111 * doc/extend.texi: Document various forms of vec_cpsgn,
1112 vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
1113 vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
1114 vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
1115 vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
1116 vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
1118 Backport from mainline
1119 2014-07-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1121 * config/rs6000/altivec.md (unspec enum): Fix typo in UNSPEC_VSLDOI.
1122 (altivec_vsldoi_<mode>): Likewise.
1125 2014-12-10 Jakub Jelinek <jakub@redhat.com>
1127 PR tree-optimization/62021
1128 * omp-low.c (simd_clone_adjust_return_type): Use
1129 vector of pointer_sized_int_node types instead vector of pointer
1131 (simd_clone_adjust_argument_types): Likewise.
1133 2014-12-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1135 Backport from mainline:
1136 2014-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1139 * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
1140 for BUILT_IN_POW when flag_errno_math is present.
1142 2014-12-10 Marek Polacek <polacek@redhat.com>
1144 Backport from mainline
1145 2014-12-10 Marek Polacek <polacek@redhat.com>
1147 PR tree-optimization/61686
1148 * tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
1151 2014-12-09 David Edelsohn <dje.gcc@gmail.com>
1153 Backport from mainline
1154 2014-12-05 David Edelsohn <dje.gcc@gmail.com>
1156 * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_LOCAL): Append
1157 alignment to section name. Increase default alignment to
1160 2014-12-09 Uros Bizjak <ubizjak@gmail.com>
1164 2014-11-28 H.J. Lu <hongjiu.lu@intel.com>
1166 PR rtl-optimization/64037
1167 * combine.c (setup_incoming_promotions): Pass the argument
1168 before any promotions happen to promote_function_mode.
1170 2014-12-09 Richard Biener <rguenther@suse.de>
1172 PR tree-optimization/64191
1173 * tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
1174 not relevant (nor are their uses).
1176 2014-12-07 Oleg Endo <olegendo@gcc.gnu.org>
1178 Backport from mainline
1179 2014-12-07 Oleg Endo <olegendo@gcc.gnu.org>
1182 * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
1184 2014-12-05 H.J. Lu <hongjiu.lu@intel.com>
1186 Backport from mainline
1187 2014-12-02 H.J. Lu <hongjiu.lu@intel.com>
1190 * config/i386/i386.c (decide_alg): Stop only if there aren't
1191 any usable algorithms.
1193 2014-12-05 H.J. Lu <hongjiu.lu@intel.com>
1195 Backport from mainline
1196 2014-11-28 H.J. Lu <hongjiu.lu@intel.com>
1198 PR rtl-optimization/64037
1199 * combine.c (setup_incoming_promotions): Pass the argument
1200 before any promotions happen to promote_function_mode.
1202 2014-12-04 Tobias Burnus <burnus@net-b.de>
1205 (ac_has_isl_schedule_constraints_compute_schedule):
1207 * graphite-clast-to-gimple.c: For ISL 0.14, include deprecate headers.
1208 * graphite-interchange.c: Ditto.
1209 * graphite-poly.c: Ditto.
1210 * graphite-sese-to-poly.c: Ditto.
1211 * graphite-optimize-isl.c (getScheduleForBandList): Ditto.
1212 Conditionally use ISL 0.13+ functions.
1213 * config.in: Regenerate.
1214 * configure: Regenerate.
1216 2014-12-04 Jakub Jelinek <jakub@redhat.com>
1219 * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
1220 Handle COMPOUND_EXPR.
1222 2014-12-03 Jakub Jelinek <jakub@redhat.com>
1225 * expmed.c (expand_widening_mult): Return const0_rtx if
1228 2014-12-03 Martin Jambor <mjambor@suse.cz>
1231 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
1232 type sizes before view_converting.
1234 2014-12-03 Shanyao Chen <chenshanyao@huawei.com>
1236 Backport from mainline
1237 2014-11-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1240 * config/arm/arm.md (*movhi_insn): Use right formatting
1243 2014-11-19 Felix Yang <felix.yang@huawei.com>
1244 Shanyao Chen <chenshanyao@huawei.com>
1247 * config/arm/arm.md (define_attr "arch"): Add v6t2.
1248 (define_attr "arch_enabled"): Add test for the above.
1249 (*movhi_insn_arch4): Add new alternative.
1251 2014-12-03 Renlin Li <Renlin.Li@arm.com>
1253 Backported from mainline
1254 2014-12-03 Renlin Li <Renlin.Li@arm.com>
1258 * ira.c (ira): Update preferred class.
1260 2014-12-02 Uros Bizjak <ubizjak@gmail.com>
1263 * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
1264 using post-reload splitter. Use peephole2 pass instead.
1265 (call_value_osf_tlsldm): Ditto.
1266 (TLS_CALL): New int iterator.
1267 (tls): New int attribute.
1268 (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
1269 and call_value_tlsldm using TLS_CALL int iterator.
1271 2014-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1274 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove
1275 invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING.
1277 2014-12-01 Richard Biener <rguenther@suse.de>
1280 * tree.c (int_cst_hash_hash): Use TYPE_UID instead of
1281 htab_hash_pointer to not break PCH.
1283 2014-12-01 Martin Jambor <mjambor@suse.cz>
1286 * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert
1287 value of the argument to the type of the value in the condition.
1289 2014-11-28 Jakub Jelinek <jakub@redhat.com>
1291 Backported from mainline
1292 2014-11-27 Jakub Jelinek <jakub@redhat.com>
1295 * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
1296 Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
1297 not only if modifier is EXPAND_INITIALIZER, but whenever
1298 COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.
1300 2014-11-19 Jakub Jelinek <jakub@redhat.com>
1302 PR tree-optimization/63915
1303 * tree-vect-stmts.c (vectorizable_simd_clone_call): Pass
1304 true instead of false as last argument to gsi_replace.
1307 * ubsan.c: Include tree-eh.h.
1308 (instrument_bool_enum_load): Handle loads that can throw.
1310 2014-10-31 Jakub Jelinek <jakub@redhat.com>
1312 PR rtl-optimization/63659
1313 * ree.c (update_reg_equal_equiv_notes): New function.
1314 (combine_set_extension, transform_ifelse): Use it.
1316 2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1318 Backport from mainline.
1319 2014-11-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1321 * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
1324 2014-11-26 Richard Biener <rguenther@suse.de>
1327 * tree-data-ref.c (split_constant_offset_1): Do not follow
1328 SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
1330 2014-11-26 Richard Biener <rguenther@suse.de>
1332 Backport from mainline
1333 2014-11-26 Richard Biener <rguenther@suse.de>
1335 PR tree-optimization/62238
1336 * tree-predcom.c (ref_at_iteration): Unshare the expression
1337 before gimplifying it.
1339 2014-11-25 Richard Biener <rguenther@suse.de>
1341 PR tree-optimization/61927
1342 * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
1343 of group and pattern analysis to the one in GCC 4.8.
1345 2014-11-07 Richard Biener <rguenther@suse.de>
1347 PR tree-optimization/63605
1348 * fold-const.c (fold_binary_loc): Properly use element_precision
1349 for types that may not be scalar.
1351 2014-10-28 Richard Biener <rguenther@suse.de>
1354 * fold-const.c (fold_comparison): Properly guard simplifying
1355 against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.
1357 2014-11-25 Rohit <rohitarulraj@freescale.com>
1360 * config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
1361 added GCC hard register numbers for SPE high registers.
1363 2014-11-23 Oleg Endo <olegendo@gcc.gnu.org>
1365 Backport from mainline
1366 2014-11-23 Oleg Endo <olegendo@gcc.gnu.org>
1369 * config/sh/sh_optimize_sett_clrt.cc
1370 (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
1371 of void. Abort at complex edges.
1372 (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
1375 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org>
1377 Backport from mainline
1378 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org>
1382 * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
1383 Do not emit bitwise not insn. Emit logical not insn sequence instead.
1384 Adjust related comments throughout the file.
1386 2014-11-22 Oleg Endo <olegendo@gcc.gnu.org>
1388 Backport from mainline
1389 2014-11-20 Segher Boessenkool <segher@kernel.crashing.org>
1392 * config/sh/sh.c: Use signed char for signed field.
1394 2014-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1397 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
1398 the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
1401 2014-11-21 Richard Biener <rguenther@suse.de>
1403 PR tree-optimization/61750
1404 * tree-ssa-forwprop.c (simplify_vce): Verify type sizes
1405 match for the resulting VIEW_CONVERT_EXPR.
1407 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
1410 * config/i386/i386.c (put_condition_code) <case LTU, case GEU>:
1411 Output "b" and "nb" suffix for FP mode.
1413 2014-11-19 Tom de Vries <tom@codesourcery.com>
1415 Backport from mainline
1416 PR tree-optimization/62167
1417 * tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse
1419 (gimple_equal_p): Don't use vn_valueize to compare for lhs equality of
1422 2014-11-16 Eric Botcazou <ebotcazou@adacore.com>
1424 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
1425 * doc/tm.texi: Regenerate.
1427 2014-11-14 Felix Yang <felix.yang@huawei.com>
1429 Backport from mainline
1430 2014-11-14 Felix Yang <felix.yang@huawei.com>
1431 Jiji Jiang <jiangjiji@huawei.com>
1433 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
1434 VALL mode iterator instead of VALLDI.
1436 2014-11-13 Teresa Johnson <tejohnson@google.com>
1438 PR tree-optimization/63841
1439 * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
1441 2014-11-13 Christophe Lyon <christophe.lyon@linaro.org>
1443 Backport from mainline
1444 2014-11-02 Michael Collison <michael.collison@linaro.org>
1446 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
1447 to support vector modes.
1448 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
1450 2014-11-13 Eric Botcazou <ebotcazou@adacore.com>
1452 * doc/tm.texi.in (SELECT_CC_MODE): Update example.
1453 (REVERSIBLE_CC_MODE): Fix example.
1454 (REVERSE_CONDITION): Fix typo.
1455 * doc/tm.texi: Regenerate.
1457 2014-11-12 Jakub Jelinek <jakub@redhat.com>
1460 * ipa-pure-const.c (propagate_nothrow): Walk w->indirect_calls
1461 chain instead of node->indirect_calls.
1463 2014-11-11 Eric Botcazou <ebotcazou@adacore.com>
1466 * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
1467 smaller than 8 bytes.
1468 (sparc_function_arg_1): Tweak.
1469 (sparc_function_value_1): Tweak.
1471 2014-11-08 Eric Botcazou <ebotcazou@adacore.com>
1473 * config/arm/arm.c (arm_set_return_address): Mark the store as frame
1475 (thumb_set_return_address): Likewise.
1477 2014-11-07 Daniel Hellstrom <daniel@gaisler.com>
1479 * config.gcc (sparc-*-rtems*): Clean away unused t-elf.
1480 * config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.
1482 2014-11-07 Marek Polacek <polacek@redhat.com>
1484 Backported from mainline
1485 2014-10-23 Marek Polacek <polacek@redhat.com>
1487 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1490 2014-11-06 John David Anglin <danglin@gcc.gnu.org>
1492 * config/pa/pa.md (trap): New insn. Add "trap" to attribute type.
1493 Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
1496 2014-11-06 Daniel Hellstrom <daniel@gaisler.com>
1498 * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
1499 * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment.
1500 * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle
1502 * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7.
1503 * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support.
1504 * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define.
1505 * config/sparc/sparc.md (cpu): Add leon3v7.
1506 * config/sparc/sparc.opt (enum processor_type): Add leon3v7.
1508 2014-11-05 Uros Bizjak <ubizjak@gmail.com>
1511 * config/i386/i386.c (in_large_data_p): Reject automatic variables.
1512 (ix86_encode_section_info): Do not check for non-automatic varibles
1513 when setting SYMBOL_FLAG_FAR_ADDR flag.
1514 (x86_64_elf_select_section): Do not check ix86_cmodel here.
1515 (x86_64_elf_unique_section): Ditto.
1516 (x86_elf_aligned_common): Emit tab before .largecomm.
1518 2014-11-05 Uros Bizjak <ubizjak@gmail.com>
1520 Backport from mainline:
1521 2014-10-20 Uros Bizjak <ubizjak@gmail.com>
1523 * varasm.c (const_alias_set): Remove.
1524 (init_varasm_once): Remove initialization of const_alias_set.
1525 (build_constant_desc): Do not set alias set to const_alias_set.
1527 Backport from mainline:
1528 2014-10-14 Uros Bizjak <ubizjak@gmail.com>
1530 PR rtl-optimization/63475
1531 * alias.c (true_dependence_1): Always use get_addr to extract
1532 true address operands from x_addr and mem_addr. Use extracted
1533 address operands to check for references with alignment ANDs.
1534 Use extracted address operands with find_base_term and
1535 base_alias_check. For noncanonicalized operands call canon_rtx with
1536 extracted address operand.
1537 (write_dependence_1): Ditto.
1538 (may_alias_p): Ditto. Remove unused calls to canon_rtx.
1540 Backport from mainline:
1541 2014-10-10 Uros Bizjak <ubizjak@gmail.com>
1543 PR rtl-optimization/63483
1544 * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P
1545 references when alignment ANDs are involved.
1546 (write_dependence_p): Ditto.
1547 (may_alias_p): Ditto.
1549 2014-10-31 DJ Delorie <dj@redhat.com>
1551 * expmed.c (strict_volatile_bitfield_p): Fix off-by-one error.
1553 2014-10-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1555 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
1556 (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1557 * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
1558 (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1560 2014-10-31 Jakub Jelinek <jakub@redhat.com>
1563 * tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
1564 MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
1565 instead of vr0.min - vr1.min and vr0.max - vr1.max.
1567 2014-10-30 Georg-Johann Lay <avr@gjlay.de>
1570 * config/avr/avr-protos.h (regmask): New inline function.
1571 (avr_fix_inputs, avr_emit3_fix_outputs): New protos.
1572 * config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
1573 (avr_fix_inputs, avr_emit3_fix_outputs): New functions.
1574 * config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
1575 (mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
1576 (<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
1577 * config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
1578 (<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
1579 (<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
1580 * config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
1581 (mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
1582 (usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
1583 (fmul, fmuls, fmulsu): Fix operands. Turn insn into expander as
1586 2014-10-30 Jakub Jelinek <jakub@redhat.com>
1588 * BASE-VER: Set to 4.9.3.
1589 * DEV-PHASE: Set to prerelease.
1591 2014-10-30 Release Manager
1593 * GCC 4.9.2 released.
1595 2014-10-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1597 * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore
1598 recog state after aarch64_prev_real_insn call.
1600 2014-10-27 Guozhi Wei <carrot@google.com>
1602 PR tree-optimization/63530
1603 tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
1604 pointer alignment according to DR_MISALIGNMENT.
1606 2014-10-25 Yury Gribov <y.gribov@samsung.com>
1609 * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST.
1611 2014-10-24 Markus Trippelsdorf <markus@trippelsdorf.de>
1614 * collect2.c (main): Filter out -fno-lto.
1616 2014-10-22 Richard Biener <rguenther@suse.de>
1617 Tobias Burnus <burnus@net-b.de>
1620 * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.
1622 2014-10-21 Jakub Jelinek <jakub@redhat.com>
1624 PR tree-optimization/63563
1625 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
1626 if either dra or drb stmts are not normal loads/stores.
1628 2014-10-17 Jakub Jelinek <jakub@redhat.com>
1630 * asan.c (instrument_derefs): Allow instrumentation of odd-sized
1631 accesses even for -fsanitize=address.
1632 (execute_sanopt): Only allow use_calls for -fsanitize=kernel-address.
1634 PR tree-optimization/63302
1635 * tree-ssa-reassoc.c (optimize_range_tests_xor,
1636 optimize_range_tests_diff): Use !integer_pow2p () instead of
1639 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1641 * asan.c (instrument_derefs): Enable unaligned path for KASan.
1643 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1645 Backport from mainline
1646 2014-10-03 Yury Gribov <y.gribov@samsung.com>
1648 * asan.c (asan_finish_file): Disable __asan_init calls for KASan;
1649 don't emit empty ctors.
1651 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1653 Backport from mainline
1654 2014-09-01 Yury Gribov <y.gribov@samsung.com>
1659 * asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
1660 (build_check_stmt): Likewise.
1661 (instrument_strlen_call): Likewise.
1662 (asan_expand_check_ifn): Likewise and fix types.
1663 (maybe_cast_to_ptrmode): New function.
1665 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1667 Backport from mainline
1668 2014-08-18 Yury Gribov <y.gribov@samsung.com>
1672 * asan.c (instrument_derefs): Fix bitfield check.
1674 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1676 Backport from mainline
1677 2014-08-11 Yury Gribov <y.gribov@samsung.com>
1679 * asan.c (asan_check_flags): New enum.
1680 (build_check_stmt_with_calls): Removed function.
1681 (build_check_stmt): Split inlining logic to
1682 asan_expand_check_ifn.
1683 (instrument_derefs): Rename parameter.
1684 (instrument_mem_region_access): Rename parameter.
1685 (instrument_strlen_call): Likewise.
1686 (asan_expand_check_ifn): New function.
1687 (asan_instrument): Remove old code.
1688 (pass_sanopt::execute): Change handling of
1689 asan-instrumentation-with-call-threshold.
1690 (asan_clear_shadow): Fix formatting.
1691 (asan_function_start): Likewise.
1692 (asan_emit_stack_protection): Likewise.
1693 * doc/invoke.texi (asan-instrumentation-with-call-threshold):
1695 * internal-fn.c (expand_ASAN_CHECK): New function.
1696 * internal-fn.def (ASAN_CHECK): New internal function.
1697 * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
1699 (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
1700 * tree.c: Small comment fix.
1702 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1704 Backport from mainline
1705 2014-08-11 Yury Gribov <y.gribov@samsung.com>
1707 * gimple.c (gimple_call_fnspec): Support internal functions.
1708 (gimple_call_return_flags): Use const.
1709 * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
1710 * internal-fn.def: Add fnspec information.
1711 * internal-fn.h (internal_fn_fnspec): New function.
1712 (init_internal_fns): Declare new function.
1713 * internal-fn.c (internal_fn_fnspec_array): New global variable.
1714 (init_internal_fns): New function.
1715 * tree-core.h: Update macro call.
1716 * tree.c (build_common_builtin_nodes): Initialize internal fns.
1718 Backport from mainline
1719 2014-08-12 Yury Gribov <y.gribov@samsung.com>
1721 * internal-fn.c (init_internal_fns): Fix off-by-one.
1723 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1725 Backport from mainline
1726 2014-07-31 Yury Gribov <y.gribov@samsung.com>
1728 * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
1729 * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
1730 * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
1732 * gcc.c (sanitize_spec_function): Support new option.
1733 (SANITIZER_SPEC): Remove now redundant check.
1734 * opts.c (common_handle_option): Support new option.
1735 (finish_options): Check for incompatibilities.
1736 * toplev.c (process_options): Split userspace-specific checks.
1738 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1740 Backport from mainline
1741 2014-06-24 Max Ostapenko <m.ostapenko@partner.samsung.com>
1743 * asan.c (instrument_strlen_call): Do not instrument first byte in
1744 strlen if already instrumented.
1746 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1748 Backport from mainline
1749 2014-06-16 Yury Gribov <y.gribov@samsung.com>
1751 * asan.c (check_func): New function.
1752 (maybe_create_ssa_name): Likewise.
1753 (build_check_stmt_with_calls): Likewise.
1754 (use_calls_p): Likewise.
1755 (report_error_func): Change interface.
1756 (build_check_stmt): Allow non-integer lengths; add support
1758 (asan_instrument): Likewise.
1759 (instrument_mem_region_access): Moved code to
1761 (instrument_derefs): Likewise.
1762 (instrument_strlen_call): Likewise.
1763 * cfgcleanup.c (old_insns_match_p): Add support for new
1765 * doc/invoke.texi: Describe new parameter.
1766 * params.def: Define new parameter.
1767 * params.h: Likewise.
1768 * sanitizer.def: Describe new builtins.
1770 Backport from mainline
1771 2014-06-16 Yury Gribov <y.gribov@samsung.com>
1773 * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1775 Backport from mainline
1776 2014-06-18 Yury Gribov <y.gribov@samsung.com>
1780 * asan.c (build_check_stmt): Add condition.
1782 Backport from mainline
1783 2014-06-18 Yury Gribov <y.gribov@samsung.com>
1787 * asan.c (instrument_strlen_call): Fixed instrumentation of
1790 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1792 Backport from mainline
1793 2014-05-30 Jakub Jelinek <jakub@redhat.com>
1795 * asan.c (report_error_func): Add SLOW_P argument, use
1796 BUILT_IN_ASAN_*_N if set.
1797 (build_check_stmt): Likewise.
1798 (instrument_derefs): If T has insufficient alignment,
1799 force same handling as for odd sizes.
1801 2014-10-16 Yury Gribov <y.gribov@samsung.com>
1803 Backport from mainline
1804 2014-05-30 Jakub Jelinek <jakub@redhat.com>
1806 * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1807 BUILT_IN_ASAN_REPORT_STORE_N): New.
1808 * asan.c (struct asan_mem_ref): Change access_size type to
1810 (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1811 update_mem_ref_hash_table): Likewise.
1812 (asan_mem_ref_hasher::hash): Hash in a HWI.
1813 (report_error_func): Change size_in_bytes argument to HWI.
1814 Use *_N builtins if size_in_bytes is larger than 16 or not power of
1816 (build_shadow_mem_access): New function.
1817 (build_check_stmt): Use it. Change size_in_bytes argument to HWI.
1818 Handle size_in_bytes not power of two or larger than 16.
1819 (instrument_derefs): Don't give up if size_in_bytes is not
1820 power of two or is larger than 16.
1822 2014-10-15 Vladimir Makarov <vmakarov@redhat.com>
1824 PR rtl-optimization/63448
1825 * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
1826 (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
1827 (LRA_MAX_INHERITANCE_PASSES): Use it.
1828 (lra_constraint_iter_after_spill): Remove.
1829 (lra_assignment_iter): New.
1830 (lra_assignment_iter_after_spill): New.
1831 * lra-assigns.c (lra_assignment_iter): New.
1832 (lra_assignment_iter_after_spill): New.
1833 (former_reload_pseudo_spill_p): New.
1834 (spill_for): Set up former_reload_pseudo_spill_p.
1835 (setup_live_pseudos_and_spill_after_risky): Ditto.
1836 (assign_by_spills): Ditto.
1837 (lra_assign): Increment lra_assignment_iter. Print the iteration
1838 number. Reset former_reload_pseudo_spill_p. Check
1839 lra_assignment_iter_after_spill.
1840 * lra.c (lra): Remove lra_constraint_iter_after_spill. Initialize
1841 lra_assignment_iter and lra_assignment_iter_after_spill.
1842 * lra-constraints.c (lra_constraint_iter_after_spill): Remove.
1843 (lra_constraints): Remove code with
1844 lra_assignment_iter_after_spill.
1846 2014-10-15 Eric Botcazou <ebotcazou@adacore.com>
1848 * stor-layout.c (self_referential_size): Do not promote arguments.
1850 2014-10-15 Richard Biener <rguenther@suse.de>
1852 Backport from mainline
1853 2014-08-15 Richard Biener <rguenther@suse.de>
1855 PR tree-optimization/62031
1856 * tree-data-ref.c (dr_analyze_indices): Do not set
1857 DR_UNCONSTRAINED_BASE.
1858 (dr_may_alias_p): All indirect accesses have to go the
1859 formerly DR_UNCONSTRAINED_BASE path.
1860 * tree-data-ref.h (struct indices): Remove
1861 unconstrained_base member.
1862 (DR_UNCONSTRAINED_BASE): Remove.
1864 2014-10-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1866 Backport from mainline r215880
1867 2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1869 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1870 Issue a warning message when vec_lvsl or vec_lvsr is used with a
1871 little endian target.
1873 Backport from mainline r215882
1874 2014-10-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1876 * altivec.md (altivec_lvsl): New define_expand.
1877 (altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
1878 (altivec_lvsr): New define_expand.
1879 (altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
1880 * rs6000.c (rs6000_expand_builtin): Change to use
1881 altivec_lvs[lr]_direct; remove commented-out code.
1883 2014-10-10 Richard Biener <rguenther@suse.de>
1885 PR tree-optimization/63379
1886 * tree-vect-slp.c (vect_get_constant_vectors): Do not compute
1887 a neutral operand for min/max when it is not a reduction chain.
1889 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1891 Backport from mainline
1892 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1894 * configure.ac: Add --enable-fix-cortex-a53-835769 option.
1895 * configure: Regenerate.
1896 * config/aarch64/aarch64.c (aarch64_override_options): Handle
1897 TARGET_FIX_ERR_A53_835769_DEFAULT.
1898 * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
1900 * doc/install.texi (aarch64*-*-*): Document new
1901 --enable-fix-cortex-a53-835769 option.
1903 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1905 Backport from mainline
1906 2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1907 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1909 * config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
1910 (ADJUST_INSN_LENGTH): Define.
1911 * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
1912 * config/aarch64/aarch64.c (is_mem_p): New function.
1913 (is_memory_op): Likewise.
1914 (aarch64_prev_real_insn): Likewise.
1915 (is_madd_op): Likewise.
1916 (dep_between_memop_and_curr): Likewise.
1917 (aarch64_madd_needs_nop): Likewise.
1918 (aarch64_final_prescan_insn): Likewise.
1919 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
1920 and -mno-fix-cortex-a53-835769 options.
1922 2014-10-10 Richard Biener <rguenther@suse.de>
1924 PR tree-optimization/63380
1925 * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
1928 2014-10-09 Richard Biener <rguenther@suse.de>
1930 PR tree-optimization/61969
1931 * tree-nrv.c (pass_nrv::execute): Properly test for automatic
1934 2014-10-09 Uros Bizjak <ubizjak@gmail.com>
1936 Backport from mainline
1937 2014-10-09 Uros Bizjak <ubizjak@gmail.com>
1939 PR rtl-optimization/57003
1940 * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1941 also check CALL_INSN_FUNCTION_USAGE for clobbers again after
1942 killing regs_invalidated_by_call.
1944 2014-10-08 Oleg Endo <olegendo@gcc.gnu.org>
1946 Backport from mainline
1947 2014-10-08 Oleg Endo <olegendo@gcc.gnu.org>
1950 * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
1951 atomic_fetch_<fetchop_name>si_hard,
1952 atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
1953 atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
1954 atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
1955 atomic_nand_fetch<mode>_hard): Add missing set of T_REG.
1957 2014-10-03 Jan Hubicka <hubicka@ucw.cz>
1960 * varpool.c (ctor_for_folding): Do not fold WEAK symbols.
1962 2014-10-03 Jan Hubicka <hubicka@ucw.cz>
1965 * ipa-devirt.c (restrict_to_inner_class): Do not ICE when type is
1968 2014-10-03 Jan Hubicka <hubicka@ucw.cz>
1971 * lto-streamer-out.c (lto_output): Handle thunks correctly.
1972 * cgraphclones.c (duplicate_thunk_for_node): Get thunk's arguments.
1974 2014-10-03 Jakub Jelinek <jakub@redhat.com>
1977 * omp-low.c (taskreg_contexts): New variable.
1978 (scan_omp_parallel): Push newly created context into taskreg_contexts
1979 vector and move record layout code to finish_taskreg_scan.
1980 (scan_omp_task): Likewise.
1981 (finish_taskreg_scan): New function.
1982 (execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
1983 vector elements and release it.
1985 2014-10-02 Martin Jambor <mjambor@suse.cz>
1987 PR tree-optimization/63375
1988 * tree-sra.c (build_access_from_expr_1): Disqualify volatile
1991 2014-10-01 Jakub Jelinek <jakub@redhat.com>
1994 * dwarf2out.c (loc_list_from_tree): Handle TARGET_MEM_REF and
1998 * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
1999 argument to avx2_permv2ti.
2002 Backported from mainline
2003 2014-08-01 James Greenhalgh <james.greenhalgh@arm.com>
2006 * cgraphunit.c (analyze_functions): Use get_create rather than get
2007 for decls which are clones of abstract functions.
2009 2014-10-01 Jakub Jelinek <jakub@redhat.com>
2011 Backported from mainline
2012 2014-09-18 Vladimir Makarov <vmakarov@redhat.com>
2015 * haifa-sched.c (schedule_block): Advance cycle at the end of BB
2018 2014-09-10 Jan Hubicka <hubicka@ucw.cz>
2020 PR tree-optimization/63186
2021 * ipa-split.c (test_nonssa_use): Skip nonforced labels.
2022 (mark_nonssa_use): Likewise.
2023 (verify_non_ssa_vars): Verify all header blocks for label
2026 2014-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2028 Backport from mainline
2029 2014-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2031 * config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.
2033 2014-10-01 Uros Bizjak <ubizjak@gmail.com>
2035 Backport from mainline
2036 2014-09-30 Uros Bizjak <ubizjak@gmail.com>
2038 * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
2039 (fmod<mode>3): Ditto.
2040 (fpremxf4_i387): Ditto.
2041 (reminderxf3): Ditto.
2042 (reminder<mode>3): Ditto.
2043 (fprem1xf4_i387): Ditto.
2045 2014-09-30 David Malcolm <dmalcolm@redhat.com>
2048 * Makefile.in (PLUGIN_HEADERS): Add pass-instances.def.
2050 2014-09-30 Jakub Jelinek <jakub@redhat.com>
2053 * ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
2054 or invert_jump_1 if jump isn't any_condjump_p.
2056 2014-09-29 James Clarke <jrtc27@jrtc27.com>
2057 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2060 * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10
2062 * config/darwin-driver.c (darwin_find_version_from_kernel): Removed
2063 kernel version check to avoid incrementing it after every major OS X
2065 (darwin_default_min_version): Avoid static memory buffer.
2067 2014-09-29 Charles Baylis <charles.baylis@linaro.org>
2069 Backport from mainline r212303
2071 * config/arm/arm-protos.h (arm_legitimate_address_p,
2072 arm_is_constant_pool_ref): Add prototypes.
2073 * config/arm/arm.c (arm_legitimate_address_p): Remove static.
2074 (arm_is_constant_pool_ref) New function.
2075 * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
2076 arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
2077 (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
2078 operand and remove pool_range and neg_pool_range attributes.
2079 (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
2080 pool_range and neg_pool_range attributes.
2081 * config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow
2082 constant pool references.
2084 2014-09-29 Jakub Jelinek <jakub@redhat.com>
2087 * omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
2088 of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
2089 use the alignment of avar rather than ovar.
2091 2014-09-28 John David Anglin <danglin@gcc.gnu.org>
2093 * config/pa/pa.c (pa_output_function_epilogue): Only update
2094 last_address when a nonnote insn is found.
2096 2014-09-25 Oleg Endo <olegendo@gcc.gnu.org>
2098 Backport from mainline
2099 2014-09-25 Nick Clifton <nickc@redhat.com>
2100 2014-09-25 Oleg Endo <olegendo@gcc.gnu.org>
2103 * config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask,
2104 atomic_test_and_set_soft_imask): Fix typo in instruction sequence.
2106 2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2108 Backport from mainline r215559
2109 2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2112 * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
2113 Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
2115 2014-09-25 Jakub Jelinek <jakub@redhat.com>
2117 PR tree-optimization/63341
2118 * tree-vectorizer.h (vect_create_data_ref_ptr,
2119 vect_create_addr_base_for_vector_ref): Add another tree argument
2120 defaulting to NULL_TREE.
2121 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
2122 argument, pass it down to vect_create_addr_base_for_vector_ref.
2123 (vect_create_addr_base_for_vector_ref): Add byte_offset argument,
2124 add that to base_offset too if non-NULL.
2125 * tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
2126 for dr_explicit_realign_optimized set it to vector byte size
2127 - 1 instead of setting offset, pass byte_offset down to
2128 vect_create_data_ref_ptr.
2130 2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
2132 Backport from mainline
2133 2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
2135 * config/rs6000/rs6000.md (f32_vsx): New mode attributes to
2136 refine the constraints used on 32/64-bit floating point moves.
2138 (f64_vsx): Likewise.
2141 (BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
2142 (BOOL_REGS_OP1): Likewise.
2143 (BOOL_REGS_OP2): Likewise.
2144 (BOOL_REGS_UNARY): Likewise.
2145 (mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
2146 32/64-bit floating point moves. Do not use wa, instead use ww/ws
2147 for moves involving VSX registers. Do not use constraints that
2148 target VSX registers for decimal types.
2149 (mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
2150 (mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
2152 2014-09-22 Marek Polacek <polacek@redhat.com>
2154 Backport from mainline
2155 2014-05-21 Marek Polacek <polacek@redhat.com>
2158 * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
2160 2014-09-22 Jakub Jelinek <jakub@redhat.com>
2163 * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
2164 insert a debug source bind stmt setting DEBUG_EXPR_DECL
2165 instead of a normal gimple assignment stmt.
2167 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com>
2169 Back port from trunk:
2170 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com>
2172 * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
2173 for base_reg_operand to be common between LO_SUM and PLUS.
2174 (fusion_gpr_mem_combo): New predicate to match a fused address
2175 that combines the addis and memory offset address.
2177 * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
2179 (emit_fusion_gpr_load): Likewise.
2181 * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
2182 signature to pass each argument separately, rather than
2183 using an operands array. Rewrite the insns found by peephole2 to
2184 be a single insn, rather than hoping the insns will still be
2185 together when the peephole pass is done. Drop being called via a
2187 (emit_fusion_gpr_load): Change calling signature to be called from
2188 the fusion_gpr_load_<mode> insns with a combined memory address
2189 instead of the peephole pass passing the addis and offset
2192 * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
2194 (power8 fusion peephole): Drop support for doing power8 via a
2195 normal peephole that was created by the peephole2 pass.
2196 (power8 fusion peephole2): Create a new insn with the fused
2197 address, so that the fused operation is kept together after
2198 register allocation is done.
2199 (fusion_gpr_load_<mode>): Likewise.
2201 2014-09-18 Jakub Jelinek <jakub@redhat.com>
2204 * asan.c (transform_statements): Don't instrument clobber statements.
2206 2014-09-17 Jakub Jelinek <jakub@redhat.com>
2209 * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
2210 if there are only debug stmts after the noreturn call, instead
2211 remove the debug stmts.
2213 2014-09-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
2215 * config.gcc (*-*-rtems*): Default to 'rtems' thread model.
2216 Enable selection of 'posix' or no thread model.
2218 2014-09-16 John David Anglin <danglin@gcc.gnu.org>
2221 * config/pa/pa.c (pa_function_value): Directly handle aggregates
2222 that fit exactly in a word or double word.
2224 2014-09-15 Markus Trippelsdorf <markus@trippelsdorf.de>
2226 * doc/install.texi (Options specification): add
2227 --disable-libsanitizer item.
2229 2014-09-12 DJ Delorie <dj@redhat.com>
2231 * config/msp430/msp430.md (extendhipsi2): Use 20-bit form of RLAM/RRAM.
2232 (extend_and_shift1_hipsi2): Likewise.
2233 (extend_and_shift2_hipsi2): Likewise.
2235 2014-09-12 Martin Jambor <mjambor@suse.cz>
2238 * cgraph.h (cgraph_analyze_function): Declare.
2239 * cgraphunit.c: (analyze_function): Remove forward declaration,
2240 rename to cgraph_analyze_function, made external.
2241 * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the
2242 new decl properly. Analyze the new thunk if it is expanded.
2244 2014-09-11 H.J. Lu <hongjiu.lu@intel.com>
2246 Backport from mainline
2247 2014-09-11 H.J. Lu <hongjiu.lu@intel.com>
2250 * config/i386/i386.c (ix86_option_override_internal): Also turn
2251 off OPTION_MASK_ABI_X32 for -m16.
2253 2014-09-11 James Greenhalgh <james.greenhalgh@arm.com>
2255 Backport from mainline.
2256 2014-09-11 James Greenhalgh <james.greenhalgh@arm.com>
2258 * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
2260 (vmull_high_lane_s32): Likewise.
2261 (vmull_high_lane_u16): Likewise.
2262 (vmull_high_lane_u32): Likewise.
2264 2014-09-11 Alan Lawrence <alan.lawrence@arm.com>
2266 Backport r214946 from mainline
2267 2014-09-05 Alan Lawrence <alan.lawrence@arm.com>
2269 * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
2271 2014-09-11 Alan Lawrence <alan.lawrence@arm.com>
2273 Backport r214953 from mainline
2274 2014-09-05 Alan Lawrence <alan.lawrence@arm.com>
2276 * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
2277 uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
2279 (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
2280 vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
2281 vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
2282 vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
2283 vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
2284 vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
2285 vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
2286 vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
2287 vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
2288 vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
2289 vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
2290 vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
2291 vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
2292 vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
2293 vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
2294 vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
2295 vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
2296 vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
2297 vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
2298 vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
2299 with int{32,16,8}_t.
2301 2014-09-11 Jason Merrill <jason@redhat.com>
2304 * ipa-devirt.c (ipa_devirt): Don't check DECL_COMDAT.
2306 2014-09-11 Georg-Johann Lay <avr@gjlay.de>
2308 Backport from 2014-09-11 trunk r215152.
2311 * config/avr/avr.md (*tablejump.3byte-pc): New insn.
2312 (*tablejump): Restrict to !AVR_HAVE_EIJMP_EICALL. Add void clobber.
2313 (casesi): Expand to *tablejump.3byte-pc if AVR_HAVE_EIJMP_EICALL.
2315 2014-09-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2317 Backport from mainline
2318 2014-09-10 Michael Meissner <meissner@linux.vnet.ibm.com>
2320 * config/rs6000/vsx.md (vsx_fmav4sf4): Use correct constraints for
2321 V2DF, V4SF, DF, and DI modes.
2322 (vsx_fmav2df2): Likewise.
2323 (vsx_float_fix_<mode>2): Likewise.
2324 (vsx_reduc_<VEC_reduc_name>_v2df_scalar): Likewise.
2326 2014-09-10 Xinliang David Li <davidxl@google.com>
2328 Backport from mainline
2330 * config/arm/arm.md (movcond_addsi): Handle case where source
2331 and target operands are the same.
2333 2014-09-10 Alan Modra <amodra@gmail.com>
2336 * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
2339 2014-09-09 Bill Schmidt <wschmidt@us.ibm.com>
2341 Backported from mainline
2342 2014-09-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2344 * config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
2345 selection of 0th memory doubleword, regardless of endianness.
2347 2014-09-09 James Greenhalgh <james.greenhalgh@arm.com>
2349 Backport from mainline
2350 2014-09-09 James Greenhalgh <james.greenhalgh@arm.com>
2352 * doc/invoke.texi (-march): Use GNU/Linux rather than Linux.
2356 2014-09-09 Jason Merrill <jason@redhat.com>
2360 * gimple-fold.c (can_refer_decl_in_current_unit_p): Don't allow
2361 reference to a DECL_EXTERNAL COMDAT.
2363 2014-09-09 Richard Biener <rguenther@suse.de>
2365 Backport from mainline
2366 2014-08-05 Richard Biener <rguenther@suse.de>
2368 PR rtl-optimization/61672
2369 * emit-rtl.h (mem_attrs_eq_p): Declare.
2370 * emit-rtl.c (mem_attrs_eq_p): Export. Handle NULL mem-attrs.
2371 * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
2372 * cfgcleanup.c (merge_memattrs): Likewise.
2375 2014-08-11 Richard Biener <rguenther@suse.de>
2377 PR tree-optimization/62075
2378 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
2379 handle uses in patterns.
2381 2014-08-14 Richard Biener <rguenther@suse.de>
2383 PR rtl-optimization/62079
2384 * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
2387 2014-08-26 Richard Biener <rguenther@suse.de>
2389 PR tree-optimization/62175
2390 * tree-ssa-loop-niter.c (expand_simple_operations): Do not
2391 expand possibly trapping operations.
2393 2014-09-08 DJ Delorie <dj@redhat.com>
2395 * doc/invoke.texi (MSP430 Options): Add -minrt.
2397 2014-09-05 Easwaran Raman <eraman@google.com>
2399 Backport from mainline
2400 PR rtl-optimization/62146
2401 * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
2402 hoisted instruction unconditional.
2404 2014-09-04 Guozhi Wei <carrot@google.com>
2407 * config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
2408 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
2409 it into two patterns.
2410 (move_lo_quad_internal_be_<mode>): Likewise.
2412 2014-09-03 Martin Jambor <mjambor@suse.cz>
2415 * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
2416 pass-trough jump functions correctly.
2418 2014-09-03 Martin Jambor <mjambor@suse.cz>
2421 * ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
2422 created replacements in ascending order of offsets.
2423 (known_aggs_to_agg_replacement_list): Likewise.
2425 2014-09-02 Kaz Kojima <kkojima@gcc.gnu.org>
2427 Backport from mainline
2428 2014-08-27 Kaz Kojima <kkojima@gcc.gnu.org>
2431 * config/sh/sh.md (ashlsi3): Handle negative shift count for
2433 (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2435 2014-09-02 Kaz Kojima <kkojima@gcc.gnu.org>
2437 Backport from mainline
2438 2014-08-25 Kaz Kojima <kkojima@gcc.gnu.org>
2441 * config/sh/predicates.md (general_extend_operand): Disable
2442 TRUNCATE before reload completes.
2444 2014-09-01 Oleg Endo <olegendo@gcc.gnu.org>
2446 Backport from mainline
2447 2014-09-01 Oleg Endo <olegendo@gcc.gnu.org>
2450 * config/sh/sh.md (*cmp_div0s_0): Add missing constraints.
2452 2014-09-01 Jakub Jelinek <jakub@redhat.com>
2455 * sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
2456 returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
2457 (find_inc): Revert 2014-08-12 change.
2459 * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
2460 * gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
2461 (SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.
2463 2014-09-01 Marek Polacek <polacek@redhat.com>
2465 Backport from mainline
2466 2014-08-21 Marek Polacek <polacek@redhat.com>
2469 * expr.c (is_aligning_offset): Remove logical not.
2471 2014-09-01 Marek Polacek <polacek@redhat.com>
2473 Backport from mainline
2474 2014-08-19 Marek Polacek <polacek@redhat.com>
2477 * cgraphunit.c (handle_alias_pairs): Fix condition.
2479 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
2481 * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
2482 prefix to function labels when generating fast indirect calls.
2484 2014-08-29 Yvan Roux <yvan.roux@linaro.org>
2486 Backport from mainline
2487 2014-08-27 Yvan Roux <yvan.roux@linaro.org>
2490 * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
2492 2014-08-27 Guozhi Wei <carrot@google.com>
2495 * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
2496 amount before using it.
2498 2014-08-26 Joel Sherrill <joel.sherrill@oarcorp.com>
2500 * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
2502 2014-08-26 Marek Polacek <polacek@redhat.com>
2504 Backport from mainline
2505 2014-08-26 Marek Polacek <polacek@redhat.com>
2508 * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
2509 LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
2511 2014-08-24 Oleg Endo <olegendo@gcc.gnu.org>
2513 Backport from mainline
2514 2014-08-24 Oleg Endo <olegendo@gcc.gnu.org>
2517 * config/sh/sh.opt (musermode): Allow negative form.
2518 * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
2519 targets that don't support it.
2520 * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
2521 Document -mno-usermode option.
2523 2014-08-23 John David Anglin <danglin@gcc.gnu.org>
2526 * config/pa/pa.c (pa_output_function_epilogue): Don't set
2527 last_address when the current function is a thunk.
2528 (pa_asm_output_mi_thunk): When we don't have named sections or they
2529 are not being used, check that thunk can reach the stub table with a
2532 2014-08-22 Michael Meissner <meissner@linux.vnet.ibm.com>
2534 Backport from mainline
2535 2014-08-22 Michael Meissner <meissner@linux.vnet.ibm.com>
2538 * doc/md.texi (Machine Constraints): Update PowerPC wi constraint
2539 documentation to state it is only for VSX operations.
2541 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
2542 constraint only active if VSX.
2544 * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
2545 wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
2548 2014-08-21 Uros Bizjak <ubizjak@gmail.com>
2550 Backport from mainline
2551 2014-08-19 H.J. Lu <hongjiu.lu@intel.com>
2553 * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
2554 destination if it is used in source.
2555 (*clz<mode>2_lzcnt_falsedep_1): Likewise.
2556 (*popcount<mode>2_falsedep_1): Likewise.
2558 Backport from mainline
2559 2014-08-18 Uros Bizjak <ubizjak@gmail.com>
2562 * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
2564 * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
2565 * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
2566 (ffs<mode>2): Do not expand with tzcnt for
2567 TARGET_AVOID_FALSE_DEP_FOR_BMI.
2568 (ffssi2_no_cmove): Ditto.
2569 (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
2570 (ctz<mode>2): New expander.
2571 (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
2572 (*ctz<mode>2_falsedep): New insn.
2573 (*ctz<mode>2): Rename from ctz<mode>2.
2574 (clz<mode>2_lzcnt): New expander.
2575 (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
2576 (*clz<mode>2_lzcnt_falsedep): New insn.
2577 (*clz<mode>2): Rename from ctz<mode>2.
2578 (popcount<mode>2): New expander.
2579 (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
2580 (*popcount<mode>2_falsedep): New insn.
2581 (*popcount<mode>2): Rename from ctz<mode>2.
2582 (*popcount<mode>2_cmp): Remove.
2583 (*popcountsi2_cmp_zext): Ditto.
2585 2014-08-20 Martin Jambor <mjambor@suse.cz>
2586 Wei Mi <wmi@google.com>
2590 * tree-ssa-operands.c (update_stmt_operands): Remove
2591 MODIFIED_NORETURN_CALLS.
2592 * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
2593 (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
2594 (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
2595 (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
2596 * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
2597 * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
2598 (gimple_call_set_ctrl_altering): New func.
2599 (gimple_call_ctrl_altering_p): Ditto.
2600 * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
2601 (make_blocks): Use gimple_call_initialize_ctrl_altering.
2602 (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
2603 (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
2604 remove MODIFIED_NORETURN_CALLS.
2606 2014-08-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2608 Backport from mainline.
2609 2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2611 * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
2612 Remove unnecessary attributes.
2614 2014-08-16 John David Anglin <danglin@gcc.gnu.org>
2617 * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
2619 * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
2620 (pa_output_addr_vec, pa_output_addr_diff_vec): New.
2621 * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
2623 * config/pa/pa.md (begin_brtab): Delete insn.
2624 (end_brtab): Likewise.
2626 2014-08-15 Oleg Endo <olegendo@gcc.gnu.org>
2628 Backport from mainline:
2629 2014-08-15 Oleg Endo <olegendo@gcc.gnu.org>
2631 * doc/invoke.texi (SH options): Document missing processor variant
2632 options. Remove references to Hitachi. Undocument deprecated mspace
2635 2014-08-15 Tom de Vries <tom@codesourcery.com>
2637 Backport from mainline:
2638 2014-08-14 Tom de Vries <tom@codesourcery.com>
2640 PR rtl-optimization/62004
2641 PR rtl-optimization/62030
2642 * ifcvt.c (rtx_interchangeable_p): New function.
2643 (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
2645 2014-08-05 Richard Biener <rguenther@suse.de>
2647 * emit-rtl.h (mem_attrs_eq_p): Declare.
2648 * emit-rtl.c (mem_attrs_eq_p): Export.
2650 2014-08-15 Jakub Jelinek <jakub@redhat.com>
2653 * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
2654 OMP_CLAUSE_SHARED for global vars if the global var is mentioned
2655 in OMP_CLAUSE_MAP in some outer target region.
2657 2014-08-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2659 Backport from mainline
2660 2014-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2663 * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
2664 move to subtarget in serial version if result is ignored.
2666 2014-08-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2668 Backport from mainline
2669 2014-08-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
2672 * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
2673 bitfields, that is when size doesn't match the size of type or the
2674 size of the constructor.
2676 2014-08-12 Felix Yang <fei.yang0953@gmail.com>
2678 PR tree-optimization/62073
2679 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
2682 2014-08-12 Jakub Jelinek <jakub@redhat.com>
2685 * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
2686 any registers that are used in mem_insn.
2688 2014-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
2690 Backport patch from mainline
2691 2014-08-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2693 * config/rs6000/constraints.md (wh constraint): New constraint,
2694 for FP registers if direct move is available.
2695 (wi constraint): New constraint, for VSX/FP registers that can
2696 handle 64-bit integers.
2697 (wj constraint): New constraint for VSX/FP registers that can
2698 handle 64-bit integers for direct moves.
2699 (wk constraint): New constraint for VSX/FP registers that can
2700 handle 64-bit doubles for direct moves.
2701 (wy constraint): Make documentation match implementation.
2703 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
2704 scalar_in_vmx_p field to simplify tests of whether SFmode or
2705 DFmode can go in the Altivec registers.
2706 (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
2707 (rs6000_setup_reg_addr_masks): Likewise.
2708 (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
2709 field, and wh/wi/wj/wk constraints.
2710 (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
2711 the wh/wi/wj/wk constraints.
2712 (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
2713 upper registers, prefer VSX registers unless the operation is a
2714 memory operation with REG+OFFSET addressing.
2716 * config/rs6000/vsx.md (VSr mode attribute): Add support for
2717 DImode. Change SFmode to use ww constraint instead of d to allow
2718 SF registers in the upper registers.
2721 (VSr5): Fix thinko in comment.
2722 (VSa): New mode attribute that is an alternative to wa, that
2723 returns the VSX register class that a mode can go in, but may not
2724 be the preferred register class.
2725 (VS_64dm): New mode attribute for appropriate register classes for
2726 referencing 64-bit elements of vectors for direct moves and normal
2728 (VS_64reg): Likewise.
2729 (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
2730 register allocator to only registers the data type can handle.
2731 (vsx_le_perm_load_<mode>): Likewise.
2732 (vsx_le_perm_store_<mode>): Likewise.
2733 (vsx_xxpermdi2_le_<mode>): Likewise.
2734 (vsx_xxpermdi4_le_<mode>): Likewise.
2735 (vsx_lxvd2x2_le_<mode>): Likewise.
2736 (vsx_lxvd2x4_le_<mode>): Likewise.
2737 (vsx_stxvd2x2_le_<mode>): Likewise.
2738 (vsx_add<mode>3): Likewise.
2739 (vsx_sub<mode>3): Likewise.
2740 (vsx_mul<mode>3): Likewise.
2741 (vsx_div<mode>3): Likewise.
2742 (vsx_tdiv<mode>3_internal): Likewise.
2743 (vsx_fre<mode>2): Likewise.
2744 (vsx_neg<mode>2): Likewise.
2745 (vsx_abs<mode>2): Likewise.
2746 (vsx_nabs<mode>2): Likewise.
2747 (vsx_smax<mode>3): Likewise.
2748 (vsx_smin<mode>3): Likewise.
2749 (vsx_sqrt<mode>2): Likewise.
2750 (vsx_rsqrte<mode>2): Likewise.
2751 (vsx_tsqrt<mode>2_internal): Likewise.
2752 (vsx_fms<mode>4): Likewise.
2753 (vsx_nfma<mode>4): Likewise.
2754 (vsx_eq<mode>): Likewise.
2755 (vsx_gt<mode>): Likewise.
2756 (vsx_ge<mode>): Likewise.
2757 (vsx_eq<mode>_p): Likewise.
2758 (vsx_gt<mode>_p): Likewise.
2759 (vsx_ge<mode>_p): Likewise.
2760 (vsx_xxsel<mode>): Likewise.
2761 (vsx_xxsel<mode>_uns): Likewise.
2762 (vsx_copysign<mode>3): Likewise.
2763 (vsx_float<VSi><mode>2): Likewise.
2764 (vsx_floatuns<VSi><mode>2): Likewise.
2765 (vsx_fix_trunc<mode><VSi>2): Likewise.
2766 (vsx_fixuns_trunc<mode><VSi>2): Likewise.
2767 (vsx_x<VSv>r<VSs>i): Likewise.
2768 (vsx_x<VSv>r<VSs>ic): Likewise.
2769 (vsx_btrunc<mode>2): Likewise.
2770 (vsx_b2trunc<mode>2): Likewise.
2771 (vsx_floor<mode>2): Likewise.
2772 (vsx_ceil<mode>2): Likewise.
2773 (vsx_<VS_spdp_insn>): Likewise.
2774 (vsx_xscvspdp): Likewise.
2775 (vsx_xvcvspuxds): Likewise.
2776 (vsx_float_fix_<mode>2): Likewise.
2777 (vsx_set_<mode>): Likewise.
2778 (vsx_extract_<mode>_internal1): Likewise.
2779 (vsx_extract_<mode>_internal2): Likewise.
2780 (vsx_extract_<mode>_load): Likewise.
2781 (vsx_extract_<mode>_store): Likewise.
2782 (vsx_splat_<mode>): Likewise.
2783 (vsx_xxspltw_<mode>): Likewise.
2784 (vsx_xxspltw_<mode>_direct): Likewise.
2785 (vsx_xxmrghw_<mode>): Likewise.
2786 (vsx_xxmrglw_<mode>): Likewise.
2787 (vsx_xxsldwi_<mode>): Likewise.
2788 (vsx_xscvdpspn): Tighten constraints to only use register classes
2790 (vsx_xscvspdpn): Likewise.
2791 (vsx_xscvdpspn_scalar): Likewise.
2793 * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
2794 wj, and wk constraints.
2795 (GPR_REG_CLASS_P): New helper macro for register classes targeting
2796 general purpose registers.
2798 * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
2800 (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
2801 DImode instead of wm. Use wk constraint for direct move of DFmode
2803 (extendsidi2_lfiwax): Likewise.
2806 (movdi_internal64): Likewise.
2808 * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
2809 wk constraints. Make the wy constraint documentation match them
2812 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2814 Backport from mainline
2815 2014-08-04 Ganesh Gopalasubramanian
2816 <Ganesh.Gopalasubramanian@amd.com>
2818 * config/i386/i386.c (ix86_option_override_internal): Add
2819 PTA_RDRND and PTA_MOVBE for bdver4.
2821 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2823 Backport from mainline
2824 2014-08-04 Ganesh Gopalasubramanian
2825 <Ganesh.Gopalasubramanian@amd.com>
2827 * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's
2828 extended family information. Handle BTVER2 cpu with cpuid family value.
2830 2014-08-12 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2832 Backport from mainline
2833 2014-06-16 Ganesh Gopalasubramanian
2834 <Ganesh.Gopalasubramanian@amd.com>
2836 * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
2837 instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2838 handling 32-bit multiplication.
2840 2014-08-08 Guozhi Wei <carrot@google.com>
2842 * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
2844 2014-08-07 Ilya Tocar <ilya.tocar@intel.com>
2846 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
2849 2014-08-06 Vladimir Makarov <vmakarov@redhat.com>
2852 * haifa-sched.c (advance_one_cycle): Fix dump.
2853 (schedule_block): Don't advance cycle if we are already at the
2854 beginning of the cycle.
2856 2014-08-06 Richard Biener <rguenther@suse.de>
2858 PR tree-optimization/61320
2859 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
2860 handle misaligned loads.
2862 2014-08-04 Rohit <rohitarulraj@freescale.com>
2865 * config/rs6000/rs6000.c
2866 (rs6000_reg_names): Add SPE high register names.
2867 (alt_reg_names): Likewise.
2868 (rs6000_dwarf_register_span): For SPE high registers, replace
2869 dwarf register numbers with GCC hard register numbers.
2870 (rs6000_init_dwarf_reg_sizes_extra): Likewise.
2871 (rs6000_dbx_register_number): For SPE high registers, return dwarf
2872 register number for the corresponding GCC hard register number.
2873 * config/rs6000/rs6000.h
2874 (FIRST_PSEUDO_REGISTER): Update based on 32 newly added GCC hard
2875 register numbers for SPE high registers.
2876 (DWARF_FRAME_REGISTERS): Likewise.
2877 (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
2878 (DWARF_FRAME_REGNUM): Likewise.
2879 (FIXED_REGISTERS): Likewise.
2880 (CALL_USED_REGISTERS): Likewise.
2881 (CALL_REALLY_USED_REGISTERS): Likewise.
2882 (REG_ALLOC_ORDER): Likewise.
2883 (enum reg_class): Likewise.
2884 (REG_CLASS_NAMES): Likewise.
2885 (REG_CLASS_CONTENTS): Likewise.
2886 (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
2888 2014-08-01 Vladimir Makarov <vmakarov@redhat.com>
2890 * lra-constraints.c (remove_inheritance_pseudos): Process
2891 destination pseudo too.
2893 2014-08-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
2895 Backport from mainline
2896 2014-06-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
2898 PR tree-optimization/61375
2899 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if
2900 symbolic number cannot be represented in an unsigned HOST_WIDE_INT.
2901 (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8.
2903 2014-08-01 Richard Biener <rguenther@suse.de>
2905 PR tree-optimization/61964
2906 * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
2907 by structural equality.
2909 2014-07-31 Oleg Endo <olegendo@gcc.gnu.org>
2911 Backport from mainline
2912 2014-07-31 Oleg Endo <olegendo@gcc.gnu.org>
2915 * config/sh/sh.c (sh_legitimate_address_p,
2916 sh_legitimize_reload_address): Handle reg+reg address modes when
2917 ALLOW_INDEXED_ADDRESS is false.
2918 * config/sh/predicates.md (general_movsrc_operand,
2919 general_movdst_operand): Likewise.
2921 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
2923 Backport from mainline
2924 2014-07-14 Jakub Jelinek <jakub@redhat.com>
2927 * config/i386/i386.c (classify_argument): Don't merge classes above
2930 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
2932 * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
2934 2014-07-24 Kyle McMartin <kyle@redhat.com>
2936 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
2938 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2940 * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
2942 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
2943 function. Issue -Wpsabi warning if future GCC releases will use
2944 different field alignment rules for this type.
2945 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
2946 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2947 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2949 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2951 * config/rs6000/rs6000.c (rs6000_function_arg_boundary): Issue
2952 -Wpsabi note when encountering a type where future GCC releases
2953 will apply different alignment requirements.
2955 2014-07-24 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2957 * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
2958 does not fit fully into floating-point registers, and there is still
2959 space in the register parameter area, issue -Wpsabi note that the ABI
2960 will change in a future GCC release.
2962 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2964 * config/arm/t-rtems-eabi: Add
2965 mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
2966 mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
2967 mbig-endian/mthumb/march=armv7-r, and
2968 mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
2971 2014-07-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2972 Chris Johns <chrisj@rtems.org>
2973 Joel Sherrill <joel.sherrill@oarcorp.com>
2975 * config.gcc: Add nios2-*-rtems*.
2976 * config/nios2/rtems.h: New file.
2977 * gcc/config/nios2/t-rtems: New file.
2979 2014-07-21 Peter Bergner <bergner@vnet.ibm.com>
2981 * config/rs6000/sysv4.h (LIBASAN_EARLY_SPEC): Define.
2982 (LIBTSAN_EARLY_SPEC): Likewise.
2984 2014-07-21 Uros Bizjak <ubizjak@gmail.com>
2986 Backport from mainline
2987 2014-07-21 Uros Bizjak <ubizjak@gmail.com>
2990 * config/i386/avx512fintrin.h: Move constants for mantissa extraction
2991 out of #ifdef __OPTIMIZE__.
2993 2014-07-20 Eric Botcazou <ebotcazou@adacore.com>
2995 * expr.c (store_field): Handle VOIDmode for calls that return values
2996 in multiple locations.
2998 2014-07-19 Eric Botcazou <ebotcazou@adacore.com>
3000 * toplev.c (output_stack_usage): Adjust the location of the warning.
3002 2014-07-19 Daniel Cederman <cederman@gaisler.com>
3004 * config/sparc/sync.md (*membar_storeload_leon3): New insn.
3005 (*membar_storeload): Disable for LEON3.
3007 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
3009 Backport from mainline
3010 2014-07-16 David Wohlferd <dw@LimeGreenSocks.com>
3013 * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
3015 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
3017 Backport from mainline
3018 2014-07-18 Uros Bizjak <ubizjak@gmail.com>
3021 * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
3022 Fix instruction constraint.
3023 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
3025 2014-07-17 Richard Biener <rguenther@suse.de>
3027 Backport from mainline
3028 2014-07-14 Richard Biener <rguenther@suse.de>
3030 PR tree-optimization/61779
3031 * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
3032 simplifying a condition.
3034 2014-07-17 Richard Biener <rguenther@suse.de>
3036 PR rtl-optimization/61801
3037 * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
3038 don't set reg_pending_barrier if it appears in a debug-insn.
3040 2014-07-17 Hans-Peter Nilsson <hp@axis.com>
3042 Backport from trunk.
3044 * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
3045 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3046 (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
3048 (cris_print_index, cris_print_operand, cris_constant_index_p)
3049 (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
3050 (cris_address_cost): Ditto last CONSTANT_P.
3051 (cris_symbol_type_of): Rename from cris_pic_symbol_type_of. All
3052 callers changed. Yield cris_offsettable_symbol for non-PIC
3053 constant symbolic expressions including labels. Yield cris_unspec
3055 (cris_expand_pic_call_address): New parameter MARKERP. Set its
3056 target to pic_offset_table_rtx for calls that will likely go
3057 through PLT, const0_rtx when they can't. All callers changed.
3058 Assert flag_pic. Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
3059 symbolic expressions to be PICified. Remove second, redundant,
3060 assert on can_create_pseudo_p returning non-zero. Use
3061 replace_equiv_address_nv, not replace_equiv_address, for final
3063 * config/cris/cris.md ("movsi"): Move variable t to pattern
3064 toplevel. Adjust assert for new cris_symbol_type member. Use
3065 CONSTANT_P instead of CONSTANT_ADDRESS_P.
3066 ("*movsi_internal") <case 9>: Make check for valid unspec operands
3068 <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
3069 ("call", "call_value"): Use second incoming operand as a marker
3070 for pic-offset-table-register being used.
3071 ("*expanded_call_non_v32", "*expanded_call_v32")
3072 ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
3073 second incoming operand to CALL, match cris_call_type_marker.
3074 ("*expanded_call_value_side"): Ditto. Disable before reload_completed.
3075 ("*expanded_call_side"): Ditto. Fix typo in comment.
3076 (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
3078 * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
3079 * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
3080 (enum cris_symbol_type): Rename from cris_pic_symbol_type. All
3081 users changed. Add members cris_offsettable_symbol and cris_unspec.
3082 (cris_symbol_type): Rename from cris_pic_symbol_type.
3083 * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
3085 * config/cris/cris-protos.h (cris_symbol_type_of,
3086 cris_expand_pic_call_address): Adjust prototypes.
3087 (cris_legitimate_constant_p): New prototype.
3089 * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
3090 an existing tmake_file. Don't add t-slibgcc and t-linux.
3092 2014-07-16 Jakub Jelinek <jakub@redhat.com>
3094 * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
3095 on the FUNCTION_DECL.
3097 * BASE-VER: Set to 4.9.2.
3098 * DEV-PHASE: Set to prerelease.
3100 2014-07-16 Release Manager
3102 * GCC 4.9.1 released.
3104 2014-07-10 Cary Coutant <ccoutant@google.com>
3106 Backport from trunk at r212211.
3108 * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
3110 (resolve_addr_in_expr): When replacing the rtx in a location list
3111 entry, get a new address table entry.
3112 (dwarf2out_finish): Call index_location_lists even if there are no
3113 addr_index_table entries yet.
3115 2014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
3117 * doc/install.texi: Remove links to defunct package providers for
3120 2014-07-10 Eric Botcazou <ebotcazou@adacore.com>
3123 * function.c (allocate_struct_function): Revert r188667 change.
3125 * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
3127 2014-07-09 Alan Lawrence <alan.lawrence@arm.com>
3129 Backport r211369 from trunk.
3130 2014-06-09 Alan Lawrence <alan.lawrence@arm.com>
3133 * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
3134 vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
3135 vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
3136 vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
3137 vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
3138 vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
3139 vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
3140 vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
3141 vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
3144 2014-07-09 Alan Lawrence <alan.lawrence@arm.com>
3146 Backport r210219 from trunk.
3147 2014-05-08 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3149 * config/arm/arm_neon.h: Update comment.
3150 * config/arm/neon-docgen.ml: Delete.
3151 * config/arm/neon-gen.ml: Delete.
3152 * doc/arm-neon-intrinsics.texi: Update comment.
3154 2014-07-09 Zhenqiang Chen <zhenqiang.chen@linaro.org>
3156 Backport r211775 from trunk.
3157 2014-06-18 Terry Guo <terry.guo@arm.com>
3160 * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
3163 2014-07-08 Jakub Jelinek <jakub@redhat.com>
3165 PR rtl-optimization/61673
3166 * combine.c (simplify_comparison): Test just mode's sign bit
3167 in tmode rather than the sign bit and any bits above it.
3169 2014-07-08 James Greenhalgh <james.greenhalgh@arm.com>
3171 Backport r212298 from trunk.
3172 2014-07-04 James Greenhalgh <james.greenhalgh@arm.com>
3174 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
3175 (move_lo_quad_internal_be_<mode>): Likewise.
3176 (move_lo_quad_<mode>): Convert to define_expand.
3177 (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
3178 (aarch64_simd_move_hi_quad_be_<mode>): New.
3179 (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
3180 (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
3181 (aarch64_combinez_be<mode>): New.
3182 (aarch64_combine<mode>): Convert to define_expand.
3183 (aarch64_combine_internal<mode>): New.
3184 (aarch64_simd_combine<mode>): Remove bogus RTL description.
3186 2014-07-08 Richard Biener <rguenther@suse.de>
3188 PR tree-optimization/61680
3189 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3190 Handle properly all read-write dependences with group accesses.
3192 PR tree-optimization/61681
3193 * tree-ssa-structalias.c (find_what_var_points_to): Expand
3194 NONLOCAL inside ESCAPED.
3196 2014-07-08 Alan Lawrence <alan.lawrence@arm.com>
3198 Backport r211502 from mainline.
3199 2014-06-10 Alan Lawrence <alan.lawrence@arm.com>
3202 * config/aarch64/aarch64-modes.def: Add V1DFmode.
3203 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
3206 2014-07-08 Jakub Jelinek <jakub@redhat.com>
3208 PR tree-optimization/61725
3209 * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
3210 range, use range_includes_zerop_p instead of integer_zerop on
3211 vr0->min, only use log2 of max if min is not negative.
3213 2014-07-06 Gerald Pfeifer <gerald@pfeifer.com>
3215 * doc/install.texi (Specific, aarch64*-*-*): Fix markup. Reword a bit.
3217 2014-07-04 Jakub Jelinek <jakub@redhat.com>
3220 * cgraphunit.c (expand_thunk): Call free_dominance_info.
3222 PR tree-optimization/61684
3223 * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
3224 rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
3226 2014-06-30 Jakub Jelinek <jakub@redhat.com>
3228 Backported from mainline
3229 2014-06-27 Jakub Jelinek <jakub@redhat.com>
3231 PR tree-optimization/57233
3232 PR tree-optimization/61299
3233 * tree-vect-generic.c (get_compute_type, count_type_subparts): New
3235 (expand_vector_operations_1): Use them. If {L,R}ROTATE_EXPR
3236 would be lowered to scalar shifts, check if corresponding
3237 shifts and vector BIT_IOR_EXPR are supported and don't lower
3238 or lower just to narrower vector type in that case.
3239 * expmed.c (expand_shift_1): Fix up handling of vector
3242 2014-06-25 Jakub Jelinek <jakub@redhat.com>
3244 * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
3245 (LANG_HOOKS_DECLS): Add it.
3246 * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
3248 * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
3249 * langhooks.h (struct lang_hooks_for_decls): Add
3250 omp_clause_linear_ctor hook.
3251 * omp-low.c (lower_rec_input_clauses): Set max_vf even if
3252 OMP_CLAUSE_LINEAR_ARRAY is set. Don't fold_convert
3253 OMP_CLAUSE_LINEAR_STEP. For OMP_CLAUSE_LINEAR_ARRAY in
3254 combined simd loop use omp_clause_linear_ctor hook.
3256 2014-06-24 Jakub Jelinek <jakub@redhat.com>
3258 * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
3259 OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is non-NULL.
3260 <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
3261 (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is non-NULL.
3262 (gimplify_adjust_omp_clauses): Likewise.
3263 * omp-low.c (lower_rec_simd_input_clauses,
3264 lower_rec_input_clauses, expand_omp_simd): Handle non-constant
3265 safelen the same as safelen(1).
3266 * tree-nested.c (convert_nonlocal_omp_clauses,
3267 convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED. For
3268 OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
3269 (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
3270 Fixup handling of GIMPLE_OMP_TARGET.
3271 (convert_tramp_reference_stmt, convert_gimple_call): Handle
3274 2014-06-18 Jakub Jelinek <jakub@redhat.com>
3276 * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
3277 change in ORT_TARGET region, don't jump to do_outer.
3278 (struct gimplify_adjust_omp_clauses_data): New type.
3279 (gimplify_adjust_omp_clauses_1): Adjust for data being
3280 a struct gimplify_adjust_omp_clauses_data pointer instead
3281 of tree *. Pass pre_p as a new argument to
3282 lang_hooks.decls.omp_finish_clause hook.
3283 (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
3284 splay_tree_foreach to pass both list_p and pre_p.
3285 (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
3286 gimplify_omp_workshare, gimplify_omp_target_update): Adjust
3287 gimplify_adjust_omp_clauses callers.
3288 * langhooks.c (lhd_omp_finish_clause): New function.
3289 * langhooks-def.h (lhd_omp_finish_clause): New prototype.
3290 (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
3291 * langhooks.h (struct lang_hooks_for_decls): Add a new
3292 gimple_seq * argument to omp_finish_clause hook.
3293 * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
3294 non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
3295 (scan_omp_parallel, lower_omp_for): When adding _LOOPTEMP_ clause var,
3296 add it to outer ctx's decl_map as identity.
3297 * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
3298 * tree-nested.c (convert_nonlocal_omp_clauses,
3299 convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
3300 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
3302 2014-06-10 Jakub Jelinek <jakub@redhat.com>
3305 * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
3306 Set lastprivate_firstprivate even if omp_private_outer_ref
3307 langhook returns true.
3308 <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
3309 langhook, call unshare_expr on new_var and call
3310 build_outer_var_ref to get the last argument.
3312 2014-05-11 Jakub Jelinek <jakub@redhat.com>
3314 * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3315 * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3316 number of operands to 3.
3317 (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3318 * tree-nested.c (convert_nonlocal_omp_clauses,
3319 convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3320 * gimplify.c (gimplify_scan_omp_clauses): Handle
3321 OMP_CLAUSE_LINEAR_STMT.
3322 * omp-low.c (lower_rec_input_clauses): Fix typo.
3323 (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3324 cast between Fortran boolean_type_node and C _Bool if needed.
3326 2014-06-30 Jason Merrill <jason@redhat.com>
3330 * gimplify.c (gimplify_arg): Non-static.
3331 * gimplify.h: Declare it.
3333 2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
3335 Backport from Mainline
3336 2014-06-30 Marcus Shawcroft <marcus.shawcroft@arm.com>
3339 * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
3340 Add alternative; make early clobber. Adjust both split patterns
3341 to use operand 0 as the working register.
3343 2014-06-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3345 * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
3347 (VCONQ): Make comment more helpful.
3349 * config/aarch64/aarch64-simd.md
3350 (aarch64_sqdmulh_lane<mode>):
3351 Use VCOND for operands 2. Update lane checking and flipping logic.
3352 (aarch64_sqrdmulh_lane<mode>): Likewise.
3353 (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
3354 (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
3355 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
3356 attribute of operand 3 to VCOND.
3357 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
3358 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
3359 (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
3360 (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
3361 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
3362 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
3364 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
3365 (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
3366 (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
3367 (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
3368 (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
3369 (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
3370 operand to VCOND. Update lane flipping and bounds checking logic.
3371 (aarch64_sqdmlal2_lane<mode>): Likewise.
3372 (aarch64_sqdmlsl_lane<mode>): Likewise.
3373 (aarch64_sqdmull_lane<mode>): Likewise.
3374 (aarch64_sqdmull2_lane<mode>): Likewise.
3375 (aarch64_sqdmlal_laneq<mode>): Replace VCON usage with VCONQ.
3376 Emit aarch64_sqdmlal_laneq<mode>_internal insn.
3377 (aarch64_sqdmlal2_laneq<mode>): Emit
3378 aarch64_sqdmlal2_laneq<mode>_internal insn.
3379 Replace VCON with VCONQ.
3380 (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
3381 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3382 (aarch64_sqdmull_laneq<mode>): Emit
3383 aarch64_sqdmull_laneq<mode>_internal insn.
3384 Replace VCON with VCONQ.
3385 (aarch64_sqdmull2_laneq<mode>): Emit
3386 aarch64_sqdmull2_laneq<mode>_internal insn.
3387 (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
3388 * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
3389 of 3rd argument to int16x4_t.
3390 (vqdmlalh_lane_s16): Likewise.
3391 (vqdmlslh_lane_s16): Likewise.
3392 (vqdmull_high_lane_s16): Likewise.
3393 (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
3394 (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
3395 (vqdmlsl_lane_s16): Likewise.
3396 (vqdmull_lane_s16): Don't create temporary int16x8_t value.
3397 (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
3398 (vqdmlals_lane_s32): Likewise.
3399 (vqdmlsls_lane_s32): Likewise.
3400 (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
3401 (vqdmulls_lane_s32): Likewise.
3402 (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
3403 (vqdmlsl_lane_s32): Likewise.
3404 (vqdmull_lane_s32): Don't create temporary int32x4_t value.
3405 (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
3406 (vqrdmulhh_lane_s16): Likewise.
3407 (vqdmlsl_high_lane_s16): Likewise.
3408 (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
3409 (vqdmlsl_high_lane_s32): Likewise.
3410 (vqrdmulhs_lane_s32): Likewise.
3412 2014-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
3414 Backport from Mainline
3415 2014-06-20 Jakub Jelinek <jakub@redhat.com>
3416 2014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
3418 PR tree-optimization/61306
3419 * tree-ssa-math-opts.c (struct symbolic_number): Store type of
3420 expression instead of its size.
3421 (do_shift_rotate): Adapt to change in struct symbolic_number. Return
3422 false to prevent optimization when the result is unpredictable due to
3423 arithmetic right shift of signed type with highest byte is set.
3424 (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
3425 (find_bswap_1): Likewise. Return NULL to prevent optimization when the
3426 result is unpredictable due to sign extension.
3427 (find_bswap): Adapt to change in struct symbolic_number.
3429 2014-06-27 Martin Jambor <mjambor@suse.cz>
3432 * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
3433 args_to_skip, use those from node instead. Copy args_to_skip and
3434 combined_args_to_skip from node to the new thunk.
3435 (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
3436 (cgraph_create_virtual_clone): Moved computation of
3437 combined_args_to_skip...
3438 (cgraph_clone_node): ...here, simplify it to bitmap_ior..
3440 2014-06-27 Uros Bizjak <ubizjak@gmail.com>
3442 Backport from mainline
3443 2014-06-26 Uros Bizjak <ubizjak@gmail.com>
3446 * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
3448 2014-06-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3451 * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
3452 extraction other than index 3.
3454 2014-06-26 Marc Glisse <marc.glisse@inria.fr>
3457 * config/i386/i386.md (x86_64_shrd, x86_shrd,
3458 ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
3460 2014-06-26 Martin Jambor <mjambor@suse.cz>
3462 Backport from mainline
3463 * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
3464 renamed to ipa_impossible_devirt_target. Fix typo.
3465 * ipa-prop.h (ipa_impossible_devirt_target): Declare.
3466 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
3467 ipa_impossible_devirt_target.
3469 2014-06-24 Jakub Jelinek <jakub@redhat.com>
3472 * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
3473 model family 6 CPU with has_longmode never use a CPU without
3476 * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
3477 not mentioned in clauses use private clause if the iterator is
3478 declared in #pragma omp for simd, and when adding lastprivate
3479 instead, add it to the outer #pragma omp for too. Diagnose
3480 if the variable is private in outer context. For simd collapse > 1
3481 loops, replace all iterators with temporaries.
3482 * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
3483 same even in collapse > 1 loops.
3485 2014-06-23 Alan Modra <amodra@gmail.com>
3488 * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
3489 to zero on debug statements.
3491 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3493 * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
3495 (aarch64_sqrdmulh_lane<mode>): Likewise.
3496 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3497 (aarch64_sq<r>dmulh_lane<mode>_interna): ...this.
3498 (aarch64_sqdmulh_laneq<mode>): New expander.
3499 (aarch64_sqrdmulh_laneq<mode>): Likewise.
3500 (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
3501 (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
3502 (aarch64_sqdmulh_lane<mode>): New expander.
3503 (aarch64_sqrdmulh_lane<mode>): Likewise.
3504 (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3505 (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
3506 (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
3507 (aarch64_sqdmlal_laneq<mode>): Likewise.
3508 (aarch64_sqdmlsl_lane<mode>): Likewise.
3509 (aarch64_sqdmlsl_laneq<mode>): Likewise.
3510 (aarch64_sqdmlal2_lane<mode>): Likewise.
3511 (aarch64_sqdmlal2_laneq<mode>): Likewise.
3512 (aarch64_sqdmlsl2_lane<mode>): Likewise.
3513 (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3514 (aarch64_sqdmull_lane<mode>): Likewise.
3515 (aarch64_sqdmull_laneq<mode>): Likewise.
3516 (aarch64_sqdmull2_lane<mode>): Likewise.
3517 (aarch64_sqdmull2_laneq<mode>): Likewise.
3519 2014-06-20 Martin Jambor <mjambor@suse.cz>
3522 * ipa-prop.c (impossible_devirt_target): New function.
3523 (try_make_edge_direct_virtual_call): Use it, also instead of
3526 2014-06-20 Martin Jambor <mjambor@suse.cz>
3529 * cgraph.c (clone_of_p): Allow skipped_branch to deal with
3532 2014-06-20 Chung-Lin Tang <cltang@codesourcery.com>
3534 Backport from mainline
3536 2014-06-20 Julian Brown <julian@codesourcery.com>
3537 Chung-Lin Tang <cltang@codesourcery.com>
3539 * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
3540 TARGET_THUMB1_ONLY. Add comments.
3542 2014-06-18 Uros Bizjak <ubizjak@gmail.com>
3544 Backport from mainline
3545 2014-06-16 Uros Bizjak <ubizjak@gmail.com>
3547 * config/i386/i386.c (decide_alg): Correctly handle
3548 maximum size of stringop algorithm.
3550 2014-06-18 Richard Henderson <rth@redhat.com>
3553 * config/aarch64/aarch64.md (tlsdesc_small): Clobber CC_REGNUM.
3555 2014-06-17 Yufeng Zhang <yufeng.zhang@arm.com>
3558 * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
3559 variable 'size'; calculate 'size' right in the front; use
3560 'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
3561 pcum->aapcs_stack_words.
3563 2014-06-17 Nick Clifton <nickc@redhat.com>
3565 * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
3566 (umulhi3, mulsidi3, umulsidi3): Likewise.
3568 2014-06-17 Uros Bizjak <ubizjak@gmail.com>
3570 Backport from mainline
3571 2014-06-06 Uros Bizjak <ubizjak@gmail.com>
3574 * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
3575 define_insn_and_split pattern, merged from *floatunssi<mode>2_1
3576 and corresponding splitters. Zero extend general register
3577 or memory input operand to XMM temporary. Enable for
3578 TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
3579 (floatunssi<mode>2): Update expander predicate.
3581 2014-06-16 Vladimir Makarov <vmakarov@redhat.com>
3583 PR rtl-optimization/61325
3584 * lra-constraints.c (valid_address_p): Add forward declaration.
3585 (simplify_operand_subreg): Check address validity before and after
3586 alter_reg of memory subreg.
3588 2014-06-18 Jakub Jelinek <jakub@redhat.com>
3591 * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
3593 2014-06-13 Peter Bergner <bergner@vnet.ibm.com>
3595 Backport from mainline
3597 2014-06-13 Peter Bergner <bergner@vnet.ibm.com>
3599 * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
3600 (BU_MISC_2): Rename to ...
3601 (BU_LDBL128_2): ... this.
3602 * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
3603 (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
3604 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
3606 (rs6000_invalid_builtin): Add long double 128-bit builtin support.
3607 (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
3608 * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
3609 (unpacktf_1): Likewise.
3610 * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
3611 (__builtin_longdouble_dw1): Likewise.
3612 * doc/sourcebuild.texi (longdouble128): Document.
3614 2014-06-13 Jeff Law <law@redhat.com>
3616 Backports from mainline:
3617 2014-06-13 Jeff Law <law@redhat.com>
3619 PR rtl-optimization/61094
3620 PR rtl-optimization/61446
3621 * ree.c (combine_reaching_defs): Get the mode for the copy from
3622 the extension insn rather than the defining insn.
3624 2014-06-02 Jeff Law <law@redhat.com>
3626 PR rtl-optimization/61094
3627 * ree.c (combine_reaching_defs): Do not reextend an insn if it
3628 was marked as do_no_reextend. If a copy is needed to eliminate
3629 an extension, then mark it as do_not_reextend.
3631 2014-06-13 Martin Jambor <mjambor@suse.cz>
3634 * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
3635 cache_token if returning early.
3637 2014-06-12 Jakub Jelinek <jakub@redhat.com>
3640 * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
3641 (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
3642 if outer combined construct is distribute.
3643 (gimplify_omp_for): For OMP_DISTRIBUTE set
3644 gimplify_omp_ctxp->distribute.
3645 * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
3646 GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
3647 mapping into decl map.
3649 2014-06-12 Jeff Law <law@redhat.com>
3651 Backports from mainline:
3653 2014-06-12 Jeff Law <law@redhat.com>
3655 PR tree-optimization/61009
3656 * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
3657 value when we stop processing a block due to problematic PHIs.
3659 2014-06-05 Jeff Law <law@redhat.com>
3661 PR tree-optimization/61289
3662 * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3663 DST_MAP parameters. Invalidate by walking all the SSA_NAME_VALUES
3664 looking for those which match LHS. All callers changed.
3665 (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3666 parameters and code which manipulated them. All callers changed.
3667 (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3668 and DST_MAP parameters. Simplify invalidation code by just calling
3669 invalidate_equivalences. All callers changed.
3670 (thread_across_edge): Simplify now that we don't need to maintain
3671 the map of equivalences to invalidate.
3673 2014-06-12 Eric Botcazou <ebotcazou@adacore.com>
3675 * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
3677 2014-06-12 Georg-Johann Lay <avr@gjlay.de>
3679 Backport from 2014-05-14 trunk r210418
3680 * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3681 shifted values to avoid build warning.
3683 2014-06-12 Georg-Johann Lay <avr@gjlay.de>
3685 Backport from 2014-05-09 trunk r210272
3687 * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3688 unsigned int initializers for regno_in, regno_out.
3690 Backport from 2014-06-12 trunk r211491
3693 * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
3694 loading from address spaces.
3696 2014-06-12 Alan Modra <amodra@gmail.com>
3699 * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3700 * doc/tm.texi: Regenerate.
3701 * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3702 Use throughout in place of REG_PARM_STACK_SPACE.
3703 * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3704 "incoming" param. Pass to rs6000_function_parms_need_stack.
3705 (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3706 prototype_p when incoming. Use function decl when incoming
3707 to handle K&R style functions.
3708 * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3709 (INCOMING_REG_PARM_STACK_SPACE): Define.
3711 2014-06-11 Richard Biener <rguenther@suse.de>
3713 PR tree-optimization/61452
3714 * tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
3715 expr and has_constants in case we found a leader.
3716 (simplify_binary_expression): Always valueize operands first.
3717 (simplify_unary_expression): Likewise.
3719 2014-06-11 Richard Biener <rguenther@suse.de>
3722 * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
3723 Do not use the main variant for the type comparison.
3725 2014-06-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3727 * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
3729 Simplify description of __crc32d and __crc32cd intrinsics.
3730 * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
3733 2014-06-07 Eric Botcazou <ebotcazou@adacore.com>
3735 * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
3736 call statement, if any.
3737 (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
3738 statements, if any. Tidy up.
3740 2014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
3742 Back port from trunk
3743 2014-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
3746 * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
3747 iterators, VSX_D that handles 64-bit types, and VSX_LE that
3748 handles swapping the two 64-bit double words on little endian
3749 systems. Include V1TImode and optionally TImode in VSX_LE so that
3750 these types are properly swapped. Change all of the insns and
3751 splits that do the 64-bit swaps to use VSX_LE.
3752 (vsx_le_perm_load_<mode>): Likewise.
3753 (vsx_le_perm_store_<mode>): Likewise.
3754 (splitters for little endian memory operations): Likewise.
3755 (vsx_xxpermdi2_le_<mode>): Likewise.
3756 (vsx_lxvd2x2_le_<mode>): Likewise.
3757 (vsx_stxvd2x2_le_<mode>): Likewise.
3759 2014-06-06 Vladimir Makarov <vmakarov@redhat.com>
3761 PR rtl-optimization/61325
3762 * lra-constraints.c (process_address_1): Check scale equal to one
3763 to prevent transformation: base + scale * index => base + new_reg.
3765 2014-06-05 Martin Jambor <mjambor@suse.cz>
3768 * ipa-cp.c (determine_versionability): Pretend that tm_clones are
3771 2014-06-04 Richard Biener <rguenther@suse.de>
3773 PR tree-optimization/61383
3774 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3777 2014-06-02 Jason Merrill <jason@redhat.com>
3780 * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3782 2014-06-03 Martin Jambor <mjambor@suse.cz>
3785 * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3788 2014-06-03 Andrey Belevantsev <abel@ispras.ru>
3790 Backport from mainline
3791 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
3793 PR rtl-optimization/60866
3794 * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3795 Default it to -1. Pass it down to init_simplejump_data.
3796 (init_simplejump_data): New parameter old_seqno. Pass it down
3797 to get_seqno_for_a_jump.
3798 (get_seqno_for_a_jump): New parameter old_seqno. Use it for
3799 initializing new jump seqno as a last resort. Add comment.
3800 (sel_redirect_edge_and_branch): Save old seqno of the conditional
3801 jump and pass it down to sel_init_new_insn.
3802 (sel_redirect_edge_and_branch_force): Likewise.
3804 2014-06-03 Andrey Belevantsev <abel@ispras.ru>
3806 Backport from mainline
3807 2014-05-14 Andrey Belevantsev <abel@ispras.ru>
3809 PR rtl-optimization/60901
3810 * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3811 bb predecessor belongs to the same scheduling region. Adjust comment.
3813 2014-06-03 Uros Bizjak <ubizjak@gmail.com>
3815 Backport from mainline
3816 2014-06-02 Uros Bizjak <ubizjak@gmail.com>
3819 * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3820 GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3822 2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
3824 PR rtl-optimization/61325
3825 * lra-constraints.c (process_address): Rename to
3827 (process_address): New function.
3829 2014-05-29 Uros Bizjak <ubizjak@gmail.com>
3831 Backport from mainline
3832 2014-05-26 Uros Bizjak <ubizjak@gmail.com>
3835 * config/i386/i386.c (ix86_rtx_costs)
3836 <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
3839 2014-05-28 Eric Botcazou <ebotcazou@adacore.com>
3841 Backport from mainline
3842 2014-05-27 Eric Botcazou <ebotcazou@adacore.com>
3844 * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
3845 predicate to detect a negative quotient.
3847 2014-05-28 Richard Biener <rguenther@suse.de>
3849 Backport from mainline
3850 2014-05-28 Richard Biener <rguenther@suse.de>
3853 * fold-const.c (fold_comparison): When folding
3854 X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
3855 the sign of the remaining constant operand stays the same.
3857 2014-05-05 Richard Biener <rguenther@suse.de>
3860 * fold-const.c (fold_binary_loc): Consistently avoid
3861 canonicalizing X & CST away from a CST that is the mask
3864 2014-04-28 Richard Biener <rguenther@suse.de>
3866 PR tree-optimization/60979
3867 * graphite-scop-detection.c (scopdet_basic_block_info): Reject
3868 SCOPs that end in a block with a successor with abnormal
3871 2014-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3873 * configure.ac ($gcc_cv_ld_clearcap): New test.
3874 * configure: Regenerate.
3875 * config.in: Regenerate.
3876 * config/sol2.opt (mclear-hwcap): New option.
3877 * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
3878 * config/sol2-clearcap.map: Moved here from
3879 testsuite/gcc.target/i386/clearcap.map.
3880 * config/sol2-clearcapv2.map: Move here from
3881 gcc.target/i386/clearcapv2.map.
3882 * config/t-sol2 (install): Depend on install-clearcap-map.
3883 (install-clearcap-map): New target.
3884 * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
3887 2014-05-28 Georg-Johann Lay <avr@gjlay.de>
3890 * config/dbx.h (License): Add Runtime Library Exception.
3891 * config/newlib-stdint.h (License): Same.
3892 * config/rtems.h (License): Same
3893 * config/initfini-array.h (License): Same
3894 * config/v850/v850.h (License): Same.
3895 * config/v850/v850-opts.h (License): Same
3896 * config/v850/rtems.h (License): Same.
3898 2014-05-28 Georg-Johann Lay <avr@gjlay.de>
3901 * doc/extend.texi (Local Labels): Note that label differences are
3902 not supported for AVR.
3904 2014-05-27 Georg-Johann Lay <avr@gjlay.de>
3906 Backport from 2014-05-12 mainline r210322.
3907 Backport from 2014-05-27 mainline r210959, r210969.
3910 * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3911 * config/arm/arm-cores.def (License): Same.
3912 * config/arm/arm-opts.h (License): Same.
3913 * config/arm/aout.h (License): Same.
3914 * config/arm/bpabi.h (License): Same.
3915 * config/arm/elf.h (License): Same.
3916 * config/arm/linux-elf.h (License): Same.
3917 * config/arm/linux-gas.h (License): Same.
3918 * config/arm/netbsd-elf.h (License): Same.
3919 * config/arm/uclinux-eabi.h (License): Same.
3920 * config/arm/uclinux-elf.h (License): Same.
3921 * config/arm/vxworks.h (License): Same.
3923 2014-05-26 Michael Tautschnig <mt@debian.org>
3926 * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
3927 __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
3929 2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
3931 PR rtl-optimization/61215
3932 * lra-elelimination.c (lra_eliminate_regs_1): Don't use
3933 simplify_gen_subreg until final substitution.
3935 2014-05-23 Alan Modra <amodra@gmail.com>
3938 * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
3939 * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
3940 Use "Y" constraint rather than "m".
3942 2014-05-22 Vladimir Makarov <vmakarov@redhat.com>
3944 PR rtl-optimization/60969
3945 * ira-costs.c (record_reg_classes): Process NO_REGS for matching
3946 constraints. Set up mem cost for NO_REGS case.
3948 2014-05-22 Peter Bergner <bergner@vnet.ibm.com>
3950 * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
3952 2014-05-22 Richard Earnshaw <rearnsha@arm.com>
3955 * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
3957 2014-05-22 Nick Clifton <nickc@redhat.com>
3959 * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
3961 2014-05-22 Jakub Jelinek <jakub@redhat.com>
3963 * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
3964 all padding bits in REAL_VALUE_TYPE are cleared.
3966 2014-05-21 Guozhi Wei <carrot@google.com>
3969 * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
3971 (vqdmulhq_n_s16): Likewise.
3973 2014-05-21 Martin Jambor <mjambor@suse.cz>
3975 * doc/invoke.texi (Optimize Options): Document parameters
3976 ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
3977 ipa-cp-array-index-hint-bonus.
3979 2014-05-21 Jakub Jelinek <jakub@redhat.com>
3982 * omp-low.c (handle_simd_reference): New function.
3983 (lower_rec_input_clauses): Use it. Defer adding reference
3984 initialization even for reduction without placeholder if in simd,
3985 handle it properly later on.
3987 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
3990 * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
3992 * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
3993 (ipa_inline): Loop inline_to_all_callers until no more aliases
3996 2014-05-20 Jan Hubicka <hubicka@ucw.cz>
3999 * varpool.c (varpool_remove_node): Do not alter decls when streaming.
4001 2014-05-20 DJ Delorie <dj@redhat.com>
4003 * config/msp430/msp430.md (split): Don't allow subregs when
4004 splitting SImode adds.
4005 (andneghi): Fix subtraction logic.
4006 * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
4008 2014-05-20 Nick Clifton <nickc@redhat.com>
4010 * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
4011 (msp430_gimplify_va_arg_expr): New function.
4012 (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
4014 * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
4015 operand 0 in order to prevent confusion about the number of
4018 2014-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4020 * config/arm/arm.md (arith_shiftsi): Do not predicate for
4023 2014-05-19 Richard Earnshaw <rearnsha@arm.com>
4025 * arm.c (thumb1_reorg): When scanning backwards skip anything
4026 that's not a proper insn.
4028 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
4030 * ipa.c (symtab_remove_unreachable_nodes): Remove
4031 symbol from comdat group if its body was eliminated.
4032 (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
4033 * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
4034 (symtab_unregister_node): ... this one.
4035 (verify_symtab_base): More strict checking of comdats.
4036 * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
4038 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
4040 * opts.c (common_handle_option): Disable -fipa-reference coorectly
4043 2014-05-17 Jan Hubicka <hubicka@ucw.cz>
4046 * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
4047 external aliases alive, too.
4049 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
4051 * doc/invoke.texi (free): Mention Alpha. Also enabled at -Os.
4053 2014-05-17 Uros Bizjak <ubizjak@gmail.com>
4055 Backport from mainline
4056 2014-04-25 H.J. Lu <hongjiu.lu@intel.com>
4059 * config/i386/i386.md (*movsf_internal): Set MODE to SI for
4062 2014-05-16 Vladimir Makarov <vmakarov@redhat.com>
4064 PR rtl-optimization/60969
4065 * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
4066 Calculate costs for this case.
4068 2014-05-15 Peter Bergner <bergner@vnet.ibm.com>
4071 * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
4072 (__TM_simple_begin): Use it.
4073 (__TM_begin): Likewise.
4075 2014-05-15 Martin Jambor <mjambor@suse.cz>
4078 * ipa-prop.c (update_indirect_edges_after_inlining): Check
4079 type_preserved flag when the indirect edge is polymorphic.
4081 2014-05-15 Martin Jambor <mjambor@suse.cz>
4084 * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
4086 2014-05-15 Jakub Jelinek <jakub@redhat.com>
4088 PR tree-optimization/61158
4089 * fold-const.c (fold_binary_loc): If X is zero-extended and
4090 shiftc >= prec, make sure zerobits is all ones instead of
4091 invoking undefined behavior.
4093 2014-05-14 Cary Coutant <ccoutant@google.com>
4096 * opts.c (common_handle_option): Don't special-case "-g".
4097 (set_debug_level): Default to at least level 2 with "-g".
4099 2014-05-14 Eric Botcazou <ebotcazou@adacore.com>
4101 * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
4103 * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
4104 * config/sparc/sparc.md (fptype_ut699): New attribute.
4105 (in_branch_delay): Return false if -mfix-ut699 is specified and
4106 fptype_ut699 is set to single.
4107 (truncdfsf2): Add fptype_ut699 attribute.
4108 (fix_truncdfsi2): Likewise.
4109 (floatsisf2): Change fptype attribute.
4110 (fix_truncsfsi2): Likewise.
4111 (negtf2_notv9): Delete.
4112 (negtf2_v9): Likewise.
4113 (negtf2_hq): New instruction.
4114 (negtf2): New instruction and splitter.
4115 (negdf2_notv9): Rewrite.
4116 (abstf2_notv9): Delete.
4117 (abstf2_hq_v9): Likewise.
4118 (abstf2_v9): Likewise.
4119 (abstf2_hq): New instruction.
4120 (abstf2): New instruction and splitter.
4121 (absdf2_notv9): Rewrite.
4123 2014-05-14 Matthias Klose <doko@ubuntu.com>
4126 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4127 Matthias Klose <doko@ubuntu.com>
4130 * optc-gen.awk: Fix option handling for -Wunused-parameter.
4132 2014-05-13 Peter Bergner <bergner@vnet.ibm.com>
4134 * doc/sourcebuild.texi: (dfp_hw): Document.
4135 (p8vector_hw): Likewise.
4136 (powerpc_eabi_ok): Likewise.
4137 (powerpc_elfv2): Likewise.
4138 (powerpc_htm_ok): Likewise.
4139 (ppc_recip_hw): Likewise.
4142 2014-05-13 Jeff Law <law@redhat.com>
4144 Backports fromm mainline:
4146 2014-05-08 Jeff Law <law@redhat.com>
4148 PR tree-optimization/61009
4149 * tree-ssa-threadedge.c (thread_through_normal_block): Return a
4150 tri-state rather than a boolean. When a block is too big to
4151 thread through, inform caller via negative return value.
4152 (thread_across_edge): If a block was too big for normal threading,
4153 then it's too big for a joiner too, so remove temporary equivalences
4154 and return immediately.
4156 2014-04-28 Jeff Law <law@redhat.com>
4158 PR tree-optimization/60902
4159 * tree-ssa-threadedge.c
4160 (record_temporary_equivalences_from_stmts_at_dest): Only iterate
4161 over real defs when invalidating outputs from statements that do not
4162 produce useful outputs for threading.
4164 2014-04-23 Jeff Law <law@redhat.com>
4166 PR tree-optimization/60902
4167 * tree-ssa-threadedge.c
4168 (record_temporary_equivalences_from_stmts_at_dest): Make sure to
4169 invalidate outputs from statements that do not produce useful
4170 outputs for threading.
4172 2014-05-13 Richard Biener <rguenther@suse.de>
4175 * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
4176 it needs revisiting whether the call still may be tail-called.
4178 2014-05-13 Jakub Jelinek <jakub@redhat.com>
4181 * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
4182 is const0_rtx, return immediately. Don't test count == 0 when
4185 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4187 Backport from mainline
4188 2014-05-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
4191 * config/avr/avr.c (avr_out_store_psi): Use correct constant
4194 2014-05-09 Uros Bizjak <ubizjak@gmail.com>
4196 Backport from mainline
4197 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
4200 * config/alpha/alpha.c: Include gimple-iterator.h.
4201 (alpha_gimple_fold_builtin): New function. Move
4202 ALPHA_BUILTIN_UMULH folding from ...
4203 (alpha_fold_builtin): ... here.
4204 (TARGET_GIMPLE_FOLD_BUILTIN): New define.
4206 2014-05-09 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
4208 Backport from 2014-04-16 trunk r209446
4209 2014-04-16 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
4211 * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
4213 2014-05-09 Georg-Johann Lay <avr@gjlay.de>
4215 Backport from 2014-05-09 trunk r210267
4218 * config/avr/avr.md (cc): Add new attribute set_vzn.
4219 (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
4220 Set cc insn attribute to set_vzn instead of set_zn for alternatives
4221 with INC, DEC or NEG.
4222 * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
4223 (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
4224 INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
4226 2014-05-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4227 Matthias Klose <doko@ubuntu.com>
4230 * optc-gen.awk: Fix option handling for -Wunused-parameter.
4232 2014-05-08 Uros Bizjak <ubizjak@gmail.com>
4235 * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
4237 2014-05-05 Marek Polacek <polacek@redhat.com>
4239 Back port from mainline
4240 2014-05-05 Marek Polacek <polacek@redhat.com>
4243 * opts.c (common_handle_option): Call error_at instead of warning_at.
4245 2014-05-04 Jan Hubicka <hubicka@ucw.cz>
4248 * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
4250 2014-05-04 Peter Bergner <bergner@vnet.ibm.com>
4252 * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
4253 (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
4254 (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
4255 * config/rs6000/rs6000-builtin.def (BU_MISC_1):
4256 Use RS6000_BTM_HARD_FLOAT.
4257 (BU_MISC_2): Likewise.
4258 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
4259 RS6000_BTM_HARD_FLOAT.
4260 (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
4262 (rs6000_invalid_builtin): Add hard floating builtin support.
4263 (rs6000_expand_builtin): Relax the gcc_assert to allow the new
4264 hard float builtins.
4265 (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
4267 2014-05-03 Joey Ye <joey.ye@arm.com>
4269 Backport from mainline r209463
4270 2014-04-17 Joey Ye <joey.ye@arm.com>
4272 * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
4274 2014-05-03 Oleg Endo <olegendo@gcc.gnu.org>
4276 Back port from mainline
4278 * config/sh/sh.c: Include stdlib headers before everything else.
4280 2014-05-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4282 PR tree-optimization/60930
4283 * gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
4284 creating a multiply candidate by folding two constant
4285 multiplicands when the result overflows.
4287 2014-05-02 Jakub Jelinek <jakub@redhat.com>
4289 * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
4290 GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
4291 (gimplify_adjust_omp_clauses): Simd region is never
4292 directly nested in combined parallel. Instead, for linear
4293 with copyin/copyout, if in combined for simd loop, make decl
4294 firstprivate/lastprivate on OMP_FOR.
4295 * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
4296 expand_omp_for_static_chunk): When setting endvar, also set
4297 fd->loop.v to the same value.
4299 2014-05-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4301 Back port from mainline
4302 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4304 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
4305 TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
4306 (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
4307 (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
4308 (TARGET_CRYPTO): Take TARGET_SIMD into account.
4310 2014-04-30 Michael Meissner <meissner@linux.vnet.ibm.com>
4312 Back port from mainline
4313 2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4315 * doc/extend.texi (PowerPC Built-in Functions): Document new
4316 powerpc extended divide, bcd, pack/unpack 128-bit, builtin
4318 (PowerPC AltiVec/VSX Built-in Functions): Likewise.
4320 * config/rs6000/predicates.md (const_0_to_3_operand): New
4321 predicate to match 0..3 integer constants.
4323 * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
4324 to support adding miscellaneous builtin functions.
4325 (BU_DFP_MISC_2): Likewise.
4326 (BU_P7_MISC_1): Likewise.
4327 (BU_P7_MISC_2): Likewise.
4328 (BU_P8V_MISC_3): Likewise.
4329 (BU_MISC_1): Likewise.
4330 (BU_MISC_2): Likewise.
4331 (DIVWE): Add extended divide builtin functions.
4334 (DIVWEUO): Likewise.
4338 (DIVDEUO): Likewise.
4339 (DXEX): Add decimal floating-point builtin functions.
4342 (DDEDPDQ): Likewise.
4344 (DENBCDQ): Likewise.
4351 (CDTBCD): Add new BCD builtin functions.
4355 (BCDADD_LT): Likewise.
4356 (BCDADD_EQ): Likewise.
4357 (BCDADD_GT): Likewise.
4358 (BCDADD_OV): Likewise.
4360 (BCDSUB_LT): Likewise.
4361 (BCDSUB_EQ): Likewise.
4362 (BCDSUB_GT): Likewise.
4363 (BCDSUB_OV): Likewise.
4364 (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
4365 (UNPACK_TD): Likewise.
4366 (PACK_TF): Likewise.
4367 (UNPACK_TF): Likewise.
4368 (UNPACK_TF_0): Likewise.
4369 (UNPACK_TF_1): Likewise.
4370 (PACK_V1TI): Likewise.
4371 (UNPACK_V1TI): Likewise.
4373 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
4374 support for decimal floating point builtin functions.
4375 (rs6000_expand_ternop_builtin): Add checks for the new builtin
4376 functions that take constant arguments.
4377 (rs6000_invalid_builtin): Add decimal floating point builtin
4379 (rs6000_init_builtins): Setup long double, _Decimal64, and
4380 _Decimal128 types for new builtin functions.
4381 (builtin_function_type): Set the unsigned flags appropriately for
4382 the new builtin functions.
4383 (rs6000_opt_masks): Add support for decimal floating point builtin
4386 * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
4387 floating point builtin functions.
4388 (RS6000_BTM_COMMON): Likewise.
4389 (RS6000_BTI_long_double): Likewise.
4390 (RS6000_BTI_dfloat64): Likewise.
4391 (RS6000_BTI_dfloat128): Likewise.
4392 (long_double_type_internal_node): Likewise.
4393 (dfloat64_type_internal_node): Likewise.
4394 (dfloat128_type_internal_node): Likewise.
4396 * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
4397 2.07 bcd arithmetic instructions.
4398 (UNSPEC_BCDSUB): Likewise.
4399 (UNSPEC_BCD_OVERFLOW): Likewise.
4400 (UNSPEC_BCD_ADD_SUB): Likewise.
4401 (bcd_add_sub): Likewise.
4402 (BCD_TEST): Likewise.
4403 (bcd<bcd_add_sub>): Likewise.
4404 (bcd<bcd_add_sub>_test): Likewise.
4405 (bcd<bcd_add_sub>_test2): Likewise.
4406 (bcd<bcd_add_sub>_<code>): Likewise.
4407 (peephole2 for combined bcd ops): Likewise.
4409 * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
4410 decimal floating point builtin functions.
4411 (UNSPEC_DENBCD): Likewise.
4412 (UNSPEC_DXEX): Likewise.
4413 (UNSPEC_DIEX): Likewise.
4414 (UNSPEC_DSCLI): Likewise.
4415 (UNSPEC_DSCRI): Likewise.
4416 (D64_D128): Likewise.
4417 (dfp_suffix): Likewise.
4418 (dfp_ddedpd_<mode>): Likewise.
4419 (dfp_denbcd_<mode>): Likewise.
4420 (dfp_dxex_<mode>): Likewise.
4421 (dfp_diex_<mode>): Likewise.
4422 (dfp_dscli_<mode>): Likewise.
4423 (dfp_dscri_<mode>): Likewise.
4425 * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
4427 (UNSPEC_CDTBCD): Likewise.
4428 (UNSPEC_CBCDTD): Likewise.
4429 (UNSPEC_DIVE): Add support for new extended divide builtin
4431 (UNSPEC_DIVEO): Likewise.
4432 (UNSPEC_DIVEU): Likewise.
4433 (UNSPEC_DIVEUO): Likewise.
4434 (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
4435 pack/unpack 128-bit types.
4436 (UNSPEC_PACK_128BIT): Likewise.
4437 (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
4438 (udiv<mode>3): Use idiv_ldiv mode attribute.
4439 (div<mode>3): Likewise.
4440 (addg6s): Add new BCD builtin functions.
4443 (UNSPEC_DIV_EXTEND): Add support for new extended divide
4445 (div_extend): Likewise.
4446 (div<div_extend>_<mode>"): Likewise.
4447 (FP128_64): Add support for new builtin functions to pack/unpack
4449 (unpack<mode>): Likewise.
4450 (unpacktf_0): Likewise.
4451 (unpacktf_1): Likewise.
4452 (unpack<mode>_dm): Likewise.
4453 (unpack<mode>_nodm): Likewise.
4454 (pack<mode>): Likewise.
4455 (unpackv1ti): Likewise.
4456 (packv1ti): Likewise.
4458 2014-04-29 Pat Haugen <pthaugen@us.ibm.com>
4460 Backport from mainline
4461 2014-04-17 Pat Haugen <pthaugen@us.ibm.com>
4463 * config/rs6000/rs6000.md (addti3, subti3): New.
4465 2014-04-29 Jakub Jelinek <jakub@redhat.com>
4467 PR tree-optimization/60971
4468 * tree-tailcall.c (process_assignment): Reject conversions which
4471 2014-04-29 Nick Clifton <nickc@redhat.com>
4473 * config/msp430/msp430.md (umulsidi): Fix typo.
4474 (mulhisi3): Enable even inside interrupt handlers.
4475 * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
4476 bigger return address pushed in large mode.
4478 2014-04-28 Pat Haugen <pthaugen@us.ibm.com>
4480 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4481 (loadsync_<mode>): Change mode.
4482 (load_quadpti, store_quadpti): New.
4483 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4484 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4486 2014-04-28 Eric Botcazou <ebotcazou@adacore.com>
4488 * configure.ac: Tweak GAS check for LEON instructions on SPARC.
4489 * configure: Regenerate.
4490 * config/sparc/sparc.opt (muser-mode): New option.
4491 * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
4493 (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
4494 * doc/invoke.texi (SPARC options): Document -muser-mode.
4496 2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
4498 * doc/install.texi (Building with profile feedback): Remove
4501 2014-04-26 Tom de Vries <tom@codesourcery.com>
4503 * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
4506 2014-04-25 Jakub Jelinek <jakub@redhat.com>
4508 PR tree-optimization/60960
4509 * tree-vect-generic.c (expand_vector_operation): Only call
4510 expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
4512 2014-04-25 Eric Botcazou <ebotcazou@adacore.com>
4515 * config/sparc/sparc.md (ashlsi3_extend): Delete.
4517 2014-04-25 Richard Biener <rguenther@suse.de>
4520 * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
4521 call stmt use/clobber sets during stmt walk instead of
4522 walking the possibly incomplete set of caller edges.
4524 2014-04-25 Richard Biener <rguenther@suse.de>
4527 * passes.c (apply_ipa_transforms): Inline into only caller ...
4528 (execute_one_pass): ... here. Properly bring in function
4529 bodies for nodes we want to apply IPA transforms to.
4531 2014-04-24 Jakub Jelinek <jakub@redhat.com>
4533 * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
4534 * gimplify.c (omp_is_private): Change last argument's type to int.
4535 Only diagnose lastprivate if the simd argument is 1, only diagnose
4536 linear if the simd argument is 2.
4537 (gimplify_omp_for): Adjust omp_is_private callers. When adding
4538 lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
4539 GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
4540 create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
4541 If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
4542 increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4543 * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
4544 OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4545 * tree-nested.c (convert_nonlocal_omp_clauses,
4546 convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
4548 2014-04-23 Uros Bizjak <ubizjak@gmail.com>
4550 Backport from mainline
4551 2014-04-21 Uros Bizjak <ubizjak@gmail.com>
4554 * config/i386/i386.c (ix86_expand_builtin)
4555 <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
4556 register for target RTX.
4557 <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
4559 2014-04-23 Richard Biener <rguenther@suse.de>
4561 PR tree-optimization/60903
4562 * tree-ssa-loop-im.c (analyze_memory_references): Remove
4563 commented code block.
4564 (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
4565 loop flags to newly created BBs and edges.
4567 2014-04-23 Nick Clifton <nickc@redhat.com>
4569 * config/msp430/msp430.c (msp430_handle_option): Move function
4571 (msp430_option_override): Simplify mcu and mcpu option handling.
4572 (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add
4573 support for -mhwmult command line option.
4574 (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for
4575 -mhwmult command line option.
4576 (msp430_hwmult_enabled): Delete.
4577 (msp43o_output_labelref): Add support for -mhwmult command line
4579 * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
4580 (umulsidi3): Likewise.
4581 * config/msp430/msp430.opt (mmcu): Add Report attribute.
4582 (mcpu, mlarge, msmall): Likewise.
4583 (mhwmult): New option.
4584 * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
4586 (msp430_is_f5_mcu): Remove prototype.
4587 (msp430_use_f5_series_hwmult): Add prototype.
4588 * config/msp430/msp430-opts.h: New file.
4589 * common/config/msp430: New directory.
4590 * common/config/msp430/msp430-common.c: New file.
4591 * config.gcc (msp430): Remove target_has_targetm_common.
4592 * doc/invoke.texi: Document -mhwmult command line option.
4594 2014-04-23 Nick Clifton <nickc@redhat.com>
4596 * config/i386/cygwin.h (ENDFILE_SPEC): Include
4597 default-manifest.o if it can be found in the search path.
4598 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
4600 2014-04-23 Richard Biener <rguenther@suse.de>
4602 Backport from mainline
4603 2014-04-14 Richard Biener <rguenther@suse.de>
4606 * lto-streamer-out.c (wrap_refs): New function.
4607 (lto_output): Wrap symbol references in global initializes in
4608 type-preserving MEM_REFs.
4610 2014-04-23 Richard Biener <rguenther@suse.de>
4613 * tree-inline.c (declare_return_variable): Use mark_addressable.
4615 2014-04-23 Richard Biener <rguenther@suse.de>
4618 * loop-init.c (loop_optimizer_init): Make sure to apply
4619 LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
4621 2014-04-22 Michael Meissner <meissner@linux.vnet.ibm.com>
4623 Backport from mainline
4624 2014-04-21 Michael Meissner <meissner@linux.vnet.ibm.com>
4627 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
4628 If mode is DDmode and TARGET_E500_DOUBLE allow move.
4630 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
4631 more debug information for E500 if -mdebug=reg.
4633 2014-04-22 H.J. Lu <hongjiu.lu@intel.com>
4635 Backport from mainline
4636 2014-04-22 H.J. Lu <hongjiu.lu@intel.com>
4639 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
4640 on count_exp to get mode.
4642 2014-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4644 * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
4646 (vsx_xxmrglw_<mode>): Likewise.
4648 2014-04-22 Richard Biener <rguenther@suse.de>
4650 Backport from mainline
4651 2014-04-14 Richard Biener <rguenther@suse.de>
4654 * fold-const.c (negate_expr_p): Don't negate directional rounding
4656 (fold_negate_expr): Likewise.
4658 2014-04-22 Richard Biener <rguenther@suse.de>
4660 Backport from mainline
4661 2014-04-17 Richard Biener <rguenther@suse.de>
4664 * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4665 boolean results for comparisons.
4667 2014-04-22 Richard Biener <rguenther@suse.de>
4669 Backport from mainline
4670 2014-04-17 Richard Biener <rguenther@suse.de>
4672 PR tree-optimization/60841
4673 * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4674 * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4675 of stmts to SLP build.
4676 * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4677 (vect_analyze_slp): Likewise.
4678 (vect_analyze_slp_instance): Likewise.
4679 (vect_build_slp_tree): Limit overall SLP tree growth.
4680 * tree-vectorizer.h (vect_analyze_data_refs,
4681 vect_analyze_slp): Adjust prototypes.
4683 2014-04-22 Richard Biener <rguenther@suse.de>
4685 Backport from mainline
4686 2014-04-17 Richard Biener <rguenther@suse.de>
4688 PR tree-optimization/60836
4689 * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4690 initial PHI args to be gimple values.
4692 2014-04-22 Richard Biener <rguenther@suse.de>
4694 Backport from mainline
4695 2014-04-14 Richard Biener <rguenther@suse.de>
4697 PR tree-optimization/59817
4698 PR tree-optimization/60453
4699 * graphite-scop-detection.c (graphite_can_represent_scev): Complete
4700 recursion to catch all CHRECs in the scalar evolution and restrict
4701 the predicate for the remains appropriately.
4703 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4705 PR tree-optimization/60823
4706 * omp-low.c (ipa_simd_modify_function_body): Go through
4707 all SSA_NAMEs and for those refering to vector arguments
4708 which are going to be replaced adjust SSA_NAME_VAR and,
4709 if it is a default definition, change it into a non-default
4710 definition assigned at the beginning of function from new_decl.
4711 (ipa_simd_modify_stmt_ops): Rewritten.
4712 * tree-dfa.c (set_ssa_default_def): When removing default def,
4713 check for NULL loc instead of NULL *loc.
4715 2014-04-22 Lin Zuojian <manjian2006@gmail.com>
4718 * asan.c (asan_emit_stack_protection): Force the base to align to
4719 appropriate bits if STRICT_ALIGNMENT. Set shadow_mem align to
4720 appropriate bits if STRICT_ALIGNMENT.
4721 * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4723 (expand_used_vars): Leave a space in the stack frame for alignment
4724 if STRICT_ALIGNMENT.
4726 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4728 Backported from mainline
4729 2014-04-16 Jakub Jelinek <jakub@redhat.com>
4731 PR tree-optimization/60844
4732 * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4733 (propagate_op_to_single_use, remove_visited_stmt_chain,
4734 linearize_expr, repropagate_negates, reassociate_bb): Use it
4735 instead of gsi_remove.
4737 2014-04-22 Jakub Jelinek <jakub@redhat.com>
4739 * BASE-VER: Set to 4.9.1.
4740 * DEV-PHASE: Set to prerelease.
4742 2014-04-22 Release Manager
4744 * GCC 4.9.0 released.
4746 2014-04-18 Richard Henderson <rth@redhat.com>
4748 * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4749 to GET_MODE_SIZE, not a reg_class_t.
4751 2014-04-17 Jakub Jelinek <jakub@redhat.com>
4754 Forward port from 4.8 branch
4755 2013-07-19 Kirill Yukhin <kirill.yukhin@intel.com>
4757 * config/i386/bmiintrin.h (_blsi_u32): New.
4761 (_blsmsk_u32): Ditto.
4762 (_blsmsk_u64): Ditto.
4763 (_tzcnt_u32): Ditto.
4764 (_tzcnt_u64): Ditto.
4766 2014-04-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4769 Revert the following patch
4771 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
4774 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4775 software floating point or no floating point registers, do not
4776 allow any type in the FPRs. Eliminate a test for SPE SIMD types
4777 in GPRs that occurs after we tested for GPRs that would never be
4780 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4781 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4782 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
4783 specifically allow DDmode, since that does not use the SPE SIMD
4786 2014-04-15 Jakub Jelinek <jakub@redhat.com>
4789 * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
4792 2014-04-14 Yufeng Zhang <yufeng.zhang@arm.com>
4794 * doc/invoke.texi (free): Document AArch64.
4796 2013-04-11 Jakub Jelinek <jakub@redhat.com>
4798 * DEV-PHASE: Set to prerelease.
4800 2014-04-11 Tobias Burnus <burnus@net-b.de>
4803 * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
4804 * doc/gcc.texi (Service): Update description in the @menu
4805 * doc/invoke.texi (Option Summary): Remove misplaced and
4808 2014-04-11 Steve Ellcey <sellcey@mips.com>
4809 Jakub Jelinek <jakub@redhat.com>
4812 * expr.c (convert_move): Use emit_store_flag_force instead of
4813 emit_store_flag. Pass lowpart_mode instead of VOIDmode as 5th
4816 2014-04-11 Richard Biener <rguenther@suse.de>
4819 * varasm.c (assemble_alias): Avoid endless error reporting
4820 recursion by setting TREE_ASM_WRITTEN.
4822 2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4824 * config/s390/s390.md: Add a splitter for NOT rtx.
4826 2014-04-11 Jakub Jelinek <jakub@redhat.com>
4828 PR rtl-optimization/60663
4829 * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
4831 2014-04-10 Jan Hubicka <hubicka@ucw.cz>
4832 Jakub Jelinek <jakub@redhat.com>
4835 * ipa.c (function_and_variable_visibility): Copy forced_by_abi
4836 flag from decl_node to node.
4838 2014-04-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4841 * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
4842 (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
4843 ameliorating the cases where it can be.
4845 2014-04-09 David Edelsohn <dje.gcc@gmail.com>
4848 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
4850 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4851 (loadsync_<mode>): Change mode.
4852 (load_quadpti, store_quadpti): New.
4853 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4854 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4855 * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
4857 2014-04-09 Cong Hou <congh@google.com>
4860 * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
4863 2014-04-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4865 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
4866 instead of vnor to exploit possible fusion opportunity in the
4868 (altivec_expand_vec_perm_const_le): Likewise.
4870 2014-04-08 Pat Haugen <pthaugen@us.ibm.com>
4872 * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4873 (loadsync_<mode>): Change mode.
4874 (load_quadpti, store_quadpti): New.
4875 (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4876 * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4878 2014-04-08 Richard Sandiford <rdsandiford@googlemail.com>
4881 * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
4882 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
4883 Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
4885 2014-04-08 Richard Biener <rguenther@suse.de>
4888 * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
4889 a 64bit widest int print double-int similar to on HWI64 hosts.
4891 2014-04-08 Richard Biener <rguenther@suse.de>
4893 PR tree-optimization/60785
4894 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
4895 default defs properly.
4897 2014-04-08 Nathan Sidwell <nathan@codesourcery.com>
4899 * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
4900 (Weffc++): Likewise.
4902 2014-04-07 Jan Hubicka <hubcika@ucw.cz>
4904 * ipa-devirt.c (maybe_record_node): When node is not recorded,
4905 set completep to false rather than true.
4907 2014-04-07 Douglas B Rupp <rupp@adacore.com>
4910 * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
4911 ARM_TARGET2_DWARF_FORMAT.
4913 2014-04-07 Charles Baylis <charles.baylis@linaro.org>
4916 * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
4917 (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
4920 2014-04-07 Richard Biener <rguenther@suse.de>
4922 PR tree-optimization/60766
4923 * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
4924 (may_eliminate_iv): Convert cand_value_at result to desired type.
4926 2014-04-07 Jason Merrill <jason@redhat.com>
4929 * common.opt (-fno-gnu-unique): Add.
4930 * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
4932 2014-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4934 * haifa-sched.c: Fix outdated function reference and minor
4935 grammar errors in introductory comment.
4937 2014-04-07 Richard Biener <rguenther@suse.de>
4940 * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
4942 * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
4944 2014-04-06 John David Anglin <danglin@gcc.gnu.org>
4947 * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
4948 size accounting for thunks.
4949 (pa_asm_output_mi_thunk): Use final_start_function() and
4950 final_end_function() to output function start and end directives.
4952 2014-04-05 Pitchumani Sivanupandi <Pitchumani.S@atmel.com>
4954 * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
4955 device specific ISA/ feature information. Remove short_sp and
4956 errata_skip ds. Add avr_device_specific_features enum to have device
4958 * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
4959 errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
4960 * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
4961 updated device specific info.
4962 * config/avr/avr-mcus.def: Merge device specific details to
4963 dev_attribute field.
4964 * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
4966 * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
4967 * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
4968 assembler if RMW isa supported by current device.
4969 * config/avr/genmultilib.awk: Update as device info structure changed.
4970 * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
4972 2014-04-04 Cong Hou <congh@google.com>
4974 PR tree-optimization/60656
4975 * tree-vect-stmts.c (supportable_widening_operation):
4976 Fix a bug that elements in a vector with vect_used_by_reduction
4977 property are incorrectly reordered when the operation on it is not
4978 consistant with the one in reduction operation.
4980 2014-04-04 John David Anglin <danglin@gcc.gnu.org>
4982 PR rtl-optimization/60155
4983 * gcse.c (record_set_data): New function.
4984 (single_set_gcse): New function.
4985 (gcse_emit_move_after): Use single_set_gcse instead of single_set.
4986 (hoist_code): Likewise.
4987 (get_pressure_class_and_nregs): Likewise.
4989 2014-04-04 Eric Botcazou <ebotcazou@adacore.com>
4991 * explow.c (probe_stack_range): Emit a final optimization blockage.
4993 2014-04-04 Anthony Green <green@moxielogic.com>
4995 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
4998 2014-04-04 Jan Hubicka <hubicka@ucw.cz>
5001 * lto-cgraph.c (input_overwrite_node): Check that partitioning
5002 flags are set only during streaming.
5003 * ipa.c (process_references, walk_polymorphic_call_targets,
5004 symtab_remove_unreachable_nodes): Drop bodies of always inline
5005 after early inlining.
5006 (symtab_remove_unreachable_nodes): Remove always_inline attribute.
5008 2014-04-04 Jakub Jelinek <jakub@redhat.com>
5009 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5012 * dwarf2out.c (const_ok_for_output_1): Reject expressions
5015 2014-04-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5018 * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
5020 (cortex_a53_fdivd): Likewise.
5022 2014-04-04 Martin Jambor <mjambor@suse.cz>
5025 * cgraph.h (cgraph_clone_node): New parameter added to declaration.
5027 * cgraph.c (clone_of_p): Also return true if thunks match.
5028 (verify_edge_corresponds_to_fndecl): Removed extraneous call to
5029 cgraph_function_or_thunk_node and an obsolete comment.
5030 * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
5032 (build_function_decl_skip_args): Likewise.
5033 (set_new_clone_decl_and_node_flags): New function.
5034 (duplicate_thunk_for_node): Likewise.
5035 (redirect_edge_duplicating_thunks): Likewise.
5036 (cgraph_clone_node): New parameter args_to_skip, pass it to
5037 redirect_edge_duplicating_thunks which is called instead of
5038 cgraph_redirect_edge_callee.
5039 (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
5040 moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
5042 2014-04-04 Jeff Law <law@redhat.com>
5045 * config/arm/predicates.md (const_int_I_operand): New predicate.
5046 (const_int_M_operand): Similarly.
5047 * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
5049 (insv_t2, extv_reg, extzv_t2): Likewise.
5050 (load_multiple_with_writeback): Similarly for const_int_I_operand.
5051 (pop_multiple_with_writeback_and_return): Likewise.
5052 (vfp_pop_multiple_with_writeback): Likewise
5054 2014-04-04 Richard Biener <rguenther@suse.de>
5057 * tree-ssanames.c (make_ssa_name_fn): Fix assert.
5058 * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
5060 * gimplify.h (gimple_add_tmp_var_fn): Declare.
5061 * gimplify.c (gimple_add_tmp_var_fn): New function.
5062 * gimple-expr.h (create_tmp_reg_fn): Declare.
5063 * gimple-expr.c (create_tmp_reg_fn): New function.
5064 * gimple-low.c (record_vars_into): Don't change cfun.
5065 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
5066 code generation without cfun.
5068 2014-04-04 Thomas Schwinge <thomas@codesourcery.com>
5071 * Makefile.in (install-driver): Fix shell scripting.
5073 2014-04-03 Cong Hou <congh@google.com>
5075 PR tree-optimization/60505
5076 * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
5077 threshold of number of iterations below which no vectorization
5079 * tree-vect-loop.c (new_loop_vec_info):
5080 Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
5081 * tree-vect-loop.c (vect_analyze_loop_operations):
5082 Set LOOP_VINFO_COST_MODEL_THRESHOLD.
5083 * tree-vect-loop.c (vect_transform_loop):
5084 Use LOOP_VINFO_COST_MODEL_THRESHOLD.
5085 * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
5086 of iterations of the loop and see if we should build the epilogue.
5088 2014-04-03 Richard Biener <rguenther@suse.de>
5090 * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
5091 (streamer_tree_cache_create): Adjust.
5092 * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
5093 to allow optional nodes array.
5094 (streamer_tree_cache_insert_1): Use next_idx to assign idx.
5095 (streamer_tree_cache_append): Likewise.
5096 (streamer_tree_cache_create): Create nodes array optionally
5097 as specified by parameter.
5098 * lto-streamer-out.c (create_output_block): Avoid maintaining
5099 the node array in the writer cache.
5100 (DFS_write_tree): Remove assertion.
5101 (produce_asm_for_decls): Free the out decl state hash table early.
5102 * lto-streamer-in.c (lto_data_in_create): Adjust for
5103 streamer_tree_cache_create prototype change.
5105 2014-04-03 Richard Biener <rguenther@suse.de>
5107 * tree-streamer-out.c (streamer_write_chain): Do not temporarily
5108 set TREE_CHAIN to NULL_TREE.
5110 2014-04-03 Richard Biener <rguenther@suse.de>
5112 PR tree-optimization/60740
5113 * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
5114 over all GIMPLE_COND operands.
5116 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
5118 * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
5119 (Weffc++): Remove Scott's numbering, merge lists and reference
5122 2014-04-03 Nick Clifton <nickc@redhat.com>
5124 * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
5127 2014-04-03 Martin Jambor <mjambor@suse.cz>
5129 * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
5130 mention gcc_unreachable before failing.
5131 * ipa.c (symtab_remove_unreachable_nodes): Also print order of
5134 2014-04-02 Jan Hubicka <hubicka@ucw.cz>
5137 * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
5138 inconsistent code and instead mark the context inconsistent.
5139 (possible_polymorphic_call_targets): For inconsistent contexts
5140 return empty complete list.
5142 2014-04-02 Anthony Green <green@moxielogic.com>
5144 * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
5145 (extendqisi2, extendhisi2): Define.
5146 * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
5147 (WCHAR_TYPE): Change to unsigned int.
5149 2014-04-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5151 PR tree-optimization/60733
5152 * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
5153 insertion point for PHI candidates to be the end of the feeding
5154 block for the PHI argument.
5156 2014-04-02 Vladimir Makarov <vmakarov@redhat.com>
5158 PR rtl-optimization/60650
5159 * lra-constraints.c (process_alt_operands): Decrease reject for
5160 earlyclobber matching.
5162 2014-04-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5164 * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
5166 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5168 * config/spu/spu.c (pad_bb): Do not crash when the last
5169 insn is CODE_FOR_blockage.
5171 2014-04-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5173 * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
5174 lies outside the target mode.
5176 2014-04-02 Michael Meissner <meissner@linux.vnet.ibm.com>
5179 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
5180 software floating point or no floating point registers, do not
5181 allow any type in the FPRs. Eliminate a test for SPE SIMD types
5182 in GPRs that occurs after we tested for GPRs that would never be
5185 * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
5186 Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
5187 since the FMOVE64 type is DFmode/DDmode. If TARGET_E500_DOUBLE,
5188 specifically allow DDmode, since that does not use the SPE SIMD
5191 2014-04-02 Richard Biener <rguenther@suse.de>
5194 * optabs.c (expand_abs_nojump): Honor flag_trapv only for
5195 MODE_INTs. Properly use negv_optab.
5196 (expand_abs): Likewise.
5198 2014-04-02 Richard Biener <rguenther@suse.de>
5201 * Makefile.in (install-driver): Guard extra installs with special
5204 2014-04-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5206 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5209 2014-04-01 Richard Henderson <rth@redhat.com>
5212 * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
5213 alternative enabled before register allocation.
5215 2014-04-01 Chung-Lin Tang <cltang@codesourcery.com>
5217 * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
5218 * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
5220 (nios2_large_got_address): Remove unneeded 'sym' parameter.
5221 (nios2_got_address): Update nios2_large_got_address call site.
5222 (nios2_delegitimize_address): New function.
5223 (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
5224 * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
5225 (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
5227 2014-04-01 Martin Husemann <martin@duskware.de>
5229 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
5232 2014-04-01 Richard Sandiford <rdsandiford@googlemail.com>
5234 PR rtl-optimization/60604
5235 * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
5236 check from register_operand.
5237 (register_operand): Redefine in terms of general_operand.
5238 (nonmemory_operand): Use register_operand for the non-constant cases.
5240 2014-04-01 Richard Biener <rguenther@suse.de>
5242 * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
5244 2014-04-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
5246 * doc/invoke.texi (mapp-regs): Clarify.
5248 2014-03-31 Ulrich Drepper <drepper@gmail.com>
5250 * config/i386/avx512fintrin.h (__v32hi): Define type.
5251 (__v64qi): Likewise.
5252 (_mm512_set1_epi8): Define.
5253 (_mm512_set1_epi16): Define.
5254 (_mm512_set4_epi32): Define.
5255 (_mm512_set4_epi64): Define.
5256 (_mm512_set4_pd): Define.
5257 (_mm512_set4_ps): Define.
5258 (_mm512_setr4_epi64): Define.
5259 (_mm512_setr4_epi32): Define.
5260 (_mm512_setr4_pd): Define.
5261 (_mm512_setr4_ps): Define.
5262 (_mm512_setzero_epi32): Define.
5264 2014-03-31 Martin Jambor <mjambor@suse.cz>
5267 * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
5268 callsite_arguments_match_p. Updated all callers. Also check types of
5269 corresponding formal parameters and actual arguments.
5270 (not_all_callers_have_enough_arguments_p) Renamed to
5271 some_callers_have_mismatched_arguments_p.
5273 2014-03-31 Yuri Rumyantsev <ysrumyan@gmail.com>
5275 * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
5277 2014-03-31 Kugan Vivekanandarajah <kuganv@linaro.org>
5280 * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
5283 2014-03-30 Uros Bizjak <ubizjak@gmail.com>
5285 * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
5286 (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
5288 <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
5289 Use FMAMODE_NOVF512 mode iterator.
5290 (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
5291 (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
5292 (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
5293 (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
5295 <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
5296 Use VF_128_256 mode iterator.
5297 (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
5300 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5302 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
5303 static chain if needed.
5305 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5308 * lra-constraints.c (index_part_to_reg): New.
5309 (process_address): Use it.
5311 2014-03-27 Jeff Law <law@redhat.com>
5312 Jakub Jelinek <jakub@redhat.com>
5315 * expr.c (do_tablejump): Use simplify_gen_binary rather than
5316 gen_rtx_{PLUS,MULT} to build up the address expression.
5318 * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
5319 creating non-canonical RTL.
5321 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5324 * ipa-inline.c (want_inline_small_function_p): Short circuit large
5325 functions; reorganize to make cheap checks first.
5326 (inline_small_functions): Do not estimate growth when dumping;
5328 * ipa-inline.h (inline_summary): Add min_size.
5329 (growth_likely_positive): New function.
5330 * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
5331 (set_cond_stmt_execution_predicate): Cleanup.
5332 (estimate_edge_size_and_time): Compute min_size.
5333 (estimate_calls_size_and_time): Likewise.
5334 (estimate_node_size_and_time): Likewise.
5335 (inline_update_overall_summary): Update min_size.
5336 (do_estimate_edge_time): Likewise.
5337 (do_estimate_edge_size): Update.
5338 (do_estimate_edge_hints): Update.
5339 (growth_likely_positive): New function.
5341 2014-03-28 Jakub Jelinek <jakub@redhat.com>
5344 * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
5345 also if addr has VOIDmode.
5347 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5349 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
5350 * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
5352 * config/arm/cortex-a53.md: Add reservations and bypass for crypto
5353 instructions as well as AdvancedSIMD loads.
5355 2014-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5357 * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
5358 Use crypto_aese type.
5359 (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
5360 * config/arm/arm.md (is_neon_type): Replace crypto_aes with
5361 crypto_aese, crypto_aesmc. Move to types.md.
5362 * config/arm/types.md (crypto_aes): Split into crypto_aese,
5364 * config/arm/iterators.md (crypto_type): Likewise.
5366 2014-03-28 Jan Hubicka <hubicka@ucw.cz>
5368 * cgraph.c: Include expr.h and tree-dfa.h.
5369 (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
5372 2014-03-28 Vladimir Makarov <vmakarov@redhat.com>
5375 * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
5376 regs from checking multi-reg pseudos.
5378 2014-03-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5380 * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
5382 2014-03-28 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5384 * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
5385 if it would clobber the stack pointer, even temporarily.
5387 2014-03-28 Eric Botcazou <ebotcazou@adacore.com>
5389 * mode-switching.c: Make small adjustments to the top comment.
5391 2014-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
5393 * config/rs6000/constraints.md (wD constraint): New constraint to
5394 match the constant integer to get the top DImode/DFmode out of a
5395 vector in a VSX register.
5397 * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
5398 match the constant integer to get the top DImode/DFmode out of a
5399 vector in a VSX register.
5401 * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
5404 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5407 * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
5408 -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
5410 * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
5411 Optimize vec_extract of 64-bit values, where the value being
5412 extracted is in the top word, where we can use scalar
5413 instructions. Add direct move and store support. Combine the big
5414 endian/little endian vector select load support into a single insn.
5415 (vsx_extract_<mode>_internal1): Likewise.
5416 (vsx_extract_<mode>_internal2): Likewise.
5417 (vsx_extract_<mode>_load): Likewise.
5418 (vsx_extract_<mode>_store): Likewise.
5419 (vsx_extract_<mode>_zero): Delete, big and little endian insns are
5420 combined into vsx_extract_<mode>_load.
5421 (vsx_extract_<mode>_one_le): Likewise.
5423 * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
5424 define the top 64-bit vector element.
5426 * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
5429 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5430 Document vec_vbpermq builtin.
5433 * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
5434 enable use of xxsldwi and xxpermdi builtin functions.
5435 (vec_xxpermdi): Likewise.
5437 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5438 Document use of vec_xxsldwi and vec_xxpermdi builtins.
5440 2014-03-27 Vladimir Makarov <vmakarov@redhat.com>
5442 PR rtl-optimization/60650
5443 * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
5445 (find_spills_for): New.
5446 (assign_by_spills): Pass the new parameter to find_hard_regno_for.
5447 Spill all pseudos on the second iteration.
5449 2014-03-27 Marek Polacek <polacek@redhat.com>
5452 * doc/extend.texi (ffs Builtins): Change unsigned types to signed
5455 2014-03-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5457 * config/s390/s390.c (s390_can_use_return_insn): Check for
5458 call-saved FPRs on 31 bit.
5460 2014-03-27 Jakub Jelinek <jakub@redhat.com>
5463 * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
5464 if they need regimplification, just drop them instead of
5465 calling gimple_regimplify_operands on them.
5467 2014-03-27 Marcus Shawcroft <marcus.shawcroft@arm.com>
5470 * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
5471 (aarch64_frame_pointer_required): Adjust logic.
5472 (aarch64_can_eliminate): Adjust logic.
5473 (aarch64_override_options_after_change): Adjust logic.
5475 2014-03-27 Dehao Chen <dehao@google.com>
5477 * ipa-inline.c (early_inliner): Update node's inline info.
5479 2014-03-26 Dehao Chen <dehao@google.com>
5481 * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
5482 compiler inserted conditional jumps for NAN float check.
5484 2014-03-26 Jakub Jelinek <jakub@redhat.com>
5486 * ubsan.h (ubsan_create_data): Change second argument's type
5487 to const location_t *.
5488 * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
5490 (ubsan_create_data): Change second argument to const location_t *PLOC.
5491 Create Loc field whenever PLOC is non-NULL.
5492 (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
5493 ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
5497 * real.c (real_to_integer2): Change type of low to UHWI.
5499 2014-03-26 Tobias Burnus <burnus@net-b.de>
5501 * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
5502 (CILK_SELF_SPECS): New define.
5503 (driver_self_specs): Use it.
5505 2014-03-26 Richard Biener <rguenther@suse.de>
5507 * tree-pretty-print.c (percent_K_format): Implement special
5508 case for LTO and its stripped down BLOCK tree.
5510 2014-03-26 Jakub Jelinek <jakub@redhat.com>
5513 * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
5515 * tree-vrp.c (simplify_internal_call_using_ranges): If only
5516 one range is range_int_cst_p, but not both, at least optimize
5517 addition/subtraction of 0 and multiplication by 0 or 1.
5518 * gimple-fold.c (gimple_fold_call): Fold
5519 IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
5520 (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
5521 INTEGER_CSTs, try to fold at least x * 0 and y - y.
5523 2014-03-26 Eric Botcazou <ebotcazou@adacore.com>
5525 PR rtl-optimization/60452
5526 * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
5527 <case REG>: Return 1 for invalid offsets from the frame pointer.
5529 2014-03-26 Marek Polacek <polacek@redhat.com>
5532 * doc/extend.texi (C Extensions): Mention variable-length arrays in
5535 2014-03-26 Marek Polacek <polacek@redhat.com>
5538 * doc/extend.texi (Designated Inits): Describe what happens to omitted
5541 2014-03-26 Marek Polacek <polacek@redhat.com>
5544 * ira-color.c (update_conflict_hard_regno_costs): Perform the
5545 multiplication in unsigned type.
5547 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
5549 * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
5551 2014-03-26 Chung-Ju Wu <jasonwucj@gmail.com>
5553 * doc/contrib.texi: Add myself as Andes nds32 port contributor.
5555 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
5558 * cif-code.def (UNREACHABLE) New code.
5559 * ipa-inline.c (inline_small_functions): Skip edges to
5560 __builtlin_unreachable.
5561 (estimate_edge_growth): Allow edges to __builtlin_unreachable.
5562 * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
5563 predicate to __bulitin_unreachable.
5564 (set_cond_stmt_execution_predicate): Fix issue when
5565 invert_tree_comparison returns ERROR_MARK.
5566 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
5567 propagate to inline clones.
5568 * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
5570 * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
5571 * cgraphclones.c (cgraph_clone_node): If call destination is already
5572 ureachable, do not redirect it back.
5573 * tree-inline.c (fold_marked_statements): Hanlde calls becoming
5576 2014-03-25 Jan Hubicka <hubicka@ucw.cz>
5578 * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
5579 Do not modify inline clones.
5581 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5583 * config/i386/i386.md (general_sext_operand): New mode attr.
5584 (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
5585 don't generate (sign_extend (const_int)).
5586 (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
5587 operands[2]. Use We constraint instead of <i> and
5588 <general_sext_operand> predicate instead of <general_operand>.
5589 (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
5590 * config/i386/constraints.md (We): New constraint.
5591 * config/i386/predicates.md (x86_64_sext_operand,
5592 sext_operand): New predicates.
5594 2014-03-25 Martin Jambor <mjambor@suse.cz>
5597 * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
5598 inconsistent devirtualizations to __builtin_unreachable.
5600 2014-03-25 Marek Polacek <polacek@redhat.com>
5603 * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
5605 2014-03-25 Alan Lawrence <alan.lawrence@arm.com>
5607 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
5608 order of elements for big-endian.
5610 2014-03-25 Richard Biener <rguenther@suse.de>
5613 * gimplify-me.c (gimple_regimplify_operands): Update the
5616 2014-03-25 Martin Jambor <mjambor@suse.cz>
5619 * lto-cgraph.c (lto_output_node): Stream body_removed flag.
5620 (lto_output_varpool_node): Likewise.
5621 (input_overwrite_node): Likewise.
5622 (input_varpool_node): Likewise.
5624 2014-03-25 Richard Biener <rguenther@suse.de>
5626 * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
5627 (run_gcc): Likewise.
5629 2014-03-25 Jakub Jelinek <jakub@redhat.com>
5631 * combine.c (simplify_compare_const): Add MODE argument.
5632 Handle mode_width 0 as very large mode_width.
5633 (try_combine, simplify_comparison): Adjust callers.
5635 * cselib.c (cselib_hash_rtx): Perform addition in unsigned
5636 type to avoid signed integer overflow.
5637 * explow.c (plus_constant): Likewise.
5639 2014-03-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
5641 * doc/generic.texi: Correct typos.
5643 2014-03-24 Tobias Burnus <burnus@net-b.de>
5645 * doc/invoke.texi (-flto): Expand section about
5646 using static libraries with LTO.
5648 2014-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5650 PR rtl-optimization/60501
5651 * optabs.def (addptr3_optab): New optab.
5652 * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
5653 * doc/md.texi ("addptrm3"): Document new RTL standard expander.
5654 * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
5656 * lra.c (emit_add3_insn): Use the addptr pattern if available.
5658 * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
5660 2014-03-24 Ulrich Drepper <drepper@gmail.com>
5662 * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
5665 * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
5666 (_mm256_undefined_ps): Define.
5667 (_mm256_undefined_pd): Define.
5668 * config/i386/emmintrin.h (_mm_undefined_si128): Define.
5669 (_mm_undefined_pd): Define.
5670 * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
5671 * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
5672 (_mm512_undefined_ps): Define.
5673 (_mm512_undefined_pd): Define.
5674 Use _mm*_undefined_*.
5675 * config/i386/avx2intrin.h: Use _mm*_undefined_*.
5677 2014-03-24 Alex Velenko <Alex.Velenko@arm.com>
5679 * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
5680 (lshr_simd): DI mode added.
5681 * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
5682 (aarch64_ushr_simddi): Likewise.
5683 * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
5684 * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
5685 (vshrd_n_u64): Likewise.
5687 2014-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5689 * Makefile.in (s-macro_list): Depend on cc1.
5691 2014-03-23 Teresa Johnson <tejohnson@google.com>
5693 * ipa-utils.c (ipa_print_order): Use specified dump file.
5695 2014-03-23 Eric Botcazou <ebotcazou@adacore.com>
5697 PR rtl-optimization/60601
5698 * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
5700 * gcc.c (eval_spec_function): Initialize save_growing_value.
5702 2014-03-22 Jakub Jelinek <jakub@redhat.com>
5705 * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
5706 code == MINUS_EXPR, never swap op0 with op1.
5708 * toplev.c (init_local_tick): Avoid signed integer multiplication
5710 * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
5711 shift by first operand's bitsize.
5713 2014-03-21 Jakub Jelinek <jakub@redhat.com>
5716 * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
5718 * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
5719 TARGET_ISA_64BIT_P(x).
5721 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5723 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
5724 pattern for vector nor instead of subtract from splat(-1).
5725 (altivec_expand_vec_perm_const_le): Likewise.
5727 2014-03-21 Richard Henderson <rth@twiddle.net>
5730 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
5731 related insns after epilogue_completed.
5733 2014-03-21 Martin Jambor <mjambor@suse.cz>
5736 * cgraph.h (symtab_node): New flag body_removed.
5737 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
5738 when removing bodies.
5739 * symtab.c (dump_symtab_base): Dump body_removed flag.
5740 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
5741 had their bodies removed.
5743 2014-03-21 Martin Jambor <mjambor@suse.cz>
5746 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
5749 2014-03-21 Richard Biener <rguenther@suse.de>
5751 PR tree-optimization/60577
5752 * tree-core.h (struct tree_base): Document nothrow_flag use
5754 * tree.h (DECL_NONALIASED): New.
5755 (may_be_aliased): Adjust.
5756 * coverage.c (build_var): Set DECL_NONALIASED.
5758 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
5760 * expr.c (expand_expr_real_1): Remove outdated comment.
5762 2014-03-20 Jakub Jelinek <jakub@redhat.com>
5765 * ira.c (adjust_cleared_regs): Call copy_rtx on
5766 *reg_equiv[REGNO (loc)].src_p before passing it to
5767 simplify_replace_fn_rtx.
5770 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
5771 into CONST, put pic register as first operand of PLUS. Use
5772 gen_const_mem for both 32-bit and 64-bit PIC got loads.
5774 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5776 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
5778 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
5780 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
5781 around for store forwarding issue in the FPU on the UT699.
5782 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
5783 loads and operations if -mfix-ut699 is specified.
5784 (divtf3_hq): Tweak attribute.
5785 (sqrttf2_hq): Likewise.
5787 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
5789 * calls.c (store_one_arg): Remove incorrect const qualification on the
5790 type of the temporary.
5791 * cfgexpand.c (expand_return): Likewise.
5792 * expr.c (expand_constructor): Likewise.
5793 (expand_expr_real_1): Likewise.
5795 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
5797 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
5800 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
5803 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
5805 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
5807 * config/arm/aarch-common-protos.h
5808 (alu_cost_table): Fix spelling of "extend".
5809 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
5811 2014-03-19 Richard Biener <rguenther@suse.de>
5814 * tree-core.h (tree_type_common): Re-order pointer members
5815 to reduce recursion depth during GC walks.
5817 2014-03-19 Marek Polacek <polacek@redhat.com>
5820 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
5821 before accessing it.
5823 2014-03-19 Richard Biener <rguenther@suse.de>
5826 * lto-streamer-in.c (input_function): In WPA stage do not drop
5829 2014-03-19 Jakub Jelinek <jakub@redhat.com>
5831 PR tree-optimization/60559
5832 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
5833 with build_zero_cst assignment.
5835 2014-03-18 Kai Tietz <ktietz@redhat.com>
5837 PR rtl-optimization/56356
5838 * sdbout.c (sdbout_parms): Verify that parms'
5839 incoming argument is valid.
5840 (sdbout_reg_parms): Likewise.
5842 2014-03-18 Richard Henderson <rth@redhat.com>
5845 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
5846 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
5847 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
5849 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
5851 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
5852 * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
5853 Italicize plugin event names in description. Explain that
5854 PLUGIN_PRAGMAS has no sense for lto1. Explain PLUGIN_INCLUDE_FILE.
5855 Remind that no GCC functions should be called after PLUGIN_FINISH.
5856 Explain what pragmas with expansion are.
5858 2014-03-18 Martin Liska <mliska@suse.cz>
5860 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
5861 gimple call statement is update.
5862 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
5863 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
5865 2014-03-18 Jakub Jelinek <jakub@redhat.com>
5868 * ubsan.c (ubsan_instrument_unreachable): Call
5869 initialize_sanitizer_builtins.
5870 (ubsan_pass): Likewise.
5873 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
5874 varpool_finalize_decl instead of rest_of_decl_compilation.
5876 2014-03-18 Richard Biener <rguenther@suse.de>
5878 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
5879 by using bitmap_and_compl instead of bitmap_and_compl_into.
5880 (df_rd_transfer_function): Likewise.
5882 2014-03-18 Richard Biener <rguenther@suse.de>
5884 * doc/lto.texi (fresolution): Fix typo.
5886 2014-03-18 Richard Biener <rguenther@suse.de>
5888 * doc/invoke.texi (flto): Update for changes in 4.9.
5890 2014-03-18 Richard Biener <rguenther@suse.de>
5892 * doc/loop.texi: Remove section on the removed lambda framework.
5893 Update loop docs with recent changes in preserving loop structure.
5895 2014-03-18 Richard Biener <rguenther@suse.de>
5897 * doc/lto.texi (-fresolution): Document.
5899 2014-03-18 Richard Biener <rguenther@suse.de>
5901 * doc/contrib.texi: Adjust my name.
5903 2014-03-18 Jakub Jelinek <jakub@redhat.com>
5906 * internal-fn.c: Include diagnostic-core.h.
5907 (expand_BUILTIN_EXPECT): New function.
5908 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
5909 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
5910 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
5911 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
5913 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
5914 Revert 3 argument __builtin_expect code.
5915 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
5916 * gimple-fold.c (gimple_fold_call): Likewise.
5917 * tree.h (fold_builtin_expect): New prototype.
5918 * builtins.c (build_builtin_expect_predicate): Add predictor
5919 argument, if non-NULL, create 3 argument __builtin_expect.
5920 (fold_builtin_expect): No longer static. Add ARG2 argument,
5921 pass it through to build_builtin_expect_predicate.
5922 (fold_builtin_2): Adjust caller.
5923 (fold_builtin_3): Handle BUILT_IN_EXPECT.
5924 * internal-fn.def (BUILTIN_EXPECT): New.
5926 2014-03-18 Tobias Burnus <burnus@net-b.de>
5929 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
5930 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
5931 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
5933 2014-03-18 Jan Hubicka <hubicka@ucw.cz>
5936 * predict.c (combine_predictions_for_bb): Fix up formatting.
5937 (expr_expected_value_1, expr_expected_value): Add predictor argument,
5938 fill what it points to if non-NULL.
5939 (tree_predict_by_opcode): Adjust caller, use the predictor.
5940 * predict.def (PRED_COMPARE_AND_SWAP): Add.
5942 2014-03-18 Eric Botcazou <ebotcazou@adacore.com>
5944 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
5945 proper constant for the store mode.
5947 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
5949 * symtab.c (change_decl_assembler_name): Fix transparent alias
5952 2014-03-16 Renlin Li <Renlin.Li@arm.com>
5954 * config/aarch64/aarch64.c: Correct the comments about the
5955 aarch64 stack layout.
5957 2014-03-18 Thomas Schwinge <thomas@codesourcery.com>
5959 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
5960 check for GF_OMP_FOR_KIND_FOR.
5962 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
5964 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
5965 ymm and zmm register names.
5967 2014-03-17 Jakub Jelinek <jakub@redhat.com>
5970 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
5971 note creation for the 2010-08-31 changes.
5973 2014-03-17 Marek Polacek <polacek@redhat.com>
5976 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
5977 as -fno-tree-loop-vectorize.
5978 (expand_omp_simd): Likewise.
5980 2014-03-15 Eric Botcazou <ebotcazou@adacore.com>
5982 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
5983 (eligible_for_call_delay): New prototype.
5984 * config/sparc/sparc.c (tls_call_delay): Rename into...
5985 (eligible_for_call_delay): ...this. Return false if the instruction
5986 cannot be put in the delay slot of a branch.
5987 (eligible_for_restore_insn): Simplify.
5988 (eligible_for_return_delay): Return false if the instruction cannot be
5989 put in the delay slot of a branch and simplify.
5990 (eligible_for_sibcall_delay): Return false if the instruction cannot be
5991 put in the delay slot of a branch.
5992 * config/sparc/sparc.md (fix_ut699): New attribute.
5993 (tls_call_delay): Delete.
5994 (in_call_delay): Reimplement.
5995 (eligible_for_sibcall_delay): Rename into...
5996 (in_sibcall_delay): ...this.
5997 (eligible_for_return_delay): Rename into...
5998 (in_return_delay): ...this.
5999 (in_branch_delay): Reimplement.
6000 (in_uncond_branch_delay): Delete.
6001 (in_annul_branch_delay): Delete.
6003 2014-03-14 Richard Henderson <rth@redhat.com>
6006 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
6007 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
6008 (*floathi<X87MODEF>2_i387_with_temp): Remove.
6009 (floathi splitters): Remove.
6010 (float<SWI48x>xf2): New pattern.
6011 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
6012 code that tried to handle DImode for 32-bit, but which was excluded
6013 by the pattern's condition. Drop allocation of stack temporary.
6014 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
6015 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
6016 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
6017 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
6018 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
6019 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
6020 (*float<SWI48><MODEF>2_sse_interunit): Remove.
6021 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
6022 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
6023 (*float<SWI48x><X87MODEF>2_i387): Remove.
6024 (all float _with_temp splitters): Remove.
6025 (*float<SWI48x><MODEF>2_i387): New pattern.
6026 (*float<SWI48><MODEF>2_sse): New pattern.
6027 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
6028 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
6030 2014-03-14 Jakub Jelinek <jakub@redhat.com>
6031 Marek Polacek <polacek@redhat.com>
6034 * common.opt (dump_base_name_prefixed): New Variable.
6035 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
6036 if x_dump_base_name_prefixed is already set, set it at the end.
6038 2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
6040 PR rtl-optimization/60508
6041 * lra-constraints.c (get_reload_reg): Add new parameter
6043 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
6044 Pass the new parameter values.
6046 2014-03-14 Richard Biener <rguenther@suse.de>
6048 * common.opt: Revert unintented changes from r205065.
6051 2014-03-14 Richard Biener <rguenther@suse.de>
6054 * cfghooks.c (split_block): Properly adjust all loops the
6055 block was a latch of.
6057 2014-03-14 Martin Jambor <mjambor@suse.cz>
6060 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
6063 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
6066 * config/avr/avr.c (avr_set_current_function): Pass function name
6067 through default_strip_name_encoding before sanity checking instead
6068 of skipping the first char of the assembler name.
6070 2014-03-13 Richard Henderson <rth@redhat.com>
6073 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
6074 (ix86_force_to_memory, ix86_free_from_memory): Remove.
6075 * config/i386/i386-protos.h: Likewise.
6076 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
6077 in the expander instead of a splitter.
6078 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
6079 any possibility of requiring a memory.
6080 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
6081 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
6082 (fp branch splitters): Update for ix86_split_fp_branch.
6083 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
6084 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
6085 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
6086 (*fop_<MODEF>_2_i387): Remove f/r alternative.
6087 (*fop_<MODEF>_3_i387): Likewise.
6088 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
6089 (splitters for the fop_* register patterns): Remove.
6090 (fscalexf4_i387): Rename from *fscalexf4_i387.
6091 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
6093 2014-03-13 Jakub Jelinek <jakub@redhat.com>
6095 PR tree-optimization/59779
6096 * tree-dfa.c (get_ref_base_and_extent): Use double_int
6097 type for bitsize and maxsize instead of HOST_WIDE_INT.
6099 2014-03-13 Steven Bosscher <steven@gcc.gnu.org>
6101 PR rtl-optimization/57320
6102 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
6103 the CFG after thread_prologue_and_epilogue_insns.
6105 2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
6107 PR rtl-optimization/57189
6108 * lra-constraints.c (process_alt_operands): Disfavor spilling
6111 2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
6113 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
6115 2014-03-13 Jakub Jelinek <jakub@redhat.com>
6117 PR tree-optimization/59025
6119 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
6120 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
6122 2014-03-13 Georg-Johann Lay <avr@gjlay.de>
6125 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
6126 calls of avr_out_plus_1.
6128 2014-03-13 Bin Cheng <bin.cheng@arm.com>
6130 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
6131 BB's single pred and update the father loop's latch info later.
6133 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
6135 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
6139 (VEC_base): Likewise.
6140 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
6141 registers, we need to swap double words in little endian mode.
6143 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
6144 to be a container mode for 128-bit integer operations added in ISA
6145 2.07. Unlike TImode and PTImode, the preferred register set is
6146 the Altivec/VMX registers for the 128-bit operations.
6148 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
6150 (rs6000_split_128bit_ok_p): Likewise.
6152 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
6153 macros for creating ISA 2.07 normal and overloaded builtin
6154 functions with 3 arguments.
6155 (BU_P8V_OVERLOAD_3): Likewise.
6156 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
6157 for use as overloaded functions.
6158 (VPERM_1TI_UNS): Likewise.
6159 (VSEL_1TI): Likewise.
6160 (VSEL_1TI_UNS): Likewise.
6161 (ST_INTERNAL_1ti): Likewise.
6162 (LD_INTERNAL_1ti): Likewise.
6163 (XXSEL_1TI): Likewise.
6164 (XXSEL_1TI_UNS): Likewise.
6165 (VPERM_1TI): Likewise.
6166 (VPERM_1TI_UNS): Likewise.
6167 (XXPERMDI_1TI): Likewise.
6168 (SET_1TI): Likewise.
6169 (LXVD2X_V1TI): Likewise.
6170 (STXVD2X_V1TI): Likewise.
6171 (VEC_INIT_V1TI): Likewise.
6172 (VEC_SET_V1TI): Likewise.
6173 (VEC_EXT_V1TI): Likewise.
6174 (EQV_V1TI): Likewise.
6175 (NAND_V1TI): Likewise.
6176 (ORC_V1TI): Likewise.
6177 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
6178 added in ISA 2.07. Add both normal 'altivec' builtins, and the
6180 (VADDUQM): Likewise.
6181 (VSUBCUQ): Likewise.
6182 (VADDEUQM): Likewise.
6183 (VADDECUQ): Likewise.
6184 (VSUBEUQM): Likewise.
6185 (VSUBECUQ): Likewise.
6187 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
6188 __int128_t and __uint128_t types.
6189 (__uint128_type): Likewise.
6190 (altivec_categorize_keyword): Add support for vector __int128_t,
6191 vector __uint128_t, vector __int128, and vector unsigned __int128
6192 as a container type for TImode operations that need to be done in
6193 VSX/Altivec registers.
6194 (rs6000_macro_to_expand): Likewise.
6195 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
6196 to support 128-bit integer instructions vaddcuq, vadduqm,
6197 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
6198 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
6200 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
6201 for V1TImode, and set up preferences to use VSX/Altivec registers.
6202 Setup VSX reload handlers.
6203 (rs6000_debug_reg_global): Likewise.
6204 (rs6000_init_hard_regno_mode_ok): Likewise.
6205 (rs6000_preferred_simd_mode): Likewise.
6206 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
6207 (easy_altivec_constant): Likewise.
6208 (output_vec_const_move): Likewise.
6209 (rs6000_expand_vector_set): Convert V1TImode set and extract to
6211 (rs6000_expand_vector_extract): Likewise.
6212 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
6214 (rs6000_const_vec): Add support for V1TImode.
6215 (rs6000_emit_le_vsx_load): Swap double words when loading or
6216 storing TImode/V1TImode.
6217 (rs6000_emit_le_vsx_store): Likewise.
6218 (rs6000_emit_le_vsx_move): Likewise.
6219 (rs6000_emit_move): Add support for V1TImode.
6220 (altivec_expand_ld_builtin): Likewise.
6221 (altivec_expand_st_builtin): Likewise.
6222 (altivec_expand_vec_init_builtin): Likewise.
6223 (altivec_expand_builtin): Likewise.
6224 (rs6000_init_builtins): Add support for V1TImode type. Add
6225 support for ISA 2.07 128-bit integer builtins. Define type names
6226 for the VSX/Altivec vector types.
6227 (altivec_init_builtins): Add support for overloaded vector
6228 functions with V1TImode type.
6229 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
6230 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
6232 (rs6000_split_128bit_ok_p): Likewise.
6233 (rs6000_handle_altivec_attribute): Create V1TImode from vector
6234 __int128_t and vector __uint128_t.
6236 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
6237 and mode attributes.
6244 (VS_scalar): Likewise.
6245 (VS_double): Likewise.
6246 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
6248 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
6249 we support the ISA 2.07 128-bit integer arithmetic instructions.
6250 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
6251 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
6252 and TImode types for use with the builtin functions.
6253 (V1TI_type_node): Likewise.
6254 (unsigned_V1TI_type_node): Likewise.
6255 (intTI_type_internal_node): Likewise.
6256 (uintTI_type_internal_node): Likewise.
6258 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
6259 128-bit builtin functions.
6260 (UNSPEC_VADDEUQM): Likewise.
6261 (UNSPEC_VADDECUQ): Likewise.
6262 (UNSPEC_VSUBCUQ): Likewise.
6263 (UNSPEC_VSUBEUQM): Likewise.
6264 (UNSPEC_VSUBECUQ): Likewise.
6265 (VM): Add V1TImode to vector mode iterators.
6267 (VI_unit): Likewise.
6268 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
6269 (altivec_vaddcuq): Likewise.
6270 (altivec_vsubuqm): Likewise.
6271 (altivec_vsubcuq): Likewise.
6272 (altivec_vaddeuqm): Likewise.
6273 (altivec_vaddecuq): Likewise.
6274 (altivec_vsubeuqm): Likewise.
6275 (altivec_vsubecuq): Likewise.
6277 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
6279 (BOOL_128): Likewise.
6280 (BOOL_REGS_OUTPUT): Likewise.
6281 (BOOL_REGS_OP1): Likewise.
6282 (BOOL_REGS_OP2): Likewise.
6283 (BOOL_REGS_UNARY): Likewise.
6284 (BOOL_REGS_AND_CR0): Likewise.
6286 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
6287 128-bit integer builtin support.
6288 (vec_vadduqm): Likewise.
6289 (vec_vaddecuq): Likewise.
6290 (vec_vaddeuqm): Likewise.
6291 (vec_vsubecuq): Likewise.
6292 (vec_vsubeuqm): Likewise.
6293 (vec_vsubcuq): Likewise.
6294 (vec_vsubuqm): Likewise.
6296 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6297 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
6298 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
6299 128-bit integer add/subtract to ISA 2.07.
6301 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
6303 * config/arc/arc.c (arc_predicate_delay_insns):
6304 Fix third argument passed to conditionalize_nonjump.
6306 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
6308 * config/aarch64/aarch64-builtins.c
6309 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
6310 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
6311 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
6312 instead of __builtin_lfloor.
6313 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
6315 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6317 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
6318 (tree_ssa_ifcombine_bb_1): New function.
6319 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
6320 is an empty forwarder block to then_bb or vice versa and then_bb
6321 and else_bb are effectively swapped.
6323 2014-03-12 Christian Bruel <christian.bruel@st.com>
6326 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
6327 REG_CFA_DEF_CFA note.
6328 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
6329 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
6331 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
6333 PR tree-optimization/60454
6334 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
6336 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6338 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
6339 Do not define target_cpu_default2 to generic.
6340 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
6341 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
6342 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
6344 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6345 Marc Glisse <marc.glisse@inria.fr>
6347 PR tree-optimization/60502
6348 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
6349 instead of build_low_bits_mask.
6351 2014-03-12 Jakub Jelinek <jakub@redhat.com>
6354 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
6355 if there are multiple uses, but op doesn't live on E edge.
6356 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
6357 clobber stmts before __builtin_unreachable.
6359 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
6361 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
6362 hard_frame_pointer_rtx.
6363 * cse.c (cse_insn): Remove volatile check.
6364 * cselib.c (cselib_process_insn): Likewise.
6365 * dse.c (scan_insn): Likewise.
6367 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6369 * config/arc/arc.c (conditionalize_nonjump): New function,
6371 (arc_ifcvt): ... this.
6372 (arc_predicate_delay_insns): Use it.
6374 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
6376 * config/arc/predicates.md (extend_operand): During/after reload,
6377 allow const_int_operand.
6378 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
6379 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
6380 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
6382 (umulsi3_highpart_i): Likewise.
6384 2014-03-11 Richard Biener <rguenther@suse.de>
6386 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
6387 Add asserts to guard possible wrong-code bugs.
6389 2014-03-11 Richard Biener <rguenther@suse.de>
6391 PR tree-optimization/60429
6392 PR tree-optimization/60485
6393 * tree-ssa-structalias.c (set_union_with_increment): Properly
6394 take into account all fields that overlap the shifted vars.
6395 (do_sd_constraint): Likewise.
6396 (do_ds_constraint): Likewise.
6397 (get_constraint_for_ptr_offset): Likewise.
6399 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
6401 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
6402 (nios2_compute_frame_layout):
6403 Add calculation of cfun->machine->fp_save_offset.
6404 (nios2_expand_prologue): Correct setting of frame pointer register
6406 (nios2_expand_epilogue): Update recovery of stack pointer from
6407 frame pointer accordingly.
6408 (nios2_initial_elimination_offset): Update calculation of offset
6409 for eliminating to HARD_FRAME_POINTER_REGNUM.
6411 2014-03-10 Jakub Jelinek <jakub@redhat.com>
6414 * ipa.c (symtab_remove_unreachable_nodes): Don't call
6415 cgraph_get_create_node on VAR_DECLs.
6417 2014-03-10 Richard Biener <rguenther@suse.de>
6420 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
6422 2014-03-08 Douglas B Rupp <rupp@gnat.com>
6424 * config/vms/vms.opt (vms_float_format): New variable.
6426 2014-03-08 Tobias Burnus <burnus@net-b.de>
6428 * doc/invoke.texi (-fcilkplus): Update implementation status.
6430 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
6431 Richard Biener <rguenther@suse.de>
6433 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
6434 consistently accross all TUs.
6435 (run_gcc): Enable -fshort-double automatically at link at link-time
6436 and disallow override.
6438 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
6441 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
6442 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
6443 if they can't be used.
6445 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6447 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
6448 for Solaris 11/x86 ld.
6449 * configure: Regenerate.
6451 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6453 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
6454 (LIB_TLS_SPEC): Save as ld_tls_libs.
6455 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
6456 (HAVE_AS_IX86_TLSLDM): New test.
6457 * configure, config.in: Regenerate.
6458 * config/i386/i386.c (legitimize_tls_address): Fall back to
6459 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
6460 cannot support TLS_MODEL_LOCAL_DYNAMIC.
6461 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
6462 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
6464 2014-03-07 Paulo Matos <paulo@matos-sorge.com>
6466 * common.opt (fira-loop-pressure): Mark as optimization.
6468 2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
6470 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
6471 an OpenMP mappable type.
6473 2014-03-06 Matthias Klose <doko@ubuntu.com>
6475 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
6476 MULTILIB_OSDIRNAMES is not defined.
6478 2014-03-06 Jakub Jelinek <jakub@redhat.com>
6479 Meador Inge <meadori@codesourcery.com>
6482 * config/arm/arm.c (arm_tls_symbol_p): Remove.
6483 (arm_legitimize_address): Call legitimize_tls_address for any
6484 arm_tls_referenced_p expression, handle constant addend. Call it
6485 before testing for !TARGET_ARM.
6486 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
6488 2014-03-06 Richard Biener <rguenther@suse.de>
6494 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
6496 * tree-streamer.c (record_common_node): Assert we don't record
6497 nodes with type double.
6498 (preload_common_node): Skip type double, complex double and double
6499 pointer since it is now frontend dependent due to fshort-double option.
6501 2014-03-06 Richard Biener <rguenther@suse.de>
6503 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
6504 or -fno-lto is specified and the linker has full plugin support.
6505 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
6506 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
6507 * lto-wrapper.c (merge_and_complain): Merge compile-time
6508 optimization levels.
6509 (run_gcc): And pass it through to the link options.
6511 2014-03-06 Alexandre Oliva <aoliva@redhat.com>
6515 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
6517 * cselib.c (remove_useless_values): Skip to avoid quadratic
6518 behavior if the condition moved from...
6519 (cselib_process_insn): ... here holds.
6521 2014-03-05 Jakub Jelinek <jakub@redhat.com>
6524 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
6525 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
6528 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
6529 (TM_H): Add x86-tune.def.
6531 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6533 * config/aarch64/aarch64.c (generic_tunings):
6534 Use cortexa57_extra_costs.
6536 2014-03-05 Jakub Jelinek <jakub@redhat.com>
6539 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
6540 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
6541 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
6544 2014-03-04 Heiher <r@hev.cc>
6546 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
6547 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
6549 2014-03-04 Uros Bizjak <ubizjak@gmail.com>
6551 * config/i386/predicates.md (const2356_operand): Change to ...
6552 (const2367_operand): ... this.
6553 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
6555 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6556 (*avx512pf_scatterpf<mode>sf): Ditto.
6557 (avx512pf_scatterpf<mode>df): Ditto.
6558 (*avx512pf_scatterpf<mode>df_mask): Ditto.
6559 (*avx512pf_scatterpf<mode>df): Ditto.
6560 * config/i386/i386.c (ix86_expand_builtin): Update
6561 incorrect hint operand error message.
6563 2014-03-04 Richard Biener <rguenther@suse.de>
6565 * lto-section-in.c (lto_get_section_data): Fix const cast.
6567 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
6569 * tree-streamer.c (record_common_node): Assert we don't record
6570 nodes with type double.
6571 (preload_common_node): Skip type double, complex double and double
6572 pointer since it is now frontend dependent due to fshort-double option.
6574 2014-03-04 Richard Biener <rguenther@suse.de>
6577 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
6578 (lto_input_toplevel_asms): Likewise.
6579 * lto-section-in.c (lto_get_section_data): Instead do it here
6582 2014-03-04 Richard Biener <rguenther@suse.de>
6584 PR tree-optimization/60382
6585 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
6586 dead PHIs a reduction.
6588 2014-03-03 Uros Bizjak <ubizjak@gmail.com>
6590 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
6592 (_mm_prefetch): Move out of GCC target("sse") pragma.
6593 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
6594 GCC target("prfchw") pragma.
6595 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
6597 * config/i386/i386.c (ix86_option_override_internal): Enable
6598 -mprfchw with -mprefetchwt1.
6600 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
6602 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
6605 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
6607 * opts.h (CL_PCH_IGNORE): Define.
6608 * targhooks.c (option_affects_pch_p):
6609 Return false for options that have CL_PCH_IGNORE set.
6610 * opt-functions.awk: Process PchIgnore.
6611 * doc/options.texi: Document PchIgnore.
6613 * config/arc/arc.opt (misize): Add PchIgnore property.
6615 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6617 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
6618 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
6619 constraint on constants to permit them being loaded into
6620 GENERAL_REGS or BASE_REGS.
6622 2014-03-03 Nick Clifton <nickc@redhat.com>
6624 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
6625 anti-cacnonical alternatives.
6626 (negandhi3_real): New pattern.
6627 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
6629 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
6631 * config/avr/avr-mcus.def: Remove atxmega16x1.
6632 * config/avr/avr-tables.opt: Regenerate.
6633 * config/avr/t-multilib: Regenerate.
6634 * doc/avr-mmcu.texi: Regenerate.
6636 2014-03-03 Tobias Grosser <tobias@grosser.es>
6637 Mircea Namolaru <mircea.namolaru@inria.fr>
6639 PR tree-optimization/58028
6640 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
6643 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6645 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
6646 not handled by recognizers.
6648 2014-03-03 Jakub Jelinek <jakub@redhat.com>
6651 * function.c (expand_function_end): Don't emit
6652 clobber_return_register sequence if clobber_after is a BARRIER.
6653 * cfgexpand.c (construct_exit_block): Append instructions before
6654 return_label to prev_bb.
6656 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6658 * config/rs6000/constraints.md: Document reserved use of "wc".
6660 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
6663 * ipa.c (function_and_variable_visibility): When dissolving comdat
6664 group, also set all symbols to local.
6666 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
6671 2013-12-14 Jan Hubicka <jh@suse.cz>
6673 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
6675 2014-03-02 Jon Beniston <jon@beniston.com>
6681 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
6682 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
6683 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
6684 (simple_return, *simple_return): New patterns
6685 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
6686 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
6688 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
6690 * dwarf2out.c (gen_subprogram_die): Tidy.
6692 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
6695 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
6696 (*mov_t_msb_neg_negc): ... this new insn.
6698 2014-02-28 Jason Merrill <jason@redhat.com>
6701 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
6704 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
6707 * dwarf2out.c (decltype_auto_die): New static.
6708 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
6709 (gen_type_die_with_usage): Handle 'decltype(auto)'.
6710 (is_cxx_auto): Likewise.
6712 2014-02-28 Ian Bolton <ian.bolton@arm.com>
6714 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
6715 we are not using general regs only.
6717 2014-02-28 Richard Biener <rguenther@suse.de>
6720 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
6721 previous fix and only allow to remove trivial pre-headers
6722 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
6723 (remove_forwarder_block): Properly update the latch of a loop.
6725 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
6728 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
6729 (cselib_preserved_hash_table): New.
6730 (preserve_constants_and_equivs): Move preserved vals to it.
6731 (cselib_find_slot): Look it up first.
6732 (cselib_init): Initialize it.
6733 (cselib_finish): Release it.
6734 (dump_cselib_table): Dump it.
6736 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
6739 * cselib.c (remove_useless_values): Skip to avoid quadratic
6740 behavior if the condition moved from...
6741 (cselib_process_insn): ... here holds.
6743 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
6746 * var-tracking.c (vt_initialize): Apply the same condition to
6747 preserve the CFA base value.
6749 2014-02-28 Joey Ye <joey.ye@arm.com>
6752 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
6753 if reload in progress or completed.
6755 2014-02-28 Tobias Burnus <burnus@net-b.de>
6758 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
6761 2014-02-27 H.J. Lu <hongjiu.lu@intel.com>
6763 * doc/tm.texi.in (Condition Code Status): Update documention for
6764 relative locations of cc0-setter and cc0-user.
6766 2014-02-27 Jeff Law <law@redhat.com>
6768 PR rtl-optimization/52714
6769 * combine.c (try_combine): When splitting an unrecognized PARALLEL
6770 into two independent simple sets, if I3 is a jump, ensure the
6771 pattern we place into I3 is a (set (pc) ...).
6773 2014-02-27 Mikael Pettersson <mikpe@it.uu.se>
6774 Jeff Law <law@redhat.com>
6776 PR rtl-optimization/49847
6777 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
6778 are in different blocks.
6779 * doc/tm.texi (Condition Code Status): Update documention for
6780 relative locations of cc0-setter and cc0-user.
6782 2014-02-27 Vladimir Makarov <vmakarov@redhat.com>
6785 * lra.c (lra_emit_add): Check SUBREG too.
6787 2014-02-27 Andreas Schwab <schwab@suse.de>
6789 * config/m68k/m68k.c (m68k_option_override): Disable
6790 -flive-range-shrinkage for classic m68k.
6791 (m68k_override_options_after_change): Likewise.
6793 2014-02-27 Marek Polacek <polacek@redhat.com>
6796 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
6797 -Wmaybe-uninitialized.
6799 2014-02-27 Alan Modra <amodra@gmail.com>
6802 * reload1.c (emit_input_reload_insns): When reload_override_in,
6803 set old to rl->in_reg when rl->in_reg is a subreg.
6805 2014-02-26 Richard Biener <rguenther@suse.de>
6808 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
6810 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
6812 * common/config/i386/predicates.md (const1256_operand): Remove.
6813 (const2356_operand): New.
6814 (const_1_to_2_operand): Remove.
6815 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
6816 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6817 (*avx512pf_gatherpf<mode>sf): Ditto.
6818 (avx512pf_gatherpf<mode>df): Ditto.
6819 (*avx512pf_gatherpf<mode>df_mask): Ditto.
6820 (*avx512pf_gatherpf<mode>df): Ditto.
6821 (avx512pf_scatterpf<mode>sf): Ditto.
6822 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6823 (*avx512pf_scatterpf<mode>sf): Ditto.
6824 (avx512pf_scatterpf<mode>df): Ditto.
6825 (*avx512pf_scatterpf<mode>df_mask): Ditto.
6826 (*avx512pf_scatterpf<mode>df): Ditto.
6827 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
6829 2014-02-26 Ilya Tocar <ilya.tocar@intel.com>
6831 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
6832 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
6833 (_mm512_mask_testn_epi64_mask): Move to ...
6834 * config/i386/avx512cdintrin.h: Here.
6835 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
6836 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
6837 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
6838 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
6839 TARGET_AVX512F from TARGET_AVX512CD.
6841 2014-02-26 Richard Biener <rguenther@suse.de>
6844 * ipa.c (walk_polymorphic_call_targets): Properly guard
6845 call to inline_update_overall_summary.
6847 2014-02-26 Bin Cheng <bin.cheng@arm.com>
6850 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
6851 and latches only if requested. Fix latch if it is removed.
6852 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
6853 LOOPS_HAVE_PREHEADERS.
6855 2014-02-25 Andrew Pinski <apinski@cavium.com>
6857 * builtins.c (expand_builtin_thread_pointer): Create a new target
6858 when the target is NULL.
6860 2014-02-25 Vladimir Makarov <vmakarov@redhat.com>
6862 PR rtl-optimization/60317
6863 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6864 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6865 * lra-assigns.c: Include params.h.
6866 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
6867 other reload pseudos considerations.
6869 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6871 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
6872 to use canonical form for nor<mode>3.
6874 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6877 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
6880 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
6882 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
6883 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
6884 (ix86_handle_option): Handle OPT_mprefetchwt1.
6885 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
6886 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6888 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6889 OPTION_MASK_ISA_PREFETCHWT1.
6890 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
6891 (PTA_PREFETCHWT1): New.
6892 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
6893 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
6894 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
6895 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
6896 (*prefetch_avx512pf_<mode>_: Change into ...
6897 (*prefetch_prefetchwt1_<mode>: This.
6898 * config/i386/i386.opt (mprefetchwt1): New.
6899 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
6900 (_mm_prefetch): Handle intent to write.
6901 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
6903 2014-02-25 Richard Biener <rguenther@suse.de>
6906 * emit-rtl.c (mem_attrs_htab): Remove.
6907 (mem_attrs_htab_hash): Likewise.
6908 (mem_attrs_htab_eq): Likewise.
6909 (set_mem_attrs): Always allocate new mem-attrs when something changed.
6910 (init_emit_once): Do not allocate mem_attrs_htab.
6912 2014-02-25 Richard Biener <rguenther@suse.de>
6915 * lto-opts.c (lto_write_options): Output non-explicit conservative
6916 -fwrapv, -fno-trapv and -fno-strict-overflow.
6917 * lto-wrapper.c (merge_and_complain): Handle merging those options.
6918 (run_gcc): And pass them through.
6920 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
6922 * sel-sched.c (calculate_new_fences): New parameter ptime.
6923 Calculate it as a maximum over all fence cycles.
6924 (sel_sched_region_2): Adjust the call to calculate_new_fences.
6925 Print the final schedule timing when sched_verbose.
6927 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
6929 PR rtl-optimization/60292
6930 * sel-sched.c (fill_vec_av_set): Do not reset target availability
6931 bit fot the fence instruction.
6933 2014-02-24 Alangi Derick <alangiderick@gmail.com>
6935 * calls.h: Fix typo in comment.
6937 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
6939 * config/pa/pa.c (pa_output_move_double): Don't valididate when
6940 adjusting offsetable addresses.
6942 2014-02-24 Guozhi Wei <carrot@google.com>
6944 * sparseset.h (sparseset_pop): Fix the wrong index.
6946 2014-02-24 Walter Lee <walt@tilera.com>
6948 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
6949 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
6951 * common/config/tilegx/tilegx-common.c
6952 (TARGET_DEFAULT_TARGET_FLAGS): Define.
6953 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
6955 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
6956 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
6957 (tilegx_gimplify_va_arg_expr): Handle big endian.
6958 (tilegx_expand_unaligned_load): Ditto.
6959 (tilegx_expand_unaligned_store): Ditto.
6960 (TARGET_RETURN_IN_MSB): New.
6961 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
6962 (TARGET_ENDIAN_DEFAULT): New.
6963 (TARGET_BIG_ENDIAN): Handle big endian.
6964 (BYTES_BIG_ENDIAN): Ditto.
6965 (WORDS_BIG_ENDIAN): Ditto.
6966 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
6969 * config/tilegx/tilegx.md (extv): Handle big endian.
6971 (insn_st<n>): Ditto.
6972 (insn_st<n>_add<bitsuffix>): Ditto.
6973 (insn_stnt<n>): Ditto.
6974 (insn_stnt<n>_add<bitsuffix>):Ditto.
6975 (vec_interleave_highv8qi): Handle big endian.
6976 (vec_interleave_highv8qi_be): New.
6977 (vec_interleave_highv8qi_le): New.
6978 (insn_v1int_h): Handle big endian.
6979 (vec_interleave_lowv8qi): Handle big endian.
6980 (vec_interleave_lowv8qi_be): New.
6981 (vec_interleave_lowv8qi_le): New.
6982 (insn_v1int_l): Handle big endian.
6983 (vec_interleave_highv4hi): Handle big endian.
6984 (vec_interleave_highv4hi_be): New.
6985 (vec_interleave_highv4hi_le): New.
6986 (insn_v2int_h): Handle big endian.
6987 (vec_interleave_lowv4hi): Handle big endian.
6988 (vec_interleave_lowv4hi_be): New.
6989 (vec_interleave_lowv4hi_le): New.
6990 (insn_v2int_l): Handle big endian.
6991 (vec_interleave_highv2si): Handle big endian.
6992 (vec_interleave_highv2si_be): New.
6993 (vec_interleave_highv2si_le): New.
6994 (insn_v4int_h): Handle big endian.
6995 (vec_interleave_lowv2si): Handle big endian.
6996 (vec_interleave_lowv2si_be): New.
6997 (vec_interleave_lowv2si_le): New.
6998 (insn_v4int_l): Handle big endian.
6999 * config/tilegx/tilegx.opt (mbig-endian): New option.
7000 (mlittle-endian): New option.
7001 * doc/install.texi: Document tilegxbe-linux.
7002 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
7004 2014-02-24 Martin Jambor <mjambor@suse.cz>
7007 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
7008 there are no parameter descriptors.
7010 2014-02-24 Andrey Belevantsev <abel@ispras.ru>
7012 PR rtl-optimization/60268
7013 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
7014 initialization to ...
7015 (sched_rgn_init): ... here.
7016 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
7018 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7020 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
7023 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
7025 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
7028 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7030 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
7031 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7033 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
7035 * config/microblaze/predicates.md: Add cmp_op predicate.
7036 * config/microblaze/microblaze.md: Add branch_compare instruction
7037 which uses cmp_op predicate and emits cmp insn before branch.
7038 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
7039 to microblaze_expand_conditional_branch and consolidate logic.
7040 (microblaze_expand_conditional_branch): emit branch_compare
7041 insn instead of handling cmp op separate from branch insn.
7043 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7045 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
7048 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7050 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
7051 define_insn with define_expand and new define_insn
7052 *altivec_lve<VI_char>x_internal.
7053 (altivec_stve<VI_char>x): Replace define_insn with define_expand
7054 and new define_insn *altivec_stve<VI_char>x_internal.
7055 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
7057 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
7059 (altivec_expand_stvex_be): New function.
7061 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
7063 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
7064 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
7065 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
7066 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
7068 2014-02-21 Vladimir Makarov <vmakarov@redhat.com>
7071 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
7072 instead of emit_move_insn.
7074 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7076 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
7078 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
7079 gen_altivec_vsumsws.
7081 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7083 * config/rs6000/altivec.md (altivec_lvxl): Rename as
7084 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
7085 (altivec_lvxl_<mode>): New define_expand incorporating
7086 -maltivec=be semantics where needed.
7087 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
7088 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
7089 semantics where needed.
7090 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
7091 (altivec_stvx_<mode>): New define_expand incorporating
7092 -maltivec=be semantics where needed.
7093 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
7094 VM2 iterator instead of V4SI.
7095 (altivec_stvxl_<mode>): New define_expand incorporating
7096 -maltivec=be semantics where needed.
7097 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
7098 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
7099 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
7100 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
7101 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
7102 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
7103 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
7104 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
7105 ALTIVEC_BUILTIN_STVXL.
7106 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
7107 (altivec_expand_stvx_be): Likewise.
7108 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
7109 (altivec_expand_lvx_be): Likewise.
7110 (altivec_expand_stvx_be): Likewise.
7111 (altivec_expand_builtin): Add cases for
7112 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
7113 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
7114 (altivec_init_builtins): Add definitions for
7115 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
7116 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
7118 2014-02-21 Catherine Moore <clm@codesourcery.com>
7120 * doc/invoke.texi (mvirt, mno-virt): Document.
7121 * config/mips/mips.opt (mvirt): New option.
7122 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
7124 2014-02-21 Richard Biener <rguenther@suse.de>
7126 PR tree-optimization/60276
7127 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
7128 (STMT_VINFO_MIN_NEG_DIST): New macro.
7129 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
7130 STMT_VINFO_MIN_NEG_DIST.
7131 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
7132 made for negative dependence distances still hold.
7134 2014-02-21 Richard Biener <rguenther@suse.de>
7137 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
7138 DECL_INITIAL for globals not in the current function context.
7140 2014-02-21 Jakub Jelinek <jakub@redhat.com>
7142 PR tree-optimization/56490
7143 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
7144 * tree-ssa-uninit.c: Include params.h.
7145 (compute_control_dep_chain): Add num_calls argument, return false
7146 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
7147 num_calls to recursive call.
7148 (find_predicates): Change dep_chain into normal array,
7149 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
7150 variable and adjust compute_control_dep_chain caller.
7151 (find_def_preds): Likewise.
7153 2014-02-21 Thomas Schwinge <thomas@codesourcery.com>
7155 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
7156 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
7158 2014-02-21 Nick Clifton <nickc@redhat.com>
7160 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
7161 (pushhi1): Likewise.
7162 (popqi1): Add mode to pre_dec.
7165 2014-02-21 Jakub Jelinek <jakub@redhat.com>
7167 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
7168 mode for mask of V8SFmode permutation.
7170 2014-02-20 Richard Henderson <rth@redhat.com>
7173 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
7174 a new pseudo for OLDVAL.
7176 2014-02-20 Jakub Jelinek <jakub@redhat.com>
7179 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
7180 gen_reg_rtx if d->testing_p.
7181 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
7182 if d->testing_p and we will certainly return true.
7183 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
7186 2014-02-20 Uros Bizjak <ubizjak@gmail.com>
7188 * emit-rtl.c (gen_reg_rtx): Assert that
7189 crtl->emit.regno_pointer_align_length is non-zero.
7191 2014-02-20 Richard Henderson <rth@redhat.com>
7194 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
7195 on failure the store back into EXPECT.
7197 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
7198 Sandra Loosemore <sandra@codesourcery.com>
7200 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
7201 * config/nios2/nios2.c (nios2_function_profiler): Add
7202 -fPIC (flag_pic == 2) support.
7203 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
7204 (nios2_large_offset_p): New function.
7205 (nios2_unspec_reloc_p): Move up position, update to use
7206 nios2_large_offset_p.
7207 (nios2_unspec_address): Remove function.
7208 (nios2_unspec_offset): New function.
7209 (nios2_large_got_address): New function.
7210 (nios2_got_address): Add large offset support.
7211 (nios2_legitimize_tls_address): Update usage of removed and new
7213 (nios2_symbol_binds_local_p): New function.
7214 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
7215 (nios2_legitimize_address): Update to use nios2_large_offset_p.
7216 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
7217 (nios2_print_operand): Merge H/L processing, add hiadj/lo
7218 processing for (const (unspec ...)).
7219 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
7221 2014-02-20 Richard Biener <rguenther@suse.de>
7223 * tree-cfg.c (replace_uses_by): Mark altered BBs before
7224 doing the substitution.
7225 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
7227 2014-02-20 Martin Jambor <mjambor@suse.cz>
7230 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
7231 info when checking whether lattices are bottom.
7233 2014-02-20 Richard Biener <rguenther@suse.de>
7236 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
7239 2014-02-20 Jan Hubicka <hubicka@ucw.cz>
7242 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
7243 parameter specifying the scaling.
7244 (inline_call): Update.
7245 (want_inline_recursively): Guard division by zero.
7246 (recursive_inlining): Update.
7247 * ipa-inline.h (clone_inlined_nodes): Update.
7249 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
7252 * config/i386/i386.c (classify_argument): Pass structures of size
7253 64 bytes or less in register.
7255 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
7256 Kirill Yukhin <kirill.yukhin@intel.com>
7258 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
7259 (_mm_rcp28_round_ss): Ditto.
7260 (_mm_rsqrt28_round_sd): Ditto.
7261 (_mm_rsqrt28_round_ss): Ditto.
7262 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
7263 (_mm_rcp14_round_ss): Ditto.
7264 (_mm_rsqrt14_round_sd): Ditto.
7265 (_mm_rsqrt14_round_ss): Ditto.
7266 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
7267 the first input operand, get rid of match_dup.
7268 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
7270 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
7272 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
7273 operand as the first input operand, set type attribute.
7274 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
7276 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
7277 operand as the first input operand, set type attribute.
7279 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7281 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
7284 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
7287 * config/i386/i386.c (construct_container): Remove TFmode check
7288 for X86_64_INTEGER_CLASS.
7290 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
7293 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
7294 only when -Wpsabi is enabled.
7296 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
7299 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
7300 passing arrays in registers are the same as for structs, so remove the
7301 special case for them.
7303 2014-02-19 Eric Botcazou <ebotcazou@adacore.com>
7305 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
7306 destination type, extract only the valid bits if the source type is not
7307 integral and has a different mode.
7309 2014-02-19 Richard Biener <rguenther@suse.de>
7312 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
7315 2014-02-19 Richard Biener <rguenther@suse.de>
7318 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
7319 (ipa_modify_call_arguments): Emit an argument load explicitely and
7320 preserve virtual SSA form there and for the replacement call.
7321 Do not update SSA form nor free dominance info.
7323 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7325 * ipa.c (function_and_variable_visibility): Also clear WEAK
7326 flag when disolving COMDAT_GROUP.
7328 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7330 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
7331 * ipa-prop.c (ipa_set_jf_known_type): Return early when
7333 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
7334 do more sanity checks.
7335 (detect_type_change): Return true when giving up early.
7336 (compute_complex_assign_jump_func): Fix type parameter of
7337 ipa_set_ancestor_jf.
7338 (compute_complex_ancestor_jump_func): Likewise.
7339 (update_jump_functions_after_inlining): Fix updating of
7341 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
7343 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
7345 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
7346 inline clones when edge disappears.
7348 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7351 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
7352 Split 64-bit moves into 2 patterns. Do not allow the use of
7353 direct move for TDmode in little endian, since the decimal value
7354 has little endian bytes within a word, but the 64-bit pieces are
7355 ordered in a big endian fashion, and normal subreg's of TDmode are
7357 (mov<mode>_64bit_dm): Likewise.
7358 (movtd_64bit_nodm): Likewise.
7360 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7362 PR tree-optimization/60174
7363 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
7364 statement of an SSA_NAME that occurs in an abnormal PHI node.
7366 2014-02-18 Jakub Jelinek <jakub@redhat.com>
7369 * final.c (SEEN_BB): Remove.
7370 (SEEN_NOTE, SEEN_EMITTED): Renumber.
7371 (final_scan_insn): Don't force_source_line on second
7372 NOTE_INSN_BASIC_BLOCK.
7374 2014-02-18 Uros Bizjak <ubizjak@gmail.com>
7377 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
7378 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
7379 (type_natural_mode): Warn ABI change when %zmm register is not
7380 available for AVX512F vector value passing.
7382 2014-02-18 Kai Tietz <ktietz@redhat.com>
7385 * config/i386/i386.c (ix86_expand_prologue): Use value in
7386 rax register as displacement when restoring %r10 or %rax.
7387 Fix wrong offset when restoring both registers.
7389 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
7391 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
7392 assertion with conditional return.
7394 2014-02-18 Jakub Jelinek <jakub@redhat.com>
7395 Uros Bizjak <ubizjak@gmail.com>
7398 * config/i386/driver-i386.c (host_detect_local_cpu): If
7399 YMM state is not saved by the OS, also clear has_f16c. Move
7400 CPUID 0x80000001 handling before YMM state saving checking.
7402 2014-02-18 Andrey Belevantsev <abel@ispras.ru>
7404 PR rtl-optimization/58960
7405 * haifa-sched.c (alloc_global_sched_pressure_data): New,
7406 factored out from ...
7407 (sched_init): ... here.
7408 (free_global_sched_pressure_data): New, factored out from ...
7409 (sched_finish): ... here.
7410 * sched-int.h (free_global_sched_pressure_data): Declare.
7411 * sched-rgn.c (nr_regions_initial): New static global.
7412 (haifa_find_rgns): Initialize it.
7413 (schedule_region): Disable sched-pressure for the newly
7416 2014-02-17 Richard Biener <rguenther@suse.de>
7418 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
7419 release SSA defs of pattern stmts.
7421 2014-02-17 Richard Biener <rguenther@suse.de>
7423 * tree-inline.c (expand_call_inline): Release the virtual
7424 operand defined by the call we are about to inline.
7426 2014-02-17 Richard Biener <rguenther@suse.de>
7428 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
7430 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
7431 Ilya Tocar <ilya.tocar@intel.com>
7433 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
7434 arguments order in builtin.
7435 (_mm512_permutexvar_epi64): Ditto.
7436 (_mm512_mask_permutexvar_epi64): Ditto
7437 (_mm512_maskz_permutexvar_epi32): Ditto
7438 (_mm512_permutexvar_epi32): Ditto
7439 (_mm512_mask_permutexvar_epi32): Ditto
7441 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7443 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
7444 (p8_vmrgow): Likewise.
7446 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7448 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
7451 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7454 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
7455 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
7456 into 64-bit and 32-bit moves. On 64-bit moves, add support for
7457 using direct move instructions on ISA 2.07. Also adjust
7458 instruction length for 64-bit.
7459 (mov<mode>_64bit, TFmode/TDmode): Likewise.
7460 (mov<mode>_32bit, TFmode/TDmode): Likewise.
7462 2014-02-15 Alan Modra <amodra@gmail.com>
7466 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
7467 find_replacement on parts of insn rtl that might be reloaded.
7469 2014-02-15 Richard Biener <rguenther@suse.de>
7471 PR tree-optimization/60183
7472 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
7473 (tree_ssa_phiprop): Calculate and free post-dominators.
7475 2014-02-14 Jeff Law <law@redhat.com>
7477 PR rtl-optimization/60131
7478 * ree.c (get_extended_src_reg): New function.
7479 (combine_reaching_defs): Use it rather than assuming location of REG.
7480 (find_and_remove_re): Verify first operand of extension is
7481 a REG before adding the insns to the copy list.
7483 2014-02-14 Roland McGrath <mcgrathr@google.com>
7485 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
7486 * configure: Regenerated.
7487 * config.in: Regenerated.
7488 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
7489 instead of ASM_SHORT.
7491 2014-02-14 Vladimir Makarov <vmakarov@redhat.com>
7492 Richard Earnshaw <rearnsha@arm.com>
7494 PR rtl-optimization/59535
7495 * lra-constraints.c (process_alt_operands): Encourage alternative
7496 when unassigned pseudo class is superset of the alternative class.
7497 (inherit_reload_reg): Don't inherit when optimizing for code size.
7498 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
7499 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
7500 modes not less than 4 for Thumb1.
7502 2014-02-14 Kyle McMartin <kyle@redhat.com>
7505 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
7507 2014-02-14 Richard Biener <rguenther@suse.de>
7509 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
7510 (get_frame_arg): Drop the assert with langhook types_compatible_p.
7511 Do not strip INDIRECT_REFs.
7513 2014-02-14 Richard Biener <rguenther@suse.de>
7516 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
7517 DECL_FUNCTION_SPECIFIC_TARGET.
7518 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
7519 * tree-streamer-out.c (pack_ts_target_option): Remove.
7520 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
7521 (write_ts_function_decl_tree_pointers): Do not stream
7522 DECL_FUNCTION_SPECIFIC_TARGET.
7523 * tree-streamer-in.c (unpack_ts_target_option): Remove.
7524 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
7525 (lto_input_ts_function_decl_tree_pointers): Do not stream
7526 DECL_FUNCTION_SPECIFIC_TARGET.
7528 2014-02-14 Jakub Jelinek <jakub@redhat.com>
7530 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
7531 (get_initial_def_for_induction, vectorizable_induction): Ignore
7532 debug stmts when looking for exit_phi.
7533 (vectorizable_live_operation): Fix up condition.
7535 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7537 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
7538 nreverse() because it changes the content of original tree list.
7540 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7542 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
7543 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
7545 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
7547 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
7548 GNU coding standards.
7550 2014-02-13 Jakub Jelinek <jakub@redhat.com>
7553 * dwarf2out.c (gen_subprogram_die): Don't call
7554 add_calling_convention_attribute if subr_die is old_die.
7556 2014-02-13 Sharad Singhai <singhai@google.com>
7558 * doc/optinfo.texi: Fix order of nodes.
7560 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
7562 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
7563 operands[2], not operands[3].
7565 2014-02-13 Richard Biener <rguenther@suse.de>
7568 * doc/install.texi (ISL): Update recommended version to 0.12.2,
7569 mention the possibility of an in-tree build.
7570 (CLooG): Update recommended version to 0.18.1, mention the
7571 possibility of an in-tree build and clarify that the ISL
7572 bundled with CLooG does not work.
7574 2014-02-13 Jakub Jelinek <jakub@redhat.com>
7577 * expr.c (compress_float_constant): If x is a hard register,
7578 extend into a pseudo and then move to x.
7580 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
7582 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
7583 caused by bad second argument to warning_at() with -mhotpatch and
7584 nested functions (e.g. with gfortran).
7586 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
7588 * opts.c (option_name): Remove "enabled by default" rider.
7590 2014-02-12 John David Anglin <danglin@gcc.gnu.org>
7592 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
7594 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
7595 Uros Bizjak <ubizjak@gmail.com>
7598 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
7599 * configure: Regenerated.
7601 2014-02-12 Richard Biener <rguenther@suse.de>
7603 * vec.c (vec_prefix::calculate_allocation): Move as
7604 inline variant to vec.h.
7605 (vec_prefix::calculate_allocation_1): New out-of-line version.
7606 * vec.h (vec_prefix::calculate_allocation_1): Declare.
7607 (vec_prefix::m_has_auto_buf): Rename to ...
7608 (vec_prefix::m_using_auto_storage): ... this.
7609 (vec_prefix::calculate_allocation): Inline the easy cases
7610 and dispatch to calculate_allocation_1 which doesn't need the
7612 (va_heap::reserve): Use gcc_checking_assert.
7613 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
7614 m_using_auto_storage.
7615 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
7617 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
7618 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
7619 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
7621 2014-02-12 Richard Biener <rguenther@suse.de>
7623 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
7624 when we found a dependence.
7626 2014-02-12 Thomas Schwinge <thomas@codesourcery.com>
7628 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
7630 (maybe_fold_stmt): ... into this new function.
7631 * omp-low.c (lower_omp): Update comment.
7633 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
7636 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
7639 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
7641 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
7642 identifiers in comments.
7643 (cortexa53_extra_costs): Likewise.
7644 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7645 (cortexa7_extra_costs): Likewise.
7646 (cortexa12_extra_costs): Likewise.
7647 (cortexa15_extra_costs): Likewise.
7648 (v7m_extra_costs): Likewise.
7650 2014-02-12 Richard Biener <rguenther@suse.de>
7653 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
7654 of posix_memalign being successful.
7655 (lower_stmt): Restrict lowering of posix_memalign to when
7656 -ftree-bit-ccp is enabled.
7658 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
7660 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
7662 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
7664 2014-02-12 Eric Botcazou <ebotcazou@adacore.com>
7666 PR rtl-optimization/60116
7667 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
7668 other_insn once the combination has been validated.
7670 2014-02-11 Jan Hubicka <hubicka@ucw.cz>
7673 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
7675 * ipa-devirt.c: Include demangle.h
7676 (odr_violation_reported): New static variable.
7677 (add_type_duplicate): Update odr_violations.
7678 (maybe_record_node): Add completep parameter; update it.
7679 (record_target_from_binfo): Add COMPLETEP parameter;
7680 update it as needed.
7681 (possible_polymorphic_call_targets_1): Likewise.
7682 (struct polymorphic_call_target_d): Add nonconstruction_targets;
7683 rename FINAL to COMPLETE.
7684 (record_targets_from_bases): Sanity check we found the binfo;
7685 fix COMPLETEP updating.
7686 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
7687 parameter, fix computing of COMPLETEP.
7688 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
7689 at LTO time do demangling.
7690 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
7691 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
7693 (gimple_get_virt_method_for_binfo): Likewise.
7694 * gimple-fold.h (gimple_get_virt_method_for_binfo,
7695 gimple_get_virt_method_for_vtable): Update prototypes.
7697 2014-02-11 Vladimir Makarov <vmakarov@redhat.com>
7700 * genautomata.c (add_presence_absence): Fix typo with
7701 {final_}presence_list.
7703 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
7706 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
7707 for VSX/Altivec vectors that land in GPR registers.
7709 2014-02-11 Richard Henderson <rth@redhat.com>
7710 Jakub Jelinek <jakub@redhat.com>
7713 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
7714 around drhs if type conversion to lacc->type is not useless.
7716 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7718 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
7720 (cortex-a57.cortex-a53): Likewise.
7721 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
7723 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7725 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
7728 2014-02-11 Renlin Li <Renlin.Li@arm.com>
7730 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
7731 add_options_for_arm_vfp3.
7733 2014-02-11 Jeff Law <law@redhat.com>
7736 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
7737 object with an undesirable mode.
7739 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7742 * config/i386/sol2-9.h: New file.
7743 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
7744 *-*-solaris2.9*): Use it.
7746 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
7748 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
7749 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
7751 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
7753 * config/microblaze/microblaze.c: Extend mcpu version format
7755 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
7757 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
7759 2014-02-10 Richard Henderson <rth@redhat.com>
7762 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
7763 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
7764 ms-abi vs -mno-accumulate-outgoing-args.
7765 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
7766 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
7769 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
7772 * cfgexpand.c (expand_asm_operands): Attach source location to
7773 ASM_INPUT rtx objects.
7774 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
7776 2014-02-10 Nick Clifton <nickc@redhat.com>
7778 * config/mn10300/mn10300.c (popcount): New function.
7779 (mn10300_expand_prologue): Include saved registers in stack usage
7782 2014-02-10 Jeff Law <law@redhat.com>
7785 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
7786 when changing the SET_DEST of a prior insn to avoid an input reload.
7788 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7790 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
7791 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
7792 -mcall-openbsd, or -mcall-linux.
7793 (CC1_ENDIAN_BIG_SPEC): Remove.
7794 (CC1_ENDIAN_LITTLE_SPEC): Remove.
7795 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7796 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
7797 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
7798 and %cc1_endian_default.
7799 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7801 2014-02-10 Richard Biener <rguenther@suse.de>
7803 PR tree-optimization/60115
7804 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
7805 MEM_REF handling. Properly verify that the accesses are not
7806 out of the objects bound.
7808 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7810 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
7813 2014-02-10 Eric Botcazou <ebotcazou@adacore.com>
7815 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
7816 proper constants and fix formatting.
7817 (possible_polymorphic_call_targets): Fix formatting.
7819 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
7820 Ilya Tocar <ilya.tocar@intel.com>
7822 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
7823 (_mm512_loadu_epi32): Renamed into...
7824 (_mm512_loadu_si512): This.
7825 (_mm512_storeu_epi32): Renamed into...
7826 (_mm512_storeu_si512): This.
7827 (_mm512_maskz_ceil_ps): Removed.
7828 (_mm512_maskz_ceil_pd): Ditto.
7829 (_mm512_maskz_floor_ps): Ditto.
7830 (_mm512_maskz_floor_pd): Ditto.
7831 (_mm512_floor_round_ps): Ditto.
7832 (_mm512_floor_round_pd): Ditto.
7833 (_mm512_ceil_round_ps): Ditto.
7834 (_mm512_ceil_round_pd): Ditto.
7835 (_mm512_mask_floor_round_ps): Ditto.
7836 (_mm512_mask_floor_round_pd): Ditto.
7837 (_mm512_mask_ceil_round_ps): Ditto.
7838 (_mm512_mask_ceil_round_pd): Ditto.
7839 (_mm512_maskz_floor_round_ps): Ditto.
7840 (_mm512_maskz_floor_round_pd): Ditto.
7841 (_mm512_maskz_ceil_round_ps): Ditto.
7842 (_mm512_maskz_ceil_round_pd): Ditto.
7843 (_mm512_expand_pd): Ditto.
7844 (_mm512_expand_ps): Ditto.
7845 * config/i386/i386.c (ix86_builtins): Remove
7846 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
7847 (bdesc_args): Ditto.
7848 * config/i386/predicates.md (const1256_operand): New.
7849 (const_1_to_2_operand): Ditto.
7850 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7851 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7852 (*avx512pf_gatherpf<mode>sf): Ditto.
7853 (avx512pf_gatherpf<mode>df): Ditto.
7854 (*avx512pf_gatherpf<mode>df_mask): Ditto.
7855 (*avx512pf_gatherpf<mode>df): Ditto.
7856 (avx512pf_scatterpf<mode>sf): Ditto.
7857 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7858 (*avx512pf_scatterpf<mode>sf): Ditto.
7859 (avx512pf_scatterpf<mode>df): Ditto.
7860 (*avx512pf_scatterpf<mode>df_mask): Ditto.
7861 (*avx512pf_scatterpf<mode>df): Ditto.
7862 (avx512f_expand<mode>): Removed.
7863 (<shift_insn><mode>3<mask_name>): Change predicate type.
7865 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7867 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
7868 not at the end of datarefs vector use ordered_remove to avoid
7869 reordering datarefs vector.
7872 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
7873 mark local addressable non-static vars as GOVD_PRIVATE
7874 instead of GOVD_LOCAL.
7875 * omp-low.c (lower_omp_for): Move gimple_bind_vars
7876 and BLOCK_VARS of gimple_bind_block to new_stmt rather
7880 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
7881 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
7882 assume_aligned or alloc_align attributes.
7883 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
7884 arguments. Handle also assume_aligned and alloc_align attributes.
7885 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
7886 calls to functions with assume_aligned or alloc_align attributes.
7887 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
7889 2014-02-08 Terry Guo <terry.guo@arm.com>
7891 * doc/invoke.texi: Document ARM -march=armv7e-m.
7893 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7895 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
7896 flag on __cilkrts_rethrow builtin.
7899 * ipa-cp.c (determine_versionability): Fail at -O0
7900 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
7901 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
7904 2014-02-04 Jakub Jelinek <jakub@redhat.com>
7907 * tree-inline.c (copy_forbidden): Fail for
7908 __attribute__((optimize (0))) functions.
7910 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
7912 * varpool.c: Include pointer-set.h.
7913 (varpool_remove_unreferenced_decls): Variables in other partitions
7914 will not be output; be however careful to not lose information
7917 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
7919 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
7920 lookup in the vtable constructor.
7922 2014-02-07 Jeff Law <law@redhat.com>
7925 * config/m68k/m68k.md (ashldi_extsi): Turn into a
7926 define_insn_and_split.
7928 * ipa-inline.c (inline_small_functions): Fix typos.
7930 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7932 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
7933 (s390_can_use_return_insn): Declare.
7934 * config/s390/s390.h (EPILOGUE_USES): Define.
7935 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
7937 (s390_chunkify_start): Handle return JUMP_LABELs.
7938 (s390_early_mach): Emit a main_pool instruction on the entry edge.
7939 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
7940 (s390_can_use_return_insn): New functions.
7941 (s390_fix_long_loop_prediction): Handle conditional returns.
7942 (TARGET_SET_UP_BY_PROLOGUE): Define.
7943 * config/s390/s390.md (ANY_RETURN): New code iterator.
7944 (*creturn, *csimple_return, return, simple_return): New patterns.
7946 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7948 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
7949 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
7950 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
7951 REG_CFA_RESTORE list when deciding not to restore a register.
7953 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7955 * config/s390/s390.c: Include tree-pass.h and context.h.
7956 (s390_early_mach): New function, split out from...
7957 (s390_emit_prologue): ...here.
7958 (pass_data_s390_early_mach): New pass structure.
7959 (pass_s390_early_mach): New class.
7960 (s390_option_override): Create and register early_mach pass.
7961 Move to end of file.
7963 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7965 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
7966 to match for the exit block.
7968 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7970 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
7971 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
7972 Reject misaligned operands.
7974 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7976 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
7978 2014-02-07 Richard Biener <rguenther@suse.de>
7981 * gimple-low.c (lower_builtin_posix_memalign): New function.
7982 (lower_stmt): Call it to lower posix_memalign in a way
7983 to make alignment info accessible.
7985 2014-02-07 Jakub Jelinek <jakub@redhat.com>
7988 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
7989 __builtin_setjmp_receiver.
7991 2014-02-07 Richard Biener <rguenther@suse.de>
7994 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
7995 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
7996 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7997 Handle BUILT_IN_POSIX_MEMALIGN.
7998 (find_func_clobbers): Likewise.
7999 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
8000 (call_may_clobber_ref_p_1): Likewise.
8002 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8005 * ipa-devirt.c (record_target_from_binfo): Remove overactive
8008 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8011 * lto-cgraph.c (lto_output_node): Use
8012 symtab_get_symbol_partitioning_class.
8013 (lto_output_varpool_node): likewise.
8014 (symtab_get_symbol_partitioning_class): Move here from
8016 * cgraph.h (symbol_partitioning_class): Likewise.
8017 (symtab_get_symbol_partitioning_class): Declare.
8019 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8021 * ggc.h (ggc_internal_cleared_alloc): New macro.
8022 * vec.h (vec_safe_copy): Handle memory stats.
8023 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
8024 * target-globals.c (save_target_globals): Likewise.
8026 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
8029 * expr.c (emit_move_resolve_push): Export; be bit more selective
8030 on when to clear alias set.
8031 * expr.h (emit_move_resolve_push): Declare.
8032 * function.h (struct function): Add tail_call_marked.
8033 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
8034 * config/i386/i386-protos.h (ix86_expand_push): Remove.
8035 * config/i386/i386.md (TImode move expander): De not call
8037 (FP push expanders): Preserve memory attributes.
8038 * config/i386/sse.md (push<mode>1): Remove.
8039 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
8040 (ix86_expand_push): Remove.
8041 * config/i386/mmx.md (push<mode>1): Remove.
8043 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8045 PR rtl-optimization/60030
8046 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
8047 lopart with paradoxical subreg before shifting it up by hprec.
8049 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8051 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
8052 Remove extra newline at end of file.
8053 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
8054 (arm_issue_rate): Handle cortexa57.
8055 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
8056 (cortex-a57.cortex-a53): Likewise.
8058 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8061 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
8062 don't record in REG_FRAME_RELATED_EXPR registers not set in that
8064 (arm_expand_prologue): Adjust all callers.
8065 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
8066 info, registers also at the lowest numbered registers side. Use
8067 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
8071 * var-tracking.c (adjust_mems): Before adding a SET to
8072 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
8074 2014-02-06 Alan Modra <amodra@gmail.com>
8077 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
8078 change SDmode to DDmode when lra_in_progress.
8080 2014-02-06 Jakub Jelinek <jakub@redhat.com>
8083 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
8084 free_data_ref on the dr first, and before goto again also set dr
8085 to the next dr. For simd_lane_access, free old datarefs[i] before
8086 overwriting it. For get_vectype_for_scalar_type failure, don't
8087 free_data_ref if simd_lane_access.
8089 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
8092 * tree.h (opts_for_fn): New inline function.
8093 (opt_for_fn): Define.
8094 * config/i386/i386.c (ix86_function_regparm): Use
8095 opt_for_fn (decl, optimize) instead of optimize.
8097 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8099 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
8100 for SYMBOL_REF in large memory model.
8102 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8104 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
8106 (cortex-a57): Likewise.
8107 (cortex-a57.cortex-a53): Likewise.
8109 2014-02-06 Yury Gribov <y.gribov@samsung.com>
8110 Kugan Vivekanandarajah <kuganv@linaro.org>
8112 * config/arm/arm.c (arm_vector_alignment_reachable): Check
8114 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
8116 2014-02-06 Richard Biener <rguenther@suse.de>
8118 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
8119 set_loop_copy and initialize_original_copy_tables.
8121 2014-02-06 Alex Velenko <Alex.Velenko@arm.com>
8123 * config/aarch64/aarch64-simd.md
8124 (aarch64_ashr_simddi): Change QI to SI.
8126 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
8127 Jakub Jelinek <jakub@redhat.com>
8130 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
8133 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8135 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
8136 CODE_FOR_altivec_vpku[hw]um to
8137 CODE_FOR_altivec_vpku[hw]um_direct.
8138 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
8139 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
8140 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
8141 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
8143 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8145 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
8146 generation for -maltivec=be.
8147 (altivec_vsumsws): Simplify redundant test.
8149 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8151 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
8152 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
8153 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
8154 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
8155 gen_altivec_vpkuwum.
8156 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
8158 (altivec_vpks<VI_char>ss): Likewise.
8159 (altivec_vpks<VI_char>us): Likewise.
8160 (altivec_vpku<VI_char>us): Likewise.
8161 (altivec_vpku<VI_char>um): Likewise.
8162 (altivec_vpku<VI_char>um_direct): New (copy of
8163 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
8165 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
8166 target is little endian and -maltivec=be is not specified.
8167 (*altivec_vupkhs<VU_char>_direct): New (copy of
8168 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
8169 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
8170 target is little endian and -maltivec=be is not specified.
8171 (*altivec_vupkls<VU_char>_direct): New (copy of
8172 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
8173 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
8174 little endian and -maltivec=be is not specified.
8175 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
8176 little endian and -maltivec=be is not specified.
8178 2014-02-05 Richard Henderson <rth@redhat.com>
8181 * combine-stack-adj.c: Revert r206943.
8182 * sched-int.h (struct deps_desc): Add last_args_size.
8183 * sched-deps.c (init_deps): Initialize it.
8184 (sched_analyze_insn): Add OUTPUT dependencies between insns that
8185 contain REG_ARGS_SIZE notes.
8187 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
8189 * lto-cgraph.c (asm_nodes_output): Make global.
8190 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
8191 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
8192 (driver_handle_option): Handle OPT_fwpa.
8194 2014-02-05 Jakub Jelinek <jakub@redhat.com>
8197 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
8198 a comment typo and formatting issue. If odr_hash hasn't been
8199 created, return vNULL and set *completep to false.
8202 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
8203 bb with no successors.
8205 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
8208 * doc/invoke.texi (-march): Clarify documentation for ARM.
8212 2014-02-05 Richard Biener <rguenther@suse.de>
8214 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
8215 when not vectorizing because of too many alias checks.
8216 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8217 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
8219 2014-02-05 Nick Clifton <nickc@redhat.com>
8221 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
8222 accept extended registers in any mode when compiling for the MN10300.
8224 2014-02-05 Yury Gribov <y.gribov@samsung.com>
8226 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
8227 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
8228 sanitization attributes.
8229 (can_inline_edge_p): Likewise.
8230 (sanitize_attrs_match_for_inline_p): New function.
8232 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8234 * ipa-prop.c (detect_type_change): Shor circuit testing of
8235 type changes on THIS pointer.
8237 2014-02-04 John David Anglin <danglin@gcc.gnu.org>
8240 * config/pa/pa.c (legitimize_tls_address): Return original address
8241 if not passed a SYMBOL_REF rtx.
8242 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
8244 (pa_emit_move_sequence): Simplify TLS source operands.
8245 (pa_legitimate_constant_p): Reject all TLS constants.
8246 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
8247 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
8249 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8251 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
8252 groups when we know they are controlled by LTO.
8253 * varasm.c (default_binds_local_p_1): If object is in other partition,
8254 it will be resolved locally.
8256 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8258 * config/host-linux.c (linux_gt_pch_use_address): Don't
8259 use SSIZE_MAX because it is not always defined.
8261 2014-02-04 Vladimir Makarov <vmakarov@redhat.com>
8264 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
8265 threshold for pseudo splitting.
8266 (update_ebb_live_info): Process call argument hard registers and
8267 hard registers from insn definition too.
8268 (max_small_class_regs_num): New constant.
8269 (inherit_in_ebb): Update live hard regs through EBBs. Update
8270 reloads_num only for small register classes. Don't split for
8273 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
8276 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
8279 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
8281 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
8284 2014-02-04 Marek Polacek <polacek@redhat.com>
8286 * gdbinit.in (pel): Define.
8288 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
8290 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
8293 2014-02-04 Richard Biener <rguenther@suse.de>
8296 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
8297 in function context local.
8298 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
8299 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
8300 similar to LTO_imported_decl_ref.
8302 2014-02-04 Jakub Jelinek <jakub@redhat.com>
8304 PR tree-optimization/60002
8305 * cgraphclones.c (build_function_decl_skip_args): Clear
8308 PR tree-optimization/60023
8309 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
8310 false to gsi_replace.
8311 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
8312 has been in some EH region and vec_stmt could throw, add
8313 vec_stmt into the same EH region.
8314 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
8315 has no lhs, ignore it.
8316 * internal-fn.c (expand_MASK_LOAD): Likewise.
8319 * tree-inline.c (copy_forbidden): Fail for
8320 __attribute__((optimize (0))) functions.
8323 * omp-low.c (simd_clone_struct_copy): If from->inbranch
8324 is set, copy one less argument.
8325 (expand_simd_clones): Don't subtract clone_info->inbranch
8326 from simd_clone_struct_alloc argument.
8328 PR rtl-optimization/57915
8329 * recog.c (simplify_while_replacing): If all unary/binary/relational
8330 operation arguments are constant, attempt to simplify those.
8333 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
8334 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
8336 2014-02-04 Richard Biener <rguenther@suse.de>
8338 PR tree-optimization/60012
8339 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
8340 TBAA disambiguation to all DDRs.
8342 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8345 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
8346 (LINK_SPEC): Use it for -shared, -shared-libgcc.
8348 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8351 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
8353 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8355 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
8356 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
8358 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8361 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
8362 to figure out targets of polymorphic calls with known decl.
8363 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8364 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
8365 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
8366 (get_polymorphic_call_info): ... here.
8367 (get_polymorphic_call_info_from_invariant): New function.
8369 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8371 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
8372 lookup via vtable pointer; check for type consistency
8373 and turn inconsitent facts into UNREACHABLE.
8374 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8375 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
8376 type inconsistent querries; return UNREACHABLE instead.
8378 2014-02-03 Richard Henderson <rth@twiddle.net>
8381 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
8382 already processed this node.
8383 (normalize_one_pred_1): Pass along mark_set.
8384 (normalize_one_pred): Create and destroy a pointer_set_t.
8385 (normalize_one_pred_chain): Likewise.
8387 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
8389 PR gcov-profile/58602
8390 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
8392 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
8395 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
8396 -fno-devirtualize; try to devirtualize by the knowledge of
8397 virtual table pointer given by aggregate propagation.
8398 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8399 (ipa_print_node_jump_functions): Dump also offset that
8400 is relevant for polymorphic calls.
8401 (determine_known_aggregate_parts): Add arg_type parameter; use it
8402 instead of determining the type from pointer type.
8403 (ipa_compute_jump_functions_for_edge): Update call of
8404 determine_known_aggregate_parts.
8405 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
8406 (gimple_get_virt_method_for_binfo): ... here; simplify using
8407 vtable_pointer_value_to_vtable.
8408 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
8409 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
8410 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
8411 (vtable_pointer_value_to_vtable): Break out from ...; handle also
8413 (vtable_pointer_value_to_binfo): ... here.
8414 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
8416 2014-02-03 Teresa Johnson <tejohnson@google.com>
8418 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
8419 redef of outer loop index variable.
8421 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
8425 * doc/extend.texi (Function Attributes): Typo.
8427 2014-02-03 Cong Hou <congh@google.com>
8429 PR tree-optimization/60000
8430 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
8431 if the vectorized statement is a store. A store statement can only
8432 appear at the end of pattern statements.
8434 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8436 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
8437 (ix86_option_override_internal): Default long double to 64-bit for
8438 32-bit Bionic and to 128-bit for 64-bit Bionic.
8440 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
8441 TARGET_LONG_DOUBLE_128 is true.
8442 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
8444 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
8445 (mlong-double-64): Negate -mlong-double-128.
8446 (mlong-double-128): New option.
8448 * config/i386/i386-c.c (ix86_target_macros): Define
8449 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
8451 * doc/invoke.texi: Document -mlong-double-128.
8453 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
8455 PR rtl-optimization/60024
8456 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
8458 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
8460 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8462 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
8464 PR rtl-optimization/57662
8465 * sel-sched.c (code_motion_path_driver): Do not mark already not
8466 existing blocks in the visiting bitmap.
8468 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
8470 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
8471 on the insn being emitted.
8473 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
8474 Will Deacon <will.deacon@arm.com>
8476 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
8478 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8480 * config/arm/arm-tables.opt: Regenerate.
8482 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8484 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
8485 for vector types other than V16QImode.
8486 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
8487 define_expand, and call altivec_expand_vec_perm_le when producing
8488 code with little endian element order.
8489 (*altivec_vperm_<mode>_internal): New insn having previous
8490 behavior of altivec_vperm_<mode>.
8491 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
8492 altivec_expand_vec_perm_le when producing code with little endian
8494 (*altivec_vperm_<mode>_uns_internal): New insn having previous
8495 behavior of altivec_vperm_<mode>_uns.
8497 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8499 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
8500 (altivec_vsumsws): Add handling for -maltivec=be with a little
8502 (altivec_vsumsws_direct): New.
8503 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
8504 gen_altivec_vsumsws.
8506 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
8508 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
8509 vtable_pointer_value_to_binfo): New functions.
8510 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
8511 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
8513 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
8515 * config/nios2/nios2.md (load_got_register): Initialize GOT
8516 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
8517 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
8519 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
8521 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
8522 preserverd by passthrough, do not propagate the type.
8524 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8526 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
8527 (mips_atomic_assign_expand_fenv): New function.
8528 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
8530 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8532 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
8533 (__builtin_mips_set_fcsr): Likewise.
8534 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
8535 MIPS_USI_FTYPE_VOID.
8536 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
8537 (mips16_expand_set_fcsr): Likewise.
8538 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
8539 (mips16_set_fcsr_stub): Likewise.
8540 (mips16_get_fcsr_one_only_stub): New class.
8541 (mips16_set_fcsr_one_only_stub): Likewise.
8542 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
8543 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
8544 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
8545 (hard_float): New availability predicate.
8546 (mips_builtins): Add get_fcsr and set_fcsr.
8547 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
8548 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
8549 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
8550 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
8551 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
8554 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
8556 * config/mips/mips.c (mips_one_only_stub): New class.
8557 (mips_need_mips16_rdhwr_p): Replace with...
8558 (mips16_rdhwr_stub): ...this new variable.
8559 (mips16_stub_call_address): New function.
8560 (mips16_rdhwr_one_only_stub): New class.
8561 (mips_expand_thread_pointer): Use mips16_stub_call_address.
8562 (mips_output_mips16_rdhwr): Delete.
8563 (mips_finish_stub): New function.
8564 (mips_code_end): Use it to handle rdhwr stubs.
8566 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
8569 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
8570 when calculating size of integer atomic types.
8572 2014-02-02 H.J. Lu <hongjiu.lu@intel.com>
8574 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
8576 2014-02-01 Jakub Jelinek <jakub@redhat.com>
8578 PR tree-optimization/60003
8579 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
8580 * profile.c (branch_prob): Use gimple_call_builtin_p
8581 to check for BUILT_IN_SETJMP_RECEIVER.
8582 * tree-inline.c (copy_bb): Call notice_special_calls.
8584 2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
8587 * lra-constraints.c (process_alt_operands): Update reload_sum only
8590 2014-01-31 Richard Henderson <rth@redhat.com>
8593 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
8594 until after else_eh is processed.
8596 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
8598 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
8599 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
8600 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
8601 in smmintrin.h, remove them.
8602 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
8603 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
8604 * config/i386/i386.md (ROUND_SAE): Fix value.
8605 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
8606 (const48_operand): New.
8607 * config/i386/subst.md (round), (round_expand): Use
8608 const_4_or_8_to_11_operand.
8609 (round_saeonly), (round_saeonly_expand): Use const48_operand.
8611 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
8613 * config/i386/constraints.md (Yk): Swap meaning with k.
8614 * config/i386/i386.md (movhi_internal): Change Yk to k.
8615 (movqi_internal): Ditto.
8616 (*k<logic><mode>): Ditto.
8619 (kandn<mode>): Ditto.
8620 (*<code>hi_1): Ditto.
8621 (*<code>qi_1): Ditto.
8622 (kxnor<mode>): Ditto.
8623 (kortestzhi): Ditto.
8624 (kortestchi): Ditto.
8626 (*one_cmplhi2_1): Ditto.
8627 (*one_cmplqi2_1): Ditto.
8628 * config/i386/sse.md (): Change k to Yk.
8629 (avx512f_load<mode>_mask): Ditto.
8630 (avx512f_blendm<mode>): Ditto.
8631 (avx512f_store<mode>_mask): Ditto.
8632 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
8633 (avx512f_storedqu<mode>_mask): Ditto.
8634 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
8636 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
8637 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
8638 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
8639 (avx512f_maskcmp<mode>3): Ditto.
8640 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
8641 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
8642 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
8643 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
8644 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
8645 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
8646 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
8647 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
8648 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
8649 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
8650 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
8651 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
8652 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
8653 (vec_extract_lo_<mode>_maskm): Ditto.
8654 (vec_extract_hi_<mode>_maskm): Ditto.
8655 (avx512f_vternlog<mode>_mask): Ditto.
8656 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
8657 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
8658 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
8659 (avx512f_<code>v8div16qi2_mask): Ditto.
8660 (avx512f_<code>v8div16qi2_mask_store): Ditto.
8661 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
8662 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
8663 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
8664 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
8665 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8666 (*avx512pf_gatherpf<mode>df_mask): Ditto.
8667 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8668 (*avx512pf_scatterpf<mode>df_mask): Ditto.
8669 (avx512cd_maskb_vec_dupv8di): Ditto.
8670 (avx512cd_maskw_vec_dupv16si): Ditto.
8671 (avx512f_vpermi2var<mode>3_maskz): Ditto.
8672 (avx512f_vpermi2var<mode>3_mask): Ditto.
8673 (avx512f_vpermi2var<mode>3_mask): Ditto.
8674 (avx512f_vpermt2var<mode>3_maskz): Ditto.
8675 (*avx512f_gathersi<mode>): Ditto.
8676 (*avx512f_gathersi<mode>_2): Ditto.
8677 (*avx512f_gatherdi<mode>): Ditto.
8678 (*avx512f_gatherdi<mode>_2): Ditto.
8679 (*avx512f_scattersi<mode>): Ditto.
8680 (*avx512f_scatterdi<mode>): Ditto.
8681 (avx512f_compress<mode>_mask): Ditto.
8682 (avx512f_compressstore<mode>_mask): Ditto.
8683 (avx512f_expand<mode>_mask): Ditto.
8684 * config/i386/subst.md (mask): Change k to Yk.
8685 (mask_scalar_merge): Ditto.
8688 2014-01-31 Marc Glisse <marc.glisse@inria.fr>
8690 * doc/extend.texi (Vector Extensions): Document ?: in C++.
8692 2014-01-31 Richard Biener <rguenther@suse.de>
8695 * builtins.c (fold_builtin_memory_op): Make sure to not
8696 use a floating-point mode or a boolean or enumeral type for
8699 2014-01-30 DJ Delorie <dj@redhat.com>
8701 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
8702 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
8703 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
8704 whenever main() has an epilogue.
8706 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8708 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
8709 unused variable "field".
8710 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
8711 (vsx_mergeh_<mode>): Likewise.
8712 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
8713 (altivec_vmrghh): Likewise.
8714 (altivec_vmrghw): Likewise.
8715 (altivec_vmrglb): Likewise.
8716 (altivec_vmrglh): Likewise.
8717 (altivec_vmrglw): Likewise.
8718 (altivec_vspltb): Add missing uses.
8719 (altivec_vsplth): Likewise.
8720 (altivec_vspltw): Likewise.
8721 (altivec_vspltsf): Likewise.
8723 2014-01-30 Jakub Jelinek <jakub@redhat.com>
8726 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
8727 frame related instructions.
8729 2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
8731 PR rtl-optimization/59959
8732 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
8733 any reload of register whose subreg is invalid.
8735 2014-01-30 Jakub Jelinek <jakub@redhat.com>
8737 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
8738 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
8739 Add missing return type - void.
8741 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8743 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
8744 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
8745 remove element index adjustment for endian (now handled in vsx.md
8747 (altivec_expand_vec_perm_const): Use
8748 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
8749 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
8750 (vsx_xxspltw_<mode>): Adjust element index for little endian.
8751 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
8752 define_expand and a new define_insn *altivec_vspltb_internal;
8753 adjust for -maltivec=be on a little endian target.
8754 (altivec_vspltb_direct): New.
8755 (altivec_vsplth): Divide into a define_expand and a new
8756 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
8757 little endian target.
8758 (altivec_vsplth_direct): New.
8759 (altivec_vspltw): Divide into a define_expand and a new
8760 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
8761 little endian target.
8762 (altivec_vspltw_direct): New.
8763 (altivec_vspltsf): Divide into a define_expand and a new
8764 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
8765 a little endian target.
8767 2014-01-30 Richard Biener <rguenther@suse.de>
8769 PR tree-optimization/59993
8770 * tree-ssa-forwprop.c (associate_pointerplus): Check we
8771 can propagate form the earlier stmt and avoid the transform
8772 when the intermediate result is needed.
8774 2014-01-30 Alangi Derick <alangiderick@gmail.com>
8776 * README.Portability: Fix typo.
8778 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
8780 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
8781 comparison_operator with ordered_comparison_operator.
8783 2014-01-30 Nick Clifton <nickc@redhat.com>
8785 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
8786 Rename to mn10300_store_multiple_regs.
8787 * config/mn10300/mn10300.c: Likewise.
8788 * config/mn10300/mn10300.md (store_movm): Fix typo: call
8789 store_multiple_regs.
8790 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
8791 Call mn10300_store_multiple_regs.
8793 2014-01-30 Nick Clifton <nickc@redhat.com>
8794 DJ Delorie <dj@redhat.com>
8796 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
8797 %fp 2 to keep registers after it properly word-aligned.
8798 (rl78_alloc_physical_registers_umul): Handle the case where both
8799 input operands are the same.
8801 2014-01-30 Richard Biener <rguenther@suse.de>
8803 PR tree-optimization/59903
8804 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
8807 2014-01-30 Jason Merrill <jason@redhat.com>
8810 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
8813 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
8815 2014-01-30 Richard Biener <rguenther@suse.de>
8817 PR tree-optimization/59951
8818 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
8820 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
8823 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
8824 SFmode to DFmode case.
8826 2014-01-29 DJ Delorie <dj@redhat.com>
8828 * config/msp430/msp430.opt (-minrt): New.
8829 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
8831 (ENDFILE_SPEC): Likewise.
8833 2014-01-29 Jan Hubicka <hubicka@ucw.cz>
8835 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
8836 (estimate_function_body_sizes): Use it.
8838 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
8841 * dwarf2out.c (is_cxx_auto): New.
8842 (is_base_type): Use it.
8843 (gen_type_die_with_usage): Likewise.
8845 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8847 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
8848 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
8849 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
8850 -maltivec=be with LE targets.
8851 (vsx_mergeh_<mode>): Likewise.
8852 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
8853 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
8854 (altivec_vmrghb): Replace with define_expand and new
8855 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
8856 (altivec_vmrghb_direct): New define_insn.
8857 (altivec_vmrghh): Replace with define_expand and new
8858 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
8859 (altivec_vmrghh_direct): New define_insn.
8860 (altivec_vmrghw): Replace with define_expand and new
8861 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
8862 (altivec_vmrghw_direct): New define_insn.
8863 (*altivec_vmrghsf): Adjust for endianness.
8864 (altivec_vmrglb): Replace with define_expand and new
8865 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
8866 (altivec_vmrglb_direct): New define_insn.
8867 (altivec_vmrglh): Replace with define_expand and new
8868 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
8869 (altivec_vmrglh_direct): New define_insn.
8870 (altivec_vmrglw): Replace with define_expand and new
8871 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
8872 (altivec_vmrglw_direct): New define_insn.
8873 (*altivec_vmrglsf): Adjust for endianness.
8874 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8875 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8876 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8877 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8878 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8879 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8880 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8881 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8883 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
8885 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
8886 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
8889 2014-01-29 Richard Biener <rguenther@suse.de>
8891 PR tree-optimization/58742
8892 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
8893 associate_pointerplus_align.
8894 (associate_pointerplus_diff): New function.
8895 (associate_pointerplus): Likewise. Call associate_pointerplus_align
8896 and associate_pointerplus_diff.
8898 2014-01-29 Richard Biener <rguenther@suse.de>
8900 * lto-streamer.h (LTO_major_version): Bump to 3.
8901 (LTO_minor_version): Reset to 0.
8903 2014-01-29 Renlin Li <Renlin.Li@arm.com>
8905 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
8906 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
8907 (arm_file_start): Generate correct asm header for armv7ve.
8908 * config/arm/bpabi.h: Add multilib support for armv7ve.
8909 * config/arm/driver-arm.c: Change the architectures of cortex-a7
8910 and cortex-a15 to armv7ve.
8911 * config/arm/t-aprofile: Add multilib support for armv7ve.
8912 * doc/invoke.texi: Document -march=armv7ve.
8914 2014-01-29 Richard Biener <rguenther@suse.de>
8916 PR tree-optimization/58742
8917 * tree-ssa-forwprop.c (associate_plusminus): Return true
8918 if we changed sth, defer EH cleanup to ...
8919 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
8920 (simplify_mult): New function.
8922 2014-01-29 Jakub Jelinek <jakub@redhat.com>
8925 PR tree-optimization/59920
8926 * tree.c (build_common_builtin_nodes): Remove
8927 __builtin_setjmp_dispatcher initialization.
8928 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
8929 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
8930 instead of gsi_after_labels + manually skipping debug stmts.
8931 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
8932 ignore bbs with IFN_ABNORMAL_DISPATCHER.
8933 * tree-inline.c (copy_edges_for_bb): Remove
8934 can_make_abnormal_goto argument, instead add abnormal_goto_dest
8935 argument. Ignore computed_goto_p stmts. Don't call
8936 make_abnormal_goto_edges. If a call might need abnormal edges
8937 for non-local gotos, see if it already has an edge to
8938 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
8939 with true argument, don't do anything then, otherwise add
8940 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
8941 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
8943 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
8944 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
8945 (lower_stmt): Don't set data->calls_builtin_setjmp.
8946 (lower_builtin_setjmp): Adjust comment.
8947 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
8948 * tree-cfg.c (found_computed_goto): Remove.
8949 (factor_computed_gotos): Remove.
8950 (make_goto_expr_edges): Return bool, true for computed gotos.
8951 Don't call make_abnormal_goto_edges.
8952 (build_gimple_cfg): Don't set found_computed_goto, don't call
8953 factor_computed_gotos.
8954 (computed_goto_p): No longer static.
8955 (make_blocks): Don't set found_computed_goto.
8956 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
8957 (make_edges): If make_goto_expr_edges returns true, push bb
8958 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
8959 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
8960 vector. Record mapping between bbs and OpenMP regions if there
8961 are any, adjust make_gimple_omp_edges caller. Call
8962 handle_abnormal_edges.
8963 (make_abnormal_goto_edges): Remove.
8964 * tree-cfg.h (make_abnormal_goto_edges): Remove.
8965 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
8966 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
8967 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
8968 * internal-fn.def (ABNORMAL_DISPATCHER): New.
8969 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
8970 filling *region also set *region_idx to (*region)->entry->index.
8973 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
8974 For REGs set ORIGINAL_REGNO.
8976 2014-01-29 Bingfeng Mei <bmei@broadcom.com>
8978 * doc/md.texi: Mention that a target shouldn't implement
8979 vec_widen_(s|u)mul_even/odd pair if it is less efficient
8982 2014-01-29 Jakub Jelinek <jakub@redhat.com>
8984 PR tree-optimization/59594
8985 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
8986 a copy of the datarefs vector rather than the vector itself.
8988 2014-01-28 Jason Merrill <jason@redhat.com>
8991 * dwarf2out.c (auto_die): New static.
8992 (gen_type_die_with_usage): Handle C++1y 'auto'.
8993 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
8996 2014-01-28 H.J. Lu <hongjiu.lu@intel.com>
8999 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
9000 (SPEC_X32): Likewise.
9001 (SPEC_64): Likewise.
9002 * config/i386/i386.c (ix86_option_override_internal): Turn off
9003 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
9005 (x86_file_start): Output .code16gcc for TARGET_16BIT.
9006 * config/i386/i386.h (TARGET_16BIT): New macro.
9007 (TARGET_16BIT_P): Likewise.
9008 * config/i386/i386.opt: Add m16.
9009 * doc/invoke.texi: Document -m16.
9011 2014-01-28 Jakub Jelinek <jakub@redhat.com>
9013 PR preprocessor/59935
9014 * input.c (location_get_source_line): Bail out on when line number
9015 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
9017 2014-01-28 Richard Biener <rguenther@suse.de>
9019 PR tree-optimization/58742
9020 * tree-ssa-forwprop.c (associate_plusminus): Handle
9021 pointer subtraction of the form (T)(P + A) - (T)P.
9023 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9025 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
9028 2014-01-28 Richard Biener <rguenther@suse.de>
9031 2014-01-28 Richard Biener <rguenther@suse.de>
9033 PR rtl-optimization/45364
9034 PR rtl-optimization/59890
9035 * var-tracking.c (local_get_addr_clear_given_value): Handle
9036 already cleared slot.
9037 (val_reset): Handle not allocated local_get_addr_cache.
9038 (vt_find_locations): Use post-order on the inverted CFG.
9040 2014-01-28 Richard Biener <rguenther@suse.de>
9042 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
9044 2014-01-28 Richard Biener <rguenther@suse.de>
9046 PR rtl-optimization/45364
9047 PR rtl-optimization/59890
9048 * var-tracking.c (local_get_addr_clear_given_value): Handle
9049 already cleared slot.
9050 (val_reset): Handle not allocated local_get_addr_cache.
9051 (vt_find_locations): Use post-order on the inverted CFG.
9053 2014-01-28 Alan Modra <amodra@gmail.com>
9055 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
9056 * configure.ac <recursive call for build != host>: Define
9057 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
9058 and LD_FOR_BUILD too.
9059 * configure: Regenerate.
9061 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
9063 * config/i386/i386.c (get_builtin_code_for_version): Separate
9064 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
9065 Broadwell from Haswell.
9067 2014-01-27 Steve Ellcey <sellcey@mips.com>
9069 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
9070 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
9071 * config/mips/mips.c (mips_option_override): Change setting
9073 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
9074 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
9075 Change from Mask to Var.
9077 2014-01-27 Jeff Law <law@redhat.com>
9079 * ipa-inline.c (inline_small_functions): Fix typo.
9081 2014-01-27 Ilya Tocar <ilya.tocar@intel.com>
9083 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
9084 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
9085 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
9086 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
9087 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
9088 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
9089 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
9090 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
9091 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
9092 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
9093 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
9094 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
9095 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
9096 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
9097 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
9098 (_mm512_storeu_epi64): Ditto.
9099 (_mm512_cmpge_epi32_mask): Ditto.
9100 (_mm512_cmpge_epu32_mask): Ditto.
9101 (_mm512_cmpge_epi64_mask): Ditto.
9102 (_mm512_cmpge_epu64_mask): Ditto.
9103 (_mm512_cmple_epi32_mask): Ditto.
9104 (_mm512_cmple_epu32_mask): Ditto.
9105 (_mm512_cmple_epi64_mask): Ditto.
9106 (_mm512_cmple_epu64_mask): Ditto.
9107 (_mm512_cmplt_epi32_mask): Ditto.
9108 (_mm512_cmplt_epu32_mask): Ditto.
9109 (_mm512_cmplt_epi64_mask): Ditto.
9110 (_mm512_cmplt_epu64_mask): Ditto.
9111 (_mm512_cmpneq_epi32_mask): Ditto.
9112 (_mm512_cmpneq_epu32_mask): Ditto.
9113 (_mm512_cmpneq_epi64_mask): Ditto.
9114 (_mm512_cmpneq_epu64_mask): Ditto.
9115 (_mm512_expand_pd): Ditto.
9116 (_mm512_expand_ps): Ditto.
9117 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
9118 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
9119 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
9120 * config/i386/i386.c (ix86_builtins): Add
9121 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
9122 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
9123 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
9124 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
9125 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
9126 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
9127 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
9128 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
9129 IX86_BUILTIN_PMOVUSQW512_MEM.
9130 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
9131 __builtin_ia32_pmovsqd512mem_mask,
9132 __builtin_ia32_pmovqd512mem_mask,
9133 __builtin_ia32_pmovusqw512mem_mask,
9134 __builtin_ia32_pmovsqw512mem_mask,
9135 __builtin_ia32_pmovqw512mem_mask,
9136 __builtin_ia32_pmovusdw512mem_mask,
9137 __builtin_ia32_pmovsdw512mem_mask,
9138 __builtin_ia32_pmovdw512mem_mask,
9139 __builtin_ia32_pmovqb512mem_mask,
9140 __builtin_ia32_pmovusqb512mem_mask,
9141 __builtin_ia32_pmovsqb512mem_mask,
9142 __builtin_ia32_pmovusdb512mem_mask,
9143 __builtin_ia32_pmovsdb512mem_mask,
9144 __builtin_ia32_pmovdb512mem_mask.
9145 (bdesc_args): Add __builtin_ia32_expanddf512,
9146 __builtin_ia32_expandsf512.
9147 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
9148 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
9149 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
9150 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
9151 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
9152 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
9153 (avx512f_<code>v8div16qi2_mask_store): This.
9154 (avx512f_expand<mode>): New.
9156 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
9158 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
9160 (_mm512_mask_prefetch_i64gather_pd): Ditto.
9161 (_mm512_prefetch_i32scatter_pd): Ditto.
9162 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
9163 (_mm512_prefetch_i64scatter_pd): Ditto.
9164 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
9165 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
9166 (_mm512_mask_prefetch_i64gather_ps): Ditto.
9167 (_mm512_prefetch_i32scatter_ps): Ditto.
9168 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
9169 (_mm512_prefetch_i64scatter_ps): Ditto.
9170 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
9171 * config/i386/i386-builtin-types.def: Define
9172 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
9173 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
9174 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
9175 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
9176 IX86_BUILTIN_SCATTERPFQPD.
9177 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
9178 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
9179 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
9180 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
9181 __builtin_ia32_scatterpfqps.
9182 (ix86_expand_builtin): Expand new built-ins.
9183 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
9184 fix memory access data type.
9185 (*avx512pf_gatherpf<mode>_mask): Ditto.
9186 (*avx512pf_gatherpf<mode>): Ditto.
9187 (avx512pf_scatterpf<mode>): Ditto.
9188 (*avx512pf_scatterpf<mode>_mask): Ditto.
9189 (*avx512pf_scatterpf<mode>): Ditto.
9190 (GATHER_SCATTER_SF_MEM_MODE): New.
9191 (avx512pf_gatherpf<mode>df): Ditto.
9192 (*avx512pf_gatherpf<mode>df_mask): Ditto.
9193 (*avx512pf_scatterpf<mode>df): Ditto.
9195 2014-01-27 Jakub Jelinek <jakub@redhat.com>
9198 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
9199 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
9202 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9204 * common/config/arm/arm-common.c
9205 (arm_rewrite_mcpu): Handle multiple names.
9207 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9209 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
9211 * gimple-builder.h (create_gimple_tmp): Delete.
9213 2014-01-27 Christian Bruel <christian.bruel@st.com>
9215 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
9218 2014-01-26 John David Anglin <danglin@gcc.gnu.org>
9220 * config/pa/pa.md (call): Generate indirect long calls to non-local
9221 functions when outputing 32-bit code.
9222 (call_value): Likewise except for special call to buggy powf function.
9224 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
9225 portable runtime and PIC indirect calls.
9226 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
9227 and PIC call sequences. Use ldo instead of blr to set return register
9228 in PIC call sequence.
9230 2014-01-25 Walter Lee <walt@tilera.com>
9232 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
9233 avoid clobbering a live register.
9235 2014-01-25 Walter Lee <walt@tilera.com>
9237 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
9238 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
9239 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
9240 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
9242 2014-01-25 Walter Lee <walt@tilera.com>
9244 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
9245 arguments on even registers.
9246 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
9248 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
9249 (BIGGEST_ALIGNMENT): Ditto.
9250 (BIGGEST_FIELD_ALIGNMENT): Ditto.
9252 2014-01-25 Walter Lee <walt@tilera.com>
9254 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
9255 insns before bundling.
9256 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
9258 2014-01-25 Walter Lee <walt@tilera.com>
9260 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
9261 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
9262 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
9264 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
9266 * config/mips/constraints.md (kl): Delete.
9267 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
9268 define expands, using...
9269 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
9270 instructions for MIPS16.
9271 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
9272 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
9274 2014-01-25 Walter Lee <walt@tilera.com>
9276 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
9280 2014-01-25 Walter Lee <walt@tilera.com>
9282 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
9283 (TARGET_EXPAND_TO_RTL_HOOK): Define.
9285 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
9287 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
9290 2014-01-25 Jakub Jelinek <jakub@redhat.com>
9292 * print-rtl.c (in_call_function_usage): New var.
9293 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
9294 EXPR_LIST mode as mode and not as reg note name.
9297 * cfgloopmanip.c (copy_loop_info): If
9298 loop->warned_aggressive_loop_optimizations, make sure
9299 the flag is set in target loop too.
9301 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
9303 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
9305 * builtins.def: Likewise.
9306 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
9307 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
9308 * ira.c (ira_setup_eliminable_regset): Likewise.
9309 * omp-low.c (gate_expand_omp): Likewise.
9310 (execute_lower_omp): Likewise.
9311 (diagnose_sb_0): Likewise.
9312 (gate_diagnose_omp_blocks): Likewise.
9313 (simd_clone_clauses_extract): Likewise.
9316 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9318 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
9319 correction for little endian...
9320 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
9323 2014-01-24 Jeff Law <law@redhat.com>
9325 PR tree-optimization/59919
9326 * tree-vrp.c (find_assert_locations_1): Do not register asserts
9327 for non-returning calls.
9329 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
9331 * common/config/aarch64/aarch64-common.c
9332 (aarch64_rewrite_mcpu): Handle multiple names.
9333 * config/aarch64/aarch64.h
9334 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9336 2014-01-24 Dodji Seketeli <dodji@redhat.com>
9338 * input.c (add_file_to_cache_tab): Handle the case where fopen
9341 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
9344 * config/i386/i386.md (pushsf splitter): Get stack adjustment
9345 from push operand if code of push isn't PRE_DEC.
9347 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
9350 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
9351 -mquad-memory-atomic. Update -mquad-memory documentation to say
9352 it is only used for non-atomic loads/stores.
9354 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
9355 -mquad-memory or -mquad-memory-atomic switches.
9357 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
9358 -mquad-memory-atomic to ISA 2.07 support.
9360 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
9361 to separate support of normal quad word memory operations (ldq, stq)
9362 from the atomic quad word memory operations.
9364 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
9365 support to separate non-atomic quad word operations from atomic
9366 quad word operations. Disable non-atomic quad word operations in
9367 little endian mode so that we don't have to swap words after the
9368 load and before the store.
9369 (quad_load_store_p): Add comment about atomic quad word support.
9370 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
9371 options printed with -mdebug=reg.
9373 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
9374 -mquad-memory-atomic as the test for whether we have quad word
9375 atomic instructions.
9376 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
9377 or -mp8-vector are used, allow byte/half-word atomic operations.
9379 * config/rs6000/sync.md (load_lockedti): Insure that the address
9380 is a proper indexed or indirect address for the lqarx instruction.
9381 On little endian systems, swap the hi/lo registers after the lqarx
9383 (load_lockedpti): Use indexed_or_indirect_operand predicate to
9384 insure the address is valid for the lqarx instruction.
9385 (store_conditionalti): Insure that the address is a proper indexed
9386 or indirect address for the stqcrx. instruction. On little endian
9387 systems, swap the hi/lo registers before doing the stqcrx.
9389 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
9390 insure the address is valid for the stqcrx. instruction.
9392 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
9393 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
9394 type of quad memory support is available.
9396 2014-01-23 Vladimir Makarov <vmakarov@redhat.com>
9399 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
9400 there is a danger of looping.
9402 2014-01-23 Pat Haugen <pthaugen@us.ibm.com>
9404 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
9405 force flag_ira_loop_pressure if set via command line.
9407 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
9409 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
9410 (ashr_simd): New builtin handling DI mode.
9411 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
9412 (aarch64_sshr_simddi): New match pattern.
9413 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
9414 (vshrd_n_s64): Likewise.
9415 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
9417 2014-01-23 Nick Clifton <nickc@redhat.com>
9419 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
9420 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
9421 favour of mcu specific scripts.
9422 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
9425 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
9426 Alex Velenko <Alex.Velenko@arm.com>
9428 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
9429 (vaddv_s16): Likewise.
9430 (vaddv_s32): Likewise.
9431 (vaddv_u8): Likewise.
9432 (vaddv_u16): Likewise.
9433 (vaddv_u32): Likewise.
9434 (vaddvq_s8): Likewise.
9435 (vaddvq_s16): Likewise.
9436 (vaddvq_s32): Likewise.
9437 (vaddvq_s64): Likewise.
9438 (vaddvq_u8): Likewise.
9439 (vaddvq_u16): Likewise.
9440 (vaddvq_u32): Likewise.
9441 (vaddvq_u64): Likewise.
9442 (vaddv_f32): Likewise.
9443 (vaddvq_f32): Likewise.
9444 (vaddvq_f64): Likewise.
9445 (vmaxv_f32): Likewise.
9446 (vmaxv_s8): Likewise.
9447 (vmaxv_s16): Likewise.
9448 (vmaxv_s32): Likewise.
9449 (vmaxv_u8): Likewise.
9450 (vmaxv_u16): Likewise.
9451 (vmaxv_u32): Likewise.
9452 (vmaxvq_f32): Likewise.
9453 (vmaxvq_f64): Likewise.
9454 (vmaxvq_s8): Likewise.
9455 (vmaxvq_s16): Likewise.
9456 (vmaxvq_s32): Likewise.
9457 (vmaxvq_u8): Likewise.
9458 (vmaxvq_u16): Likewise.
9459 (vmaxvq_u32): Likewise.
9460 (vmaxnmv_f32): Likewise.
9461 (vmaxnmvq_f32): Likewise.
9462 (vmaxnmvq_f64): Likewise.
9463 (vminv_f32): Likewise.
9464 (vminv_s8): Likewise.
9465 (vminv_s16): Likewise.
9466 (vminv_s32): Likewise.
9467 (vminv_u8): Likewise.
9468 (vminv_u16): Likewise.
9469 (vminv_u32): Likewise.
9470 (vminvq_f32): Likewise.
9471 (vminvq_f64): Likewise.
9472 (vminvq_s8): Likewise.
9473 (vminvq_s16): Likewise.
9474 (vminvq_s32): Likewise.
9475 (vminvq_u8): Likewise.
9476 (vminvq_u16): Likewise.
9477 (vminvq_u32): Likewise.
9478 (vminnmv_f32): Likewise.
9479 (vminnmvq_f32): Likewise.
9480 (vminnmvq_f64): Likewise.
9482 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
9484 * config/aarch64/aarch64-simd.md
9485 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
9486 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
9487 (*aarch64_mul3_elt<mode>): Likewise.
9488 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
9489 (*aarch64_mul3_elt_to_64v2df): Likewise.
9490 (*aarch64_mla_elt<mode>): Likewise.
9491 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
9492 (*aarch64_mls_elt<mode>): Likewise.
9493 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
9494 (*aarch64_fma4_elt<mode>): Likewise.
9495 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
9496 (*aarch64_fma4_elt_to_64v2df): Likewise.
9497 (*aarch64_fnma4_elt<mode>): Likewise.
9498 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
9499 (*aarch64_fnma4_elt_to_64v2df): Likewise.
9500 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
9501 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
9502 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9503 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9504 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
9505 (aarch64_sqdmull_lane<mode>_internal): Likewise.
9506 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
9508 2013-01-23 Alex Velenko <Alex.Velenko@arm.com>
9510 * config/aarch64/aarch64-simd.md
9511 (aarch64_be_checked_get_lane<mode>): New define_expand.
9512 * config/aarch64/aarch64-simd-builtins.def
9513 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
9514 New builtin definition.
9515 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
9516 Use new safe be builtin.
9518 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
9520 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
9522 (aarch64_be_st1<mode>): Likewise.
9523 (aarch_ld1<VALL:mode>): Define_expand modified.
9524 (aarch_st1<VALL:mode>): Likewise.
9525 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
9526 (UNSPEC_ST1): Likewise.
9528 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
9530 * config/microblaze/microblaze.md: Add trap insn and attribute
9532 2014-01-23 Dodji Seketeli <dodji@redhat.com>
9534 PR preprocessor/58580
9535 * input.h (location_get_source_line): Take an additional line_size
9537 (void diagnostics_file_cache_fini): Declare new function.
9538 * input.c (struct fcache): New type.
9539 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
9540 New static constants.
9541 (diagnostic_file_cache_init, total_lines_num)
9542 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
9543 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
9544 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
9545 (get_next_line, read_next_line, goto_next_line, read_line_num):
9546 New static function definitions.
9547 (diagnostic_file_cache_fini): New function.
9548 (location_get_source_line): Take an additional output line_len
9549 parameter. Re-write using lookup_or_add_file_to_cache_tab and
9551 * diagnostic.c (diagnostic_finish): Call
9552 diagnostic_file_cache_fini.
9553 (adjust_line): Take an additional input parameter for the length
9554 of the line, rather than calculating it with strlen.
9555 (diagnostic_show_locus): Adjust the use of
9556 location_get_source_line and adjust_line with respect to their new
9557 signature. While displaying a line now, do not stop at the first
9558 null byte. Rather, display the zero byte as a space and keep
9559 going until we reach the size of the line.
9560 * Makefile.in: Add vec.o to OBJS-libcommon
9562 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
9563 Ilya Tocar <ilya.tocar@intel.com>
9565 * config/i386/avx512fintrin.h (_mm512_kmov): New.
9566 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
9567 (__builtin_ia32_kmov16): Ditto.
9568 * config/i386/i386.md (UNSPEC_KMOV): New.
9571 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
9573 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
9574 (_mm512_storeu_si512): Ditto.
9576 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
9579 * rtl.h (get_referenced_operands): Declare.
9580 * recog.c (get_referenced_operands): New function.
9581 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
9582 operands have been referenced when recording LO_SUM references.
9584 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
9586 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
9588 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
9590 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
9591 Enable for generic and recent AMD targets.
9593 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
9595 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
9596 ARG_SIZE note when adjustment was eliminated.
9598 2014-01-22 Jeff Law <law@redhat.com>
9600 PR tree-optimization/59597
9601 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
9602 in file. Accept new argument REGISTERING and use it to modify
9603 dump output appropriately.
9604 (register_jump_thread): Corresponding changes.
9605 (mark_threaded_blocks): Reinstate code to cancel unprofitable
9606 thread paths involving joiner blocks. Add code to dump cancelled
9607 jump threading paths.
9609 2014-01-22 Vladimir Makarov <vmakarov@redhat.com>
9611 PR rtl-optimization/59477
9612 * lra-constraints.c (inherit_in_ebb): Process call for living hard
9613 regs. Update reloads_num and potential_reload_hard_regs for all insns.
9615 2014-01-22 Tom Tromey <tromey@redhat.com>
9617 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
9619 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
9621 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
9623 PR rtl-optimization/59896
9624 * lra-constraints.c (process_alt_operands): Check unused note for
9625 matched operands of insn with no output reloads.
9627 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
9629 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
9630 (mips_move_from_gpr_cost): Likewise.
9632 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
9634 PR rtl-optimization/59858
9635 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
9636 ira_class_hard_regs_num.
9637 (process_alt_operands): Increase reject for dying matched operand.
9639 2014-01-21 Jakub Jelinek <jakub@redhat.com>
9642 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
9643 smaller than size, perform several stores or loads and stores
9644 at dst + count - size to store or copy all of size bytes, rather
9645 than just last modesize bytes.
9647 2014-01-20 DJ Delorie <dj@redhat.com>
9649 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
9650 that CLOBBERs are REGs before propogating their values.
9652 2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
9655 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
9656 (cgraph_inline_failed_type): New function.
9657 * cgraph.h (DEFCIFCODE): Add type.
9658 (cgraph_inline_failed_type_t): New enum.
9659 (cgraph_inline_failed_type): New prototype.
9660 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
9661 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
9662 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
9663 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
9664 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
9665 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
9666 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
9667 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
9668 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
9669 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
9670 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
9671 OPTIMIZATION_MISMATCH.
9672 * tree-inline.c (expand_call_inline): Emit errors during
9673 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
9675 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
9678 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
9679 mode attribute in insn output.
9681 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
9683 * output.h (output_constant): Delete.
9684 * varasm.c (output_constant): Make private.
9686 2014-01-20 Alex Velenko <Alex.Velenko@arm.com>
9688 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
9690 2014-01-20 Jakub Jelinek <jakub@redhat.com>
9693 * tree.h (fold_builtin_strcat): New prototype.
9694 * builtins.c (fold_builtin_strcat): No longer static. Add len
9695 argument, if non-NULL, don't call c_strlen. Optimize
9696 directly into __builtin_memcpy instead of __builtin_strcpy.
9697 (fold_builtin_2): Adjust fold_builtin_strcat caller.
9698 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
9700 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
9702 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9703 for SImode_address_operand operands, having only a REG argument.
9705 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
9707 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
9708 loader name using mbig-endian.
9709 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
9711 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
9713 * doc/invoke.texi (-march): Clarify documentation for AArch64.
9717 2014-01-20 Tejas Belagod <tejas.belagod@arm.com>
9719 * config/aarch64/aarch64-protos.h
9720 (aarch64_cannot_change_mode_class_ptr): Declare.
9721 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
9722 aarch64_cannot_change_mode_class_ptr): New.
9723 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
9724 backend hook aarch64_cannot_change_mode_class.
9726 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
9728 * common/config/aarch64/aarch64-common.c
9729 (aarch64_handle_option): Don't handle any option order logic here.
9730 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
9731 selected_cpu, warn on architecture version mismatch.
9732 (aarch64_override_options): Fix parsing order for option strings.
9734 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
9735 Iain Sandoe <iain@codesourcery.com>
9738 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
9739 warning. Amend comment to reflect current functionality.
9741 2014-01-20 Richard Biener <rguenther@suse.de>
9744 * builtins.c (fold_builtin_strcat): Remove case better handled
9745 by tree-ssa-strlen.c.
9747 2014-01-20 Alan Lawrence <alan.lawrence@arm.com>
9749 * config/aarch64/aarch64.opt
9750 (mcpu, march, mtune): Make case-insensitive.
9752 2014-01-20 Jakub Jelinek <jakub@redhat.com>
9755 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9756 if operands[1] is a REG or ZERO_EXTEND of a REG.
9758 2014-01-19 Jan Hubicka <hubicka@ucw.cz>
9760 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
9762 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
9764 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
9765 long non-pic millicode calls.
9767 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
9769 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
9771 2014-01-19 Kito Cheng <kito@0xlab.org>
9773 * builtins.c (expand_movstr): Check movstr expand done or fail.
9775 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
9776 H.J. Lu <hongjiu.lu@intel.com>
9779 * config/i386/i386.md (*lea<mode>): Zero-extend return register
9780 to DImode for zero-extended addresses.
9782 2014-01-19 Jakub Jelinek <jakub@redhat.com>
9784 PR rtl-optimization/57763
9785 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
9786 on the new indirect jump_insn and increment LABEL_NUSES (label).
9788 2014-01-18 H.J. Lu <hongjiu.lu@intel.com>
9792 * config.gcc (x86_archs): New variable.
9793 (x86_64_archs): Likewise.
9794 (x86_cpus): Likewise.
9795 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
9796 --with-arch/--with-cpu= options.
9797 Support --with-arch=/--with-cpu={nehalem,westmere,
9798 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
9800 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
9802 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
9803 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
9805 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
9807 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
9809 2014-01-18 Jakub Jelinek <jakub@redhat.com>
9812 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
9813 clear cpp_get_options (parse_in)->warn_unused_macros for
9814 ix86_target_macros_internal with cpp_define.
9816 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
9818 * jump.c (delete_related_insns): Keep (use (insn))s.
9819 * reorg.c (redundant_insn): Check for barriers too.
9821 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
9823 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
9825 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
9827 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
9828 call to $$dyncall when TARGET_LONG_CALLS is true.
9830 2014-01-17 Jeff Law <law@redhat.com>
9832 * ree.c (combine_set_extension): Temporarily disable test for
9833 changing number of hard registers.
9835 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
9838 * ipa-inline-analysis.c (inline_free_summary):
9839 Do not free summary of aliases.
9841 2014-01-17 Jakub Jelinek <jakub@redhat.com>
9844 * gimplify.c (gimplify_expr): Use create_tmp_var
9845 instead of create_tmp_var_raw. If cond doesn't have
9846 integral type, don't add the IFN_ANNOTATE builtin at all.
9848 2014-01-17 Martin Jambor <mjambor@suse.cz>
9851 * ipa-cp.c (prev_edge_clone): New variable.
9852 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
9853 Also resize prev_edge_clone vector.
9854 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
9855 (ipcp_edge_removal_hook): New function.
9856 (ipcp_driver): Register ipcp_edge_removal_hook.
9858 2014-01-17 Andrew Pinski <apinski@cavium.com>
9859 Steve Ellcey <sellcey@mips.com>
9862 * config/mips/mips.c (mips_print_operand): Check operand mode instead
9865 2014-01-17 Jeff Law <law@redhat.com>
9868 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
9869 so that pass_ccp runs first.
9871 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
9873 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
9874 (ix86_adjust_cost): Use !TARGET_XXX.
9875 (do_reorder_for_imul): Likewise.
9876 (swap_top_of_ready_list): Likewise.
9877 (ix86_sched_reorder): Likewise.
9879 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
9881 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9882 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
9883 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
9884 (intel_memset): New. Duplicate slm_memset.
9885 (intel_cost): New. Duplicate slm_cost.
9886 (m_INTEL): New macro.
9887 (processor_target_table): Add "intel".
9888 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
9889 with PROCESSOR_INTEL for "intel".
9890 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
9891 PROCESSOR_SILVERMONT.
9892 (ix86_issue_rate): Likewise.
9893 (ix86_adjust_cost): Likewise.
9894 (ia32_multipass_dfa_lookahead): Likewise.
9895 (swap_top_of_ready_list): Likewise.
9896 (ix86_sched_reorder): Likewise.
9897 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
9898 instead of TARGET_OPT_AGU.
9899 * config/i386/i386.h (TARGET_INTEL): New.
9900 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
9901 (processor_type): Add PROCESSOR_INTEL.
9902 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
9903 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9905 2014-01-17 Marek Polacek <polacek@redhat.com>
9908 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
9911 2014-01-17 Richard Biener <rguenther@suse.de>
9913 PR tree-optimization/46590
9914 * opts.c (default_options_table): Add entries for
9915 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
9916 all enabled at -O1 but not for -Og.
9917 * common.opt (fbranch-count-reg): Remove Init(1).
9918 (fmove-loop-invariants): Likewise.
9919 (ftree-pta): Likewise.
9921 2014-01-17 Jakub Jelinek <jakub@redhat.com>
9923 * config/i386/i386.c (ix86_data_alignment): For compatibility with
9924 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
9925 decls to at least the GCC 4.8 used alignments.
9928 * tree-nested.c (convert_nonlocal_reference_stmt,
9929 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
9930 of GIMPLE_BIND stmts, adjust associated decls.
9932 2014-01-17 Richard Biener <rguenther@suse.de>
9934 PR tree-optimization/46590
9935 * vec.h (vec<>::bseach): New member function implementing
9936 binary search according to C89 bsearch.
9937 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
9938 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
9939 bitmap pointer again. Make accesses_in_loop a flat array.
9940 (mem_ref_obstack): New global.
9941 (outermost_indep_loop): Adjust for mem_ref->stored changes.
9942 (mark_ref_stored): Likewise.
9943 (ref_indep_loop_p_2): Likewise.
9944 (set_ref_stored_in_loop): New helper function.
9945 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
9946 (memref_free): Adjust.
9947 (record_mem_ref_loc): Simplify.
9948 (gather_mem_refs_stmt): Adjust.
9949 (sort_locs_in_loop_postorder_cmp): New function.
9950 (analyze_memory_references): Sort accesses_in_loop after
9951 loop postorder number.
9952 (find_ref_loc_in_loop_cmp): New function.
9953 (for_all_locs_in_loop): Find relevant cluster of locs in
9954 accesses_in_loop and iterate without recursion.
9955 (execute_sm): Avoid uninit warning.
9956 (struct ref_always_accessed): Simplify.
9957 (ref_always_accessed::operator ()): Likewise.
9958 (ref_always_accessed_p): Likewise.
9959 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
9960 loop postorder numbers here.
9961 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
9964 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
9967 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
9968 on decls for which assemble_alias has been called.
9970 2014-01-17 Nick Clifton <nickc@redhat.com>
9972 * config/msp430/msp430.opt: (mcpu): New option.
9973 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
9974 (msp430_option_override): Parse target_cpu. If the MCU name
9975 matches a generic string, clear target_mcu.
9976 (msp430_attr): Allow numeric interrupt values up to 63.
9977 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
9978 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
9980 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
9982 * config/msp430/msp430.md (popm): Use %J rather than %I.
9983 (addsi3): Use msp430_nonimmediate_operand for operand 2.
9984 (addhi_cy_i): Use immediate_operand for operand 2.
9985 * doc/invoke.texi: Document -mcpu option.
9987 2014-01-17 Richard Biener <rguenther@suse.de>
9989 PR rtl-optimization/38518
9990 * df.h (df_analyze_loop): Declare.
9991 * df-core.c: Include cfgloop.h.
9992 (df_analyze_1): Split out main part of df_analyze.
9993 (df_analyze): Adjust.
9994 (loop_inverted_post_order_compute): New function.
9995 (loop_post_order_compute): Likewise.
9996 (df_analyze_loop): New function avoiding whole-function
9998 * loop-invariant.c (find_defs): Use df_analyze_loop.
9999 (find_invariants): Adjust.
10000 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
10002 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
10004 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
10005 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
10007 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
10009 * ipa-ref.c (ipa_remove_stmt_references): Fix references
10010 traversal when removing references.
10012 2014-01-16 Jan Hubicka <hubicka@ucw.cz>
10015 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
10017 2014-01-16 Bernd Schmidt <bernds@codesourcery.com>
10019 PR middle-end/56791
10020 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
10021 pushing a reload for an autoinc when we had previously reloaded an
10022 inner part of the address.
10024 2014-01-16 Jakub Jelinek <jakub@redhat.com>
10026 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
10028 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
10029 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
10030 when not giving up or versioning for alias only because of
10032 (vect_analyze_data_ref_dependences): Set to true.
10033 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
10035 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
10036 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
10039 PR middle-end/58344
10040 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
10043 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
10044 operand 0 predicate for gathers, use a new pseudo as subtarget.
10046 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10048 PR middle-end/59609
10049 * lra-constraints.c (process_alt_operands): Add printing debug info.
10050 Check absence of input/output reloads for matched operands too.
10052 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
10054 PR rtl-optimization/59835
10055 * ira.c (ira_init_register_move_cost): Increase cost for
10058 2014-01-16 Alan Lawrence <alan.lawrence@arm.com>
10060 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
10062 2014-01-16 Richard Earnshaw <rearnsha@arm.com>
10065 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
10066 non-register objects. Use gen_(high/low)part more consistently.
10069 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
10072 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
10073 endian support, remove tests for WORDS_BIG_ENDIAN.
10074 (p8_mfvsrd_3_<mode>): Likewise.
10075 (reload_gpr_from_vsx<mode>): Likewise.
10076 (reload_gpr_from_vsxsf): Likewise.
10077 (p8_mfvsrd_4_disf): Likewise.
10079 2014-01-16 Richard Biener <rguenther@suse.de>
10081 PR rtl-optimization/46590
10082 * lcm.c (compute_antinout_edge): Use postorder iteration.
10083 (compute_laterin): Use inverted postorder iteration.
10085 2014-01-16 Nick Clifton <nickc@redhat.com>
10087 PR middle-end/28865
10088 * varasm.c (output_constant): Return the number of bytes actually
10090 (output_constructor_array_range): Update the field size with the
10091 number of bytes emitted by output_constant.
10092 (output_constructor_regular_field): Likewise. Also do not
10093 complain if the total number of bytes emitted is now greater
10094 than the expected fieldpos.
10095 * output.h (output_constant): Update prototype and descriptive comment.
10097 2014-01-16 Marek Polacek <polacek@redhat.com>
10099 PR middle-end/59827
10100 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
10101 it is error_mark_node.
10103 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
10105 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
10106 VALID_AVX256_REG_OR_OI_MODE.
10108 2014-01-15 Pat Haugen <pthaugen@us.ibm.com>
10110 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
10111 current procedure should be profiled.
10113 2014-01-15 Andrew Pinski <apinski@cavium.com>
10115 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
10116 of moving from/to the STACK_REG register class.
10118 2014-01-15 Richard Henderson <rth@redhat.com>
10121 * reginfo.c (global_regs_decl): Globalize.
10122 * rtl.h (global_regs_decl): Declare.
10123 * ira.c (do_reload): Diagnose frame_pointer_needed and it
10124 reserved via global_regs.
10126 2014-01-15 Teresa Johnson <tejohnson@google.com>
10128 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
10130 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
10132 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
10133 and vmulosh rather than call gen_vec_widen_smult_*.
10134 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
10135 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
10136 (vec_widen_smult_even_v16qi): Likewise.
10137 (vec_widen_umult_even_v8hi): Likewise.
10138 (vec_widen_smult_even_v8hi): Likewise.
10139 (vec_widen_umult_odd_v16qi): Likewise.
10140 (vec_widen_smult_odd_v16qi): Likewise.
10141 (vec_widen_umult_odd_v8hi): Likewise.
10142 (vec_widen_smult_odd_v8hi): Likewise.
10143 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
10144 vmuloub rather than call gen_vec_widen_umult_*.
10145 (vec_widen_umult_lo_v16qi): Likewise.
10146 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
10147 vmulosb rather than call gen_vec_widen_smult_*.
10148 (vec_widen_smult_lo_v16qi): Likewise.
10149 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
10150 rather than call gen_vec_widen_umult_*.
10151 (vec_widen_umult_lo_v8hi): Likewise.
10152 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
10153 rather than call gen_vec_widen_smult_*.
10154 (vec_widen_smult_lo_v8hi): Likewise.
10156 2014-01-15 Jeff Law <law@redhat.com>
10158 PR tree-optimization/59747
10159 * ree.c (find_and_remove_re): Properly handle case where a second
10160 eliminated extension requires widening a copy created for elimination
10161 of a prior extension.
10162 (combine_set_extension): Ensure that the number of hard regs needed
10163 for a destination register does not change when we widen it.
10165 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
10167 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
10168 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
10169 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
10170 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
10171 (avr-*-rtems*): Likewise.
10172 (bfin*-rtems*): Likewise.
10173 (moxie-*-rtems*): Likewise.
10174 (h8300-*-rtems*): Likewise.
10175 (i[34567]86-*-rtems*): Likewise.
10176 (lm32-*-rtems*): Likewise.
10177 (m32r-*-rtems*): Likewise.
10178 (m68k-*-rtems*): Likewise.
10179 (microblaze*-*-rtems*): Likewise.
10180 (mips*-*-rtems*): Likewise.
10181 (powerpc-*-rtems*): Likewise.
10182 (sh-*-rtems*): Likewise.
10183 (sparc-*-rtems*): Likewise.
10184 (sparc64-*-rtems*): Likewise.
10185 (v850-*-rtems*): Likewise.
10186 (m32c-*-rtems*): Likewise.
10188 2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
10190 PR rtl-optimization/59511
10191 * ira.c (ira_init_register_move_cost): Use memory costs for some
10192 cases of register move cost calculations.
10193 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
10194 instead of BB frequency.
10195 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
10196 * lra-assigns.c (find_hard_regno_for): Ditto.
10198 2014-01-15 Richard Biener <rguenther@suse.de>
10200 PR tree-optimization/59822
10201 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
10202 (vectorizable_load): Use it to hoist defs of uses of invariant
10203 loads out of the loop.
10205 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
10206 Kugan Vivekanandarajah <kuganv@linaro.org>
10209 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
10212 2014-01-15 Richard Biener <rguenther@suse.de>
10214 PR rtl-optimization/59802
10215 * lcm.c (compute_available): Use inverted postorder to seed
10216 the initial worklist.
10218 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10221 * config/s390/s390.c (s390_preferred_reload_class): Don't return
10222 ADDR_REGS for invalid symrefs in non-PIC code.
10224 2014-01-15 Jakub Jelinek <jakub@redhat.com>
10227 * builtins.c (determine_block_size): Initialize *probable_max_size
10228 even if len_rtx is CONST_INT.
10230 2014-01-14 Andrew Pinski <apinski@cavium.com>
10232 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
10233 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
10234 (cortexa53_tunings): Likewise.
10235 (aarch64_sched_issue_rate): New function.
10236 (TARGET_SCHED_ISSUE_RATE): Define.
10238 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10240 * ira-costs.c (find_costs_and_classes): Add missed
10241 ira_init_register_move_cost_if_necessary.
10243 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
10246 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
10248 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
10251 * config/i386/i386.c (type_natural_mode): Add a bool parameter
10252 to indicate if type is used for function return value. Warn ABI
10253 change if the vector mode isn't available for function return value.
10254 (ix86_function_arg_advance): Pass false to type_natural_mode.
10255 (ix86_function_arg): Likewise.
10256 (ix86_gimplify_va_arg): Likewise.
10257 (function_arg_32): Don't warn ABI change.
10258 (ix86_function_value): Pass true to type_natural_mode.
10259 (ix86_return_in_memory): Likewise.
10260 (ix86_struct_value_rtx): Removed.
10261 (TARGET_STRUCT_VALUE_RTX): Likewise.
10263 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
10265 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
10266 converting a conditional jump into a conditional return.
10268 2014-01-14 Richard Biener <rguenther@suse.de>
10270 PR tree-optimization/58921
10271 PR tree-optimization/59006
10272 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
10273 hoisting invariant stmts.
10274 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
10275 invariant loads on the preheader edge if possible.
10277 2014-01-14 Joey Ye <joey.ye@arm.com>
10279 * doc/plugin.texi (Building GCC plugins): Update to C++.
10281 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
10283 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
10284 (_mm_rcp28_round_ss): Ditto.
10285 (_mm_rsqrt28_round_sd): Ditto.
10286 (_mm_rsqrt28_round_ss): Ditto.
10287 (_mm_rcp28_sd): Ditto.
10288 (_mm_rcp28_ss): Ditto.
10289 (_mm_rsqrt28_sd): Ditto.
10290 (_mm_rsqrt28_ss): Ditto.
10291 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
10292 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
10293 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
10294 (IX86_BUILTIN_RCP28SD): Ditto.
10295 (IX86_BUILTIN_RCP28SS): Ditto.
10296 (IX86_BUILTIN_RSQRT28SD): Ditto.
10297 (IX86_BUILTIN_RSQRT28SS): Ditto.
10298 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
10299 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
10300 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
10301 (ix86_expand_special_args_builtin): Expand new FTYPE.
10302 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
10303 (srcp14<mode>): Make insn unary.
10304 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
10305 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
10306 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
10307 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
10308 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
10309 Fix rounding: make it SAE only.
10310 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10312 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10314 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
10315 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
10316 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
10317 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
10318 (round_saeonly_mask_scalar_operand4): Ditto.
10319 (round_saeonly_mask_scalar_op3): Ditto.
10320 (round_saeonly_mask_scalar_op4): Ditto.
10322 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10324 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10325 Implement -maltivec=be for vec_insert and vec_extract.
10327 2014-01-10 DJ Delorie <dj@redhat.com>
10329 * config/msp430/msp430.md (call_internal): Don't allow memory
10330 references with SP as the base register.
10331 (call_value_internal): Likewise.
10332 * config/msp430/constraints.md (Yc): New. For memory references
10333 that don't use SP as a base register.
10335 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
10336 "an integer without a # prefix"
10337 * config/msp430/msp430.md (epilogue_helper): Use it.
10339 2014-01-13 Jakub Jelinek <jakub@redhat.com>
10342 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
10343 AVX512F gather builtins.
10344 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
10345 on gather decls with INTEGER_TYPE masktype.
10346 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
10347 directly into the builtin rather than hoisting it before loop.
10349 PR tree-optimization/59387
10350 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
10351 (scev_const_prop): If folded_casts and type has undefined overflow,
10352 use force_gimple_operand instead of force_gimple_operand_gsi and
10353 for each added stmt if it is assign with
10354 arith_code_with_undefined_signed_overflow, call
10355 rewrite_to_defined_overflow.
10356 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
10357 gimple-fold.h instead.
10358 (arith_code_with_undefined_signed_overflow,
10359 rewrite_to_defined_overflow): Moved to ...
10360 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
10361 rewrite_to_defined_overflow): ... here. No longer static.
10362 Include gimplify-me.h.
10363 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
10364 rewrite_to_defined_overflow): New prototypes.
10366 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10368 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
10370 2014-01-13 Eric Botcazou <ebotcazou@adacore.com>
10372 * builtins.c (get_object_alignment_2): Minor tweak.
10373 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
10375 2014-01-13 Christian Bruel <christian.bruel@st.com>
10377 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
10378 optimized non constant lengths.
10380 2014-01-13 Jakub Jelinek <jakub@redhat.com>
10383 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
10384 load as __atomic_load_N if possible.
10386 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
10388 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
10390 (rs6000_expand_builtin): Adjust call.
10392 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
10395 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
10396 * config/rs6000/rs6000.c: Include target-globals.h.
10397 (rs6000_set_current_function): Instead of doing target_reinit
10398 unconditionally, use save_target_globals_default_opts and
10399 restore_target_globals.
10401 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
10403 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
10404 (rs6000_expand_builtin): Handle mffs and mtfsf.
10405 (rs6000_init_builtins): Define mffs and mtfsf.
10406 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
10407 (rs6000_mffs): New pattern.
10408 (rs6000_mtfsf): New pattern.
10410 2014-01-11 Bin Cheng <bin.cheng@arm.com>
10412 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
10413 Start narrowing with START. Apply candidate-use pair
10414 and check overall cost in narrowing.
10415 (iv_ca_prune): Pass new argument.
10417 2014-01-10 Jeff Law <law@redhat.com>
10419 PR middle-end/59743
10420 * ree.c (combine_reaching_defs): Ensure the defining statement
10421 occurs before the extension when optimizing extensions with
10422 different source and destination hard registers.
10424 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
10427 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
10428 vtables into the type inheritance graph.
10430 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10432 PR rtl-optimization/59754
10433 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
10434 modes in the REGNO != REGNO case.
10436 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10438 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
10440 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10442 PR tree-optimization/59745
10443 * tree-predcom.c (tree_predictive_commoning_loop): Call
10444 free_affine_expand_cache if giving up because components is NULL.
10446 * target-globals.c (save_target_globals): Allocate < 4KB structs using
10447 GC in payload of target_globals struct instead of allocating them on
10448 the heap and the larger structs separately using GC.
10449 * target-globals.h (struct target_globals): Make regs, hard_regs,
10450 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
10451 of GTY((skip)) and change type to void *.
10452 (reset_target_globals): Cast loads from those fields to corresponding
10455 2014-01-10 Steve Ellcey <sellcey@mips.com>
10458 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
10459 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
10460 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
10462 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
10465 * aarch64-modes.def (CC_Zmode): New flags mode.
10466 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
10467 represents an equality.
10468 (aarch64_get_condition_code): Handle CC_Zmode.
10469 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
10471 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10473 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
10474 extraction in good case.
10476 2014-01-10 Richard Biener <rguenther@suse.de>
10478 PR tree-optimization/59374
10479 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
10480 checking after SLP discovery. Mark stmts not participating
10481 in any SLP instance properly.
10483 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10485 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
10486 when handling a SET rtx.
10488 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10490 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
10491 (cortex-a57): Likewise.
10492 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
10494 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10496 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
10497 non-iwmmxt builtins.
10499 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
10503 * ipa-devirt.c record_target_from_binfo): Take as argument
10504 stack of binfos and lookup matching one for virtual inheritance.
10505 (possible_polymorphic_call_targets_1): Update.
10507 2014-01-10 Huacai Chen <chenhc@lemote.com>
10509 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
10510 kernel strings for Loongson-2E/2F/3A.
10512 2014-01-10 Jakub Jelinek <jakub@redhat.com>
10514 PR middle-end/59670
10515 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
10516 is_gimple_call before calling gimple_call_internal_p.
10518 2014-01-09 Steve Ellcey <sellcey@mips.com>
10520 * Makefile.in (TREE_FLOW_H): Remove.
10521 (TREE_SSA_H): Add file names from tree-flow.h.
10522 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
10523 * tree.h: Remove tree-flow.h reference.
10524 * hash-table.h: Remove tree-flow.h reference.
10525 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
10526 reference with tree-ssa-loop.h.
10528 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10530 * doc/invoke.texi: Add -maltivec={be,le} options, and document
10531 default element-order behavior for -maltivec.
10532 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
10533 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
10534 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
10535 when targeting big endian, at least for now.
10536 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
10538 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10540 PR middle-end/47735
10541 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
10542 var satisfies use_register_for_decl, just take into account type
10543 alignment, rather than decl alignment.
10545 PR tree-optimization/59622
10546 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
10547 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
10548 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
10549 Don't devirtualize for inplace at all. For targets.length () == 1,
10550 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
10552 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
10554 * config/i386/i386.md (cpu): Remove the unused btver1.
10556 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
10558 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
10560 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10563 * tree-core.h (struct target_globals): New forward declaration.
10564 (struct tree_target_option): Add globals field.
10565 * tree.h (TREE_TARGET_GLOBALS): Define.
10566 (prepare_target_option_nodes_for_pch): New prototype.
10567 * target-globals.h (struct target_globals): Define even if
10568 !SWITCHABLE_TARGET.
10569 * tree.c (prepare_target_option_node_for_pch,
10570 prepare_target_option_nodes_for_pch): New functions.
10571 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
10572 * config/i386/i386.c: Include target-globals.h.
10573 (ix86_set_current_function): Instead of doing target_reinit
10574 unconditionally, use save_target_globals_default_opts and
10575 restore_target_globals.
10577 2014-01-09 Richard Biener <rguenther@suse.de>
10579 PR tree-optimization/59715
10580 * tree-cfg.h (split_critical_edges): Declare.
10581 * tree-cfg.c (split_critical_edges): Export.
10582 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
10584 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
10586 * cfgexpand.c (expand_stack_vars): Optionally disable
10587 asan stack protection.
10588 (expand_used_vars): Likewise.
10589 (partition_stack_vars): Likewise.
10590 * asan.c (asan_emit_stack_protection): Optionally disable
10591 after return stack usage.
10592 (instrument_derefs): Optionally disable memory access instrumentation.
10593 (instrument_builtin_call): Likewise.
10594 (instrument_strlen_call): Likewise.
10595 (asan_protect_global): Optionally disable global variables protection.
10596 * doc/invoke.texi: Added doc for new options.
10597 * params.def: Added new options.
10598 * params.h: Likewise.
10600 2014-01-09 Jakub Jelinek <jakub@redhat.com>
10602 PR rtl-optimization/59724
10603 * ifcvt.c (cond_exec_process_if_block): Don't call
10604 flow_find_head_matching_sequence with 0 longest_match.
10605 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
10606 non-active insns if !stop_after.
10607 (try_head_merge_bb): Revert 2014-01-07 changes.
10609 2014-01-08 Jeff Law <law@redhat.com>
10611 * ree.c (get_sub_rtx): New function, extracted from...
10612 (merge_def_and_ext): Here.
10613 (combine_reaching_defs): Use get_sub_rtx.
10615 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
10617 * cgraph.h (varpool_variable_node): Do not choke on null node.
10619 2014-01-08 Catherine Moore <clm@codesourcery.com>
10621 * config/mips/mips.md (simple_return): Attempt to use JRC
10623 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
10625 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
10627 PR rtl-optimization/59137
10628 * reorg.c (steal_delay_list_from_target): Call update_block for
10630 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
10632 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10634 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
10635 two duplicate entries.
10637 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
10640 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
10642 * config/mips/mips.c (mips_truncated_op_cost): New function.
10643 (mips_rtx_costs): Adjust test for BADDU.
10644 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
10646 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
10648 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
10649 (*baddu_si): ...this new pattern.
10651 2014-01-08 Jakub Jelinek <jakub@redhat.com>
10654 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
10656 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
10658 PR middle-end/57748
10659 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
10661 (expand_expr, expand_normal): Adjust.
10662 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
10663 inner_reference_p. Use inner_reference_p to expand inner references.
10664 (store_expr): Adjust.
10665 * cfgexpand.c (expand_call_stmt): Adjust.
10667 2014-01-08 Rong Xu <xur@google.com>
10669 * gcov-io.c (gcov_var): Move from gcov-io.h.
10670 (gcov_position): Ditto.
10671 (gcov_is_error): Ditto.
10672 (gcov_rewrite): Ditto.
10673 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
10674 only part to libgcc/libgcov.h.
10676 2014-01-08 Marek Polacek <polacek@redhat.com>
10678 PR middle-end/59669
10679 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
10681 2014-01-08 Marek Polacek <polacek@redhat.com>
10684 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
10686 2014-01-08 Jakub Jelinek <jakub@redhat.com>
10688 PR rtl-optimization/59649
10689 * stor-layout.c (get_mode_bounds): For BImode return
10690 0 and STORE_FLAG_VALUE.
10692 2014-01-08 Richard Biener <rguenther@suse.de>
10694 PR middle-end/59630
10695 * gimple.h (is_gimple_builtin_call): Remove.
10696 (gimple_builtin_call_types_compatible_p): New.
10697 (gimple_call_builtin_p): New overload.
10698 * gimple.c (is_gimple_builtin_call): Remove.
10699 (validate_call): Rename to ...
10700 (gimple_builtin_call_types_compatible_p): ... this and export. Also
10701 check return types.
10702 (validate_type): New static function.
10703 (gimple_call_builtin_p): New overload and adjust.
10704 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
10705 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
10706 (gimple_fold_stmt_to_constant_1): Likewise.
10707 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
10709 2014-01-08 Richard Biener <rguenther@suse.de>
10711 PR middle-end/59471
10712 * gimplify.c (gimplify_expr): Gimplify register-register type
10713 VIEW_CONVERT_EXPRs to separate stmts.
10715 2014-01-07 Jeff Law <law@redhat.com>
10717 PR middle-end/53623
10718 * ree.c (combine_set_extension): Handle case where source
10719 and destination registers in an extension insn are different.
10720 (combine_reaching_defs): Allow source and destination registers
10721 in extension to be different under limited circumstances.
10722 (add_removable_extension): Remove restriction that the
10723 source and destination registers in the extension are the same.
10724 (find_and_remove_re): Emit a copy from the extension's
10725 destination to its source after the defining insn if
10726 the source and destination registers are different.
10728 PR middle-end/59285
10729 * ifcvt.c (merge_if_block): If we are merging a block with more than
10730 one successor with a block with no successors, remove any BARRIER
10731 after the second block.
10733 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
10735 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
10737 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
10740 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
10741 for 14-bit register offsets when INT14_OK_STRICT is false.
10743 2014-01-07 Roland Stigge <stigge@antcom.de>
10744 Michael Meissner <meissner@linux.vnet.ibm.com>
10747 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
10748 Only check TFmode for SPE constants. Don't check TImode or TDmode.
10750 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
10752 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
10755 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
10757 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
10758 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
10759 rtx is const0_rtx or not.
10761 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
10764 * target-globals.c (save_target_globals): Remove this_fn_optab
10766 * toplev.c: Include optabs.h.
10767 (target_reinit): Temporarily restore the global options if another
10768 set of options are in force.
10770 2014-01-07 Jakub Jelinek <jakub@redhat.com>
10772 PR rtl-optimization/58668
10773 * cfgcleanup.c (flow_find_cross_jump): Don't count
10774 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
10775 to determine what is counted.
10776 (flow_find_head_matching_sequence): Use active_insn_p to determine
10778 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
10780 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
10781 determine what is counted.
10783 PR tree-optimization/59643
10784 * tree-predcom.c (split_data_refs_to_components): If one dr is
10785 read and one write, determine_offset fails and the write isn't
10786 in the bad component, just put the read into the bad component.
10788 2014-01-07 Mike Stump <mikestump@comcast.net>
10789 Jakub Jelinek <jakub@redhat.com>
10792 * tree-core.h (struct tree_optimization_option): Change optabs
10793 type from unsigned char * to void *.
10794 * optabs.c (init_tree_optimization_optabs): Adjust
10795 TREE_OPTIMIZATION_OPTABS initialization.
10797 2014-01-06 Jakub Jelinek <jakub@redhat.com>
10800 * config/i386/i386.h (struct machine_function): Add
10801 no_drap_save_restore field.
10802 * config/i386/i386.c (ix86_save_reg): Use
10803 !cfun->machine->no_drap_save_restore instead of
10804 crtl->stack_realign_needed.
10805 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
10806 this function clears frame_pointer_needed. Set
10807 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
10808 and DRAP reg is needed.
10810 2014-01-06 Marek Polacek <polacek@redhat.com>
10813 * doc/implement-c.texi: Mention that other integer types are
10814 permitted as bit-field types in strictly conforming mode.
10816 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
10818 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
10819 is newly allocated.
10821 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
10823 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
10825 2014-01-06 Martin Jambor <mjambor@suse.cz>
10828 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
10830 * ipa-prop.c (ipa_print_node_params): Fix indentation.
10832 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
10836 * var-tracking.c (add_stores): Preserve the value of the source even if
10837 we don't record the store.
10839 2014-01-06 Terry Guo <terry.guo@arm.com>
10841 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
10843 2014-01-05 Iain Sandoe <iain@codesourcery.com>
10846 * config/darwin.c (darwin_function_section): Adjust return values to
10847 correspond to optimisation changes made in r206070.
10849 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
10851 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
10852 from prefetch_block tune setting.
10853 (nocona_cost): Correct size of prefetch block to 64.
10855 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
10857 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
10858 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
10859 used to save the static chain register in the computation of the offset
10860 from which the FP registers need to be restored.
10862 2014-01-04 Jakub Jelinek <jakub@redhat.com>
10864 PR tree-optimization/59519
10865 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
10866 ICE if get_current_def (current_new_name) is already non-NULL, as long
10867 as it is a phi result of some other phi in *new_exit_bb that has
10870 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
10871 or vmovdqu* for misaligned_operand.
10872 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
10873 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
10874 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
10875 aligned_mem for AVX512F masked aligned load and store builtins and for
10876 non-temporal moves.
10878 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
10880 PR tree-optimization/59651
10881 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
10882 Address range for negative step should be added by TYPE_SIZE_UNIT.
10884 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
10886 * config/m68k/m68k.c (handle_move_double): Handle pushes with
10887 overlapping registers also for registers other than the stack pointer.
10889 2014-01-03 Marek Polacek <polacek@redhat.com>
10892 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
10895 2014-01-03 Jakub Jelinek <jakub@redhat.com>
10898 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
10901 * config/i386/i386.md (MODE_SIZE): New mode attribute.
10902 (push splitter): Use <P:MODE_SIZE> instead of
10903 GET_MODE_SIZE (<P:MODE>mode).
10904 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
10905 (mov -1, reg peephole2): Likewise.
10906 * config/i386/sse.md (*mov<mode>_internal,
10907 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
10908 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
10909 *<code><mode>3, *andnot<mode>3<mask_name>,
10910 <mask_codefor><code><mode>3<mask_name>): Likewise.
10911 * config/i386/subst.md (mask_mode512bit_condition,
10912 sd_mask_mode512bit_condition): Likewise.
10914 2014-01-02 Xinliang David Li <davidxl@google.com>
10916 PR tree-optimization/59303
10917 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
10918 (dump_predicates): Better output format.
10919 (pred_equal_p): New function.
10920 (is_neq_relop_p): Ditto.
10921 (is_neq_zero_form_p): Ditto.
10922 (pred_expr_equal_p): Ditto.
10923 (pred_neg_p): Ditto.
10924 (simplify_pred): Ditto.
10925 (simplify_preds_2): Ditto.
10926 (simplify_preds_3): Ditto.
10927 (simplify_preds_4): Ditto.
10928 (simplify_preds): Ditto.
10929 (push_pred): Ditto.
10930 (push_to_worklist): Ditto.
10931 (get_pred_info_from_cmp): Ditto.
10932 (is_degenerated_phi): Ditto.
10933 (normalize_one_pred_1): Ditto.
10934 (normalize_one_pred): Ditto.
10935 (normalize_one_pred_chain): Ditto.
10936 (normalize_preds): Ditto.
10937 (normalize_cond_1): Remove function.
10938 (normalize_cond): Ditto.
10939 (is_gcond_subset_of): Ditto.
10940 (is_subset_of_any): Ditto.
10941 (is_or_set_subset_of): Ditto.
10942 (is_and_set_subset_of): Ditto.
10943 (is_norm_cond_subset_of): Ditto.
10944 (pred_chain_length_cmp): Ditto.
10945 (convert_control_dep_chain_into_preds): Type change.
10946 (find_predicates): Ditto.
10947 (find_def_preds): Ditto.
10948 (destroy_predicates_vecs): Ditto.
10949 (find_matching_predicates_in_rest_chains): Ditto.
10950 (use_pred_not_overlap_with_undef_path_pred): Ditto.
10951 (is_pred_expr_subset): Ditto.
10952 (is_pred_chain_subset_of): Ditto.
10953 (is_included_in): Ditto.
10954 (is_superset_of): Ditto.
10956 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10958 Update copyright years.
10960 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
10962 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
10963 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10964 config/arc/arc.md, config/arc/arc.opt,
10965 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
10966 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
10967 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
10968 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
10969 config/linux-protos.h, config/linux.c, config/winnt-c.c,
10970 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
10971 vtable-verify.c, vtable-verify.h: Use the standard form for the
10974 2014-01-02 Tobias Burnus <burnus@net-b.de>
10976 * gcc.c (process_command): Update copyright notice dates.
10977 * gcov-dump.c: Ditto.
10979 * doc/cpp.texi: Bump @copying's copyright year.
10980 * doc/cppinternals.texi: Ditto.
10981 * doc/gcc.texi: Ditto.
10982 * doc/gccint.texi: Ditto.
10983 * doc/gcov.texi: Ditto.
10984 * doc/install.texi: Ditto.
10985 * doc/invoke.texi: Ditto.
10987 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
10989 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
10991 2014-01-01 Jakub Jelinek <jakub@redhat.com>
10993 * config/i386/sse.md (*mov<mode>_internal): Guard
10994 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
10996 PR rtl-optimization/59647
10997 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
10998 new_rtx into UNSIGNED_FLOAT rtxes.
11000 Copyright (C) 2014 Free Software Foundation, Inc.
11002 Copying and distribution of this file, with or without modification,
11003 are permitted in any medium without royalty provided the copyright
11004 notice and this notice are preserved.