Daily bump.
[official-gcc.git] / gcc / ChangeLog
blob6ab927769cd55c204ec7841b0fdfee9bc74cc2e5
1 2015-04-09  Vladimir Makarov  <vmakarov@redhat.com>
3         PR target/65710
4         * lra-int.h (lra_bad_spill_regno_start): New.
5         * lra.c (lra_bad_spill_regno_start): New.
6         (lra): Set up lra_bad_spill_regno_start.  Set up
7         lra_constraint_new_regno_start unconditionally.
8         * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
9         spill preferences.
11 2015-04-07  Richard Biener  <rguenther@suse.de>
13         Backport from mainline
14         2015-04-04  Richard Biener  <rguenther@suse.de>
16         PR tree-optimization/64909
17         PR tree-optimization/65660
18         * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
19         to take a cost vector for scalar iteration cost.
20         (vect_get_single_scalar_iteration_cost): Likewise.
21         * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
22         Compute the scalar iteration cost into a cost vector.
23         (vect_get_known_peeling_cost): Use the scalar cost vector to
24         account for the cost of the peeled iterations.
25         (vect_estimate_min_profitable_iters): Likewise.
26         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
27         Likewise.
29 2015-04-05  Yvan Roux  <yvan.roux@linaro.org>
31         Backport from trunk r221867
32         2015-04-04  Vladimir Makarov  <vmakarov@redhat.com>
34         PR target/65647
35         * lra.c (lra): Stop updating lra_constraint_new_regno_start after
36         switching off inheritance.
38 2015-04-02  John David Anglin  <danglin@gcc.gnu.org>
40         * config/pa/pa.c (pa_output_move_double): Directly handle register
41         indexed memory operand.  Simplify handling of scaled register indexed
42         memory operands.
44 2015-03-31  Dominik Vogt  <vogt@linux.vnet.ibm.com>
46         * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
47         nested functions.
48         (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
49         (s390_asm_output_function_label): Adapt to new signature of
50         s390_function_num_hotpatch_hw
51         Optimise the code generating assembler output.
52         Add comments to assembler file.
54 2015-03-27  Vladimir Makarov  <vmakarov@redhat.com>
56         Backport from mainline
57         2015-01-30  Vladimir Makarov  <vmakarov@redhat.com>
59         PR target/64688
60         * lra-constraints.c (original_subreg_reg_mode): New.
61         (simplify_operand_subreg): Try to simplify subreg of const.  Use
62         original_subreg_reg_mode for it.
63         (swap_operands): Update original_subreg_reg_mode.
64         (curr_insn_transform): Set up original_subreg_reg_mode.
66 2015-03-26  Uros Bizjak  <ubizjak@gmail.com>
68         PR target/65561
69         * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
70         Check operand 6 and operand 0 for equality.
71         (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
72         for equality.
73         (vec_extract_hi_<mode>_maskm): Ditto.
75 2015-03-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
77         Backport of r214242, r214254, and bug fix patches from mainline
78         * config/rs6000/rs6000.c (context.h): New #include.
79         (tree-pass.h): Likewise.
80         (make_pass_analyze_swaps): New declaration.
81         (rs6000_option_override): Register swap-optimization pass.
82         (swap_web_entry): New class.
83         (special_handling_values): New enum.
84         (union_defs): New function.
85         (union_uses): Likewise.
86         (insn_is_load_p): Likewise.
87         (insn_is_store_p): Likewise.
88         (insn_is_swap_p): Likewise.
89         (rtx_is_swappable_p): Likewise.
90         (insn_is_swappable_p): Likewise.
91         (chain_purpose): New enum.
92         (chain_contains_only_swaps): New function.
93         (mark_swaps_for_removal): Likewise.
94         (swap_const_vector_halves): Likewise.
95         (adjust_subreg_index): Likewise.
96         (permute_load): Likewise.
97         (permute_store): Likewise.
98         (adjust_extract): Likewise.
99         (adjust_splat): Likewise.
100         (handle_special_swappables): Likewise.
101         (replace_swap_with_copy): Likewise.
102         (dump_swap_insn_table): Likewise.
103         (rs6000_analyze_swaps): Likewise.
104         (pass_data_analyze_swaps): New pass_data.
105         (pass_analyze_swaps): New class.
106         (pass_analyze_swaps::gate): New method.
107         (pass_analyze_swaps::execute): New method.
108         (make_pass_analyze_swaps): New function.
109         * config/rs6000/rs6000.opt (moptimize-swaps): New option.
110         * df.h (web_entry_base): New class, replacing struct web_entry.
111         (web_entry_base::pred): New method.
112         (web_entry_base::set_pred): Likewise.
113         (web_entry_base::unionfind_root): Likewise.
114         (web_entry_base::unionfind_union): Likewise.
115         (unionfind_root): Delete external reference.
116         (unionfind_union): Likewise.
117         (union_defs): Likewise.
118         * web.c (web_entry_base::unionfind_root): Convert to method.
119         (web_entry_base::unionfind_union): Likewise.
120         (web_entry): New class.
121         (union_match_dups): Convert to use class structure.
122         (union_defs): Likewise.
123         (entry_register): Likewise.
124         (web_main): Likewise.
126 2015-03-26  Alan Modra  <amodra@gmail.com>
128         PR target/63150
129         Backport from trunk 211857 and 221445.
130         2014-06-20  Maciej W. Rozycki  <macro@codesourcery.com>
131         * config/rs6000/rs6000.md: Append `DONE' to preparation
132         statements of `bswap' pattern splitters.
134         2015-03-16  Alan Modra  <amodra@gmail.com>
135         * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
136         Modify Z->r bswapdi splitter to use dest in place of scratch.
137         In r->Z and Z->r bswapdi splitter rename word_high, word_low
138         to word1, word2 and rearrange logic to suit.
139         (bswapdi2_64bit): Remove early clobber on Z->r alternative.
140         (bswapdi2_ldbrx): Likewise.  Remove '??' on r->r.
141         (bswapdi2_32bit): Remove early clobber on Z->r alternative.
142         Add one '?' on r->r.  Modify Z->r splitter to avoid need for
143         early clobber.
145 2015-03-26  Oleg Endo  <olegendo@gcc.gnu.org>
147         Backport from mainline
148         2015-03-26  Oleg Endo  <olegendo@gcc.gnu.org>
150         * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
152 2015-03-24  Uros Bizjak  <ubizjak@gmail.com>
154         PR rtl-optimization/60851
155         * recog.c (constrain_operands): Accept a pseudo register before reload
156         for LRA enabled targets.
158 2015-03-23  Yvan Roux  <yvan.roux@linaro.org>
160         Backport from trunk r220616.
161         2015-02-11  Martin Liska  <mliska@suse.cz>
163         PR ipa/64813
164         * cgraphunit.c (cgraph_node::expand_thunk): Do not create a return
165         value for call to a function that is noreturn.
167 2015-03-23  Yvan Roux  <yvan.roux@linaro.org>
169         Backport from trunk r216841.
170         2014-10-29  Martin Liska  <mliska@suse.cz>
172         PR ipa/63587
173         * cgraphunit.c (cgraph_node::expand_thunk): Only VAR_DECLs are put
174         to local declarations.
175         * function.c (add_local_decl): Implementation moved from header file,
176         assert introduced for tree type.
177         * function.h: Likewise.
179 2015-03-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
181         Backport from mainline
182         2015-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
184         PR rtl-optimization/65235
185         * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
186         When first element of vec_concat is const_int, calculate its size
187         using second element.
189 2015-03-16  Eric Botcazou  <ebotcazou@adacore.com>
191         PR middle-end/65409
192         * expr.c (store_field): Do not do a direct block copy if the source is
193         a PARALLEL with BLKmode.
195 2015-03-12  Dominik Vogt  <vogt@linux.vnet.ibm.com>
197         Backport from mainline
198         * config/s390/s390.c (s390_reorg): Move code to output nops after label
199         to s390_reorg ().
200         (s390_asm_output_function_label): Likewise.
201         * config/s390/s390.c (s390_asm_output_function_label):
202         Fix function label alignment with -mhtopatch.
203         * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
204         UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
205         ("nop_2_byte"): New define_insn.
206         ("nop_4_byte"): Likewise.
207         ("nop_6_byte"): Likewise.
208         * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
209         * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
211 2015-03-12  Marek Polacek  <polacek@redhat.com>
213         Backported from mainline
214         2015-03-11  Marek Polacek  <polacek@redhat.com>
216         PR tree-optimization/65388
217         * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
219 2015-03-11  Georg-Johann Lay  <avr@gjlay.de>
221         PR target/65296
222         * configure.ac [avr]: Check as for option -mrmw.
223         * configure: Regenerate.
224         * config.in: Regenerate.
225         * config/avr/driver-avr.c (avr_device_to_as): Don't add -mrmw to
226         assembler options if not HAVE_AS_AVR_MRMW_OPTION.
228 2015-03-11  Marek Polacek  <polacek@redhat.com>
230         Backported from mainline
231         2014-12-04  Marek Polacek  <polacek@redhat.com>
233         PR middle-end/56917
234         * fold-const.c (fold_unary_loc): Perform the negation in A's type
235         when transforming ~ (A - 1) or ~ (A + -1) to -A.
237 2015-03-10  Yvan Roux  <yvan.roux@linaro.org>
239         Backport from trunk r220489.
240         2015-02-06  Jakub Jelinek  <jakub@redhat.com>
242         PR ipa/64896
243         * cgraphunit.c (cgraph_node::expand_thunk): If
244         restype is not is_gimple_reg_type nor the thunk_fndecl
245         returns aggregate_value_p, set restmp to a temporary variable
246         instead of resdecl.
248 2015-03-10  Jakub Jelinek  <jakub@redhat.com>
250         PR target/65286
251         * config/rs6000/t-linux: For powerpc64* target set
252         MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
254 2015-03-10  Oleg Endo  <olegendo@gcc.gnu.org>
256         PR target/53988
257         * config/sh/sh.md (*tst<mode>_t_zero): Remove insns.
259 2015-03-10  Alan Modra  <amodra@gmail.com>
261         PR target/65286
262         * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
263         to be single-arch by default.  Set cpu_is_64bit for powerpc64
264         given --with-cpu=native.
265         * config/rs6000/t-fprules: Do not set default MULTILIB vars.
266         * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
267         and powerpc64le.
268         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
269         rs6000_isa_flags rather than TARGET_64BIT.
271 2015-03-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
273         Backport from trunk
274         2015-03-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
276         PR 65138/target
277         * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
278         processor type for 64-bit little endian PowerPC.
280         * config/rs6000/rs6000.c (rs6000_option_override_internal): If
281         -mdebug=reg, print TARGET_DEFAULT.  Fix logic to use
282         TARGET_DEFAULT if there is no default cpu.  Fix -mdebug=reg
283         printing built-in mask so it does not pass NULL pointers.
285         * config/rs6000/rs6000-tables.opt: Regenerate.
287         * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
288         -mcpu=powerpc64le.
290         Backport from trunk
291         2015-01-19  David Edelsohn  <dje.gcc@gmail.com>
293         * config/rs6000/default64.h: Include rs6000-cpus.def.
294         (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
295         (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
296         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
297         and POWER8.
298         * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
299         POWER8.
300         * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
301         pseudo-op to specify assembler dialect.
303 2015-03-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
305         Backport from mainline
306         2014-11-27  Thomas Preud'homme  <thomas.preudhomme@arm.com>
308         PR target/59593
309         * config/arm/arm.c (dump_minipool): dispatch to consttable pattern
310         based on mode size.
311         * config/arm/arm.md (consttable_1): Make it TARGET_EITHER.
312         (consttable_2): Make it TARGET_EITHER and move HFmode handling from
313         consttable_4 to it.
314         (consttable_4): Move HFmode handling to consttable_2 pattern.
316 2015-03-03  Kaz Kojima  <kkojima@gcc.gnu.org>
318         PR target/65249
319         * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
320         called for __stack_chk_guard symbol.
322 2015-03-03  Georg-Johann Lay  <avr@gjlay.de>
324         PR target/64331
325         * config/avr/avr.c (context.h, tree-pass.h): Include them.
326         (avr_pass_data_recompute_notes): New static variable.
327         (avr_pass_recompute_notes): New class.
328         (avr_register_passes): New static function.
329         (avr_option_override): Call it.
331 2015-03-03  Eric Botcazou  <ebotcazou@adacore.com>
333         * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
334         to create a register in testing mode.
336 2015-03-03  Thomas Preud'homme  <thomas.preudhomme@arm.com>
338         Backport from mainline
339         2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
341         PR target/64453
342         * config/arm/arm.c (callee_saved_reg_p): Define.
343         (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
344         register is callee saved instead of !call_used_regs[reg].
345         (thumb1_compute_save_reg_mask): Likewise.
347 2015-02-27  Richard Biener  <rguenther@suse.de>
349         PR middle-end/63175
350         * builtins.c (get_object_alignment_2): Make sure to re-apply
351         the ANDed mask after recursing to its operand gets us a new
352         misalignment bit position.
354 2015-02-27  Andrew Pinski  <apinski@cavium.com>
355             Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
357         * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
358         Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
360 2015-02-27  Richard Biener  <rguenther@suse.de>
362         PR lto/65193
363         Backport from mainline
364         2014-07-24  Jan Hubicka  <hubicka@ucw.cz>
366         * lto-streamer-out.c (tree_is_indexable): Consider IMPORTED_DECL
367         as non-indexable.
369 2015-02-25  Peter Bergner  <bergner@vnet.ibm.com>
371         Backport from mainline
372         2015-02-25  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
374         * config/rs6000/htm.md (tcheck): Fix assembly encoding.
376 2015-02-26  Matthew Fortune  <matthew.fortune@imgtec.com>
378         PR target/64569
379         Backported from mainline: r213872, r217446, r217939, r219867
381         * config.in [!USED_FOR_TARGET] (HAVE_AS_DOT_MODULE): Undefine.
382         * config/mips/mips.h (FP_ASM_SPEC): New macro.
383         (ASM_SPEC): Use FP_ASM_SPEC.
384         * configure.ac (HAVE_AS_DOT_MODULE): Detect support for .module
385         and FPXX extensions.
386         * configure: Regenerate.
388 2015-02-25  Jason Merrill  <jason@redhat.com>
390         * common.opt (-flifetime-dse): New.
392 2015-02-25  Kai Tietz  <ktietz@redhat.com>
394         PR tree-optimization/61917
395         * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
396         that reduc_def_stmt is null.
398         Merged from mainline
399         PR target/64212
400         * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
401         (symtab::noninterposable_alias): Likewise.
403 2015-02-25  Richard Biener  <rguenther@suse.de>
404         Kai Tietz  <ktietz@redhat.com>
406         Backported from mainline
407         PR tree-optimization/61917
408         * tree-vect-loop.c (vectorizable_reduction): Allow
409         vect_internal_def without reduction to exit graceful.
411 2015-02-25  Georg-Johann Lay  <avr@gjlay.de>
413         PR target/65196
414         * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
415         only with NONDEBUG_INSN_P.
417 2015-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
419         Backport from mainline
420         2015-02-23  Kaz Kojima  <kkojima@gcc.gnu.org>
422         PR target/65153
423         * config/sh/sh.md (movsicc_true+3): Remove peephole.
424         * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
425         * config/sh/sh.c (replace_n_hard_rtx): Remove.
427 2015-02-24  Richard Biener  <rguenther@suse.de>
429         Backport from mainline
430         2015-02-11  Richard Biener  <rguenther@suse.de>
432         PR lto/65015
433         * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
434         and -fresolution.
436         2015-02-13  Richard Biener  <rguenther@suse.de>
438         PR lto/65015
439         * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
440         for LTO produced CUs.
442         2015-02-16  Richard Biener  <rguenther@suse.de>
444         PR lto/65015
445         * varasm.c (default_file_start): For LTO produced units
446         emit <artificial> as file directive.
448         2015-01-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
450         * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
452 2015-02-23  Oleg Endo  <olegendo@gcc.gnu.org>
454         Backport from mainline
455         2015-02-23  Oleg Endo  <olegendo@gcc.gnu.org>
457         PR target/65163
458         * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
459         instead of const_int 4294901760.
461 2015-02-23  Richard Biener  <rguenther@suse.de>
463         Backport from mainline
464         2014-11-19  Richard Biener  <rguenther@suse.de>
466         PR tree-optimization/63844
467         * omp-low.c (fixup_child_record_type): Use a restrict qualified
468         referece type for the receiver parameter.
470         2014-11-27  Richard Biener  <rguenther@suse.de>
472         PR tree-optimization/61634
473         * tree-vect-slp.c: Include gimple-walk.h.
474         (vect_detect_hybrid_slp_stmts): Rewrite to propagate hybrid
475         down the SLP tree for one scalar statement.
476         (vect_detect_hybrid_slp_1): New walker function.
477         (vect_detect_hybrid_slp_2): Likewise.
478         (vect_detect_hybrid_slp): Properly handle pattern statements
479         in a pre-scan over all loop stmts.
481         2015-01-14  Richard Biener  <rguenther@suse.de>
483         PR tree-optimization/59354
484         * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
485         groups larger than the slp group size as having gaps.
487         2015-02-10  Richard Biener  <rguenther@suse.de>
489         PR tree-optimization/64909
490         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
491         pass a scalar-stmt count estimate to the cost model.
492         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
494 2015-02-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
496         Backport from mainline
497         2015-02-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
499         * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
500         Mark operand 0 as earlyclobber in 2nd alternative.
501         (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
502         Write negated shift amount into QI lowpart operand 0 and use it
503         in the shift step.
504         (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
506 2015-02-20  Georg-Johann Lay  <avr@gjlay.de>
508         Backport from 2015-02-20 trunk r220847.
510         PR target/64452
511         * config/avr/avr.md (pushhi_insn): New insn.
512         (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
514 2015-02-20  Richard Biener  <rguenther@suse.de>
516         Backport from mainline
517         2015-01-12  Richard Biener  <rguenther@suse.de>
519         PR tree-optimization/64530
520         * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
521         back dr1.
523         2015-02-13  Richard Biener  <rguenther@suse.de>
525         PR lto/64373
526         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
527         DECL_CONTEXT.
529         2015-02-16  Richard Biener  <rguenther@suse.de>
531         PR tree-optimization/63593
532         * tree-predcom.c (execute_pred_commoning_chain): Delay removing
533         stmts and releasing SSA names until...
534         (execute_pred_commoning): ... after processing all chains.
536         2015-02-18  Richard Biener  <rguenther@suse.de>
538         PR tree-optimization/65063
539         * tree-predcom.c (determine_unroll_factor): Return 1 if we
540         have replaced looparound PHIs.
542 2015-02-19  John David Anglin  <danlgin@gcc.gnu.org>
544         * config/pa/pa.c (pa_reloc_rw_mask): New function.
545         (TARGET_ASM_RELOC_RW_MASK): Define.
546         (pa_cannot_force_const_mem): Revert previous change.
548 2015-02-19  Richard Biener  <rguenther@suse.de>
550         Backport from mainline
551         2014-12-09  Richard Biener  <rguenther@suse.de>
553         PR middle-end/64199
554         * fold-const.c (fold_binary_loc): Use TREE_OVERFLOW_P.
556         2015-01-14  Richard Biener  <rguenther@suse.de>
558         PR tree-optimization/64493
559         PR tree-optimization/64495
560         * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
561         assign the proper vectorized PHI to the inner loop exit PHIs.
563         2015-01-27  Richard Biener  <rguenther@suse.de>
565         PR tree-optimization/56273
566         PR tree-optimization/59124
567         PR tree-optimization/64277
568         * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
569         from the first VRP pass.
571         2015-02-19  Richard Biener  <rguenther@suse.de>
573         Backport from mainline
574         2015-01-15  Richard Biener  <rguenther@suse.de>
576         PR middle-end/64365
577         * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
578         for MEM_REF access functions with the same base can never partially
579         overlap.
581 2015-02-17  Ilya Tocar  <ilya.tocar@intel.com>
583         Backported from mainline
584         2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
586         PR target/64387
587         * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
588         (vec_unpacks_hi_v16sf): Ditto.
590 2015-02-15  John David Anglin  <danglin@gcc.gnu.org>
592         * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
593         for all floading point loads and stores except those using a register
594         index address.
595         * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
596         to a register.
598 2015-02-13  John David Anglin  <danglin@gcc.gnu.org>
600         * config/pa/constraints.md: Change "Q" and "T" constraints to memory
601         constraints.
602         * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
603         symbolic references to data to be forced to constant memory on the
604         SOM target.
606 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
608         Backported from mainline
609         2015-02-09  Jakub Jelinek  <jakub@redhat.com>
611         PR target/64979
612         * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
613         va_list escapes.
615 2015-02-11  Uros Bizjak  <ubizjak@gmail.com>
617         * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
618         and 3 earlyclobber operands.
620 2015-02-09  Dominik Vogt  <vogt@linux.vnet.ibm.com>
622         * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
623         * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
624         -mhotpatch= option.
625         * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
626         -mno-hotpatch options.  Change syntax of -mhotpatch= option.
627         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
628         Renamed.
629         (s390_hotpatch_trampoline_halfwords_max): Renamed.
630         (s390_hotpatch_hw_max): New name.
631         (s390_hotpatch_trampoline_halfwords): Renamed.
632         (s390_hotpatch_hw_before_label): New name.
633         (get_hotpatch_attribute): Removed.
634         (s390_hotpatch_hw_after_label): New name.
635         (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
636         attribute.
637         (s390_attribute_table): Ditto.
638         (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
639         (s390_function_num_hotpatch_hw): New name.
640         Remove special handling of inline functions and hotpatching.
641         Return number of nops before and after the function label.
642         (s390_can_inline_p): Removed.
643         (s390_asm_output_function_label): Emit a configurable number of nops
644         after the function label.
645         (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
646         (TARGET_CAN_INLINE_P) Removed.
647         (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
649 2015-02-05  Segher Boessenkool  <segher@kernel.crashing.org>
651         PR target/64580
652         Backport from mainline
653         * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
654         (rs6000_stack_info): Add assert.
655         (rs6000_output_savres_externs): New function, split off from...
656         (rs6000_output_function_prologue): ... here.  Do not call it for
657         thunks.
659 2015-02-04  Matthias Klose  <doko@ubuntu.com>
661         PR target/64938
662         Backport from mainline
663         2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
665         PR ipa/64068
666         PR ipa/64559
667         * ipa.c (symbol_table::remove_unreachable_nodes):
668         Do not put abstract origins into boundary.
670 2015-02-04  Uros Bizjak  <ubizjak@gmail.com>
672         Backport from mainline
673         2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
675         PR target/64882
676         * config/i386/predicates.md (address_no_seg_operand): Reject
677         non-CONST_INT_P operands in invalid mode.
679         Backport from mainline
680         2015-01-31  Uros Bizjak  <ubizjak@gmail.com>
682         * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
683         address_operand 0.  Rename from *prefetch_prefetchwt1_<mode>.
684         * config/i386/predicates.md (address_no_seg_operand): Call
685         address_operand with VOIDmode.
686         (vsib_address_operand): Ditto.
688 2015-02-01  H.J. Lu  <hongjiu.lu@intel.com>
690         Backported from mainline
691         2015-01-24  H.J. Lu  <hongjiu.lu@intel.com>
693         * config/i386/driver-i386.c (host_detect_local_cpu): Check new
694         Silvermont, Haswell, Broadwell and Knights Landing model numbers.
695         * config/i386/i386.c (processor_model): Add
696         M_INTEL_COREI7_BROADWELL.
697         (arch_names_table): Add "broadwell".
699 2015-02-01  Jakub Jelinek  <jakub@redhat.com>
701         Backported from mainline
702         2015-01-27  Jakub Jelinek  <jakub@redhat.com>
704         PR rtl-optimization/61058
705         * jump.c (cleanup_barriers): Update basic block boundaries
706         if BLOCK_FOR_INSN is non-NULL on PREV.
708         2015-01-26  Jakub Jelinek  <jakub@redhat.com>
710         PR middle-end/64421
711         * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
712         with asterisk, skip the first character.
714         * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
715         OPTION_MASK_QUAD_MEMORY_ATOMIC.
717         2015-01-23  Jakub Jelinek  <jakub@redhat.com>
719         PR rtl-optimization/63637
720         PR rtl-optimization/60663
721         * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
722         if elt->cost is MAX_COST for ASM_OPERANDS.
723         (find_sets_in_insn): Fix up comment typo.
724         (cse_insn): Don't set src_volatile for all non-volatile
725         ASM_OPERANDS in PARALLELs, but just those with multiple outputs
726         or with "memory" clobber.  Set elt->cost to MAX_COST
727         for ASM_OPERANDS in PARALLEL.  Set src_elt->cost to MAX_COST
728         if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
730         PR debug/64511
731         * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
732         GTY markup.
734         2015-01-20  Jakub Jelinek  <jakub@redhat.com>
736         PR debug/64663
737         * dwarf2out.c (decl_piece_node): Don't put bitsize into
738         mode if bitsize <= 0.
739         (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
740         dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
741         sizes and positions.
743 2015-01-29  Ilya Tocar  <ilya.tocar@intel.com>
745         * config/i386/avx2intrin.h (_mm256_bslli_epi128,
746         _mm256_bsrli_epi128): New.
747         * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
749 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
751         * config/s390/s390.c (s390_memory_move_cost): Increase costs for
752         memory accesses.
754 2015-01-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
756         * config/s390/s390.c (s390_register_move_cost): Increase costs for
757         FPR->GPR moves.
759 2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
761         Backport from mainline
762         2015-01-26  Uros Bizjak  <ubizjak@gmail.com>
764         PR target/64795
765         * config/i386/i386.md (*movdi_internal): Also check operand 0
766         to determine TYPE_LEA operand.
767         (*movsi_internal): Ditto.
769         Backport from mainline
770         2015-01-23  Uros Bizjak  <ubizjak@gmail.com>
772         * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
773         alternative 1.
775 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
777         PR middle-end/64734
778         * omp-low.c (scan_sharing_clauses): Don't ignore
779         OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
780         on target data/update constructs.
782 2015-01-23  Wei Mi  <wmi@google.com>
784         Backported from trunk.
785         2015-01-22  Wei Mi  <wmi@google.com>
787         PR rtl-optimization/64557
788         * dse.c (record_store): Call get_addr for mem_addr.
789         (check_mem_read_rtx): Likewise.
791 2015-01-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
793         * config/s390/s390.md (atomic code attribute): Fix typo "ior" ->
794         "or".
796 2015-01-21  Wei Mi  <wmi@google.com>
798         Backported from trunk.
799         2014-11-22  Jan Hubicka  <hubicka@ucw.cz>
801         PR ipa/63970
802         * ipa.c (symbol_table::remove_unreachable_nodes): Mark all inline clones
803         as having abstract origin used.
804         * ipa-inline-transform.c (can_remove_node_now_p_1): Drop abstract
805         origin check.
806         (clone_inlined_nodes): Copy abstract originflag.
807         * lto-cgraph.c (compute_ltrans_boundary): Use get_create to get
808         abstract origin node.
810 2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>
812         Backport from mainline
813         * config/nios2/nios2.c (nios2_asm_file_end): Implement
814         TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
815         needed.
816         (TARGET_ASM_FILE_END): Define.
818 2015-01-15  Martin Liska  <mliska@suse.cz>
820         Backport from mainline
821         2014-11-27  Richard Biener  <rguenther@suse.de>
823         PR middle-end/63704
824         * alias.c (mems_in_disjoint_alias_sets_p): Remove assert
825         and instead return false when !fstrict-aliasing.
827 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
829         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
830         set the memory attributes in all cases but clear MEM_EXPR if need be.
832 2015-01-14  Jakub Jelinek  <jakub@redhat.com>
834         Backported from mainline
835         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
837         PR target/64513
838         * config/i386/i386.c (ix86_expand_prologue): Add
839         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
841         2015-01-13  Jakub Jelinek  <jakub@redhat.com>
843         PR rtl-optimization/64286
844         * ree.c (combine_reaching_defs): Move part of comment earlier,
845         remove !SCALAR_INT_MODE_P check.
846         (add_removable_extension): Don't add vector mode
847         extensions if all uses of the source register aren't the same
848         vector extensions.
850         2015-01-12  Jakub Jelinek  <jakub@redhat.com>
852         PR tree-optimization/64563
853         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
854         instead of != VR_VARYING.
856 2015-01-14  Marek Polacek  <polacek@redhat.com>
858         Backport from mainline
859         2015-01-13  Marek Polacek  <polacek@redhat.com>
861         PR middle-end/64391
862         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
864 2015-01-13  Marc Glisse  <marc.glisse@inria.fr>
866         PR c++/54442
867         * tree.c (build_qualified_type): Use a canonical type for
868         TYPE_CANONICAL.
870 2015-01-13  Pat Haugen  <pthaugen@us.ibm.com>
872         Backport from mainline
873         2014-12-20  Segher Boessenkool  <segher@kernel.crashing.org>
875         PR target/64358
876         * config/rs6000/rs6000.c (rs6000_split_logical_inner): Swap the
877         input operands if only the second is inverted.
878         * config/rs6000/rs6000.md (*boolc<mode>3_internal1 for BOOL_128):
879         Swap BOOL_REGS_OP1 and BOOL_REGS_OP2.  Correct arguments to
880         rs6000_split_logical.
881         (*boolc<mode>3_internal2 for TI2): Swap operands[1] and operands[2].
883 2015-01-13  Renlin Li  <renlin.li@arm.com>
885         Backport from mainline:
886         2014-11-19 Renlin Li <renlin.li@arm.com>
888         PR target/63424
889         * config/aarch64/aarch64-simd.md (<su><maxmin>v2di3): New.
891 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
893         Backport form mainline
894         2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
896         PR target/64479
897         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
899 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
901         PR rtl-optimization/64536
902         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
903         tablejumps.
905 2015-01-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
907         Backport from mainline:
908         2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
910         PR target/64505
911         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
912         correct reload handler if -m32 -mpowerpc64 is used.
914 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
916         Backport from mainline:
917         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
919         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
920         for -mcpu=e6500.
921         * config/rs6000/t-rtems: Add e6500 multilibs.
923 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
925         Backport from mainline:
926         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
928         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
929         MPC8540.
931 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
933         Backport from mainline:
934         2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
936         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
937         MULTILIB_EXCEPTIONS.
939 2015-01-09  Renlin Li  <renlin.li@arm.com>
941         Backport from mainline:
942         2014-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
944         PR target/61413
945         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix definition
946         of __ARM_SIZEOF_WCHAR_T.
948 2015-01-08  Christian Bruel  <christian.bruel@st.com>
950         PR target/64507
951         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
953 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
955         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
956         instead of `m' constraint.  Likewise for unnamed movb comparison
957         patterns using reg_before_reload_operand predicate.
958         * config/pa/predicates.md (reg_before_reload_operand): Tighten
959         predicate to reject register index and LO_SUM DLT memory forms
960         after reload.
962 2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
964         Backport from mainline:
965         2014-12-27  H.J. Lu  <hongjiu.lu@intel.com>
967         PR target/64409
968         * config/i386/i386.c (ix86_function_type_abi): Issue an error
969         when ms_abi attribute is used with x32.
971 2014-12-27  Uros Bizjak  <ubizjak@gmail.com>
973         * config/i386/mmx.md (*vec_extractv2sf_1): Do not emit unpckhps.
974         Emit movshdup for SSE3 and shufps otherwise.
975         (*vec_extractv2si_1): Do not emit punpckhdq and unpckhps.
976         Emit pshufd for SSE2 and shufps otherwise.
978 2014-12-24  Nick Clifton  <nickc@redhat.com>
980         Backport from mainline:
981         2014-06-13  Nick Clifton  <nickc@redhat.com>
983         * config/rx/rx.h (JUMP_ALIGN): Return the log value if user
984         requested alignment is active.
985         (LABEL_ALIGN): Likewise.
986         (LOOP_ALIGN): Likewise.
988         2014-03-25  Nick Clifton  <nickc@redhat.com>
990         * config/rx/rx.c (rx_print_operand): Allow R operator to accept
991         SImode values.
993 2014-12-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
995         Backport from mainline
996         2014-12-03  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
998         PR rtl-optimization/64010
999         * reload.c (push_reload): Before reusing a register contained
1000         in an operand as input reload register, ensure that it is not
1001         used in CALL_INSN_FUNCTION_USAGE.
1003 2014-12-15  Jakub Jelinek  <jakub@redhat.com>
1005         PR sanitizer/64265
1006         * tsan.c (instrument_func_entry): Insert __tsan_func_entry
1007         call on edge from entry block to single succ instead
1008         of after labels of single succ of entry block.
1010 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
1012         Backported from mainline
1013         2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
1015         PR rtl-optimization/64037
1016         * combine.c (setup_incoming_promotions): Pass the argument
1017         before any promotions happen to promote_function_mode.
1019 2014-12-14  H.J. Lu  <hongjiu.lu@intel.com>
1021         Backported from mainline
1022         2014-12-06  H.J. Lu  <hongjiu.lu@intel.com>
1024         PR target/64200
1025         * config/i386/i386.c (decide_alg): Don't assert "alg != libcall"
1026         for TARGET_INLINE_STRINGOPS_DYNAMICALLY.
1028 2014-12-13  Jakub Jelinek  <jakub@redhat.com>
1030         Backported from mainline
1031         2014-12-12  Jakub Jelinek  <jakub@redhat.com>
1033         PR tree-optimization/64269
1034         * tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
1035         len2 or diff are too large.
1037 2014-12-11  Eric Botcazou  <ebotcazou@adacore.com>
1039         * doc/md.texi (Insn Lengths): Fix description of (pc).
1041 2014-12-11  Renlin Li  <renlin.li@arm.com>
1043         Backport from mainline
1044         2014-12-11  Renlin Li  <renlin.li@arm.com>
1046         * config/aarch64/aarch64.c (aarch64_parse_cpu): Don't define
1047         selected_tune.
1048         (aarch64_override_options): Use selected_cpu's tuning.
1050 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1052         Backport from mainline
1053         2014-09-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1055         * config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE):  New
1056         built-in definition.
1057         (XVCVUXDDP_SCALE): Likewise.
1058         (XVCVDPSXDS_SCALE): Likewise.
1059         (XVCVDPUXDS_SCALE): Likewise.
1060         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins):  Add
1061         entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
1062         VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
1063         VSX_BUILTIN_XVCVDPUXDS_SCALE.
1064         * config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
1065         prototype.
1066         * config/rs6000/rs6000.c (real.h): New include.
1067         (rs6000_scale_v2df): New function.
1068         * config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
1069         (UNSPEC_VSX_XVCVUXDDP): Likewise.
1070         (UNSPEC_VSX_XVCVDPSXDS): Likewise.
1071         (UNSPEC_VSX_XVCVDPUXDS): Likewise.
1072         (vsx_xvcvsxddp_scale): New define_expand.
1073         (vsx_xvcvsxddp): New define_insn.
1074         (vsx_xvcvuxddp_scale): New define_expand.
1075         (vsx_xvcvuxddp): New define_insn.
1076         (vsx_xvcvdpsxds_scale): New define_expand.
1077         (vsx_xvcvdpsxds): New define_insn.
1078         (vsx_xvcvdpuxds_scale): New define_expand.
1079         (vsx_xvcvdpuxds): New define_insn.
1080         * doc/extend.texi (vec_ctf): Add new prototypes.
1081         (vec_cts): Likewise.
1082         (vec_ctu): Likewise.
1083         (vec_splat): Likewise.
1084         (vec_div): Likewise.
1085         (vec_mul): Likewise.
1087         Backport from mainline
1088         2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1090         * config/rs6000/altivec.h (vec_xl): New #define.
1091         (vec_xst): Likewise.
1092         * config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
1093         (XXSPLTD_V2DI): Likewise.
1094         (DIV_V2DI): Likewise.
1095         (UDIV_V2DI): Likewise.
1096         (MUL_V2DI): Likewise.
1097         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
1098         entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
1099         VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
1100         VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
1101         * config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
1102         (UNSPEC_VSX_DIVSD): Likewise.
1103         (UNSPEC_VSX_DIVUD): Likewise.
1104         (UNSPEC_VSX_MULSD): Likewise.
1105         (vsx_mul_v2di): New insn-and-split.
1106         (vsx_div_v2di): Likewise.
1107         (vsx_udiv_v2di): Likewise.
1108         (vsx_xxspltd_<mode>): New insn.
1110         Backport from mainline
1111         2014-08-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1113         * config/rs6000/altivec.h (vec_cpsgn): New #define.
1114         (vec_mergee): Likewise.
1115         (vec_mergeo): Likewise.
1116         (vec_cntlz): Likewise.
1117         * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new
1118         entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR,
1119         VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P,
1120         VMRGEW, and VMRGOW.
1121         * doc/extend.texi: Document various forms of vec_cpsgn,
1122         vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor,
1123         vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq,
1124         vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne,
1125         vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt,
1126         vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz.
1128         Backport from mainline
1129         2014-07-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1131         * config/rs6000/altivec.md (unspec enum):  Fix typo in UNSPEC_VSLDOI.
1132         (altivec_vsldoi_<mode>): Likewise.
1135 2014-12-10  Jakub Jelinek  <jakub@redhat.com>
1137         PR tree-optimization/62021
1138         * omp-low.c (simd_clone_adjust_return_type): Use
1139         vector of pointer_sized_int_node types instead vector of pointer
1140         types.
1141         (simd_clone_adjust_argument_types): Likewise.
1143 2014-12-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1145         Backport from mainline:
1146         2014-12-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1148         PR middle-end/64225
1149         * tree-ssa-reassoc.c (acceptable_pow_call): Disable transformation
1150         for BUILT_IN_POW when flag_errno_math is present.
1152 2014-12-10  Marek Polacek  <polacek@redhat.com>
1154         Backport from mainline
1155         2014-12-10  Marek Polacek  <polacek@redhat.com>
1157         PR tree-optimization/61686
1158         * tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
1159         p->high.
1161 2014-12-09  David Edelsohn  <dje.gcc@gmail.com>
1163         Backport from mainline
1164         2014-12-05  David Edelsohn  <dje.gcc@gmail.com>
1166         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_LOCAL): Append
1167         alignment to section name. Increase default alignment to
1168         word.
1170 2014-12-09  Uros Bizjak  <ubizjak@gmail.com>
1172         PR bootstrap/64213
1173         Revert:
1174         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
1176         PR rtl-optimization/64037
1177         * combine.c (setup_incoming_promotions): Pass the argument
1178         before any promotions happen to promote_function_mode.
1180 2014-12-09  Richard Biener  <rguenther@suse.de>
1182         PR tree-optimization/64191
1183         * tree-vect-stmts.c (vect_stmt_relevant_p): Clobbers are
1184         not relevant (nor are their uses).
1186 2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
1188         Backport from mainline
1189         2014-12-07  Oleg Endo  <olegendo@gcc.gnu.org>
1191         PR target/50751
1192         * config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.
1194 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
1196         Backport from mainline
1197         2014-12-02  H.J. Lu  <hongjiu.lu@intel.com>
1199         PR target/64108
1200         * config/i386/i386.c (decide_alg): Stop only if there aren't
1201         any usable algorithms.
1203 2014-12-05  H.J. Lu  <hongjiu.lu@intel.com>
1205         Backport from mainline
1206         2014-11-28  H.J. Lu  <hongjiu.lu@intel.com>
1208         PR rtl-optimization/64037
1209         * combine.c (setup_incoming_promotions): Pass the argument
1210         before any promotions happen to promote_function_mode.
1212 2014-12-04  Tobias Burnus  <burnus@net-b.de>
1214         * configure.ac
1215         (ac_has_isl_schedule_constraints_compute_schedule):
1216         New check.
1217         * graphite-clast-to-gimple.c: For ISL 0.14, include deprecate headers.
1218         * graphite-interchange.c: Ditto.
1219         * graphite-poly.c: Ditto.
1220         * graphite-sese-to-poly.c: Ditto.
1221         * graphite-optimize-isl.c (getScheduleForBandList): Ditto.
1222         Conditionally use ISL 0.13+ functions.
1223         * config.in: Regenerate.
1224         * configure: Regenerate.
1226 2014-12-04  Jakub Jelinek  <jakub@redhat.com>
1228         PR c++/56493
1229         * convert.c (convert_to_real, convert_to_expr, convert_to_complex):
1230         Handle COMPOUND_EXPR.
1232 2014-12-03  Jakub Jelinek  <jakub@redhat.com>
1234         PR c/59708
1235         * expmed.c (expand_widening_mult): Return const0_rtx if
1236         coeff is 0.
1238 2014-12-03  Martin Jambor  <mjambor@suse.cz>
1240         PR ipa/64153
1241         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Check
1242         type sizes before view_converting.
1244 2014-12-03  Shanyao Chen  <chenshanyao@huawei.com>
1246         Backport from mainline
1247         2014-11-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1249         PR target/59593
1250         * config/arm/arm.md (*movhi_insn): Use right formatting
1251         for immediate.
1253         2014-11-19  Felix Yang  <felix.yang@huawei.com>
1254                     Shanyao Chen  <chenshanyao@huawei.com>
1256         PR target/59593
1257         * config/arm/arm.md (define_attr "arch"): Add v6t2.
1258         (define_attr "arch_enabled"): Add test for the above.
1259         (*movhi_insn_arch4): Add new alternative.
1261 2014-12-03  Renlin Li  <Renlin.Li@arm.com>
1263         Backported from mainline
1264         2014-12-03  Renlin Li  <Renlin.Li@arm.com>
1266         PR middle-end/63762
1267         PR target/63661
1268         * ira.c (ira): Update preferred class.
1270 2014-12-02  Uros Bizjak  <ubizjak@gmail.com>
1272         PR target/64113
1273         * config/alpha/alpha.md (call_value_osf_tlsgd): Do not split insn
1274         using post-reload splitter.  Use peephole2 pass instead.
1275         (call_value_osf_tlsldm): Ditto.
1276         (TLS_CALL): New int iterator.
1277         (tls): New int attribute.
1278         (call_value_osf_<tls>): Merge insn pattern from call_value_osf_tlsgd
1279         and call_value_tlsldm using TLS_CALL int iterator.
1281 2014-12-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1283         PR target/64115
1284         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Remove
1285         invalid UNSPEC_TOCREL sanity check under ENABLE_CHECKING.
1287 2014-12-01  Richard Biener  <rguenther@suse.de>
1289         PR middle-end/64111
1290         * tree.c (int_cst_hash_hash): Use TYPE_UID instead of
1291         htab_hash_pointer to not break PCH.
1293 2014-12-01  Martin Jambor  <mjambor@suse.cz>
1295         PR ipa/63551
1296         * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Convert
1297         value of the argument to the type of the value in the condition.
1299 2014-11-28  Jakub Jelinek  <jakub@redhat.com>
1301         Backported from mainline
1302         2014-11-27  Jakub Jelinek  <jakub@redhat.com>
1304         PR middle-end/64067
1305         * expr.c (expand_expr_addr_expr_1) <case COMPOUND_LITERAL_EXPR>:
1306         Handle it by returning address of COMPOUND_LITERAL_EXPR_DECL
1307         not only if modifier is EXPAND_INITIALIZER, but whenever
1308         COMPOUND_LITERAL_EXPR_DECL is non-NULL and TREE_STATIC.
1310         2014-11-19  Jakub Jelinek  <jakub@redhat.com>
1312         PR tree-optimization/63915
1313         * tree-vect-stmts.c (vectorizable_simd_clone_call): Pass
1314         true instead of false as last argument to gsi_replace.
1316         PR sanitizer/63913
1317         * ubsan.c: Include tree-eh.h.
1318         (instrument_bool_enum_load): Handle loads that can throw.
1320         2014-10-31  Jakub Jelinek  <jakub@redhat.com>
1322         PR rtl-optimization/63659
1323         * ree.c (update_reg_equal_equiv_notes): New function.
1324         (combine_set_extension, transform_ifelse): Use it.
1326 2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1328         Backport from mainline.
1329         2014-11-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1331         * config/arm/t-aprofile (MULTILIB_MATCHES): New entry for
1332         -march=armv8-a+crc.
1334 2014-11-26  Richard Biener  <rguenther@suse.de>
1336         PR middle-end/63738
1337         * tree-data-ref.c (split_constant_offset_1): Do not follow
1338         SSA edges for SSA names with SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
1340 2014-11-26  Richard Biener  <rguenther@suse.de>
1342         Backport from mainline
1343         2014-11-26  Richard Biener  <rguenther@suse.de>
1345         PR tree-optimization/62238
1346         * tree-predcom.c (ref_at_iteration): Unshare the expression
1347         before gimplifying it.
1349         2014-11-25  Richard Biener  <rguenther@suse.de>
1351         PR tree-optimization/61927
1352         * tree-vect-loop.c (vect_analyze_loop_2): Revert ordering
1353         of group and pattern analysis to the one in GCC 4.8.
1355         2014-11-07  Richard Biener  <rguenther@suse.de>
1357         PR tree-optimization/63605
1358         * fold-const.c (fold_binary_loc): Properly use element_precision
1359         for types that may not be scalar.
1361         2014-10-28  Richard Biener  <rguenther@suse.de>
1363         PR middle-end/63665
1364         * fold-const.c (fold_comparison): Properly guard simplifying
1365         against INT_MAX/INT_MIN with !TYPE_OVERFLOW_WRAPS.
1367 2014-11-25  Rohit  <rohitarulraj@freescale.com>
1369         PR bootstrap/63703
1370         * config/rs6000/darwin.h (REGISTER_NAMES): Update based on 32 newly
1371         added GCC hard register numbers for SPE high registers.
1373 2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
1375         Backport from mainline
1376         2014-11-23  Oleg Endo  <olegendo@gcc.gnu.org>
1378         PR target/53976
1379         * config/sh/sh_optimize_sett_clrt.cc
1380         (sh_optimize_sett_clrt::find_last_ccreg_values): Return bool instead
1381         of void.  Abort at complex edges.
1382         (sh_optimize_sett_clrt::execute): Do nothing if find_last_ccreg_values
1383         returned false.
1385 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
1387         Backport from mainline
1388         2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
1390         PR target/63783
1391         PR target/51244
1392         * config/sh/sh_treg_combine.cc (sh_treg_combine::make_not_reg_insn):
1393         Do not emit bitwise not insn.  Emit logical not insn sequence instead.
1394         Adjust related comments throughout the file.
1396 2014-11-22  Oleg Endo  <olegendo@gcc.gnu.org>
1398         Backport from mainline
1399         2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
1401         PR target/60111
1402         * config/sh/sh.c: Use signed char for signed field.
1404 2014-11-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1406         PR target/63673
1407         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Allow
1408         the base pointer of vec_vsx_ld and vec_vsx_st to take a pointer to
1409         double.
1411 2014-11-21  Richard Biener  <rguenther@suse.de>
1413         PR tree-optimization/61750
1414         * tree-ssa-forwprop.c (simplify_vce): Verify type sizes
1415         match for the resulting VIEW_CONVERT_EXPR.
1417 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
1419         PR target/63947
1420         * config/i386/i386.c (put_condition_code) <case LTU, case GEU>:
1421         Output "b" and "nb" suffix for FP mode.
1423 2014-11-19  Tom de Vries  <tom@codesourcery.com>
1425         Backport from mainline
1426         PR tree-optimization/62167
1427         * tree-ssa-tail-merge.c (stmt_local_def): Handle statements with vuse
1428         conservatively.
1429         (gimple_equal_p): Don't use vn_valueize to compare for lhs equality of
1430         assigns.
1432 2014-11-16  Eric Botcazou  <ebotcazou@adacore.com>
1434         * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
1435         * doc/tm.texi: Regenerate.
1437 2014-11-14  Felix Yang  <felix.yang@huawei.com>
1439         Backport from mainline
1440         2014-11-14  Felix Yang  <felix.yang@huawei.com>
1441                     Jiji Jiang  <jiangjiji@huawei.com>
1443         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): Use
1444         VALL mode iterator instead of VALLDI.
1446 2014-11-13  Teresa Johnson  <tejohnson@google.com>
1448         PR tree-optimization/63841
1449         * tree-ssa-strlen.c (strlen_optimize_stmt): Ignore clobbers.
1451 2014-11-13  Christophe Lyon  <christophe.lyon@linaro.org>
1453         Backport from mainline
1454         2014-11-02  Michael Collison  <michael.collison@linaro.org>
1456         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO) : Update
1457         to support vector modes.
1458         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
1460 2014-11-13  Eric Botcazou  <ebotcazou@adacore.com>
1462         * doc/tm.texi.in (SELECT_CC_MODE): Update example.
1463         (REVERSIBLE_CC_MODE): Fix example.
1464         (REVERSE_CONDITION): Fix typo.
1465         * doc/tm.texi: Regenerate.
1467 2014-11-12  Jakub Jelinek  <jakub@redhat.com>
1469         PR ipa/63838
1470         * ipa-pure-const.c (propagate_nothrow): Walk w->indirect_calls
1471         chain instead of node->indirect_calls.
1473 2014-11-11  Eric Botcazou  <ebotcazou@adacore.com>
1475         PR target/61535
1476         * config/sparc/sparc.c (function_arg_vector_value): Deal with vectors
1477         smaller than 8 bytes.
1478         (sparc_function_arg_1): Tweak.
1479         (sparc_function_value_1): Tweak.
1481 2014-11-08  Eric Botcazou  <ebotcazou@adacore.com>
1483         * config/arm/arm.c (arm_set_return_address): Mark the store as frame
1484         related, if any.
1485         (thumb_set_return_address): Likewise.
1487 2014-11-07  Daniel Hellstrom  <daniel@gaisler.com>
1489         * config.gcc (sparc-*-rtems*): Clean away unused t-elf.
1490         * config/sparc/t-rtems: Add leon3v7 and muser-mode multilibs.
1492 2014-11-07  Marek Polacek  <polacek@redhat.com>
1494         Backported from mainline
1495         2014-10-23  Marek Polacek  <polacek@redhat.com>
1497         * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
1498         in unsigned type.
1500 2014-11-06  John David Anglin  <danglin@gcc.gnu.org>
1502         * config/pa/pa.md (trap): New insn.  Add "trap" to attribute type.
1503         Don't allow trap insn in in_branch_delay, in_nullified_branch_delay
1504         or in_call_delay.
1506 2014-11-06  Daniel Hellstrom  <daniel@gaisler.com>
1508         * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor.
1509         * doc/invoke.texi (SPARC options): Add mcpu=leon3v7 comment.
1510         * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*): Handle
1511         leon3v7 as leon3.
1512         * config/sparc/sparc-opts.h (enum processor_type): Add LEON3V7.
1513         * config/sparc/sparc.c (sparc_option_override): Add leon3v7 support.
1514         * config/sparc/sparc.h (TARGET_CPU_leon3v7): New define.
1515         * config/sparc/sparc.md (cpu): Add leon3v7.
1516         * config/sparc/sparc.opt (enum processor_type): Add leon3v7.
1518 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
1520         PR target/63538
1521         * config/i386/i386.c (in_large_data_p): Reject automatic variables.
1522         (ix86_encode_section_info): Do not check for non-automatic varibles
1523         when setting SYMBOL_FLAG_FAR_ADDR flag.
1524         (x86_64_elf_select_section): Do not check ix86_cmodel here.
1525         (x86_64_elf_unique_section): Ditto.
1526         (x86_elf_aligned_common): Emit tab before .largecomm.
1528 2014-11-05  Uros Bizjak  <ubizjak@gmail.com>
1530         Backport from mainline:
1531         2014-10-20  Uros Bizjak  <ubizjak@gmail.com>
1533         * varasm.c (const_alias_set): Remove.
1534         (init_varasm_once): Remove initialization of const_alias_set.
1535         (build_constant_desc): Do not set alias set to const_alias_set.
1537         Backport from mainline:
1538         2014-10-14  Uros Bizjak  <ubizjak@gmail.com>
1540         PR rtl-optimization/63475
1541         * alias.c (true_dependence_1): Always use get_addr to extract
1542         true address operands from x_addr and mem_addr.  Use extracted
1543         address operands to check for references with alignment ANDs.
1544         Use extracted address operands with find_base_term and
1545         base_alias_check. For noncanonicalized operands call canon_rtx with
1546         extracted address operand.
1547         (write_dependence_1): Ditto.
1548         (may_alias_p): Ditto.  Remove unused calls to canon_rtx.
1550         Backport from mainline:
1551         2014-10-10  Uros Bizjak  <ubizjak@gmail.com>
1553         PR rtl-optimization/63483
1554         * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P
1555         references when alignment ANDs are involved.
1556         (write_dependence_p): Ditto.
1557         (may_alias_p): Ditto.
1559 2014-10-31  DJ Delorie  <dj@redhat.com>
1561         * expmed.c (strict_volatile_bitfield_p): Fix off-by-one error.
1563 2014-10-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1565         * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define.
1566         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1567         * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define.
1568         (LINK_SPEC): Include CA53_ERR_835769_SPEC.
1570 2014-10-31  Jakub Jelinek  <jakub@redhat.com>
1572         PR sanitizer/63697
1573         * tree-vrp.c (simplify_internal_call_using_ranges): For subcode ==
1574         MINUS_EXPR, check overflow on vr0.min - vr1.max and vr0.max - vr1.min
1575         instead of vr0.min - vr1.min and vr0.max - vr1.max.
1577 2014-10-30  Georg-Johann Lay  <avr@gjlay.de>
1579         PR63633
1580         * config/avr/avr-protos.h (regmask): New inline function.
1581         (avr_fix_inputs, avr_emit3_fix_outputs): New protos.
1582         * config/avr/avr.c (avr_fix_operands, avr_move_fixed_operands)
1583         (avr_fix_inputs, avr_emit3_fix_outputs): New functions.
1584         * config/avr/avr-fixed.md (mulqq3_nomul, muluqq3_nomul)
1585         (mul<ALL2QA>3, mul<ALL4A>3, <usdiv><ALL1Q>3, <usdiv><ALL2QA>3)
1586         (<usdiv><ALL4A>3, round<ALL124QA>3): Fix input operands.
1587         * config/avr/avr-dimode.md (add<ALL8>3, sub<ALL8>3)
1588         (<ss_addsub><ALL8S>3, <us_addsub><ALL8U>3, cbranch<ALL8>4)
1589         (<di_shifts><ALL8>3, <any_extend>mulsidi3): Fix input operands.
1590         * config/avr/avr.md (mulqi3_call, mulhi3_call, mulsi3, mulpsi3)
1591         (mulu<QIHI>si3, muls<QIHI>si3, mulohisi3, <any_extend>mulhisi3)
1592         (usmulhisi3, <any_extend>mulhi3_highpart, mulsqipsi3)
1593         (fmul, fmuls, fmulsu): Fix operands.  Turn insn into expander as
1594         needed.
1596 2014-10-30  Jakub Jelinek  <jakub@redhat.com>
1598         * BASE-VER: Set to 4.9.3.
1599         * DEV-PHASE: Set to prerelease.
1601 2014-10-30  Release Manager
1603         * GCC 4.9.2 released.
1605 2014-10-29  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1607         * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Restore
1608         recog state after aarch64_prev_real_insn call.
1610 2014-10-27  Guozhi Wei  <carrot@google.com>
1612         PR tree-optimization/63530
1613         tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Set
1614         pointer alignment according to DR_MISALIGNMENT.
1616 2014-10-25  Yury Gribov  <y.gribov@samsung.com>
1618         PR sanitizer/63638
1619         * asan.c (enum asan_check_flags): Fixed ASAN_CHECK_LAST.
1621 2014-10-24  Markus Trippelsdorf  <markus@trippelsdorf.de>
1623         PR bootstrap/63632
1624         * collect2.c (main): Filter out -fno-lto.
1626 2014-10-22  Richard Biener  <rguenther@suse.de>
1627             Tobias Burnus <burnus@net-b.de>
1629         PR lto/63603
1630         * gcc.c (LINK_COMMAND_SPEC): Add %{fno-lto}.
1632 2014-10-21  Jakub Jelinek  <jakub@redhat.com>
1634         PR tree-optimization/63563
1635         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
1636         if either dra or drb stmts are not normal loads/stores.
1638 2014-10-17  Jakub Jelinek  <jakub@redhat.com>
1640         * asan.c (instrument_derefs): Allow instrumentation of odd-sized
1641         accesses even for -fsanitize=address.
1642         (execute_sanopt): Only allow use_calls for -fsanitize=kernel-address.
1644         PR tree-optimization/63302
1645         * tree-ssa-reassoc.c (optimize_range_tests_xor,
1646         optimize_range_tests_diff): Use !integer_pow2p () instead of
1647         tree_log2 () < 0.
1649 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1651         * asan.c (instrument_derefs): Enable unaligned path for KASan.
1653 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1655         Backport from mainline
1656         2014-10-03  Yury Gribov  <y.gribov@samsung.com>
1658         * asan.c (asan_finish_file): Disable __asan_init calls for KASan;
1659         don't emit empty ctors.
1661 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1663         Backport from mainline
1664         2014-09-01  Yury Gribov  <y.gribov@samsung.com>
1666         PR sanitizer/61897
1667         PR sanitizer/62140
1669         * asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
1670         (build_check_stmt): Likewise.
1671         (instrument_strlen_call): Likewise.
1672         (asan_expand_check_ifn): Likewise and fix types.
1673         (maybe_cast_to_ptrmode): New function.
1675 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1677         Backport from mainline
1678         2014-08-18  Yury Gribov  <y.gribov@samsung.com>
1680         PR sanitizer/62089
1682         * asan.c (instrument_derefs): Fix bitfield check.
1684 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1686         Backport from mainline
1687         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
1689         * asan.c (asan_check_flags): New enum.
1690         (build_check_stmt_with_calls): Removed function.
1691         (build_check_stmt): Split inlining logic to
1692         asan_expand_check_ifn.
1693         (instrument_derefs): Rename parameter.
1694         (instrument_mem_region_access): Rename parameter.
1695         (instrument_strlen_call): Likewise.
1696         (asan_expand_check_ifn): New function.
1697         (asan_instrument): Remove old code.
1698         (pass_sanopt::execute): Change handling of
1699         asan-instrumentation-with-call-threshold.
1700         (asan_clear_shadow): Fix formatting.
1701         (asan_function_start): Likewise.
1702         (asan_emit_stack_protection): Likewise.
1703         * doc/invoke.texi (asan-instrumentation-with-call-threshold):
1704         Update description.
1705         * internal-fn.c (expand_ASAN_CHECK): New function.
1706         * internal-fn.def (ASAN_CHECK): New internal function.
1707         * params.def (PARAM_ASAN_INSTRUMENTATION_WITH_CALL_THRESHOLD):
1708         Update description.
1709         (PARAM_ASAN_USE_AFTER_RETURN): Likewise.
1710         * tree.c: Small comment fix.
1712 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1714         Backport from mainline
1715         2014-08-11  Yury Gribov  <y.gribov@samsung.com>
1717         * gimple.c (gimple_call_fnspec): Support internal functions.
1718         (gimple_call_return_flags): Use const.
1719         * Makefile.in (GTFILES): Add internal-fn.h to list of GC files.
1720         * internal-fn.def: Add fnspec information.
1721         * internal-fn.h (internal_fn_fnspec): New function.
1722         (init_internal_fns): Declare new function.
1723         * internal-fn.c (internal_fn_fnspec_array): New global variable.
1724         (init_internal_fns): New function.
1725         * tree-core.h: Update macro call.
1726         * tree.c (build_common_builtin_nodes): Initialize internal fns.
1728         Backport from mainline
1729         2014-08-12  Yury Gribov  <y.gribov@samsung.com>
1731         * internal-fn.c (init_internal_fns): Fix off-by-one.
1733 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1735         Backport from mainline
1736         2014-07-31  Yury Gribov  <y.gribov@samsung.com>
1738         * doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
1739         * doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
1740         * flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
1741         New enums.
1742         * gcc.c (sanitize_spec_function): Support new option.
1743         (SANITIZER_SPEC): Remove now redundant check.
1744         * opts.c (common_handle_option): Support new option.
1745         (finish_options): Check for incompatibilities.
1746         * toplev.c (process_options): Split userspace-specific checks.
1748 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1750         Backport from mainline
1751         2014-06-24  Max Ostapenko  <m.ostapenko@partner.samsung.com>
1753         * asan.c (instrument_strlen_call): Do not instrument first byte in
1754         strlen if already instrumented.
1756 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1758         Backport from mainline
1759         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1761         * asan.c (check_func): New function.
1762         (maybe_create_ssa_name): Likewise.
1763         (build_check_stmt_with_calls): Likewise.
1764         (use_calls_p): Likewise.
1765         (report_error_func): Change interface.
1766         (build_check_stmt): Allow non-integer lengths; add support
1767         for new parameter.
1768         (asan_instrument): Likewise.
1769         (instrument_mem_region_access): Moved code to
1770         build_check_stmt.
1771         (instrument_derefs): Likewise.
1772         (instrument_strlen_call): Likewise.
1773         * cfgcleanup.c (old_insns_match_p): Add support for new
1774         functions.
1775         * doc/invoke.texi: Describe new parameter.
1776         * params.def: Define new parameter.
1777         * params.h: Likewise.
1778         * sanitizer.def: Describe new builtins.
1780         Backport from mainline
1781         2014-06-16  Yury Gribov  <y.gribov@samsung.com>
1783         * asan.c (build_check_stmt): Fix maybe-uninitialized warning.
1785         Backport from mainline
1786         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1788         PR sanitizer/61530
1790         * asan.c (build_check_stmt): Add condition.
1792         Backport from mainline
1793         2014-06-18  Yury Gribov  <y.gribov@samsung.com>
1795         PR sanitizer/61547
1797         * asan.c (instrument_strlen_call): Fixed instrumentation of
1798         trailing byte.
1800 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1802         Backport from mainline
1803         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1805         * asan.c (report_error_func): Add SLOW_P argument, use
1806         BUILT_IN_ASAN_*_N if set.
1807         (build_check_stmt): Likewise.
1808         (instrument_derefs): If T has insufficient alignment,
1809         force same handling as for odd sizes.
1811 2014-10-16  Yury Gribov  <y.gribov@samsung.com>
1813         Backport from mainline
1814         2014-05-30  Jakub Jelinek  <jakub@redhat.com>
1816         * sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
1817         BUILT_IN_ASAN_REPORT_STORE_N): New.
1818         * asan.c (struct asan_mem_ref): Change access_size type to
1819         HOST_WIDE_INT.
1820         (asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
1821         update_mem_ref_hash_table): Likewise.
1822         (asan_mem_ref_hasher::hash): Hash in a HWI.
1823         (report_error_func): Change size_in_bytes argument to HWI.
1824         Use *_N builtins if size_in_bytes is larger than 16 or not power of
1825         two.
1826         (build_shadow_mem_access): New function.
1827         (build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
1828         Handle size_in_bytes not power of two or larger than 16.
1829         (instrument_derefs): Don't give up if size_in_bytes is not
1830         power of two or is larger than 16.
1832 2014-10-15  Vladimir Makarov  <vmakarov@redhat.com>
1834         PR rtl-optimization/63448
1835         * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Remove.
1836         (LRA_MAX_ASSIGNMENT_ITERATION_NUMBER): New.
1837         (LRA_MAX_INHERITANCE_PASSES): Use it.
1838         (lra_constraint_iter_after_spill): Remove.
1839         (lra_assignment_iter): New.
1840         (lra_assignment_iter_after_spill): New.
1841         * lra-assigns.c (lra_assignment_iter): New.
1842         (lra_assignment_iter_after_spill): New.
1843         (former_reload_pseudo_spill_p): New.
1844         (spill_for): Set up former_reload_pseudo_spill_p.
1845         (setup_live_pseudos_and_spill_after_risky): Ditto.
1846         (assign_by_spills): Ditto.
1847         (lra_assign): Increment lra_assignment_iter.  Print the iteration
1848         number.  Reset former_reload_pseudo_spill_p.  Check
1849         lra_assignment_iter_after_spill.
1850         * lra.c (lra): Remove lra_constraint_iter_after_spill.  Initialize
1851         lra_assignment_iter and lra_assignment_iter_after_spill.
1852         * lra-constraints.c (lra_constraint_iter_after_spill): Remove.
1853         (lra_constraints): Remove code with
1854         lra_assignment_iter_after_spill.
1856 2014-10-15  Eric Botcazou  <ebotcazou@adacore.com>
1858         * stor-layout.c (self_referential_size): Do not promote arguments.
1860 2014-10-15  Richard Biener  <rguenther@suse.de>
1862         Backport from mainline
1863         2014-08-15  Richard Biener  <rguenther@suse.de>
1865         PR tree-optimization/62031
1866         * tree-data-ref.c (dr_analyze_indices): Do not set
1867         DR_UNCONSTRAINED_BASE.
1868         (dr_may_alias_p): All indirect accesses have to go the
1869         formerly DR_UNCONSTRAINED_BASE path.
1870         * tree-data-ref.h (struct indices): Remove
1871         unconstrained_base member.
1872         (DR_UNCONSTRAINED_BASE): Remove.
1874 2014-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1876         Backport from mainline r215880
1877         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1879         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1880         Issue a warning message when vec_lvsl or vec_lvsr is used with a
1881         little endian target.
1883         Backport from mainline r215882
1884         2014-10-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1886         * altivec.md (altivec_lvsl): New define_expand.
1887         (altivec_lvsl_direct): Rename define_insn from altivec_lvsl.
1888         (altivec_lvsr): New define_expand.
1889         (altivec_lvsr_direct): Rename define_insn from altivec_lvsr.
1890         * rs6000.c (rs6000_expand_builtin): Change to use
1891         altivec_lvs[lr]_direct; remove commented-out code.
1893 2014-10-10  Richard Biener  <rguenther@suse.de>
1895         PR tree-optimization/63379
1896         * tree-vect-slp.c (vect_get_constant_vectors): Do not compute
1897         a neutral operand for min/max when it is not a reduction chain.
1899 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1901         Backport from mainline
1902         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1904         * configure.ac: Add --enable-fix-cortex-a53-835769 option.
1905         * configure: Regenerate.
1906         * config/aarch64/aarch64.c (aarch64_override_options): Handle
1907         TARGET_FIX_ERR_A53_835769_DEFAULT.
1908         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
1909         value to 2.
1910         * doc/install.texi (aarch64*-*-*): Document new
1911         --enable-fix-cortex-a53-835769 option.
1913 2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1915         Backport from mainline
1916         2014-10-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1917                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1919         * config/aarch64/aarch64.h (FINAL_PRESCAN_INSN): Define.
1920         (ADJUST_INSN_LENGTH): Define.
1921         * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): New option.
1922         * config/aarch64/aarch64.c (is_mem_p): New function.
1923         (is_memory_op): Likewise.
1924         (aarch64_prev_real_insn): Likewise.
1925         (is_madd_op): Likewise.
1926         (dep_between_memop_and_curr): Likewise.
1927         (aarch64_madd_needs_nop): Likewise.
1928         (aarch64_final_prescan_insn): Likewise.
1929         * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-835769
1930         and -mno-fix-cortex-a53-835769 options.
1932 2014-10-10  Richard Biener  <rguenther@suse.de>
1934         PR tree-optimization/63380
1935         * tree-ssa-tail-merge.c (stmt_local_def): Exclude stmts that
1936         may trap.
1938 2014-10-09  Richard Biener  <rguenther@suse.de>
1940         PR tree-optimization/61969
1941         * tree-nrv.c (pass_nrv::execute): Properly test for automatic
1942         variables.
1944 2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1946         Backport from mainline
1947         2014-10-09  Uros Bizjak  <ubizjak@gmail.com>
1949         PR rtl-optimization/57003
1950         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
1951         also check CALL_INSN_FUNCTION_USAGE for clobbers again after
1952         killing regs_invalidated_by_call.
1954 2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1956         Backport from mainline
1957         2014-10-08  Oleg Endo  <olegendo@gcc.gnu.org>
1959         PR target/52941
1960         * config/sh/sync.md (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
1961         atomic_fetch_<fetchop_name>si_hard,
1962         atomic_fetch_<fetchop_name><mode>_hard, atomic_fetch_nandsi_hard,
1963         atomic_fetch_nand<mode>_hard, atomic_<fetchop_name>_fetchsi_hard,
1964         atomic_<fetchop_name>_fetch<mode>_hard, atomic_nand_fetchsi_hard,
1965         atomic_nand_fetch<mode>_hard): Add missing set of T_REG.
1967 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1969         PR ipa/61144
1970         * varpool.c (ctor_for_folding): Do not fold WEAK symbols.
1972 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1974         PR ipa/62121
1975         * ipa-devirt.c (restrict_to_inner_class): Do not ICE when type is
1976         unknown.
1978 2014-10-03  Jan Hubicka  <hubicka@ucw.cz>
1980         PR lto/62026
1981         * lto-streamer-out.c (lto_output): Handle thunks correctly.
1982         * cgraphclones.c (duplicate_thunk_for_node): Get thunk's arguments.
1984 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
1986         PR libgomp/61200
1987         * omp-low.c (taskreg_contexts): New variable.
1988         (scan_omp_parallel): Push newly created context into taskreg_contexts
1989         vector and move record layout code to finish_taskreg_scan.
1990         (scan_omp_task): Likewise.
1991         (finish_taskreg_scan): New function.
1992         (execute_lower_omp): Call finish_taskreg_scan on all taskreg_contexts
1993         vector elements and release it.
1995 2014-10-02  Martin Jambor  <mjambor@suse.cz>
1997         PR tree-optimization/63375
1998         * tree-sra.c (build_access_from_expr_1): Disqualify volatile
1999         references.
2001 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
2003         PR debug/63342
2004         * dwarf2out.c (loc_list_from_tree): Handle TARGET_MEM_REF and
2005         SSA_NAME.
2007         PR target/63428
2008         * config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
2009         argument to avx2_permv2ti.
2011         PR c++/63306
2012         Backported from mainline
2013         2014-08-01  James Greenhalgh  <james.greenhalgh@arm.com>
2015         PR regression/61510
2016         * cgraphunit.c (analyze_functions): Use get_create rather than get
2017         for decls which are clones of abstract functions.
2019 2014-10-01  Jakub Jelinek  <jakub@redhat.com>
2021         Backported from mainline
2022         2014-09-18  Vladimir Makarov  <vmakarov@redhat.com>
2024         PR debug/63285
2025         * haifa-sched.c (schedule_block): Advance cycle at the end of BB
2026         if advance != 0.
2028         2014-09-10  Jan Hubicka  <hubicka@ucw.cz>
2030         PR tree-optimization/63186
2031         * ipa-split.c (test_nonssa_use): Skip nonforced labels.
2032         (mark_nonssa_use): Likewise.
2033         (verify_non_ssa_vars): Verify all header blocks for label
2034         definitions.
2036 2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2038         Backport from mainline
2039         2014-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2041         * config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.
2043 2014-10-01  Uros Bizjak  <ubizjak@gmail.com>
2045         Backport from mainline
2046         2014-09-30  Uros Bizjak  <ubizjak@gmail.com>
2048         * config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
2049         (fmod<mode>3): Ditto.
2050         (fpremxf4_i387): Ditto.
2051         (reminderxf3): Ditto.
2052         (reminder<mode>3): Ditto.
2053         (fprem1xf4_i387): Ditto.
2055 2014-09-30  David Malcolm  <dmalcolm@redhat.com>
2057         PR plugins/63410
2058         * Makefile.in (PLUGIN_HEADERS): Add pass-instances.def.
2060 2014-09-30  Jakub Jelinek  <jakub@redhat.com>
2062         PR inline-asm/63282
2063         * ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
2064         or invert_jump_1 if jump isn't any_condjump_p.
2066 2014-09-29  James Clarke  <jrtc27@jrtc27.com>
2067             Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
2069         PR target/61407
2070         * config/darwin-c.c (version_as_macro): Added extra 0 for OS X 10.10
2071         and above.
2072         * config/darwin-driver.c (darwin_find_version_from_kernel): Removed
2073         kernel version check to avoid incrementing it after every major OS X
2074         release.
2075         (darwin_default_min_version): Avoid static memory buffer.
2077 2014-09-29  Charles Baylis  <charles.baylis@linaro.org>
2079         Backport from mainline r212303
2080         PR target/49423
2081         * config/arm/arm-protos.h (arm_legitimate_address_p,
2082         arm_is_constant_pool_ref): Add prototypes.
2083         * config/arm/arm.c (arm_legitimate_address_p): Remove static.
2084         (arm_is_constant_pool_ref) New function.
2085         * config/arm/arm.md (unaligned_loadhis, arm_zero_extendhisi2_v6,
2086         arm_zero_extendqisi2_v6): Use Uh constraint for memory operand.
2087         (arm_extendhisi2, arm_extendhisi2_v6): Use Uh constraint for memory
2088         operand and remove pool_range and neg_pool_range attributes.
2089         (arm_extendqihi_insn, arm_extendqisi, arm_extendqisi_v6): Remove
2090         pool_range and neg_pool_range attributes.
2091         * config/arm/constraints.md (Uh): New constraint. (Uq): Don't allow
2092         constant pool references.
2094 2014-09-29  Jakub Jelinek  <jakub@redhat.com>
2096         PR middle-end/63247
2097         * omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
2098         of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
2099         use the alignment of avar rather than ovar.
2101 2014-09-28  John David Anglin  <danglin@gcc.gnu.org>
2103         * config/pa/pa.c (pa_output_function_epilogue): Only update
2104         last_address when a nonnote insn is found.
2106 2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
2108         Backport from mainline
2109         2014-09-25  Nick Clifton  <nickc@redhat.com>
2110         2014-09-25  Oleg Endo  <olegendo@gcc.gnu.org>
2112         PR target/62218
2113         * config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask,
2114         atomic_test_and_set_soft_imask): Fix typo in instruction sequence.
2116 2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2118         Backport from mainline r215559
2119         2014-09-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2121         PR target/63335
2122         * config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
2123         Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
2125 2014-09-25  Jakub Jelinek  <jakub@redhat.com>
2127         PR tree-optimization/63341
2128         * tree-vectorizer.h (vect_create_data_ref_ptr,
2129         vect_create_addr_base_for_vector_ref): Add another tree argument
2130         defaulting to NULL_TREE.
2131         * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
2132         argument, pass it down to vect_create_addr_base_for_vector_ref.
2133         (vect_create_addr_base_for_vector_ref): Add byte_offset argument,
2134         add that to base_offset too if non-NULL.
2135         * tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
2136         for dr_explicit_realign_optimized set it to vector byte size
2137         - 1 instead of setting offset, pass byte_offset down to
2138         vect_create_data_ref_ptr.
2140 2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
2142         Backport from mainline
2143         2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
2145         * config/rs6000/rs6000.md (f32_vsx): New mode attributes to
2146         refine the constraints used on 32/64-bit floating point moves.
2147         (f32_av): Likewise.
2148         (f64_vsx): Likewise.
2149         (f64_dm): Likewise.
2150         (f64_av): Likewise.
2151         (BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
2152         (BOOL_REGS_OP1): Likewise.
2153         (BOOL_REGS_OP2): Likewise.
2154         (BOOL_REGS_UNARY): Likewise.
2155         (mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
2156         32/64-bit floating point moves.  Do not use wa, instead use ww/ws
2157         for moves involving VSX registers.  Do not use constraints that
2158         target VSX registers for decimal types.
2159         (mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
2160         (mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
2162 2014-09-22  Marek Polacek  <polacek@redhat.com>
2164         Backport from mainline
2165         2014-05-21  Marek Polacek  <polacek@redhat.com>
2167         PR sanitizer/61272
2168         * ubsan.c (is_ubsan_builtin_p): Turn assert into a condition.
2170 2014-09-22  Jakub Jelinek  <jakub@redhat.com>
2172         PR debug/63328
2173         * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
2174         insert a debug source bind stmt setting DEBUG_EXPR_DECL
2175         instead of a normal gimple assignment stmt.
2177 2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2179         Back port from trunk:
2180         2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2182         * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
2183         for base_reg_operand to be common between LO_SUM and PLUS.
2184         (fusion_gpr_mem_combo): New predicate to match a fused address
2185         that combines the addis and memory offset address.
2187         * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
2188         calling signature.
2189         (emit_fusion_gpr_load): Likewise.
2191         * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
2192         signature to pass each argument separately, rather than
2193         using an operands array.  Rewrite the insns found by peephole2 to
2194         be a single insn, rather than hoping the insns will still be
2195         together when the peephole pass is done.  Drop being called via a
2196         normal peephole.
2197         (emit_fusion_gpr_load): Change calling signature to be called from
2198         the fusion_gpr_load_<mode> insns with a combined memory address
2199         instead of the peephole pass passing the addis and offset
2200         separately.
2202         * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
2203         fusion.
2204         (power8 fusion peephole): Drop support for doing power8 via a
2205         normal peephole that was created by the peephole2 pass.
2206         (power8 fusion peephole2): Create a new insn with the fused
2207         address, so that the fused operation is kept together after
2208         register allocation is done.
2209         (fusion_gpr_load_<mode>): Likewise.
2211 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
2213         PR c++/62017
2214         * asan.c (transform_statements): Don't instrument clobber statements.
2216 2014-09-17  Jakub Jelinek  <jakub@redhat.com>
2218         PR debug/63284
2219         * tree-cfgcleanup.c (fixup_noreturn_call): Don't split block
2220         if there are only debug stmts after the noreturn call, instead
2221         remove the debug stmts.
2223 2014-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2225         * config.gcc (*-*-rtems*): Default to 'rtems' thread model.
2226         Enable selection of 'posix' or no thread model.
2228 2014-09-16  John David Anglin  <danglin@gcc.gnu.org>
2230         PR target/61853
2231         * config/pa/pa.c (pa_function_value): Directly handle aggregates
2232         that fit exactly in a word or double word.
2234 2014-09-15  Markus Trippelsdorf  <markus@trippelsdorf.de>
2236         * doc/install.texi (Options specification): add
2237         --disable-libsanitizer item.
2239 2014-09-12  DJ Delorie  <dj@redhat.com>
2241         * config/msp430/msp430.md (extendhipsi2): Use 20-bit form of RLAM/RRAM.
2242         (extend_and_shift1_hipsi2): Likewise.
2243         (extend_and_shift2_hipsi2): Likewise.
2245 2014-09-12  Martin Jambor  <mjambor@suse.cz>
2247         PR ipa/61654
2248         * cgraph.h (cgraph_analyze_function): Declare.
2249         * cgraphunit.c: (analyze_function): Remove forward declaration,
2250         rename to cgraph_analyze_function, made external.
2251         * cgraphclones.c (duplicate_thunk_for_node): Copy arguments of the
2252         new decl properly.  Analyze the new thunk if it is expanded.
2254 2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
2256         Backport from mainline
2257         2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
2259         PR target/63228
2260         * config/i386/i386.c (ix86_option_override_internal): Also turn
2261         off OPTION_MASK_ABI_X32 for -m16.
2263 2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
2265         Backport from mainline.
2266         2014-09-11  James Greenhalgh  <james.greenhalgh@arm.com>
2268         * config/aarch64/arm_neon.h (vmull_high_lane_s16): Fix argument
2269         types.
2270         (vmull_high_lane_s32): Likewise.
2271         (vmull_high_lane_u16): Likewise.
2272         (vmull_high_lane_u32): Likewise.
2274 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
2276         Backport r214946 from mainline
2277         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
2279         * config/aarch64/aarch64.md (adddi3_aarch64): Set type to neon_add.
2281 2014-09-11  Alan Lawrence  <alan.lawrence@arm.com>
2283         Backport r214953 from mainline
2284         2014-09-05  Alan Lawrence  <alan.lawrence@arm.com>
2286         * config/aarch64/arm_neon.h (int32x1_t, int16x1_t, int8x1_t,
2287         uint32x1_t, uint16x1_t, uint8x1_t): Remove typedefs.
2289         (vqabsb_s8, vqabsh_s16, vqabss_s32, vqaddb_s8, vqaddh_s16, vqadds_s32,
2290         vqaddb_u8, vqaddh_u16, vqadds_u32, vqdmlalh_s16, vqdmlalh_lane_s16,
2291         vqdmlals_s32, vqdmlslh_s16, vqdmlslh_lane_s16, vqdmlsls_s32,
2292         vqdmulhh_s16, vqdmulhh_lane_s16, vqdmulhs_s32, vqdmulhs_lane_s32,
2293         vqdmullh_s16, vqdmullh_lane_s16, vqdmulls_s32, vqdmulls_lane_s32,
2294         vqmovnh_s16, vqmovns_s32, vqmovnd_s64, vqmovnh_u16, vqmovns_u32,
2295         vqmovnd_u64, vqmovunh_s16, vqmovuns_s32, vqmovund_s64, vqnegb_s8,
2296         vqnegh_s16, vqnegs_s32, vqrdmulhh_s16, vqrdmulhh_lane_s16,
2297         vqrdmulhs_s32, vqrdmulhs_lane_s32, vqrshlb_s8, vqrshlh_s16,
2298         vqrshls_s32, vqrshlb_u8, vqrshlh_u16, vqrshls_u32, vqrshrnh_n_s16,
2299         vqrshrns_n_s32, vqrshrnd_n_s64, vqrshrnh_n_u16, vqrshrns_n_u32,
2300         vqrshrnd_n_u64, vqrshrunh_n_s16, vqrshruns_n_s32, vqrshrund_n_s64,
2301         vqshlb_s8, vqshlh_s16, vqshls_s32, vqshlb_u8, vqshlh_u16, vqshls_u32,
2302         vqshlb_n_s8, vqshlh_n_s16, vqshls_n_s32, vqshlb_n_u8, vqshlh_n_u16,
2303         vqshls_n_u32, vqshlub_n_s8, vqshluh_n_s16, vqshlus_n_s32,
2304         vqshrnh_n_s16, vqshrns_n_s32, vqshrnd_n_s64, vqshrnh_n_u16,
2305         vqshrns_n_u32, vqshrnd_n_u64, vqshrunh_n_s16, vqshruns_n_s32,
2306         vqshrund_n_s64, vqsubb_s8, vqsubh_s16, vqsubs_s32, vqsubb_u8,
2307         vqsubh_u16, vqsubs_u32, vsqaddb_u8, vsqaddh_u16, vsqadds_u32,
2308         vuqaddb_s8, vuqaddh_s16, vuqadds_s32): Replace all int{32,16,8}x1_t
2309         with int{32,16,8}_t.
2311 2014-09-11  Jason Merrill  <jason@redhat.com>
2313         PR c++/58678
2314         * ipa-devirt.c (ipa_devirt): Don't check DECL_COMDAT.
2316 2014-09-11  Georg-Johann Lay  <avr@gjlay.de>
2318         Backport from 2014-09-11 trunk r215152.
2320         PR target/63223
2321         * config/avr/avr.md (*tablejump.3byte-pc): New insn.
2322         (*tablejump): Restrict to !AVR_HAVE_EIJMP_EICALL.  Add void clobber.
2323         (casesi): Expand to *tablejump.3byte-pc if AVR_HAVE_EIJMP_EICALL.
2325 2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2327         Backport from mainline
2328         2014-09-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
2330         * config/rs6000/vsx.md (vsx_fmav4sf4): Use correct constraints for
2331         V2DF, V4SF, DF, and DI modes.
2332         (vsx_fmav2df2): Likewise.
2333         (vsx_float_fix_<mode>2): Likewise.
2334         (vsx_reduc_<VEC_reduc_name>_v2df_scalar): Likewise.
2336 2014-09-10  Xinliang David Li  <davidxl@google.com>
2338         Backport from mainline
2339         PR target/63209
2340         * config/arm/arm.md (movcond_addsi): Handle case where source
2341         and target operands are the same.
2343 2014-09-10  Alan Modra  <amodra@gmail.com>
2345         PR debug/60655
2346         * dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
2347         can't be output.
2349 2014-09-09  Bill Schmidt  <wschmidt@us.ibm.com>
2351         Backported from mainline
2352         2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2354         * config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
2355         selection of 0th memory doubleword, regardless of endianness.
2357 2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
2359         Backport from mainline
2360         2014-09-09  James Greenhalgh  <james.greenhalgh@arm.com>
2362         * doc/invoke.texi (-march): Use GNU/Linux rather than Linux.
2363         (-mtune): Likewise.
2364         (-mcpu): Likewise.
2366 2014-09-09  Jason Merrill  <jason@redhat.com>
2368         PR c++/61214
2369         PR c++/62224
2370         * gimple-fold.c (can_refer_decl_in_current_unit_p): Don't allow
2371         reference to a DECL_EXTERNAL COMDAT.
2373 2014-09-09  Richard Biener  <rguenther@suse.de>
2375         Backport from mainline
2376         2014-08-05  Richard Biener  <rguenther@suse.de>
2378         PR rtl-optimization/61672
2379         * emit-rtl.h (mem_attrs_eq_p): Declare.
2380         * emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
2381         * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
2382         * cfgcleanup.c (merge_memattrs): Likewise.
2383         Include emit-rtl.h.
2385         2014-08-11  Richard Biener  <rguenther@suse.de>
2387         PR tree-optimization/62075
2388         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
2389         handle uses in patterns.
2391         2014-08-14  Richard Biener  <rguenther@suse.de>
2393         PR rtl-optimization/62079
2394         * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
2395         run cleanup_cfg.
2397         2014-08-26  Richard Biener  <rguenther@suse.de>
2399         PR tree-optimization/62175
2400         * tree-ssa-loop-niter.c (expand_simple_operations): Do not
2401         expand possibly trapping operations.
2403 2014-09-08  DJ Delorie  <dj@redhat.com>
2405         * doc/invoke.texi (MSP430 Options): Add -minrt.
2407 2014-09-05  Easwaran Raman  <eraman@google.com>
2409         Backport from mainline
2410         PR rtl-optimization/62146
2411         * ifcvt.c (dead_or_predicable): Make removal of REG_EQUAL note of
2412         hoisted instruction unconditional.
2414 2014-09-04  Guozhi Wei  <carrot@google.com>
2416         PR target/62040
2417         * config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
2418         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
2419         it into two patterns.
2420         (move_lo_quad_internal_be_<mode>): Likewise.
2422 2014-09-03  Martin Jambor  <mjambor@suse.cz>
2424         PR ipa/62015
2425         * ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
2426         pass-trough jump functions correctly.
2428 2014-09-03  Martin Jambor  <mjambor@suse.cz>
2430         PR ipa/61986
2431         * ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
2432         created replacements in ascending order of offsets.
2433         (known_aggs_to_agg_replacement_list): Likewise.
2435 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
2437         Backport from mainline
2438         2014-08-27  Kaz Kojima  <kkojima@gcc.gnu.org>
2440         PR target/62261
2441         * config/sh/sh.md (ashlsi3): Handle negative shift count for
2442         TARGET_SHMEDIA.
2443         (ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
2445 2014-09-02  Kaz Kojima  <kkojima@gcc.gnu.org>
2447         Backport from mainline
2448         2014-08-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2450         PR target/62111
2451         * config/sh/predicates.md (general_extend_operand): Disable
2452         TRUNCATE before reload completes.
2454 2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
2456         Backport from mainline
2457         2014-09-01  Oleg Endo  <olegendo@gcc.gnu.org>
2459         PR target/62312
2460         * config/sh/sh.md (*cmp_div0s_0): Add missing constraints.
2462 2014-09-01  Jakub Jelinek  <jakub@redhat.com>
2464         PR target/62025
2465         * sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
2466         returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
2467         (find_inc): Revert 2014-08-12 change.
2469         * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
2470         * gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
2471         (SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.
2473 2014-09-01  Marek Polacek  <polacek@redhat.com>
2475         Backport from mainline
2476         2014-08-21  Marek Polacek  <polacek@redhat.com>
2478         PR c/61271
2479         * expr.c (is_aligning_offset): Remove logical not.
2481 2014-09-01  Marek Polacek  <polacek@redhat.com>
2483         Backport from mainline
2484         2014-08-19  Marek Polacek  <polacek@redhat.com>
2486         PR c/61271
2487         * cgraphunit.c (handle_alias_pairs): Fix condition.
2489 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
2491         * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
2492         prefix to function labels when generating fast indirect calls.
2494 2014-08-29  Yvan Roux  <yvan.roux@linaro.org>
2496         Backport from mainline
2497         2014-08-27  Yvan Roux  <yvan.roux@linaro.org>
2499         PR other/62248
2500         * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.
2502 2014-08-27  Guozhi Wei  <carrot@google.com>
2504         PR target/62262
2505         * config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
2506         amount before using it.
2508 2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>
2510         * doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.
2512 2014-08-26  Marek Polacek  <polacek@redhat.com>
2514         Backport from mainline
2515         2014-08-26  Marek Polacek  <polacek@redhat.com>
2517         PR c/61271
2518         * tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
2519         LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.
2521 2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
2523         Backport from mainline
2524         2014-08-24  Oleg Endo  <olegendo@gcc.gnu.org>
2526         PR target/61996
2527         * config/sh/sh.opt (musermode): Allow negative form.
2528         * config/sh/sh.c (sh_option_override): Disable TARGET_USERMODE for
2529         targets that don't support it.
2530         * doc/invoke.texi (SH Options): Rename sh-*-linux* to sh*-*-linux*.
2531         Document -mno-usermode option.
2533 2014-08-23  John David Anglin  <danglin@gcc.gnu.org>
2535         PR target/62038
2536         * config/pa/pa.c (pa_output_function_epilogue): Don't set
2537         last_address when the current function is a thunk.
2538         (pa_asm_output_mi_thunk): When we don't have named sections or they
2539         are not being used, check that thunk can reach the stub table with a
2540         short branch.
2542 2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
2544         Backport from mainline
2545         2014-08-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
2547         PR target/62195
2548         * doc/md.texi (Machine Constraints): Update PowerPC wi constraint
2549         documentation to state it is only for VSX operations.
2551         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi
2552         constraint only active if VSX.
2554         * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of
2555         wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions.
2556         (lfiwzx): Likewise.
2558 2014-08-21  Uros Bizjak  <ubizjak@gmail.com>
2560         Backport from mainline
2561         2014-08-19  H.J. Lu  <hongjiu.lu@intel.com>
2563         * config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
2564         destination if it is used in source.
2565         (*clz<mode>2_lzcnt_falsedep_1): Likewise.
2566         (*popcount<mode>2_falsedep_1): Likewise.
2568         Backport from mainline
2569         2014-08-18  Uros Bizjak  <ubizjak@gmail.com>
2571         PR target/62011
2572         * config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
2573         New tune flag.
2574         * config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
2575         * config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
2576         (ffs<mode>2): Do not expand with tzcnt for
2577         TARGET_AVOID_FALSE_DEP_FOR_BMI.
2578         (ffssi2_no_cmove): Ditto.
2579         (*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
2580         (ctz<mode>2): New expander.
2581         (*ctz<mode>2_falsedep_1): New insn_and_split pattern.
2582         (*ctz<mode>2_falsedep): New insn.
2583         (*ctz<mode>2): Rename from ctz<mode>2.
2584         (clz<mode>2_lzcnt): New expander.
2585         (*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
2586         (*clz<mode>2_lzcnt_falsedep): New insn.
2587         (*clz<mode>2): Rename from ctz<mode>2.
2588         (popcount<mode>2): New expander.
2589         (*popcount<mode>2_falsedep_1): New insn_and_split pattern.
2590         (*popcount<mode>2_falsedep): New insn.
2591         (*popcount<mode>2): Rename from ctz<mode>2.
2592         (*popcount<mode>2_cmp): Remove.
2593         (*popcountsi2_cmp_zext): Ditto.
2595 2014-08-20  Martin Jambor  <mjambor@suse.cz>
2596             Wei Mi  <wmi@google.com>
2598         PR ipa/60449
2599         PR middle-end/61776
2600         * tree-ssa-operands.c (update_stmt_operands): Remove
2601         MODIFIED_NORETURN_CALLS.
2602         * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func.
2603         (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag.
2604         (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls.
2605         (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls.
2606         * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS.
2607         * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING.
2608         (gimple_call_set_ctrl_altering): New func.
2609         (gimple_call_ctrl_altering_p): Ditto.
2610         * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto.
2611         (make_blocks): Use gimple_call_initialize_ctrl_altering.
2612         (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p.
2613         (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and
2614         remove MODIFIED_NORETURN_CALLS.
2616 2014-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2618         Backport from mainline.
2619         2014-08-12  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2620         PR target/62098
2621         * config/arm/vfp.md (*combine_vcvtf2i): Fix constraint.
2622         Remove unnecessary attributes.
2624 2014-08-16  John David Anglin  <danglin@gcc.gnu.org>
2626         PR target/61641
2627         * config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
2628         Declare.
2629         * config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
2630         (pa_output_addr_vec, pa_output_addr_diff_vec): New.
2631         * config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
2632         Define.
2633         * config/pa/pa.md (begin_brtab): Delete insn.
2634         (end_brtab): Likewise.
2636 2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
2638         Backport from mainline:
2639         2014-08-15  Oleg Endo  <olegendo@gcc.gnu.org>
2641         * doc/invoke.texi (SH options): Document missing processor variant
2642         options.  Remove references to Hitachi.  Undocument deprecated mspace
2643         option.
2645 2014-08-15  Tom de Vries  <tom@codesourcery.com>
2647         Backport from mainline:
2648         2014-08-14  Tom de Vries  <tom@codesourcery.com>
2650         PR rtl-optimization/62004
2651         PR rtl-optimization/62030
2652         * ifcvt.c (rtx_interchangeable_p): New function.
2653         (noce_try_move, noce_process_if_block): Use rtx_interchangeable_p.
2655         2014-08-05  Richard Biener  <rguenther@suse.de>
2657         * emit-rtl.h (mem_attrs_eq_p): Declare.
2658         * emit-rtl.c (mem_attrs_eq_p): Export.
2660 2014-08-15  Jakub Jelinek  <jakub@redhat.com>
2662         PR middle-end/62092
2663         * gimplify.c (gimplify_adjust_omp_clauses_1): Don't remove
2664         OMP_CLAUSE_SHARED for global vars if the global var is mentioned
2665         in OMP_CLAUSE_MAP in some outer target region.
2667 2014-08-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2669         Backport from mainline
2670         2014-08-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2672         PR target/61713
2673         * gcc/optabs.c (expand_atomic_test_and_set): Do not try to emit
2674         move to subtarget in serial version if result is ignored.
2676 2014-08-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2678         Backport from mainline
2679         2014-08-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2681         PR middle-end/62103
2682         * gimple-fold.c (fold_ctor_reference): Don't fold in presence of
2683         bitfields, that is when size doesn't match the size of type or the
2684         size of the constructor.
2686 2014-08-12  Felix Yang  <fei.yang0953@gmail.com>
2688         PR tree-optimization/62073
2689         * tree-vect-loop.c (vect_is_simple_reduction_1): Check that DEF1 has
2690         a basic block.
2692 2014-08-12  Jakub Jelinek  <jakub@redhat.com>
2694         PR target/62025
2695         * sched-deps.c (find_inc): Check if inc_insn doesn't clobber
2696         any registers that are used in mem_insn.
2698 2014-08-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
2700         Backport patch from mainline
2701         2014-08-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2703         * config/rs6000/constraints.md (wh constraint): New constraint,
2704         for FP registers if direct move is available.
2705         (wi constraint): New constraint, for VSX/FP registers that can
2706         handle 64-bit integers.
2707         (wj constraint): New constraint for VSX/FP registers that can
2708         handle 64-bit integers for direct moves.
2709         (wk constraint): New constraint for VSX/FP registers that can
2710         handle 64-bit doubles for direct moves.
2711         (wy constraint): Make documentation match implementation.
2713         * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add
2714         scalar_in_vmx_p field to simplify tests of whether SFmode or
2715         DFmode can go in the Altivec registers.
2716         (rs6000_hard_regno_mode_ok): Use scalar_in_vmx_p field.
2717         (rs6000_setup_reg_addr_masks): Likewise.
2718         (rs6000_debug_print_mode): Add debug support for scalar_in_vmx_p
2719         field, and wh/wi/wj/wk constraints.
2720         (rs6000_init_hard_regno_mode_ok): Setup scalar_in_vmx_p field, and
2721         the wh/wi/wj/wk constraints.
2722         (rs6000_preferred_reload_class): If SFmode/DFmode can go in the
2723         upper registers, prefer VSX registers unless the operation is a
2724         memory operation with REG+OFFSET addressing.
2726         * config/rs6000/vsx.md (VSr mode attribute): Add support for
2727         DImode.  Change SFmode to use ww constraint instead of d to allow
2728         SF registers in the upper registers.
2729         (VSr2): Likewise.
2730         (VSr3): Likewise.
2731         (VSr5): Fix thinko in comment.
2732         (VSa): New mode attribute that is an alternative to wa, that
2733         returns the VSX register class that a mode can go in, but may not
2734         be the preferred register class.
2735         (VS_64dm): New mode attribute for appropriate register classes for
2736         referencing 64-bit elements of vectors for direct moves and normal
2737         moves.
2738         (VS_64reg): Likewise.
2739         (vsx_mov<mode>): Change wa constraint to <VSa> to limit the
2740         register allocator to only registers the data type can handle.
2741         (vsx_le_perm_load_<mode>): Likewise.
2742         (vsx_le_perm_store_<mode>): Likewise.
2743         (vsx_xxpermdi2_le_<mode>): Likewise.
2744         (vsx_xxpermdi4_le_<mode>): Likewise.
2745         (vsx_lxvd2x2_le_<mode>): Likewise.
2746         (vsx_lxvd2x4_le_<mode>): Likewise.
2747         (vsx_stxvd2x2_le_<mode>): Likewise.
2748         (vsx_add<mode>3): Likewise.
2749         (vsx_sub<mode>3): Likewise.
2750         (vsx_mul<mode>3): Likewise.
2751         (vsx_div<mode>3): Likewise.
2752         (vsx_tdiv<mode>3_internal): Likewise.
2753         (vsx_fre<mode>2): Likewise.
2754         (vsx_neg<mode>2): Likewise.
2755         (vsx_abs<mode>2): Likewise.
2756         (vsx_nabs<mode>2): Likewise.
2757         (vsx_smax<mode>3): Likewise.
2758         (vsx_smin<mode>3): Likewise.
2759         (vsx_sqrt<mode>2): Likewise.
2760         (vsx_rsqrte<mode>2): Likewise.
2761         (vsx_tsqrt<mode>2_internal): Likewise.
2762         (vsx_fms<mode>4): Likewise.
2763         (vsx_nfma<mode>4): Likewise.
2764         (vsx_eq<mode>): Likewise.
2765         (vsx_gt<mode>): Likewise.
2766         (vsx_ge<mode>): Likewise.
2767         (vsx_eq<mode>_p): Likewise.
2768         (vsx_gt<mode>_p): Likewise.
2769         (vsx_ge<mode>_p): Likewise.
2770         (vsx_xxsel<mode>): Likewise.
2771         (vsx_xxsel<mode>_uns): Likewise.
2772         (vsx_copysign<mode>3): Likewise.
2773         (vsx_float<VSi><mode>2): Likewise.
2774         (vsx_floatuns<VSi><mode>2): Likewise.
2775         (vsx_fix_trunc<mode><VSi>2): Likewise.
2776         (vsx_fixuns_trunc<mode><VSi>2): Likewise.
2777         (vsx_x<VSv>r<VSs>i): Likewise.
2778         (vsx_x<VSv>r<VSs>ic): Likewise.
2779         (vsx_btrunc<mode>2): Likewise.
2780         (vsx_b2trunc<mode>2): Likewise.
2781         (vsx_floor<mode>2): Likewise.
2782         (vsx_ceil<mode>2): Likewise.
2783         (vsx_<VS_spdp_insn>): Likewise.
2784         (vsx_xscvspdp): Likewise.
2785         (vsx_xvcvspuxds): Likewise.
2786         (vsx_float_fix_<mode>2): Likewise.
2787         (vsx_set_<mode>): Likewise.
2788         (vsx_extract_<mode>_internal1): Likewise.
2789         (vsx_extract_<mode>_internal2): Likewise.
2790         (vsx_extract_<mode>_load): Likewise.
2791         (vsx_extract_<mode>_store): Likewise.
2792         (vsx_splat_<mode>): Likewise.
2793         (vsx_xxspltw_<mode>): Likewise.
2794         (vsx_xxspltw_<mode>_direct): Likewise.
2795         (vsx_xxmrghw_<mode>): Likewise.
2796         (vsx_xxmrglw_<mode>): Likewise.
2797         (vsx_xxsldwi_<mode>): Likewise.
2798         (vsx_xscvdpspn): Tighten constraints to only use register classes
2799         the types use.
2800         (vsx_xscvspdpn): Likewise.
2801         (vsx_xscvdpspn_scalar): Likewise.
2803         * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wh, wi,
2804         wj, and wk constraints.
2805         (GPR_REG_CLASS_P): New helper macro for register classes targeting
2806         general purpose registers.
2808         * config/rs6000/rs6000.md (f32_dm): Use wh constraint for SDmode
2809         direct moves.
2810         (zero_extendsidi2_lfiwz): Use wj constraint for direct move of
2811         DImode instead of wm.  Use wk constraint for direct move of DFmode
2812         instead of wm.
2813         (extendsidi2_lfiwax): Likewise.
2814         (lfiwax): Likewise.
2815         (lfiwzx): Likewise.
2816         (movdi_internal64): Likewise.
2818         * doc/md.texi (PowerPC and IBM RS6000): Document wh, wi, wj, and
2819         wk constraints. Make the wy constraint documentation match them
2820         implementation.
2822 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2824         Backport from mainline
2825         2014-08-04 Ganesh Gopalasubramanian
2826                    <Ganesh.Gopalasubramanian@amd.com>
2828         * config/i386/i386.c (ix86_option_override_internal): Add
2829         PTA_RDRND and PTA_MOVBE for bdver4.
2831 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2833         Backport from mainline
2834         2014-08-04  Ganesh Gopalasubramanian
2835                     <Ganesh.Gopalasubramanian@amd.com>
2837         * config/i386/driver-i386.c (host_detect_local_cpu): Handle AMD's
2838         extended family information. Handle BTVER2 cpu with cpuid family value.
2840 2014-08-12  Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
2842         Backport from mainline
2843         2014-06-16  Ganesh Gopalasubramanian
2844                     <Ganesh.Gopalasubramanian@amd.com>
2846         * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Issue
2847         instructions "vpmuludq" and "vpaddq" instead of "vpmacsdql" for
2848         handling 32-bit multiplication.
2850 2014-08-08  Guozhi Wei  <carrot@google.com>
2852         * config/rs6000/rs6000.md (*movdi_internal64): Add a new constraint.
2854 2014-08-07  Ilya Tocar  <ilya.tocar@intel.com>
2856         * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Fix
2857         constraint.
2859 2014-08-06  Vladimir Makarov  <vmakarov@redhat.com>
2861         PR debug/61923
2862         * haifa-sched.c (advance_one_cycle): Fix dump.
2863         (schedule_block): Don't advance cycle if we are already at the
2864         beginning of the cycle.
2866 2014-08-06  Richard Biener  <rguenther@suse.de>
2868         PR tree-optimization/61320
2869         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Properly
2870         handle misaligned loads.
2872 2014-08-04  Rohit  <rohitarulraj@freescale.com>
2874         PR target/60102
2875         * config/rs6000/rs6000.c
2876         (rs6000_reg_names): Add SPE high register names.
2877         (alt_reg_names): Likewise.
2878         (rs6000_dwarf_register_span): For SPE high registers, replace
2879         dwarf register numbers with GCC hard register numbers.
2880         (rs6000_init_dwarf_reg_sizes_extra): Likewise.
2881         (rs6000_dbx_register_number): For SPE high registers, return dwarf
2882         register number for the corresponding GCC hard register number.
2883         * config/rs6000/rs6000.h
2884         (FIRST_PSEUDO_REGISTER): Update based on 32 newly added GCC hard
2885         register numbers for SPE high registers.
2886         (DWARF_FRAME_REGISTERS):  Likewise.
2887         (DWARF_REG_TO_UNWIND_COLUMN): Likewise.
2888         (DWARF_FRAME_REGNUM): Likewise.
2889         (FIXED_REGISTERS): Likewise.
2890         (CALL_USED_REGISTERS): Likewise.
2891         (CALL_REALLY_USED_REGISTERS): Likewise.
2892         (REG_ALLOC_ORDER): Likewise.
2893         (enum reg_class): Likewise.
2894         (REG_CLASS_NAMES): Likewise.
2895         (REG_CLASS_CONTENTS): Likewise.
2896         (SPE_HIGH_REGNO_P): New macro to identify SPE high registers.
2898 2014-08-01  Vladimir Makarov  <vmakarov@redhat.com>
2900         * lra-constraints.c (remove_inheritance_pseudos): Process
2901         destination pseudo too.
2903 2014-08-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2905         Backport from mainline
2906         2014-06-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2908         PR tree-optimization/61375
2909         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Cancel optimization if
2910         symbolic number cannot be represented in an unsigned HOST_WIDE_INT.
2911         (execute_optimize_bswap): Cancel optimization if CHAR_BIT != 8.
2913 2014-08-01  Richard Biener  <rguenther@suse.de>
2915         PR tree-optimization/61964
2916         * tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
2917         by structural equality.
2919 2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2921         Backport from mainline
2922         2014-07-31  Oleg Endo  <olegendo@gcc.gnu.org>
2924         PR target/61844
2925         * config/sh/sh.c (sh_legitimate_address_p,
2926         sh_legitimize_reload_address): Handle reg+reg address modes when
2927         ALLOW_INDEXED_ADDRESS is false.
2928         * config/sh/predicates.md (general_movsrc_operand,
2929         general_movdst_operand): Likewise.
2931 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2933         Backport from mainline
2934         2014-07-14  Jakub Jelinek  <jakub@redhat.com>
2936         PR target/61656
2937         * config/i386/i386.c (classify_argument): Don't merge classes above
2938         number of words.
2940 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
2942         * config/alpha/elf.h: Define TARGET_UNWIND_TABLES_DEFAULT.
2944 2014-07-24  Kyle McMartin  <kyle@redhat.com>
2946         * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define.
2948 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2950         * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align_p):
2951         Add prototype.
2952         * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): New
2953         function.  Issue -Wpsabi warning if future GCC releases will use
2954         different field alignment rules for this type.
2955         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Call it.
2956         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2957         * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2959 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2961         * config/rs6000/rs6000.c (rs6000_function_arg_boundary): Issue
2962         -Wpsabi note when encountering a type where future GCC releases
2963         will apply different alignment requirements.
2965 2014-07-24  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2967         * config/rs6000/rs6000.c (rs6000_function_arg): If a float argument
2968         does not fit fully into floating-point registers, and there is still
2969         space in the register parameter area, issue -Wpsabi note that the ABI
2970         will change in a future GCC release.
2972 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2974         * config/arm/t-rtems-eabi: Add
2975         mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard,
2976         mthumb/march=armv7-m/mfpu=fpv4-sp-d16/mfloat-abi=hard,
2977         mbig-endian/mthumb/march=armv7-r, and
2978         mbig-endian/mthumb/march=armv7-r/mfpu=vfpv3-d16/mfloat-abi=hard
2979         multilibs.
2981 2014-07-23  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2982             Chris Johns <chrisj@rtems.org>
2983             Joel Sherrill <joel.sherrill@oarcorp.com>
2985         * config.gcc: Add nios2-*-rtems*.
2986         * config/nios2/rtems.h: New file.
2987         * gcc/config/nios2/t-rtems: New file.
2989 2014-07-21  Peter Bergner  <bergner@vnet.ibm.com>
2991         * config/rs6000/sysv4.h (LIBASAN_EARLY_SPEC): Define.
2992         (LIBTSAN_EARLY_SPEC): Likewise.
2994 2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2996         Backport from mainline
2997         2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
2999         PR target/61855
3000         * config/i386/avx512fintrin.h: Move constants for mantissa extraction
3001         out of #ifdef __OPTIMIZE__.
3003 2014-07-20  Eric Botcazou  <ebotcazou@adacore.com>
3005         * expr.c (store_field): Handle VOIDmode for calls that return values
3006         in multiple locations.
3008 2014-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3010         * toplev.c (output_stack_usage): Adjust the location of the warning.
3012 2014-07-19  Daniel Cederman  <cederman@gaisler.com>
3014         * config/sparc/sync.md (*membar_storeload_leon3): New insn.
3015         (*membar_storeload): Disable for LEON3.
3017 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
3019         Backport from mainline
3020         2014-07-16  David Wohlferd  <dw@LimeGreenSocks.com>
3022         PR target/61662
3023         * config/i386/ia32intrin.h: Use __LP64__ to determine size of long.
3025 2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
3027         Backport from mainline
3028         2014-07-18  Uros Bizjak  <ubizjak@gmail.com>
3030         PR target/61794
3031         * config/i386/sse.md (avx512f_vextract<shuffletype>32x4_1_maskm):
3032         Fix instruction constraint.
3033         (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto.
3035 2014-07-17  Richard Biener  <rguenther@suse.de>
3037         Backport from mainline
3038         2014-07-14  Richard Biener  <rguenther@suse.de>
3040         PR tree-optimization/61779
3041         * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Always try
3042         simplifying a condition.
3044 2014-07-17  Richard Biener  <rguenther@suse.de>
3046         PR rtl-optimization/61801
3047         * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and ASM_INPUT
3048         don't set reg_pending_barrier if it appears in a debug-insn.
3050 2014-07-17  Hans-Peter Nilsson  <hp@axis.com>
3052         Backport from trunk.
3053         PR target/61737.
3054         * config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
3055         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3056         (cris_cannot_force_const_mem, cris_legitimate_constant_p): New
3057         functions.
3058         (cris_print_index, cris_print_operand, cris_constant_index_p)
3059         (cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
3060         (cris_address_cost): Ditto last CONSTANT_P.
3061         (cris_symbol_type_of): Rename from cris_pic_symbol_type_of.  All
3062         callers changed.  Yield cris_offsettable_symbol for non-PIC
3063         constant symbolic expressions including labels.  Yield cris_unspec
3064         for all unspecs.
3065         (cris_expand_pic_call_address): New parameter MARKERP.  Set its
3066         target to pic_offset_table_rtx for calls that will likely go
3067         through PLT, const0_rtx when they can't.  All callers changed.
3068         Assert flag_pic.  Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
3069         symbolic expressions to be PICified.  Remove second, redundant,
3070         assert on can_create_pseudo_p returning non-zero.  Use
3071         replace_equiv_address_nv, not replace_equiv_address, for final
3072         operand update.
3073         * config/cris/cris.md ("movsi"): Move variable t to pattern
3074         toplevel. Adjust assert for new cris_symbol_type member.  Use
3075         CONSTANT_P instead of CONSTANT_ADDRESS_P.
3076         ("*movsi_internal") <case 9>: Make check for valid unspec operands
3077         for lapc stricter.
3078         <case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition codes.
3079         ("call", "call_value"): Use second incoming operand as a marker
3080         for pic-offset-table-register being used.
3081         ("*expanded_call_non_v32", "*expanded_call_v32")
3082         ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
3083         second incoming operand to CALL, match cris_call_type_marker.
3084         ("*expanded_call_value_side"): Ditto.  Disable before reload_completed.
3085         ("*expanded_call_side"): Ditto.  Fix typo in comment.
3086         (moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
3087         CONSTANT_P.
3088         * config/cris/predicates.md ("cris_call_type_marker"): New predicate.
3089         * config/cris/cris.h (CRIS_CONSTANT_P): New macro.
3090         (enum cris_symbol_type): Rename from cris_pic_symbol_type.  All
3091         users changed.  Add members cris_offsettable_symbol and cris_unspec.
3092         (cris_symbol_type): Rename from cris_pic_symbol_type.
3093         * config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
3094         just CONSTANT_P.
3095         * config/cris/cris-protos.h (cris_symbol_type_of,
3096         cris_expand_pic_call_address): Adjust prototypes.
3097         (cris_legitimate_constant_p): New prototype.
3099         * config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
3100         an existing tmake_file.  Don't add t-slibgcc and t-linux.
3102 2014-07-16  Jakub Jelinek  <jakub@redhat.com>
3104         * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
3105         on the FUNCTION_DECL.
3107         * BASE-VER: Set to 4.9.2.
3108         * DEV-PHASE: Set to prerelease.
3110 2014-07-16  Release Manager
3112         * GCC 4.9.1 released.
3114 2014-07-10  Cary Coutant  <ccoutant@google.com>
3116         Backport from trunk at r212211.
3118         * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table
3119         lookup.
3120         (resolve_addr_in_expr): When replacing the rtx in a location list
3121         entry, get a new address table entry.
3122         (dwarf2out_finish): Call index_location_lists even if there are no
3123         addr_index_table entries yet.
3125 2014-07-10  Tom G. Christensen  <tgc@jupiterrise.com>
3127         * doc/install.texi: Remove links to defunct package providers for
3128         Solaris.
3130 2014-07-10  Eric Botcazou  <ebotcazou@adacore.com>
3132         PR middle-end/53590
3133         * function.c (allocate_struct_function): Revert r188667 change.
3135         * gimple-low.c (lower_builtin_setjmp): Use properly-typed constant.
3137 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
3139         Backport r211369 from trunk.
3140         2014-06-09  Alan Lawrence  <alan.lawrence@arm.com>
3142         PR target/61062
3143         * config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
3144         vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
3145         vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16,
3146         vzip_s8, vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32,
3147         vzip_f32, vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32,
3148         vzipq_u8, vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16,
3149         vuzp_s32, vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16,
3150         vuzpq_s8, vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16,
3151         vuzpq_u32, vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
3154 2014-07-09  Alan Lawrence  <alan.lawrence@arm.com>
3156         Backport r210219 from trunk.
3157         2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3159         * config/arm/arm_neon.h: Update comment.
3160         * config/arm/neon-docgen.ml: Delete.
3161         * config/arm/neon-gen.ml: Delete.
3162         * doc/arm-neon-intrinsics.texi: Update comment.
3164 2014-07-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
3166         Backport r211775 from trunk.
3167         2014-06-18  Terry Guo  <terry.guo@arm.com>
3169         PR target/61544
3170         * config/arm/arm.c (thumb1_reorg): Move to next basic block if we
3171         reach the head.
3173 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
3175         PR rtl-optimization/61673
3176         * combine.c (simplify_comparison): Test just mode's sign bit
3177         in tmode rather than the sign bit and any bits above it.
3179 2014-07-08  James Greenhalgh  <james.greenhalgh@arm.com>
3181         Backport r212298 from trunk.
3182         2014-07-04  James Greenhalgh  <james.greenhalgh@arm.com>
3184         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): New.
3185         (move_lo_quad_internal_be_<mode>): Likewise.
3186         (move_lo_quad_<mode>): Convert to define_expand.
3187         (aarch64_simd_move_hi_quad_<mode>): Gate on BYTES_BIG_ENDIAN.
3188         (aarch64_simd_move_hi_quad_be_<mode>): New.
3189         (move_hi_quad_<mode>): Use appropriate insn for BYTES_BIG_ENDIAN.
3190         (aarch64_combinez<mode>): Gate on BYTES_BIG_ENDIAN.
3191         (aarch64_combinez_be<mode>): New.
3192         (aarch64_combine<mode>): Convert to define_expand.
3193         (aarch64_combine_internal<mode>): New.
3194         (aarch64_simd_combine<mode>): Remove bogus RTL description.
3196 2014-07-08  Richard Biener  <rguenther@suse.de>
3198         PR tree-optimization/61680
3199         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3200         Handle properly all read-write dependences with group accesses.
3202         PR tree-optimization/61681
3203         * tree-ssa-structalias.c (find_what_var_points_to): Expand
3204         NONLOCAL inside ESCAPED.
3206 2014-07-08  Alan Lawrence  <alan.lawrence@arm.com>
3208         Backport r211502 from mainline.
3209         2014-06-10  Alan Lawrence  <alan.lawrence@arm.com>
3211         PR target/59843
3212         * config/aarch64/aarch64-modes.def: Add V1DFmode.
3213         * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p):
3214         Support V1DFmode.
3216 2014-07-08  Jakub Jelinek  <jakub@redhat.com>
3218         PR tree-optimization/61725
3219         * tree-vrp.c (extract_range_basic): Don't assume vr0 is unsigned
3220         range, use range_includes_zerop_p instead of integer_zerop on
3221         vr0->min, only use log2 of max if min is not negative.
3223 2014-07-06  Gerald Pfeifer  <gerald@pfeifer.com>
3225         * doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.
3227 2014-07-04  Jakub Jelinek  <jakub@redhat.com>
3229         PR middle-end/61654
3230         * cgraphunit.c (expand_thunk): Call free_dominance_info.
3232         PR tree-optimization/61684
3233         * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
3234         rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
3236 2014-06-30  Jakub Jelinek  <jakub@redhat.com>
3238         Backported from mainline
3239         2014-06-27  Jakub Jelinek  <jakub@redhat.com>
3241         PR tree-optimization/57233
3242         PR tree-optimization/61299
3243         * tree-vect-generic.c (get_compute_type, count_type_subparts): New
3244         functions.
3245         (expand_vector_operations_1): Use them.  If {L,R}ROTATE_EXPR
3246         would be lowered to scalar shifts, check if corresponding
3247         shifts and vector BIT_IOR_EXPR are supported and don't lower
3248         or lower just to narrower vector type in that case.
3249         * expmed.c (expand_shift_1): Fix up handling of vector
3250         shifts and rotates.
3252         2014-06-25  Jakub Jelinek  <jakub@redhat.com>
3254         * langhooks-def.h (LANG_HOOKS_OMP_CLAUSE_LINEAR_CTOR): Define.
3255         (LANG_HOOKS_DECLS): Add it.
3256         * gimplify.c (gimplify_omp_for): Make sure OMP_CLAUSE_LINEAR_STEP
3257         has correct type.
3258         * tree.h (OMP_CLAUSE_LINEAR_ARRAY): Define.
3259         * langhooks.h (struct lang_hooks_for_decls): Add
3260         omp_clause_linear_ctor hook.
3261         * omp-low.c (lower_rec_input_clauses): Set max_vf even if
3262         OMP_CLAUSE_LINEAR_ARRAY is set.  Don't fold_convert
3263         OMP_CLAUSE_LINEAR_STEP.  For OMP_CLAUSE_LINEAR_ARRAY in
3264         combined simd loop use omp_clause_linear_ctor hook.
3266         2014-06-24  Jakub Jelinek  <jakub@redhat.com>
3268         * gimplify.c (gimplify_scan_omp_clauses) <case OMP_CLAUSE_MAP,
3269         OMP_CLAUSE_TO, OMP_CLAUSE_FROM): Make sure OMP_CLAUSE_SIZE is non-NULL.
3270         <case OMP_CLAUSE_ALIGNED>: Gimplify OMP_CLAUSE_ALIGNED_ALIGNMENT.
3271         (gimplify_adjust_omp_clauses_1): Make sure OMP_CLAUSE_SIZE is non-NULL.
3272         (gimplify_adjust_omp_clauses): Likewise.
3273         * omp-low.c (lower_rec_simd_input_clauses,
3274         lower_rec_input_clauses, expand_omp_simd): Handle non-constant
3275         safelen the same as safelen(1).
3276         * tree-nested.c (convert_nonlocal_omp_clauses,
3277         convert_local_omp_clauses): Handle OMP_CLAUSE_ALIGNED.  For
3278         OMP_CLAUSE_{MAP,TO,FROM} if not decl use walk_tree.
3279         (convert_nonlocal_reference_stmt, convert_local_reference_stmt):
3280         Fixup handling of GIMPLE_OMP_TARGET.
3281         (convert_tramp_reference_stmt, convert_gimple_call): Handle
3282         GIMPLE_OMP_TARGET.
3284         2014-06-18  Jakub Jelinek  <jakub@redhat.com>
3286         * gimplify.c (omp_notice_variable): If n is non-NULL and no flags
3287         change in ORT_TARGET region, don't jump to do_outer.
3288         (struct gimplify_adjust_omp_clauses_data): New type.
3289         (gimplify_adjust_omp_clauses_1): Adjust for data being
3290         a struct gimplify_adjust_omp_clauses_data pointer instead
3291         of tree *.  Pass pre_p as a new argument to
3292         lang_hooks.decls.omp_finish_clause hook.
3293         (gimplify_adjust_omp_clauses): Add pre_p argument, adjust
3294         splay_tree_foreach to pass both list_p and pre_p.
3295         (gimplify_omp_parallel, gimplify_omp_task, gimplify_omp_for,
3296         gimplify_omp_workshare, gimplify_omp_target_update): Adjust
3297         gimplify_adjust_omp_clauses callers.
3298         * langhooks.c (lhd_omp_finish_clause): New function.
3299         * langhooks-def.h (lhd_omp_finish_clause): New prototype.
3300         (LANG_HOOKS_OMP_FINISH_CLAUSE): Define to lhd_omp_finish_clause.
3301         * langhooks.h (struct lang_hooks_for_decls): Add a new
3302         gimple_seq * argument to omp_finish_clause hook.
3303         * omp-low.c (scan_sharing_clauses): Call scan_omp_op on
3304         non-DECL_P OMP_CLAUSE_DECL if ctx->outer.
3305         (scan_omp_parallel, lower_omp_for): When adding _LOOPTEMP_ clause var,
3306         add it to outer ctx's decl_map as identity.
3307         * tree-core.h (OMP_CLAUSE_MAP_TO_PSET): New map kind.
3308         * tree-nested.c (convert_nonlocal_omp_clauses,
3309         convert_local_omp_clauses): Handle various OpenMP 4.0 clauses.
3310         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_MAP_TO_PSET.
3312         2014-06-10  Jakub Jelinek  <jakub@redhat.com>
3314         PR fortran/60928
3315         * omp-low.c (lower_rec_input_clauses) <case OMP_CLAUSE_LASTPRIVATE>:
3316         Set lastprivate_firstprivate even if omp_private_outer_ref
3317         langhook returns true.
3318         <case OMP_CLAUSE_REDUCTION>: When calling omp_clause_default_ctor
3319         langhook, call unshare_expr on new_var and call
3320         build_outer_var_ref to get the last argument.
3322         2014-05-11  Jakub Jelinek  <jakub@redhat.com>
3324         * tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
3325         * tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
3326         number of operands to 3.
3327         (walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
3328         * tree-nested.c (convert_nonlocal_omp_clauses,
3329         convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
3330         * gimplify.c (gimplify_scan_omp_clauses): Handle
3331         OMP_CLAUSE_LINEAR_STMT.
3332         * omp-low.c (lower_rec_input_clauses): Fix typo.
3333         (maybe_add_implicit_barrier_cancel, lower_omp_1): Add
3334         cast between Fortran boolean_type_node and C _Bool if needed.
3336 2014-06-30  Jason Merrill  <jason@redhat.com>
3338         PR c++/51253
3339         PR c++/61382
3340         * gimplify.c (gimplify_arg): Non-static.
3341         * gimplify.h: Declare it.
3343 2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3345         Backport from Mainline
3346         2014-06-30  Marcus Shawcroft  <marcus.shawcroft@arm.com>
3348         PR target/61633
3349         * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3):
3350         Add alternative; make early clobber.  Adjust both split patterns
3351         to use operand 0 as the working register.
3353 2014-06-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3355         * config/aarch64/iterators.md (VCOND): Handle SI and HI modes.
3356         Update comments.
3357         (VCONQ): Make comment more helpful.
3358         (VCON): Delete.
3359         * config/aarch64/aarch64-simd.md
3360         (aarch64_sqdmulh_lane<mode>):
3361         Use VCOND for operands 2.  Update lane checking and flipping logic.
3362         (aarch64_sqrdmulh_lane<mode>): Likewise.
3363         (aarch64_sq<r>dmulh_lane<mode>_internal): Likewise.
3364         (aarch64_sqdmull2<mode>): Remove VCON, use VQ_HSI mode iterator.
3365         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, VD_HSI): Change mode
3366         attribute of operand 3 to VCOND.
3367         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal, SD_HSI): Likewise.
3368         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
3369         (aarch64_sqdmull_lane<mode>_internal, VD_HSI): Likewise.
3370         (aarch64_sqdmull_lane<mode>_internal, SD_HSI): Likewise.
3371         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
3372         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, VD_HSI: New
3373         define_insn.
3374         (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>_internal, SD_HSI): Likewise.
3375         (aarch64_sqdml<SBINQOPS:as>l2_laneq<mode>_internal): Likewise.
3376         (aarch64_sqdmull_laneq<mode>_internal, VD_HSI): Likewise.
3377         (aarch64_sqdmull_laneq<mode>_internal, SD_HSI): Likewise.
3378         (aarch64_sqdmull2_laneq<mode>_internal): Likewise.
3379         (aarch64_sqdmlal_lane<mode>): Change mode attribute of penultimate
3380         operand to VCOND.  Update lane flipping and bounds checking logic.
3381         (aarch64_sqdmlal2_lane<mode>): Likewise.
3382         (aarch64_sqdmlsl_lane<mode>): Likewise.
3383         (aarch64_sqdmull_lane<mode>): Likewise.
3384         (aarch64_sqdmull2_lane<mode>): Likewise.
3385         (aarch64_sqdmlal_laneq<mode>): Replace VCON usage with VCONQ.
3386         Emit aarch64_sqdmlal_laneq<mode>_internal insn.
3387         (aarch64_sqdmlal2_laneq<mode>): Emit
3388         aarch64_sqdmlal2_laneq<mode>_internal insn.
3389         Replace VCON with VCONQ.
3390         (aarch64_sqdmlsl2_lane<mode>): Replace VCON with VCONQ.
3391         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3392         (aarch64_sqdmull_laneq<mode>): Emit
3393         aarch64_sqdmull_laneq<mode>_internal insn.
3394         Replace VCON with VCONQ.
3395         (aarch64_sqdmull2_laneq<mode>): Emit
3396         aarch64_sqdmull2_laneq<mode>_internal insn.
3397         (aarch64_sqdmlsl_laneq<mode>): Replace VCON usage with VCONQ.
3398         * config/aarch64/arm_neon.h (vqdmlal_high_lane_s16): Change type
3399         of 3rd argument to int16x4_t.
3400         (vqdmlalh_lane_s16): Likewise.
3401         (vqdmlslh_lane_s16): Likewise.
3402         (vqdmull_high_lane_s16): Likewise.
3403         (vqdmullh_lane_s16): Change type of 2nd argument to int16x4_t.
3404         (vqdmlal_lane_s16): Don't create temporary int16x8_t value.
3405         (vqdmlsl_lane_s16): Likewise.
3406         (vqdmull_lane_s16): Don't create temporary int16x8_t value.
3407         (vqdmlal_high_lane_s32): Change type 3rd argument to int32x2_t.
3408         (vqdmlals_lane_s32): Likewise.
3409         (vqdmlsls_lane_s32): Likewise.
3410         (vqdmull_high_lane_s32): Change type 2nd argument to int32x2_t.
3411         (vqdmulls_lane_s32): Likewise.
3412         (vqdmlal_lane_s32): Don't create temporary int32x4_t value.
3413         (vqdmlsl_lane_s32): Likewise.
3414         (vqdmull_lane_s32): Don't create temporary int32x4_t value.
3415         (vqdmulhh_lane_s16): Change type of second argument to int16x4_t.
3416         (vqrdmulhh_lane_s16): Likewise.
3417         (vqdmlsl_high_lane_s16): Likewise.
3418         (vqdmulhs_lane_s32): Change type of second argument to int32x2_t.
3419         (vqdmlsl_high_lane_s32): Likewise.
3420         (vqrdmulhs_lane_s32): Likewise.
3422 2014-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3424         Backport from Mainline
3425         2014-06-20  Jakub Jelinek  <jakub@redhat.com>
3426         2014-06-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3428         PR tree-optimization/61306
3429         * tree-ssa-math-opts.c (struct symbolic_number): Store type of
3430         expression instead of its size.
3431         (do_shift_rotate): Adapt to change in struct symbolic_number. Return
3432         false to prevent optimization when the result is unpredictable due to
3433         arithmetic right shift of signed type with highest byte is set.
3434         (verify_symbolic_number_p): Adapt to change in struct symbolic_number.
3435         (find_bswap_1): Likewise. Return NULL to prevent optimization when the
3436         result is unpredictable due to sign extension.
3437         (find_bswap): Adapt to change in struct symbolic_number.
3439 2014-06-27  Martin Jambor  <mjambor@suse.cz>
3441         PR ipa/61160
3442         * cgraphclones.c (duplicate_thunk_for_node): Removed parameter
3443         args_to_skip, use those from node instead.  Copy args_to_skip and
3444         combined_args_to_skip from node to the new thunk.
3445         (redirect_edge_duplicating_thunks): Removed parameter args_to_skip.
3446         (cgraph_create_virtual_clone): Moved computation of
3447         combined_args_to_skip...
3448         (cgraph_clone_node): ...here, simplify it to bitmap_ior..
3450 2014-06-27  Uros Bizjak  <ubizjak@gmail.com>
3452         Backport from mainline
3453         2014-06-26  Uros Bizjak  <ubizjak@gmail.com>
3455         PR target/61586
3456         * config/alpha/alpha.c (alpha_handle_trap_shadows): Handle BARRIER RTX.
3458 2014-06-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3460         PR target/61542
3461         * config/rs6000/vsx.md (vsx_extract_v4sf): Fix bug with element
3462         extraction other than index 3.
3464 2014-06-26  Marc Glisse  <marc.glisse@inria.fr>
3466         PR target/61503
3467         * config/i386/i386.md (x86_64_shrd, x86_shrd,
3468         ix86_rotr<dwi>3_doubleword): Replace ashiftrt with lshiftrt.
3470 2014-06-26  Martin Jambor  <mjambor@suse.cz>
3472         Backport from mainline
3473         * ipa-prop.c (ipa_impossible_devirt_target): No longer static,
3474         renamed to ipa_impossible_devirt_target.  Fix typo.
3475         * ipa-prop.h (ipa_impossible_devirt_target): Declare.
3476         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use
3477         ipa_impossible_devirt_target.
3479 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
3481         PR target/61570
3482         * config/i386/driver-i386.c (host_detect_local_cpu): For unknown
3483         model family 6 CPU with has_longmode never use a CPU without
3484         64-bit support.
3486         * gimplify.c (gimplify_omp_for): For #pragma omp for simd iterator
3487         not mentioned in clauses use private clause if the iterator is
3488         declared in #pragma omp for simd, and when adding lastprivate
3489         instead, add it to the outer #pragma omp for too.  Diagnose
3490         if the variable is private in outer context.  For simd collapse > 1
3491         loops, replace all iterators with temporaries.
3492         * omp-low.c (lower_rec_input_clauses): Handle LINEAR clause the
3493         same even in collapse > 1 loops.
3495 2014-06-23  Alan Modra  <amodra@gmail.com>
3497         PR bootstrap/61583
3498         * tree-vrp.c (remove_range_assertions): Do not set is_unreachable
3499         to zero on debug statements.
3501 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3503         * config/aarch64/aarch64-simd.md (aarch64_sqdmulh_lane<mode>):
3504         New expander.
3505         (aarch64_sqrdmulh_lane<mode>): Likewise.
3506         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3507         (aarch64_sq<r>dmulh_lane<mode>_interna): ...this.
3508         (aarch64_sqdmulh_laneq<mode>): New expander.
3509         (aarch64_sqrdmulh_laneq<mode>): Likewise.
3510         (aarch64_sq<r>dmulh_laneq<mode>): Rename to...
3511         (aarch64_sq<r>dmulh_laneq<mode>_internal): ...this.
3512         (aarch64_sqdmulh_lane<mode>): New expander.
3513         (aarch64_sqrdmulh_lane<mode>): Likewise.
3514         (aarch64_sq<r>dmulh_lane<mode>): Rename to...
3515         (aarch64_sq<r>dmulh_lane<mode>_internal): ...this.
3516         (aarch64_sqdmlal_lane<mode>): Add lane flip for big-endian.
3517         (aarch64_sqdmlal_laneq<mode>): Likewise.
3518         (aarch64_sqdmlsl_lane<mode>): Likewise.
3519         (aarch64_sqdmlsl_laneq<mode>): Likewise.
3520         (aarch64_sqdmlal2_lane<mode>): Likewise.
3521         (aarch64_sqdmlal2_laneq<mode>): Likewise.
3522         (aarch64_sqdmlsl2_lane<mode>): Likewise.
3523         (aarch64_sqdmlsl2_laneq<mode>): Likewise.
3524         (aarch64_sqdmull_lane<mode>): Likewise.
3525         (aarch64_sqdmull_laneq<mode>): Likewise.
3526         (aarch64_sqdmull2_lane<mode>): Likewise.
3527         (aarch64_sqdmull2_laneq<mode>): Likewise.
3529 2014-06-20  Martin Jambor  <mjambor@suse.cz>
3531         PR ipa/61540
3532         * ipa-prop.c (impossible_devirt_target): New function.
3533         (try_make_edge_direct_virtual_call): Use it, also instead of
3534         asserting.
3536 2014-06-20  Martin Jambor  <mjambor@suse.cz>
3538         PR ipa/61211
3539         * cgraph.c (clone_of_p): Allow skipped_branch to deal with
3540         expanded clones.
3542 2014-06-20  Chung-Lin Tang  <cltang@codesourcery.com>
3544         Backport from mainline
3546         2014-06-20  Julian Brown  <julian@codesourcery.com>
3547                     Chung-Lin Tang  <cltang@codesourcery.com>
3549         * config/arm/arm.c (arm_output_mi_thunk): Fix offset for
3550         TARGET_THUMB1_ONLY. Add comments.
3552 2014-06-18  Uros Bizjak  <ubizjak@gmail.com>
3554         Backport from mainline
3555         2014-06-16  Uros Bizjak  <ubizjak@gmail.com>
3557         * config/i386/i386.c (decide_alg): Correctly handle
3558         maximum size of stringop algorithm.
3560 2014-06-18  Richard Henderson  <rth@redhat.com>
3562         PR target/61545
3563         * config/aarch64/aarch64.md (tlsdesc_small): Clobber CC_REGNUM.
3565 2014-06-17  Yufeng Zhang  <yufeng.zhang@arm.com>
3567         PR target/61483
3568         * config/aarch64/aarch64.c (aarch64_layout_arg): Add new local
3569         variable 'size'; calculate 'size' right in the front; use
3570         'size' to compute 'nregs' (when 'allocate_ncrn != 0') and
3571         pcum->aapcs_stack_words.
3573 2014-06-17  Nick Clifton  <nickc@redhat.com>
3575         * config/msp430/msp430.md (mulhisi3): Add a NOP after the DINT.
3576         (umulhi3, mulsidi3, umulsidi3): Likewise.
3578 2014-06-17  Uros Bizjak  <ubizjak@gmail.com>
3580         Backport from mainline
3581         2014-06-06  Uros Bizjak  <ubizjak@gmail.com>
3583         PR target/61423
3584         * config/i386/i386.md (*floatunssi<mode>2_i387_with_xmm): New
3585         define_insn_and_split pattern, merged from *floatunssi<mode>2_1
3586         and corresponding splitters.  Zero extend general register
3587         or memory input operand to XMM temporary.  Enable for
3588         TARGET_SSE2 and TARGET_INTER_UNIT_MOVES_TO_VEC only.
3589         (floatunssi<mode>2): Update expander predicate.
3591 2014-06-16  Vladimir Makarov  <vmakarov@redhat.com>
3593         PR rtl-optimization/61325
3594         * lra-constraints.c (valid_address_p): Add forward declaration.
3595         (simplify_operand_subreg): Check address validity before and after
3596         alter_reg of memory subreg.
3598 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
3600         PR plugins/45078
3601         * config.gcc (arm*-*-linux-*): Include vxworks-dummy.h in tm_file.
3603 2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
3605         Backport from mainline
3607         2014-06-13  Peter Bergner  <bergner@vnet.ibm.com>
3608         PR target/61415
3609         * config/rs6000/rs6000-builtin.def (BU_MISC_1): Delete.
3610         (BU_MISC_2): Rename to ...
3611         (BU_LDBL128_2): ... this.
3612         * config/rs6000/rs6000.h (RS6000_BTM_LDBL128): New define.
3613         (RS6000_BTM_COMMON): Add RS6000_BTM_LDBL128.
3614         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
3615         RS6000_BTM_LDBL128.
3616         (rs6000_invalid_builtin): Add long double 128-bit builtin support.
3617         (rs6000_builtin_mask_names): Add RS6000_BTM_LDBL128.
3618         * config/rs6000/rs6000.md (unpacktf_0): Remove define)expand.
3619         (unpacktf_1): Likewise.
3620         * doc/extend.texi (__builtin_longdouble_dw0): Remove documentation.
3621         (__builtin_longdouble_dw1): Likewise.
3622         * doc/sourcebuild.texi (longdouble128): Document.
3624 2014-06-13  Jeff Law  <law@redhat.com>
3626         Backports from mainline:
3627         2014-06-13  Jeff Law  <law@redhat.com>
3629         PR rtl-optimization/61094
3630         PR rtl-optimization/61446
3631         * ree.c (combine_reaching_defs): Get the mode for the copy from
3632         the extension insn rather than the defining insn.
3634         2014-06-02  Jeff Law  <law@redhat.com>
3636         PR rtl-optimization/61094
3637         * ree.c (combine_reaching_defs): Do not reextend an insn if it
3638         was marked as do_no_reextend.  If a copy is needed to eliminate
3639         an extension, then mark it as do_not_reextend.
3641 2014-06-13  Martin Jambor  <mjambor@suse.cz>
3643         PR ipa/61186
3644         * ipa-devirt.c (possible_polymorphic_call_targets): Store NULL to
3645         cache_token if returning early.
3647 2014-06-12  Jakub Jelinek  <jakub@redhat.com>
3649         PR middle-end/61486
3650         * gimplify.c (struct gimplify_omp_ctx): Add distribute field.
3651         (gimplify_adjust_omp_clauses): Don't or in GOVD_LASTPRIVATE
3652         if outer combined construct is distribute.
3653         (gimplify_omp_for): For OMP_DISTRIBUTE set
3654         gimplify_omp_ctxp->distribute.
3655         * omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: For
3656         GIMPLE_OMP_TEAMS, if decl isn't global in outer context, record
3657         mapping into decl map.
3659 2014-06-12  Jeff Law  <law@redhat.com>
3661         Backports from mainline:
3663         2014-06-12  Jeff Law  <law@redhat.com>
3665         PR tree-optimization/61009
3666         * tree-ssa-threadedge.c (thread_through_normal_block): Correct return
3667         value when we stop processing a block due to problematic PHIs.
3669         2014-06-05  Jeff Law  <law@redhat.com>
3671         PR tree-optimization/61289
3672         * tree-ssa-threadedge.c (invalidate_equivalences): Remove SRC_MAP and
3673         DST_MAP parameters.  Invalidate by walking all the SSA_NAME_VALUES
3674         looking for those which match LHS.  All callers changed.
3675         (record_temporary_equivalences_from_phis): Remove SRC_MAP and DST_MAP
3676         parameters and code which manipulated them.  All callers changed.
3677         (record_temporary_equivalences_from_stmts_at_dest): Remove SRC_MAP
3678         and DST_MAP parameters.  Simplify invalidation code by just calling
3679         invalidate_equivalences.  All callers changed.
3680         (thread_across_edge): Simplify now that we don't need to maintain
3681         the map of equivalences to invalidate.
3683 2014-06-12  Eric Botcazou  <ebotcazou@adacore.com>
3685         * tree-core.h (DECL_NONALIASED): Use proper spelling in comment.
3687 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3689         Backport from 2014-05-14 trunk r210418
3690         * config/avr/avr.h (REG_CLASS_CONTENTS): Use unsigned suffix for
3691         shifted values to avoid build warning.
3693 2014-06-12  Georg-Johann Lay  <avr@gjlay.de>
3695         Backport from 2014-05-09 trunk r210272
3697         * config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
3698         unsigned int initializers for regno_in, regno_out.
3700         Backport from 2014-06-12 trunk r211491
3702         PR target/61443
3703         * config/avr/avr.md (push<mode>1): Avoid (subreg(mem)) when
3704         loading from address spaces.
3706 2014-06-12  Alan Modra  <amodra@gmail.com>
3708         PR target/61300
3709         * doc/tm.texi.in (INCOMING_REG_PARM_STACK_SPACE): Document.
3710         * doc/tm.texi: Regenerate.
3711         * function.c (INCOMING_REG_PARM_STACK_SPACE): Provide default.
3712         Use throughout in place of REG_PARM_STACK_SPACE.
3713         * config/rs6000/rs6000.c (rs6000_reg_parm_stack_space): Add
3714         "incoming" param.  Pass to rs6000_function_parms_need_stack.
3715         (rs6000_function_parms_need_stack): Add "incoming" param, ignore
3716         prototype_p when incoming.  Use function decl when incoming
3717         to handle K&R style functions.
3718         * config/rs6000/rs6000.h (REG_PARM_STACK_SPACE): Adjust.
3719         (INCOMING_REG_PARM_STACK_SPACE): Define.
3721 2014-06-11  Richard Biener  <rguenther@suse.de>
3723         PR tree-optimization/61452
3724         * tree-ssa-sccvn.c (visit_phi): Remove pointless setting of
3725         expr and has_constants in case we found a leader.
3726         (simplify_binary_expression): Always valueize operands first.
3727         (simplify_unary_expression): Likewise.
3729 2014-06-11  Richard Biener  <rguenther@suse.de>
3731         PR middle-end/61456
3732         * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p):
3733         Do not use the main variant for the type comparison.
3735 2014-06-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3737         * doc/arm-acle-intrinsics.texi: Specify when CRC32 intrinsics are
3738         available.
3739         Simplify description of __crc32d and __crc32cd intrinsics.
3740         * doc/extend.texi (ARM ACLE Intrinsics): Remove comment about CRC32
3741         availability.
3743 2014-06-07  Eric Botcazou  <ebotcazou@adacore.com>
3745         * tree-ssa-tail-merge.c (same_succ_hash): Hash the static chain of a
3746         call statement, if any.
3747         (gimple_equal_p) <GIMPLE_CALL>: Compare the static chain of the call
3748         statements, if any.  Tidy up.
3750 2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3752         Back port from trunk
3753         2014-06-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3755         PR target/61431
3756         * config/rs6000/vsx.md (VSX_LE): Split VSX_D into 2 separate
3757         iterators, VSX_D that handles 64-bit types, and VSX_LE that
3758         handles swapping the two 64-bit double words on little endian
3759         systems.  Include V1TImode and optionally TImode in VSX_LE so that
3760         these types are properly swapped.  Change all of the insns and
3761         splits that do the 64-bit swaps to use VSX_LE.
3762         (vsx_le_perm_load_<mode>): Likewise.
3763         (vsx_le_perm_store_<mode>): Likewise.
3764         (splitters for little endian memory operations): Likewise.
3765         (vsx_xxpermdi2_le_<mode>): Likewise.
3766         (vsx_lxvd2x2_le_<mode>): Likewise.
3767         (vsx_stxvd2x2_le_<mode>): Likewise.
3769 2014-06-06  Vladimir Makarov  <vmakarov@redhat.com>
3771         PR rtl-optimization/61325
3772         * lra-constraints.c (process_address_1): Check scale equal to one
3773         to prevent transformation: base + scale * index => base + new_reg.
3775 2014-06-05  Martin Jambor  <mjambor@suse.cz>
3777         PR ipa/61393
3778         * ipa-cp.c (determine_versionability): Pretend that tm_clones are
3779         not versionable.
3781 2014-06-04  Richard Biener  <rguenther@suse.de>
3783         PR tree-optimization/61383
3784         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Make sure
3785         stmts can't trap.
3787 2014-06-02  Jason Merrill  <jason@redhat.com>
3789         PR c++/61020
3790         * varpool.c (ctor_for_folding): Handle uninitialized vtables.
3792 2014-06-03  Martin Jambor  <mjambor@suse.cz>
3794         PR ipa/61160
3795         * ipa-cp.c (cgraph_edge_brings_value_p): Handle edges leading to
3796         thunks.
3798 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3800         Backport from mainline
3801         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3803         PR rtl-optimization/60866
3804         * sel-sched-ir (sel_init_new_insn): New parameter old_seqno.
3805         Default it to -1.  Pass it down to init_simplejump_data.
3806         (init_simplejump_data): New parameter old_seqno.  Pass it down
3807         to get_seqno_for_a_jump.
3808         (get_seqno_for_a_jump): New parameter old_seqno.  Use it for
3809         initializing new jump seqno as a last resort.  Add comment.
3810         (sel_redirect_edge_and_branch): Save old seqno of the conditional
3811         jump and pass it down to sel_init_new_insn.
3812         (sel_redirect_edge_and_branch_force): Likewise.
3814 2014-06-03  Andrey Belevantsev  <abel@ispras.ru>
3816         Backport from mainline
3817         2014-05-14  Andrey Belevantsev  <abel@ispras.ru>
3819         PR rtl-optimization/60901
3820         * config/i386/i386.c (ix86_dependencies_evaluation_hook): Check that
3821         bb predecessor belongs to the same scheduling region.  Adjust comment.
3823 2014-06-03  Uros Bizjak  <ubizjak@gmail.com>
3825         Backport from mainline
3826         2014-06-02  Uros Bizjak  <ubizjak@gmail.com>
3828         PR target/61239
3829         * config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
3830         GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
3832 2014-05-29  Vladimir Makarov  <vmakarov@redhat.com>
3834         PR rtl-optimization/61325
3835         * lra-constraints.c (process_address): Rename to
3836         process_address_1.
3837         (process_address): New function.
3839 2014-05-29  Uros Bizjak  <ubizjak@gmail.com>
3841         Backport from mainline
3842         2014-05-26  Uros Bizjak  <ubizjak@gmail.com>
3844         PR target/61271
3845         * config/i386/i386.c (ix86_rtx_costs)
3846         <case CONST_INT, case CONST, case LABEL_REF, case SYMBOL_REF>:
3847         Fix condition.
3849 2014-05-28  Eric Botcazou  <ebotcazou@adacore.com>
3851         Backport from mainline
3852         2014-05-27  Eric Botcazou  <ebotcazou@adacore.com>
3854         * double-int.c (div_and_round_double) <ROUND_DIV_EXPR>: Use the proper
3855         predicate to detect a negative quotient.
3857 2014-05-28  Richard Biener  <rguenther@suse.de>
3859         Backport from mainline
3860         2014-05-28  Richard Biener  <rguenther@suse.de>
3862         PR middle-end/61045
3863         * fold-const.c (fold_comparison): When folding
3864         X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
3865         the sign of the remaining constant operand stays the same.
3867         2014-05-05  Richard Biener  <rguenther@suse.de>
3869         PR middle-end/61010
3870         * fold-const.c (fold_binary_loc): Consistently avoid
3871         canonicalizing X & CST away from a CST that is the mask
3872         of a mode.
3874         2014-04-28  Richard Biener  <rguenther@suse.de>
3876         PR tree-optimization/60979
3877         * graphite-scop-detection.c (scopdet_basic_block_info): Reject
3878         SCOPs that end in a block with a successor with abnormal
3879         predecessors.
3881 2014-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3883         * configure.ac ($gcc_cv_ld_clearcap): New test.
3884         * configure: Regenerate.
3885         * config.in: Regenerate.
3886         * config/sol2.opt (mclear-hwcap): New option.
3887         * config/sol2.h (LINK_CLEARCAP_SPEC): Define.
3888         * config/sol2-clearcap.map: Moved here from
3889         testsuite/gcc.target/i386/clearcap.map.
3890         * config/sol2-clearcapv2.map: Move here from
3891         gcc.target/i386/clearcapv2.map.
3892         * config/t-sol2 (install): Depend on install-clearcap-map.
3893         (install-clearcap-map): New target.
3894         * doc/invoke.texi (Option Summary, Solaris 2 Options): Document
3895         -mclear-hwcap.
3897 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3899         PR libgcc/61152
3900         * config/dbx.h (License): Add Runtime Library Exception.
3901         * config/newlib-stdint.h (License): Same.
3902         * config/rtems.h (License): Same
3903         * config/initfini-array.h (License): Same
3904         * config/v850/v850.h (License): Same.
3905         * config/v850/v850-opts.h (License): Same
3906         * config/v850/rtems.h (License): Same.
3908 2014-05-28  Georg-Johann Lay  <avr@gjlay.de>
3910         PR target/61044
3911         * doc/extend.texi (Local Labels): Note that label differences are
3912         not supported for AVR.
3914 2014-05-27  Georg-Johann Lay  <avr@gjlay.de>
3916         Backport from 2014-05-12 mainline r210322.
3917         Backport from 2014-05-27 mainline r210959, r210969.
3919         PR libgcc/61152
3920         * config/arm/arm.h (License): Add GCC Runtime Library Exception.
3921         * config/arm/arm-cores.def (License): Same.
3922         * config/arm/arm-opts.h (License): Same.
3923         * config/arm/aout.h (License): Same.
3924         * config/arm/bpabi.h (License): Same.
3925         * config/arm/elf.h (License): Same.
3926         * config/arm/linux-elf.h (License): Same.
3927         * config/arm/linux-gas.h (License): Same.
3928         * config/arm/netbsd-elf.h (License): Same.
3929         * config/arm/uclinux-eabi.h (License): Same.
3930         * config/arm/uclinux-elf.h (License): Same.
3931         * config/arm/vxworks.h (License): Same.
3933 2014-05-26  Michael Tautschnig  <mt@debian.org>
3935         PR target/61249
3936         * doc/extend.texi (X86 Built-in Functions): Fix parameter lists of
3937         __builtin_ia32_vfrczs[sd] and __builtin_ia32_mpsadbw256.
3939 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3941         PR rtl-optimization/61215
3942         * lra-elelimination.c (lra_eliminate_regs_1): Don't use
3943         simplify_gen_subreg until final substitution.
3945 2014-05-23  Alan Modra  <amodra@gmail.com>
3947         PR target/61231
3948         * config/rs6000/rs6000.c (mem_operand_gpr): Handle SImode.
3949         * config/rs6000/rs6000.md (extendsidi2_lfiwax, extendsidi2_nocell):
3950         Use "Y" constraint rather than "m".
3952 2014-05-22  Vladimir Makarov  <vmakarov@redhat.com>
3954         PR rtl-optimization/60969
3955         * ira-costs.c (record_reg_classes): Process NO_REGS for matching
3956         constraints.  Set up mem cost for NO_REGS case.
3958 2014-05-22  Peter Bergner  <bergner@vnet.ibm.com>
3960         * config/rs6000/htm.md (ttest): Use correct shift value to get CR0.
3962 2014-05-22  Richard Earnshaw  <rearnsha@arm.com>
3964         PR target/61208
3965         * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
3967 2014-05-22  Nick Clifton  <nickc@redhat.com>
3969         * config/msp430/msp430.h (ASM_SPEC): Add spaces after inserted options.
3971 2014-05-22  Jakub Jelinek  <jakub@redhat.com>
3973         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Make sure
3974         all padding bits in REAL_VALUE_TYPE are cleared.
3976 2014-05-21  Guozhi Wei  <carrot@google.com>
3978         PR target/61202
3979         * config/aarch64/arm_neon.h (vqdmulh_n_s16): Change the last operand's
3980         constraint.
3981         (vqdmulhq_n_s16): Likewise.
3983 2014-05-21  Martin Jambor  <mjambor@suse.cz>
3985         * doc/invoke.texi (Optimize Options): Document parameters
3986         ipa-cp-eval-threshold, ipa-max-agg-items, ipa-cp-loop-hint-bonus and
3987         ipa-cp-array-index-hint-bonus.
3989 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
3991         PR middle-end/61252
3992         * omp-low.c (handle_simd_reference): New function.
3993         (lower_rec_input_clauses): Use it.  Defer adding reference
3994         initialization even for reduction without placeholder if in simd,
3995         handle it properly later on.
3997 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
3999         PR bootstrap/60984
4000         * ipa-inline-transform.c (inline_call): Use add CALLEE_REMOVED
4001         parameter.
4002         * ipa-inline.c (inline_to_all_callers): If callee was removed; return.
4003         (ipa_inline): Loop inline_to_all_callers until no more aliases
4004         are removed.
4006 2014-05-20  Jan Hubicka  <hubicka@ucw.cz>
4008         PR lto/60820
4009         * varpool.c (varpool_remove_node): Do not alter decls when streaming.
4011 2014-05-20  DJ Delorie  <dj@redhat.com>
4013         * config/msp430/msp430.md (split): Don't allow subregs when
4014         splitting SImode adds.
4015         (andneghi): Fix subtraction logic.
4016         * config/msp430/predicates.md (msp430_nonsubreg_or_imm_operand): New.
4018 2014-05-20  Nick Clifton  <nickc@redhat.com>
4020         * config/msp430/msp430.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
4021         (msp430_gimplify_va_arg_expr): New function.
4022         (msp430_print_operand): Handle (CONST (ZERO_EXTRACT)).
4024         * config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
4025         operand 0 in order to prevent confusion about the number of
4026         registers involved.
4028 2014-05-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4030         * config/arm/arm.md (arith_shiftsi): Do not predicate for
4031         arm_restrict_it.
4033 2014-05-19  Richard Earnshaw  <rearnsha@arm.com>
4035         * arm.c (thumb1_reorg): When scanning backwards skip anything
4036         that's not a proper insn.
4038 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
4040         * ipa.c (symtab_remove_unreachable_nodes): Remove
4041         symbol from comdat group if its body was eliminated.
4042         (comdat_can_be_unshared_p_1): Static symbols can always be privatized.
4043         * symtab.c (symtab_remove_from_same_comdat_group): Break out from ...
4044         (symtab_unregister_node): ... this one.
4045         (verify_symtab_base): More strict checking of comdats.
4046         * cgraph.h (symtab_remove_from_same_comdat_group): Declare.
4048 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
4050         * opts.c (common_handle_option): Disable -fipa-reference coorectly
4051         with -fuse-profile.
4053 2014-05-17  Jan Hubicka  <hubicka@ucw.cz>
4055         PR ipa/60854
4056         * ipa.c (symtab_remove_unreachable_nodes): Mark targets of
4057         external aliases alive, too.
4059 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
4061         * doc/invoke.texi (free): Mention Alpha.  Also enabled at -Os.
4063 2014-05-17  Uros Bizjak  <ubizjak@gmail.com>
4065         Backport from mainline
4066         2014-04-25  H.J. Lu  <hongjiu.lu@intel.com>
4068         PR target/60969
4069         * config/i386/i386.md (*movsf_internal): Set MODE to SI for
4070         alternative 12.
4072 2014-05-16  Vladimir Makarov  <vmakarov@redhat.com>
4074         PR rtl-optimization/60969
4075         * ira-costs.c (record_reg_classes): Allow only memory for pseudo.
4076         Calculate costs for this case.
4078 2014-05-15  Peter Bergner  <bergner@vnet.ibm.com>
4080         PR target/61193
4081         * config/rs6000/htmxlintrin.h (_HTM_TBEGIN_STARTED): New define.
4082         (__TM_simple_begin): Use it.
4083         (__TM_begin): Likewise.
4085 2014-05-15  Martin Jambor  <mjambor@suse.cz>
4087         PR ipa/61085
4088         * ipa-prop.c (update_indirect_edges_after_inlining): Check
4089         type_preserved flag when the indirect edge is polymorphic.
4091 2014-05-15  Martin Jambor  <mjambor@suse.cz>
4093         PR ipa/60897
4094         * ipa-prop.c (ipa_modify_formal_parameters): Reset DECL_LANG_SPECIFIC.
4096 2014-05-15  Jakub Jelinek  <jakub@redhat.com>
4098         PR tree-optimization/61158
4099         * fold-const.c (fold_binary_loc): If X is zero-extended and
4100         shiftc >= prec, make sure zerobits is all ones instead of
4101         invoking undefined behavior.
4103 2014-05-14  Cary Coutant  <ccoutant@google.com>
4105         PR debug/61013
4106         * opts.c (common_handle_option): Don't special-case "-g".
4107         (set_debug_level): Default to at least level 2 with "-g".
4109 2014-05-14  Eric Botcazou  <ebotcazou@adacore.com>
4111         * config/sparc/sparc-protos.h (sparc_absnegfloat_split_legitimate):
4112         Delete.
4113         * config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): Likewise.
4114         * config/sparc/sparc.md (fptype_ut699): New attribute.
4115         (in_branch_delay): Return false if -mfix-ut699 is specified and
4116         fptype_ut699 is set to single.
4117         (truncdfsf2): Add fptype_ut699 attribute.
4118         (fix_truncdfsi2): Likewise.
4119         (floatsisf2): Change fptype attribute.
4120         (fix_truncsfsi2): Likewise.
4121         (negtf2_notv9): Delete.
4122         (negtf2_v9): Likewise.
4123         (negtf2_hq): New instruction.
4124         (negtf2): New instruction and splitter.
4125         (negdf2_notv9): Rewrite.
4126         (abstf2_notv9): Delete.
4127         (abstf2_hq_v9): Likewise.
4128         (abstf2_v9): Likewise.
4129         (abstf2_hq): New instruction.
4130         (abstf2): New instruction and splitter.
4131         (absdf2_notv9): Rewrite.
4133 2014-05-14  Matthias Klose  <doko@ubuntu.com>
4135         Revert:
4136         2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4137                     Matthias Klose  <doko@ubuntu.com>
4139         PR driver/61106
4140         * optc-gen.awk: Fix option handling for -Wunused-parameter.
4142 2014-05-13  Peter Bergner  <bergner@vnet.ibm.com>
4144         * doc/sourcebuild.texi: (dfp_hw): Document.
4145         (p8vector_hw): Likewise.
4146         (powerpc_eabi_ok): Likewise.
4147         (powerpc_elfv2): Likewise.
4148         (powerpc_htm_ok): Likewise.
4149         (ppc_recip_hw): Likewise.
4150         (vsx_hw): Likewise.
4152 2014-05-13  Jeff Law  <law@redhat.com>
4154         Backports fromm mainline:
4156         2014-05-08  Jeff Law  <law@redhat.com>
4158         PR tree-optimization/61009
4159         * tree-ssa-threadedge.c (thread_through_normal_block): Return a
4160         tri-state rather than a boolean.  When a block is too big to
4161         thread through, inform caller via negative return value.
4162         (thread_across_edge): If a block was too big for normal threading,
4163         then it's too big for a joiner too, so remove temporary equivalences
4164         and return immediately.
4166         2014-04-28  Jeff Law  <law@redhat.com>
4168         PR tree-optimization/60902
4169         * tree-ssa-threadedge.c
4170         (record_temporary_equivalences_from_stmts_at_dest): Only iterate
4171         over real defs when invalidating outputs from statements that do not
4172         produce useful outputs for threading.
4174         2014-04-23  Jeff Law  <law@redhat.com>
4176         PR tree-optimization/60902
4177         * tree-ssa-threadedge.c
4178         (record_temporary_equivalences_from_stmts_at_dest): Make sure to
4179         invalidate outputs from statements that do not produce useful
4180         outputs for threading.
4182 2014-05-13  Richard Biener  <rguenther@suse.de>
4184         PR ipa/60973
4185         * tree-inline.c (remap_gimple_stmt): Clear tail call flag,
4186         it needs revisiting whether the call still may be tail-called.
4188 2014-05-13  Jakub Jelinek  <jakub@redhat.com>
4190         PR target/61060
4191         * config/i386/i386.c (ix86_expand_set_or_movmem): If count_exp
4192         is const0_rtx, return immediately.  Don't test count == 0 when
4193         it is always true.
4195 2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
4197         Backport from mainline
4198         2014-05-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
4200         PR target/60991
4201         * config/avr/avr.c (avr_out_store_psi): Use correct constant
4202         to restore Y.
4204 2014-05-09  Uros Bizjak  <ubizjak@gmail.com>
4206         Backport from mainline
4207         2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
4209         PR target/61092
4210         * config/alpha/alpha.c: Include gimple-iterator.h.
4211         (alpha_gimple_fold_builtin): New function.  Move
4212         ALPHA_BUILTIN_UMULH folding from ...
4213         (alpha_fold_builtin): ... here.
4214         (TARGET_GIMPLE_FOLD_BUILTIN): New define.
4216 2014-05-09  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
4218         Backport from 2014-04-16 trunk r209446
4219         2014-04-16  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
4221         * config/avr/avr-mcus.def: Correct typo for atxmega256a3bu macro.
4223 2014-05-09  Georg-Johann Lay  <avr@gjlay.de>
4225         Backport from 2014-05-09 trunk r210267
4227         PR target/61055
4228         * config/avr/avr.md (cc): Add new attribute set_vzn.
4229         (addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
4230         Set cc insn attribute to set_vzn instead of set_zn for alternatives
4231         with INC, DEC or NEG.
4232         * config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
4233         (avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
4234         INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.
4236 2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4237             Matthias Klose  <doko@ubuntu.com>
4239         PR driver/61106
4240         * optc-gen.awk: Fix option handling for -Wunused-parameter.
4242 2014-05-08  Uros Bizjak  <ubizjak@gmail.com>
4244         PR target/59952
4245         * config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.
4247 2014-05-05  Marek Polacek  <polacek@redhat.com>
4249         Back port from mainline
4250         2014-05-05  Marek Polacek  <polacek@redhat.com>
4252         PR driver/61065
4253         * opts.c (common_handle_option): Call error_at instead of warning_at.
4255 2014-05-04  Jan Hubicka  <hubicka@ucw.cz>
4257         PR ipa/60965
4258         * ipa-devirt.c (get_class_context): Allow POD to change to non-POD.
4260 2014-05-04  Peter Bergner  <bergner@vnet.ibm.com>
4262         * config/rs6000/rs6000.h (RS6000_BTM_HARD_FLOAT): New define.
4263         (RS6000_BTM_COMMON): Add RS6000_BTM_HARD_FLOAT.
4264         (TARGET_EXTRA_BUILTINS): Add TARGET_HARD_FLOAT.
4265         * config/rs6000/rs6000-builtin.def (BU_MISC_1):
4266         Use RS6000_BTM_HARD_FLOAT.
4267         (BU_MISC_2): Likewise.
4268         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Handle
4269         RS6000_BTM_HARD_FLOAT.
4270         (rs6000_option_override_internal): Enforce -mhard-float if -mhard-dfp
4271         is explicitly used.
4272         (rs6000_invalid_builtin): Add hard floating builtin support.
4273         (rs6000_expand_builtin): Relax the gcc_assert to allow the new
4274         hard float builtins.
4275         (rs6000_builtin_mask_names): Add RS6000_BTM_HARD_FLOAT.
4277 2014-05-03  Joey Ye  <joey.ye@arm.com>
4279         Backport from mainline r209463
4280         2014-04-17  Joey Ye  <joey.ye@arm.com>
4282         * opts.c (OPT_fif_conversion, OPT_fif_conversion2): Disable for Og.
4284 2014-05-03  Oleg Endo  <olegendo@gcc.gnu.org>
4286         Back port from mainline
4287         PR target/61026
4288         * config/sh/sh.c: Include stdlib headers before everything else.
4290 2014-05-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4292         PR tree-optimization/60930
4293         * gimple-ssa-strength-reduction.c (create_mul_imm_cand):  Reject
4294         creating a multiply candidate by folding two constant
4295         multiplicands when the result overflows.
4297 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
4299         * gimplify.c (gimplify_adjust_omp_clauses_1): Handle
4300         GOVD_FIRSTPRIVATE | GOVD_LASTPRIVATE.
4301         (gimplify_adjust_omp_clauses): Simd region is never
4302         directly nested in combined parallel.  Instead, for linear
4303         with copyin/copyout, if in combined for simd loop, make decl
4304         firstprivate/lastprivate on OMP_FOR.
4305         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
4306         expand_omp_for_static_chunk): When setting endvar, also set
4307         fd->loop.v to the same value.
4309 2014-05-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4311         Back port from mainline
4312         2014-04-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4314         * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
4315         TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
4316         (TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
4317         (TARGET_FLOAT): Take AARCH64_ISA_FP into account.
4318         (TARGET_CRYPTO): Take TARGET_SIMD into account.
4320 2014-04-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
4322         Back port from mainline
4323         2014-04-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
4325         * doc/extend.texi (PowerPC Built-in Functions): Document new
4326         powerpc extended divide, bcd, pack/unpack 128-bit, builtin
4327         functions.
4328         (PowerPC AltiVec/VSX Built-in Functions): Likewise.
4330         * config/rs6000/predicates.md (const_0_to_3_operand): New
4331         predicate to match 0..3 integer constants.
4333         * config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
4334         to support adding miscellaneous builtin functions.
4335         (BU_DFP_MISC_2): Likewise.
4336         (BU_P7_MISC_1): Likewise.
4337         (BU_P7_MISC_2): Likewise.
4338         (BU_P8V_MISC_3): Likewise.
4339         (BU_MISC_1): Likewise.
4340         (BU_MISC_2): Likewise.
4341         (DIVWE): Add extended divide builtin functions.
4342         (DIVWEO): Likewise.
4343         (DIVWEU): Likewise.
4344         (DIVWEUO): Likewise.
4345         (DIVDE): Likewise.
4346         (DIVDEO): Likewise.
4347         (DIVDEU): Likewise.
4348         (DIVDEUO): Likewise.
4349         (DXEX): Add decimal floating-point builtin functions.
4350         (DXEXQ): Likewise.
4351         (DDEDPD): Likewise.
4352         (DDEDPDQ): Likewise.
4353         (DENBCD): Likewise.
4354         (DENBCDQ): Likewise.
4355         (DIEX): Likewise.
4356         (DIEXQ): Likewise.
4357         (DSCLI): Likewise.
4358         (DSCLIQ): Likewise.
4359         (DSCRI): Likewise.
4360         (DSCRIQ): Likewise.
4361         (CDTBCD): Add new BCD builtin functions.
4362         (CBCDTD): Likewise.
4363         (ADDG6S): Likewise.
4364         (BCDADD): Likewise.
4365         (BCDADD_LT): Likewise.
4366         (BCDADD_EQ): Likewise.
4367         (BCDADD_GT): Likewise.
4368         (BCDADD_OV): Likewise.
4369         (BCDSUB): Likewise.
4370         (BCDSUB_LT): Likewise.
4371         (BCDSUB_EQ): Likewise.
4372         (BCDSUB_GT): Likewise.
4373         (BCDSUB_OV): Likewise.
4374         (PACK_TD): Add new pack/unpack 128-bit type builtin functions.
4375         (UNPACK_TD): Likewise.
4376         (PACK_TF): Likewise.
4377         (UNPACK_TF): Likewise.
4378         (UNPACK_TF_0): Likewise.
4379         (UNPACK_TF_1): Likewise.
4380         (PACK_V1TI): Likewise.
4381         (UNPACK_V1TI): Likewise.
4383         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
4384         support for decimal floating point builtin functions.
4385         (rs6000_expand_ternop_builtin): Add checks for the new builtin
4386         functions that take constant arguments.
4387         (rs6000_invalid_builtin): Add decimal floating point builtin
4388         support.
4389         (rs6000_init_builtins): Setup long double, _Decimal64, and
4390         _Decimal128 types for new builtin functions.
4391         (builtin_function_type): Set the unsigned flags appropriately for
4392         the new builtin functions.
4393         (rs6000_opt_masks): Add support for decimal floating point builtin
4394         functions.
4396         * config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
4397         floating point builtin functions.
4398         (RS6000_BTM_COMMON): Likewise.
4399         (RS6000_BTI_long_double): Likewise.
4400         (RS6000_BTI_dfloat64): Likewise.
4401         (RS6000_BTI_dfloat128): Likewise.
4402         (long_double_type_internal_node): Likewise.
4403         (dfloat64_type_internal_node): Likewise.
4404         (dfloat128_type_internal_node): Likewise.
4406         * config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
4407         2.07 bcd arithmetic instructions.
4408         (UNSPEC_BCDSUB): Likewise.
4409         (UNSPEC_BCD_OVERFLOW): Likewise.
4410         (UNSPEC_BCD_ADD_SUB): Likewise.
4411         (bcd_add_sub): Likewise.
4412         (BCD_TEST): Likewise.
4413         (bcd<bcd_add_sub>): Likewise.
4414         (bcd<bcd_add_sub>_test): Likewise.
4415         (bcd<bcd_add_sub>_test2): Likewise.
4416         (bcd<bcd_add_sub>_<code>): Likewise.
4417         (peephole2 for combined bcd ops): Likewise.
4419         * config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
4420         decimal floating point builtin functions.
4421         (UNSPEC_DENBCD): Likewise.
4422         (UNSPEC_DXEX): Likewise.
4423         (UNSPEC_DIEX): Likewise.
4424         (UNSPEC_DSCLI): Likewise.
4425         (UNSPEC_DSCRI): Likewise.
4426         (D64_D128): Likewise.
4427         (dfp_suffix): Likewise.
4428         (dfp_ddedpd_<mode>): Likewise.
4429         (dfp_denbcd_<mode>): Likewise.
4430         (dfp_dxex_<mode>): Likewise.
4431         (dfp_diex_<mode>): Likewise.
4432         (dfp_dscli_<mode>): Likewise.
4433         (dfp_dscri_<mode>): Likewise.
4435         * config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
4436         builtin functions.
4437         (UNSPEC_CDTBCD): Likewise.
4438         (UNSPEC_CBCDTD): Likewise.
4439         (UNSPEC_DIVE): Add support for new extended divide builtin
4440         functions.
4441         (UNSPEC_DIVEO): Likewise.
4442         (UNSPEC_DIVEU): Likewise.
4443         (UNSPEC_DIVEUO): Likewise.
4444         (UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
4445         pack/unpack 128-bit types.
4446         (UNSPEC_PACK_128BIT): Likewise.
4447         (idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
4448         (udiv<mode>3): Use idiv_ldiv mode attribute.
4449         (div<mode>3): Likewise.
4450         (addg6s): Add new BCD builtin functions.
4451         (cdtbcd): Likewise.
4452         (cbcdtd): Likewise.
4453         (UNSPEC_DIV_EXTEND): Add support for new extended divide
4454         instructions.
4455         (div_extend): Likewise.
4456         (div<div_extend>_<mode>"): Likewise.
4457         (FP128_64): Add support for new builtin functions to pack/unpack
4458         128-bit types.
4459         (unpack<mode>): Likewise.
4460         (unpacktf_0): Likewise.
4461         (unpacktf_1): Likewise.
4462         (unpack<mode>_dm): Likewise.
4463         (unpack<mode>_nodm): Likewise.
4464         (pack<mode>): Likewise.
4465         (unpackv1ti): Likewise.
4466         (packv1ti): Likewise.
4468 2014-04-29  Pat Haugen  <pthaugen@us.ibm.com>
4470         Backport from mainline
4471         2014-04-17  Pat Haugen  <pthaugen@us.ibm.com>
4473         * config/rs6000/rs6000.md (addti3, subti3): New.
4475 2014-04-29  Jakub Jelinek  <jakub@redhat.com>
4477         PR tree-optimization/60971
4478         * tree-tailcall.c (process_assignment): Reject conversions which
4479         reduce precision.
4481 2014-04-29  Nick Clifton  <nickc@redhat.com>
4483         * config/msp430/msp430.md (umulsidi): Fix typo.
4484         (mulhisi3): Enable even inside interrupt handlers.
4485         * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
4486         bigger return address pushed in large mode.
4488 2014-04-28  Pat Haugen  <pthaugen@us.ibm.com>
4490         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4491         (loadsync_<mode>): Change mode.
4492         (load_quadpti, store_quadpti): New.
4493         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4494         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4496 2014-04-28  Eric Botcazou  <ebotcazou@adacore.com>
4498         * configure.ac: Tweak GAS check for LEON instructions on SPARC.
4499         * configure: Regenerate.
4500         * config/sparc/sparc.opt (muser-mode): New option.
4501         * config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
4502         for LEON3.
4503         (atomic_compare_and_swap_leon3_1): New instruction for LEON3.
4504         * doc/invoke.texi (SPARC options): Document -muser-mode.
4506 2014-04-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
4508         * doc/install.texi (Building with profile feedback): Remove
4509         outdated sentence.
4511 2014-04-26  Tom de Vries  <tom@codesourcery.com>
4513         * config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
4514         array accesses.
4516 2014-04-25  Jakub Jelinek  <jakub@redhat.com>
4518         PR tree-optimization/60960
4519         * tree-vect-generic.c (expand_vector_operation): Only call
4520         expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
4522 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
4524         PR target/60941
4525         * config/sparc/sparc.md (ashlsi3_extend): Delete.
4527 2014-04-25  Richard Biener  <rguenther@suse.de>
4529         PR ipa/60912
4530         * tree-ssa-structalias.c (ipa_pta_execute): Compute direct
4531         call stmt use/clobber sets during stmt walk instead of
4532         walking the possibly incomplete set of caller edges.
4534 2014-04-25  Richard Biener  <rguenther@suse.de>
4536         PR ipa/60911
4537         * passes.c (apply_ipa_transforms): Inline into only caller ...
4538         (execute_one_pass): ... here.  Properly bring in function
4539         bodies for nodes we want to apply IPA transforms to.
4541 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
4543         * tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
4544         * gimplify.c (omp_is_private): Change last argument's type to int.
4545         Only diagnose lastprivate if the simd argument is 1, only diagnose
4546         linear if the simd argument is 2.
4547         (gimplify_omp_for): Adjust omp_is_private callers.  When adding
4548         lastprivate or private, add the clause to OMP_FOR_CLAUSES.  Pass
4549         GOVD_EXPLICIT to omp_add_variable.  For simd with collapse == 1
4550         create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
4551         If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
4552         increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4553         * omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
4554         OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
4555         * tree-nested.c (convert_nonlocal_omp_clauses,
4556         convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
4558 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
4560         Backport from mainline
4561         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
4563         PR target/60909
4564         * config/i386/i386.c (ix86_expand_builtin)
4565         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
4566         register for target RTX.
4567         <case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.
4569 2014-04-23  Richard Biener  <rguenther@suse.de>
4571         PR tree-optimization/60903
4572         * tree-ssa-loop-im.c (analyze_memory_references): Remove
4573         commented code block.
4574         (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
4575         loop flags to newly created BBs and edges.
4577 2014-04-23  Nick Clifton  <nickc@redhat.com>
4579         * config/msp430/msp430.c (msp430_handle_option): Move function
4580         to msp430-common.c
4581         (msp430_option_override): Simplify mcu and mcpu option handling.
4582         (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
4583         support for -mhwmult command line option.
4584         (has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
4585         -mhwmult command line option.
4586         (msp430_hwmult_enabled): Delete.
4587         (msp43o_output_labelref): Add support for -mhwmult command line
4588         option.
4589         * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
4590         (umulsidi3): Likewise.
4591         * config/msp430/msp430.opt (mmcu): Add Report attribute.
4592         (mcpu, mlarge, msmall): Likewise.
4593         (mhwmult): New option.
4594         * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
4595         prototype.
4596         (msp430_is_f5_mcu): Remove prototype.
4597         (msp430_use_f5_series_hwmult): Add prototype.
4598         * config/msp430/msp430-opts.h: New file.
4599         * common/config/msp430: New directory.
4600         * common/config/msp430/msp430-common.c: New file.
4601         * config.gcc (msp430): Remove target_has_targetm_common.
4602         * doc/invoke.texi: Document -mhwmult command line option.
4604 2014-04-23  Nick Clifton  <nickc@redhat.com>
4606         * config/i386/cygwin.h (ENDFILE_SPEC): Include
4607         default-manifest.o if it can be found in the search path.
4608         * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
4610 2014-04-23  Richard Biener  <rguenther@suse.de>
4612         Backport from mainline
4613         2014-04-14  Richard Biener  <rguenther@suse.de>
4615         PR lto/60720
4616         * lto-streamer-out.c (wrap_refs): New function.
4617         (lto_output): Wrap symbol references in global initializes in
4618         type-preserving MEM_REFs.
4620 2014-04-23  Richard Biener  <rguenther@suse.de>
4622         PR middle-end/60895
4623         * tree-inline.c (declare_return_variable): Use mark_addressable.
4625 2014-04-23  Richard Biener  <rguenther@suse.de>
4627         PR middle-end/60891
4628         * loop-init.c (loop_optimizer_init): Make sure to apply
4629         LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
4631 2014-04-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
4633         Backport from mainline
4634         2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
4636         PR target/60735
4637         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
4638         If mode is DDmode and TARGET_E500_DOUBLE allow move.
4640         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
4641         more debug information for E500 if -mdebug=reg.
4643 2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
4645         Backport from mainline
4646         2014-04-22  H.J. Lu  <hongjiu.lu@intel.com>
4648         PR target/60868
4649         * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode
4650         on count_exp to get mode.
4652 2014-04-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4654         * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
4655         little-endian.
4656         (vsx_xxmrglw_<mode>): Likewise.
4658 2014-04-22  Richard Biener  <rguenther@suse.de>
4660         Backport from mainline
4661         2014-04-14  Richard Biener  <rguenther@suse.de>
4663         PR middle-end/55022
4664         * fold-const.c (negate_expr_p): Don't negate directional rounding
4665         division.
4666         (fold_negate_expr): Likewise.
4668 2014-04-22  Richard Biener  <rguenther@suse.de>
4670         Backport from mainline
4671         2014-04-17  Richard Biener  <rguenther@suse.de>
4673         PR middle-end/60849
4674         * tree-ssa-propagate.c (valid_gimple_rhs_p): Only allow effective
4675         boolean results for comparisons.
4677 2014-04-22  Richard Biener  <rguenther@suse.de>
4679         Backport from mainline
4680         2014-04-17  Richard Biener  <rguenther@suse.de>
4682         PR tree-optimization/60841
4683         * tree-vect-data-refs.c (vect_analyze_data_refs): Count stmts.
4684         * tree-vect-loop.c (vect_analyze_loop_2): Pass down number
4685         of stmts to SLP build.
4686         * tree-vect-slp.c (vect_slp_analyze_bb_1): Likewise.
4687         (vect_analyze_slp): Likewise.
4688         (vect_analyze_slp_instance): Likewise.
4689         (vect_build_slp_tree): Limit overall SLP tree growth.
4690         * tree-vectorizer.h (vect_analyze_data_refs,
4691         vect_analyze_slp): Adjust prototypes.
4693 2014-04-22  Richard Biener  <rguenther@suse.de>
4695         Backport from mainline
4696         2014-04-17  Richard Biener  <rguenther@suse.de>
4698         PR tree-optimization/60836
4699         * tree-vect-loop.c (vect_create_epilog_for_reduction): Force
4700         initial PHI args to be gimple values.
4702 2014-04-22  Richard Biener  <rguenther@suse.de>
4704         Backport from mainline
4705         2014-04-14  Richard Biener  <rguenther@suse.de>
4707         PR tree-optimization/59817
4708         PR tree-optimization/60453
4709         * graphite-scop-detection.c (graphite_can_represent_scev): Complete
4710         recursion to catch all CHRECs in the scalar evolution and restrict
4711         the predicate for the remains appropriately.
4713 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4715         PR tree-optimization/60823
4716         * omp-low.c (ipa_simd_modify_function_body): Go through
4717         all SSA_NAMEs and for those refering to vector arguments
4718         which are going to be replaced adjust SSA_NAME_VAR and,
4719         if it is a default definition, change it into a non-default
4720         definition assigned at the beginning of function from new_decl.
4721         (ipa_simd_modify_stmt_ops): Rewritten.
4722         * tree-dfa.c (set_ssa_default_def): When removing default def,
4723         check for NULL loc instead of NULL *loc.
4725 2014-04-22  Lin Zuojian  <manjian2006@gmail.com>
4727         PR middle-end/60281
4728         * asan.c (asan_emit_stack_protection): Force the base to align to
4729         appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
4730         appropriate bits if STRICT_ALIGNMENT.
4731         * cfgexpand.c (expand_stack_vars): Set base_align appropriately
4732         when asan is on.
4733         (expand_used_vars): Leave a space in the stack frame for alignment
4734         if STRICT_ALIGNMENT.
4736 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4738         Backported from mainline
4739         2014-04-16  Jakub Jelinek  <jakub@redhat.com>
4741         PR tree-optimization/60844
4742         * tree-ssa-reassoc.c (reassoc_remove_stmt): New function.
4743         (propagate_op_to_single_use, remove_visited_stmt_chain,
4744         linearize_expr, repropagate_negates, reassociate_bb): Use it
4745         instead of gsi_remove.
4747 2014-04-22  Jakub Jelinek  <jakub@redhat.com>
4749         * BASE-VER: Set to 4.9.1.
4750         * DEV-PHASE: Set to prerelease.
4752 2014-04-22  Release Manager
4754         * GCC 4.9.0 released.
4756 2014-04-18  Richard Henderson  <rth@redhat.com>
4758         * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
4759         to GET_MODE_SIZE, not a reg_class_t.
4761 2014-04-17  Jakub Jelinek  <jakub@redhat.com>
4763         PR target/60847
4764         Forward port from 4.8 branch
4765         2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
4767         * config/i386/bmiintrin.h (_blsi_u32): New.
4768         (_blsi_u64): Ditto.
4769         (_blsr_u32): Ditto.
4770         (_blsr_u64): Ditto.
4771         (_blsmsk_u32): Ditto.
4772         (_blsmsk_u64): Ditto.
4773         (_tzcnt_u32): Ditto.
4774         (_tzcnt_u64): Ditto.
4776 2014-04-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4778         PR target/60839
4779         Revert the following patch
4781         2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
4783         PR target/60735
4784         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
4785         software floating point or no floating point registers, do not
4786         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
4787         in GPRs that occurs after we tested for GPRs that would never be
4788         true.
4790         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
4791         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
4792         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
4793         specifically allow DDmode, since that does not use the SPE SIMD
4794         instructions.
4796 2014-04-15  Jakub Jelinek  <jakub@redhat.com>
4798         PR plugins/59335
4799         * Makefile.in (PLUGIN_HEADERS): Add various headers that have been
4800         added in 4.9.
4802 2014-04-14  Yufeng Zhang  <yufeng.zhang@arm.com>
4804         * doc/invoke.texi (free): Document AArch64.
4806 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
4808         * DEV-PHASE: Set to prerelease.
4810 2014-04-11  Tobias Burnus  <burnus@net-b.de>
4812         PR other/59055
4813         * doc/bugreport.texi (Bugs): Remove nodes pointing to the nirvana.
4814         * doc/gcc.texi (Service): Update description in the @menu
4815         * doc/invoke.texi (Option Summary): Remove misplaced and
4816         duplicated @menu.
4818 2014-04-11  Steve Ellcey  <sellcey@mips.com>
4819             Jakub Jelinek  <jakub@redhat.com>
4821         PR middle-end/60556
4822         * expr.c (convert_move): Use emit_store_flag_force instead of
4823         emit_store_flag.  Pass lowpart_mode instead of VOIDmode as 5th
4824         argument to it.
4826 2014-04-11  Richard Biener  <rguenther@suse.de>
4828         PR middle-end/60797
4829         * varasm.c (assemble_alias): Avoid endless error reporting
4830         recursion by setting TREE_ASM_WRITTEN.
4832 2014-04-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4834         * config/s390/s390.md: Add a splitter for NOT rtx.
4836 2014-04-11  Jakub Jelinek  <jakub@redhat.com>
4838         PR rtl-optimization/60663
4839         * cse.c (cse_insn): Set src_volatile on ASM_OPERANDS in PARALLEL.
4841 2014-04-10  Jan Hubicka  <hubicka@ucw.cz>
4842             Jakub Jelinek  <jakub@redhat.com>
4844         PR lto/60567
4845         * ipa.c (function_and_variable_visibility): Copy forced_by_abi
4846         flag from decl_node to node.
4848 2014-04-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4850         PR debug/60655
4851         * config/arm/arm.c (TARGET_CONST_NOT_OK_FOR_DEBUG_P): Define
4852         (arm_const_not_ok_for_debug_p): Reject MINUS with SYM_REF's
4853         ameliorating the cases where it can be.
4855 2014-04-09  David Edelsohn  <dje.gcc@gmail.com>
4857         Revert
4858         2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4860         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4861         (loadsync_<mode>): Change mode.
4862         (load_quadpti, store_quadpti): New.
4863         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4864         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4865         * config/rs6000/predicates.md (quad_memory_operand): !TARGET_SYNC_TI.
4867 2014-04-09  Cong Hou  <congh@google.com>
4869         PR testsuite/60773
4870         * doc/sourcebuild.texi (vect_widen_mult_si_to_di_pattern): Add
4871         documentation.
4873 2014-04-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4875         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Use vnand
4876         instead of vnor to exploit possible fusion opportunity in the
4877         future.
4878         (altivec_expand_vec_perm_const_le): Likewise.
4880 2014-04-08  Pat Haugen  <pthaugen@us.ibm.com>
4882         * config/rs6000/sync.md (AINT mode_iterator): Move definition.
4883         (loadsync_<mode>): Change mode.
4884         (load_quadpti, store_quadpti): New.
4885         (atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
4886         * config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
4888 2014-04-08  Richard Sandiford  <rdsandiford@googlemail.com>
4890         PR target/60763
4891         * config/rs6000/vsx.md (vsx_xscvdpspn_scalar): Change input to DImode.
4892         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Update accordingly.
4893         Use gen_rtx_REG rather than simplify_gen_subreg for op0_di.
4895 2014-04-08  Richard Biener  <rguenther@suse.de>
4897         PR middle-end/60706
4898         * tree-pretty-print.c (pp_double_int): For HWI32 hosts with
4899         a 64bit widest int print double-int similar to on HWI64 hosts.
4901 2014-04-08  Richard Biener  <rguenther@suse.de>
4903         PR tree-optimization/60785
4904         * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Treat
4905         default defs properly.
4907 2014-04-08  Nathan Sidwell  <nathan@codesourcery.com>
4909         * doc/invoke (Wnon-virtual-dtor): Update to match implementation.
4910         (Weffc++): Likewise.
4912 2014-04-07  Jan Hubicka  <hubcika@ucw.cz>
4914         * ipa-devirt.c (maybe_record_node): When node is not recorded,
4915         set completep to false rather than true.
4917 2014-04-07  Douglas B Rupp  <rupp@adacore.com>
4919         PR target/60504
4920         * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Expose from
4921         ARM_TARGET2_DWARF_FORMAT.
4923 2014-04-07  Charles Baylis  <charles.baylis@linaro.org>
4925         PR target/60609
4926         * config/arm/arm.h (ASM_OUTPUT_CASE_END): Remove.
4927         (LABEL_ALIGN_AFTER_BARRIER): Align barriers which occur after
4928         ADDR_DIFF_VEC.
4930 2014-04-07  Richard Biener  <rguenther@suse.de>
4932         PR tree-optimization/60766
4933         * tree-ssa-loop-ivopts.c (cand_value_at): Compute in an unsigned type.
4934         (may_eliminate_iv): Convert cand_value_at result to desired type.
4936 2014-04-07  Jason Merrill  <jason@redhat.com>
4938         PR c++/60731
4939         * common.opt (-fno-gnu-unique): Add.
4940         * config/elfos.h (USE_GNU_UNIQUE_OBJECT): Check it.
4942 2014-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4944         * haifa-sched.c: Fix outdated function reference and minor
4945         grammar errors in introductory comment.
4947 2014-04-07  Richard Biener  <rguenther@suse.de>
4949         PR middle-end/60750
4950         * tree-ssa-operands.c (maybe_add_call_vops): Also add VDEFs
4951         for noreturn calls.
4952         * tree-cfgcleanup.c (fixup_noreturn_call): Do not remove VDEFs.
4954 2014-04-06  John David Anglin  <danglin@gcc.gnu.org>
4956         PR debug/55794
4957         * config/pa/pa.c (pa_output_function_epilogue): Skip address and code
4958         size accounting for thunks.
4959         (pa_asm_output_mi_thunk): Use final_start_function() and
4960         final_end_function() to output function start and end directives.
4962 2014-04-05  Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>
4964         * config/avr/avr-arch.h (avr_mcu_t): Add dev_attribute field to have
4965         device specific ISA/ feature information. Remove short_sp and
4966         errata_skip ds.  Add avr_device_specific_features enum to have device
4967         specific info.
4968         * config/avr/avr-c.c (avr_cpu_cpp_builtins): use dev_attribute to check
4969         errata_skip. Add __AVR_ISA_RMW__ builtin macro if RMW ISA available.
4970         * config/avr/avr-devices.c (avr_mcu_types): Update AVR_MCU macro for
4971         updated device specific info.
4972         * config/avr/avr-mcus.def: Merge device specific details to
4973         dev_attribute field.
4974         * config/avr/avr.c (avr_2word_insn_p): use dev_attribute field to check
4975         errata_skip.
4976         * config/avr/avr.h (AVR_HAVE_8BIT_SP): same for short sp info.
4977         * config/avr/driver-avr.c (avr_device_to_as): Pass -mrmw option to
4978         assembler if RMW isa supported by current device.
4979         * config/avr/genmultilib.awk: Update as device info structure changed.
4980         * doc/invoke.texi: Add info for __AVR_ISA_RMW__ builtin macro
4982 2014-04-04  Cong Hou  <congh@google.com>
4984         PR tree-optimization/60656
4985         * tree-vect-stmts.c (supportable_widening_operation):
4986         Fix a bug that elements in a vector with vect_used_by_reduction
4987         property are incorrectly reordered when the operation on it is not
4988         consistant with the one in reduction operation.
4990 2014-04-04  John David Anglin  <danglin@gcc.gnu.org>
4992         PR rtl-optimization/60155
4993         * gcse.c (record_set_data): New function.
4994         (single_set_gcse): New function.
4995         (gcse_emit_move_after): Use single_set_gcse instead of single_set.
4996         (hoist_code): Likewise.
4997         (get_pressure_class_and_nregs): Likewise.
4999 2014-04-04  Eric Botcazou  <ebotcazou@adacore.com>
5001         * explow.c (probe_stack_range): Emit a final optimization blockage.
5003 2014-04-04  Anthony Green  <green@moxielogic.com>
5005         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2): Fix
5006         typos.
5008 2014-04-04  Jan Hubicka  <hubicka@ucw.cz>
5010         PR ipa/59626
5011         * lto-cgraph.c (input_overwrite_node): Check that partitioning
5012         flags are set only during streaming.
5013         * ipa.c (process_references, walk_polymorphic_call_targets,
5014         symtab_remove_unreachable_nodes): Drop bodies of always inline
5015         after early inlining.
5016         (symtab_remove_unreachable_nodes): Remove always_inline attribute.
5018 2014-04-04  Jakub Jelinek  <jakub@redhat.com>
5019         Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5021         PR debug/60655
5022         * dwarf2out.c (const_ok_for_output_1): Reject expressions
5023         containing a NOT.
5025 2014-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5027         PR bootstrap/60743
5028         * config/arm/cortex-a53.md (cortex_a53_fdivs): Reduce reservation
5029         duration.
5030         (cortex_a53_fdivd): Likewise.
5032 2014-04-04  Martin Jambor  <mjambor@suse.cz>
5034         PR ipa/60640
5035         * cgraph.h (cgraph_clone_node): New parameter added to declaration.
5036         Adjust all callers.
5037         * cgraph.c (clone_of_p): Also return true if thunks match.
5038         (verify_edge_corresponds_to_fndecl): Removed extraneous call to
5039         cgraph_function_or_thunk_node and an obsolete comment.
5040         * cgraphclones.c (build_function_type_skip_args): Moved upwards in the
5041         file.
5042         (build_function_decl_skip_args): Likewise.
5043         (set_new_clone_decl_and_node_flags): New function.
5044         (duplicate_thunk_for_node): Likewise.
5045         (redirect_edge_duplicating_thunks): Likewise.
5046         (cgraph_clone_node): New parameter args_to_skip, pass it to
5047         redirect_edge_duplicating_thunks which is called instead of
5048         cgraph_redirect_edge_callee.
5049         (cgraph_create_virtual_clone): Pass args_to_skip to cgraph_clone_node,
5050         moved setting of a lot of flags to set_new_clone_decl_and_node_flags.
5052 2014-04-04  Jeff Law  <law@redhat.com>
5054         PR target/60657
5055         * config/arm/predicates.md (const_int_I_operand): New predicate.
5056         (const_int_M_operand): Similarly.
5057         * config/arm/arm.md (insv_zero): Use const_int_M_operand instead of
5058         const_int_operand.
5059         (insv_t2, extv_reg, extzv_t2): Likewise.
5060         (load_multiple_with_writeback): Similarly for const_int_I_operand.
5061         (pop_multiple_with_writeback_and_return): Likewise.
5062         (vfp_pop_multiple_with_writeback): Likewise
5064 2014-04-04  Richard Biener  <rguenther@suse.de>
5066         PR ipa/60746
5067         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
5068         * gimple.c (gimple_set_bb): Avoid ICEing for NULL cfun for
5069         non-GIMPLE_LABELs.
5070         * gimplify.h (gimple_add_tmp_var_fn): Declare.
5071         * gimplify.c (gimple_add_tmp_var_fn): New function.
5072         * gimple-expr.h (create_tmp_reg_fn): Declare.
5073         * gimple-expr.c (create_tmp_reg_fn): New function.
5074         * gimple-low.c (record_vars_into): Don't change cfun.
5075         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Fix
5076         code generation without cfun.
5078 2014-04-04  Thomas Schwinge  <thomas@codesourcery.com>
5080         PR bootstrap/60719
5081         * Makefile.in (install-driver): Fix shell scripting.
5083 2014-04-03  Cong Hou  <congh@google.com>
5085         PR tree-optimization/60505
5086         * tree-vectorizer.h (struct _stmt_vec_info): Add th field as the
5087         threshold of number of iterations below which no vectorization
5088         will be done.
5089         * tree-vect-loop.c (new_loop_vec_info):
5090         Initialize LOOP_VINFO_COST_MODEL_THRESHOLD.
5091         * tree-vect-loop.c (vect_analyze_loop_operations):
5092         Set LOOP_VINFO_COST_MODEL_THRESHOLD.
5093         * tree-vect-loop.c (vect_transform_loop):
5094         Use LOOP_VINFO_COST_MODEL_THRESHOLD.
5095         * tree-vect-loop.c (vect_analyze_loop_2): Check the maximum number
5096         of iterations of the loop and see if we should build the epilogue.
5098 2014-04-03  Richard Biener  <rguenther@suse.de>
5100         * tree-streamer.h (struct streamer_tree_cache_d): Add next_idx member.
5101         (streamer_tree_cache_create): Adjust.
5102         * tree-streamer.c (streamer_tree_cache_add_to_node_array): Adjust
5103         to allow optional nodes array.
5104         (streamer_tree_cache_insert_1): Use next_idx to assign idx.
5105         (streamer_tree_cache_append): Likewise.
5106         (streamer_tree_cache_create): Create nodes array optionally
5107         as specified by parameter.
5108         * lto-streamer-out.c (create_output_block): Avoid maintaining
5109         the node array in the writer cache.
5110         (DFS_write_tree): Remove assertion.
5111         (produce_asm_for_decls): Free the out decl state hash table early.
5112         * lto-streamer-in.c (lto_data_in_create): Adjust for
5113         streamer_tree_cache_create prototype change.
5115 2014-04-03  Richard Biener  <rguenther@suse.de>
5117         * tree-streamer-out.c (streamer_write_chain): Do not temporarily
5118         set TREE_CHAIN to NULL_TREE.
5120 2014-04-03  Richard Biener  <rguenther@suse.de>
5122         PR tree-optimization/60740
5123         * graphite-scop-detection.c (stmt_simple_for_scop_p): Iterate
5124         over all GIMPLE_COND operands.
5126 2014-04-03  Nathan Sidwell  <nathan@codesourcery.com>
5128         * doc/invoke.texi (Wnon-virtual-dtor): Adjust documentation.
5129         (Weffc++): Remove Scott's numbering, merge lists and reference
5130         Wnon-virtual-dtor.
5132 2014-04-03  Nick Clifton  <nickc@redhat.com>
5134         * config/rl78/rl78-expand.md (movqi): Handle (SUBREG (SYMBOL_REF))
5135         properly.
5137 2014-04-03  Martin Jambor  <mjambor@suse.cz>
5139         * ipa-cp.c (ipcp_verify_propagated_values): Also dump symtab and
5140         mention gcc_unreachable before failing.
5141         * ipa.c (symtab_remove_unreachable_nodes): Also print order of
5142         removed symbols.
5144 2014-04-02  Jan Hubicka  <hubicka@ucw.cz>
5146         PR ipa/60659
5147         * ipa-devirt.c (get_polymorphic_call_info): Do not ICE on type
5148         inconsistent code and instead mark the context inconsistent.
5149         (possible_polymorphic_call_targets): For inconsistent contexts
5150         return empty complete list.
5152 2014-04-02  Anthony Green  <green@moxielogic.com>
5154         * config/moxie/moxie.md (zero_extendqisi2, zero_extendhisi2)
5155         (extendqisi2, extendhisi2): Define.
5156         * config/moxie/moxie.h (DEFAULT_SIGNED_CHAR): Change to 0.
5157         (WCHAR_TYPE): Change to unsigned int.
5159 2014-04-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5161         PR tree-optimization/60733
5162         * gimple-ssa-strength-reduction.c (ncd_with_phi): Change required
5163         insertion point for PHI candidates to be the end of the feeding
5164         block for the PHI argument.
5166 2014-04-02  Vladimir Makarov  <vmakarov@redhat.com>
5168         PR rtl-optimization/60650
5169         * lra-constraints.c (process_alt_operands): Decrease reject for
5170         earlyclobber matching.
5172 2014-04-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5174         * config/s390/s390.c (s390_expand_insv): Use GET_MODE_BITSIZE.
5176 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5178         * config/spu/spu.c (pad_bb): Do not crash when the last
5179         insn is CODE_FOR_blockage.
5181 2014-04-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5183         * config/spu/spu.md ("insv"): Fail if bitoffset+bitsize
5184         lies outside the target mode.
5186 2014-04-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
5188         PR target/60735
5189         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If we have
5190         software floating point or no floating point registers, do not
5191         allow any type in the FPRs.  Eliminate a test for SPE SIMD types
5192         in GPRs that occurs after we tested for GPRs that would never be
5193         true.
5195         * config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64):
5196         Rewrite tests to use TARGET_DOUBLE_FLOAT and TARGET_E500_DOUBLE,
5197         since the FMOVE64 type is DFmode/DDmode.  If TARGET_E500_DOUBLE,
5198         specifically allow DDmode, since that does not use the SPE SIMD
5199         instructions.
5201 2014-04-02  Richard Biener  <rguenther@suse.de>
5203         PR middle-end/60729
5204         * optabs.c (expand_abs_nojump): Honor flag_trapv only for
5205         MODE_INTs.  Properly use negv_optab.
5206         (expand_abs): Likewise.
5208 2014-04-02  Richard Biener  <rguenther@suse.de>
5210         PR bootstrap/60719
5211         * Makefile.in (install-driver): Guard extra installs with special
5212         names properly.
5214 2014-04-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
5216         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5217         Document vec_vgbbd.
5219 2014-04-01  Richard Henderson  <rth@redhat.com>
5221         PR target/60704
5222         * config/i386/i386.md (*float<SWI48><MODEF>2_sse): Leave the second
5223         alternative enabled before register allocation.
5225 2014-04-01  Chung-Lin Tang  <cltang@codesourcery.com>
5227         * config/nios2/nios2.md (unspec): Remove UNSPEC_TLS, UNSPEC_TLS_LDM.
5228         * config/nios2/nios2.c (nios2_function_profiler): Fix addi operand
5229         typo.
5230         (nios2_large_got_address): Remove unneeded 'sym' parameter.
5231         (nios2_got_address): Update nios2_large_got_address call site.
5232         (nios2_delegitimize_address): New function.
5233         (TARGET_DELEGITIMIZE_ADDRESS): Define to nios2_delegitimize_address.
5234         * config/nios2/linux.h (GLIBC_DYNAMIC_LINKER): Define.
5235         (LINK_SPEC): Specify dynamic linker using GNU_USER_DYNAMIC_LINKER.
5237 2014-04-01  Martin Husemann  <martin@duskware.de>
5239         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define __mips_o32
5240         for -mabi=32.
5242 2014-04-01  Richard Sandiford  <rdsandiford@googlemail.com>
5244         PR rtl-optimization/60604
5245         * recog.c (general_operand): Incorporate REG_CANNOT_CHANGE_MODE_P
5246         check from register_operand.
5247         (register_operand): Redefine in terms of general_operand.
5248         (nonmemory_operand): Use register_operand for the non-constant cases.
5250 2014-04-01  Richard Biener  <rguenther@suse.de>
5252         * gimple.h (struct gimple_statement_base): Align subcode to 16 bits.
5254 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5256         * doc/invoke.texi (mapp-regs): Clarify.
5258 2014-03-31  Ulrich Drepper  <drepper@gmail.com>
5260         * config/i386/avx512fintrin.h (__v32hi): Define type.
5261         (__v64qi): Likewise.
5262         (_mm512_set1_epi8): Define.
5263         (_mm512_set1_epi16): Define.
5264         (_mm512_set4_epi32): Define.
5265         (_mm512_set4_epi64): Define.
5266         (_mm512_set4_pd): Define.
5267         (_mm512_set4_ps): Define.
5268         (_mm512_setr4_epi64): Define.
5269         (_mm512_setr4_epi32): Define.
5270         (_mm512_setr4_pd): Define.
5271         (_mm512_setr4_ps): Define.
5272         (_mm512_setzero_epi32): Define.
5274 2014-03-31  Martin Jambor  <mjambor@suse.cz>
5276         PR middle-end/60647
5277         * tree-sra.c (callsite_has_enough_arguments_p): Renamed to
5278         callsite_arguments_match_p.  Updated all callers.  Also check types of
5279         corresponding formal parameters and actual arguments.
5280         (not_all_callers_have_enough_arguments_p) Renamed to
5281         some_callers_have_mismatched_arguments_p.
5283 2014-03-31  Yuri Rumyantsev  <ysrumyan@gmail.com>
5285         * tree-inline.c (copy_loops): Add missed copy of 'safelen'.
5287 2014-03-31  Kugan Vivekanandarajah  <kuganv@linaro.org>
5289         PR target/60034
5290         * aarch64/aarch64.c (aarch64_classify_address): Fix alignment for
5291         section anchor.
5293 2014-03-30  Uros Bizjak  <ubizjak@gmail.com>
5295         * config/i386/sse.md (FMAMODE_NOVF512): New mode iterator.
5296         (<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name><round_name>):
5297         Split out
5298         <sd_mask_codefor>fma_fmadd_<VF_512:mode><sd_maskz_name><round_name>.
5299         Use FMAMODE_NOVF512 mode iterator.
5300         (<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name><round_name>): Ditto.
5301         (<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name><round_name>): Ditto.
5302         (<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name><round_name>): Ditto.
5303         (<sd_mask_codefor>fma_fmaddsub_<mode><sd_maskz_name><round_name>):
5304         Split out
5305         <sd_mask_codefor>fma_fmaddsub_<VF_512:mode><sd_maskz_name><round_name>.
5306         Use VF_128_256 mode iterator.
5307         (<sd_mask_codefor>fma_fmsubadd_<mode><sd_maskz_name><round_name>):
5308         Ditto.
5310 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
5312         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Clear
5313         static chain if needed.
5315 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
5317         PR target/60697
5318         * lra-constraints.c (index_part_to_reg): New.
5319         (process_address): Use it.
5321 2014-03-27  Jeff Law  <law@redhat.com>
5322             Jakub Jelinek  <jakub@redhat.com>
5324         PR target/60648
5325         * expr.c (do_tablejump): Use simplify_gen_binary rather than
5326         gen_rtx_{PLUS,MULT} to build up the address expression.
5328         * i386/i386.c (ix86_legitimize_address): Use copy_addr_to_reg to avoid
5329         creating non-canonical RTL.
5331 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
5333         PR ipa/60243
5334         * ipa-inline.c (want_inline_small_function_p): Short circuit large
5335         functions; reorganize to make cheap checks first.
5336         (inline_small_functions): Do not estimate growth when dumping;
5337         it is expensive.
5338         * ipa-inline.h (inline_summary): Add min_size.
5339         (growth_likely_positive): New function.
5340         * ipa-inline-analysis.c (dump_inline_summary): Add min_size.
5341         (set_cond_stmt_execution_predicate): Cleanup.
5342         (estimate_edge_size_and_time): Compute min_size.
5343         (estimate_calls_size_and_time): Likewise.
5344         (estimate_node_size_and_time): Likewise.
5345         (inline_update_overall_summary): Update min_size.
5346         (do_estimate_edge_time): Likewise.
5347         (do_estimate_edge_size): Update.
5348         (do_estimate_edge_hints): Update.
5349         (growth_likely_positive): New function.
5351 2014-03-28  Jakub Jelinek  <jakub@redhat.com>
5353         PR target/60693
5354         * config/i386/i386.c (ix86_copy_addr_to_reg): Call copy_addr_to_reg
5355         also if addr has VOIDmode.
5357 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5359         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): New.
5360         * config/arm/aarch-common-protos.h (aarch_crypto_can_dual_issue):
5361         Declare extern.
5362         * config/arm/cortex-a53.md: Add reservations and bypass for crypto
5363         instructions as well as AdvancedSIMD loads.
5365 2014-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5367         * config/aarch64/aarch64-simd.md (aarch64_crypto_aes<aes_op>v16qi):
5368         Use crypto_aese type.
5369         (aarch64_crypto_aes<aesmc_op>v16qi): Use crypto_aesmc type.
5370         * config/arm/arm.md (is_neon_type): Replace crypto_aes with
5371         crypto_aese, crypto_aesmc.  Move to types.md.
5372         * config/arm/types.md (crypto_aes): Split into crypto_aese,
5373         crypto_aesmc.
5374         * config/arm/iterators.md (crypto_type): Likewise.
5376 2014-03-28  Jan Hubicka  <hubicka@ucw.cz>
5378         * cgraph.c: Include expr.h and tree-dfa.h.
5379         (cgraph_redirect_edge_call_stmt_to_callee): If call in noreturn;
5380         remove LHS.
5382 2014-03-28  Vladimir Makarov  <vmakarov@redhat.com>
5384         PR target/60675
5385         * lra-assigns.c (find_hard_regno_for): Remove unavailable hard
5386         regs from checking multi-reg pseudos.
5388 2014-03-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5390         * config/arm/t-aprofile (MULTILIB_MATCHES): Correct A12 rule.
5392 2014-03-28  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
5394         * config/rs6000/rs6000.c (fusion_gpr_load_p): Refuse optimization
5395         if it would clobber the stack pointer, even temporarily.
5397 2014-03-28  Eric Botcazou  <ebotcazou@adacore.com>
5399         * mode-switching.c: Make small adjustments to the top comment.
5401 2014-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
5403         * config/rs6000/constraints.md (wD constraint): New constraint to
5404         match the constant integer to get the top DImode/DFmode out of a
5405         vector in a VSX register.
5407         * config/rs6000/predicates.md (vsx_scalar_64bit): New predicate to
5408         match the constant integer to get the top DImode/DFmode out of a
5409         vector in a VSX register.
5411         * config/rs6000/rs6000-builtins.def (VBPERMQ): Add vbpermq builtin
5412         for ISA 2.07.
5414         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5415         vbpermq builtins.
5417         * config/rs6000/rs6000.c (rs6000_debug_reg_global): If
5418         -mdebug=reg, print value of VECTOR_ELEMENT_SCALAR_64BIT.
5420         * config/rs6000/vsx.md (vsx_extract_<mode>, V2DI/V2DF modes):
5421         Optimize vec_extract of 64-bit values, where the value being
5422         extracted is in the top word, where we can use scalar
5423         instructions.  Add direct move and store support.  Combine the big
5424         endian/little endian vector select load support into a single insn.
5425         (vsx_extract_<mode>_internal1): Likewise.
5426         (vsx_extract_<mode>_internal2): Likewise.
5427         (vsx_extract_<mode>_load): Likewise.
5428         (vsx_extract_<mode>_store): Likewise.
5429         (vsx_extract_<mode>_zero): Delete, big and little endian insns are
5430         combined into vsx_extract_<mode>_load.
5431         (vsx_extract_<mode>_one_le): Likewise.
5433         * config/rs6000/rs6000.h (VECTOR_ELEMENT_SCALAR_64BIT): Macro to
5434         define the top 64-bit vector element.
5436         * doc/md.texi (PowerPC and IBM RS6000 constraints): Document wD
5437         constraint.
5439         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5440         Document vec_vbpermq builtin.
5442         PR target/60672
5443         * config/rs6000/altivec.h (vec_xxsldwi): Add missing define to
5444         enable use of xxsldwi and xxpermdi builtin functions.
5445         (vec_xxpermdi): Likewise.
5447         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
5448         Document use of vec_xxsldwi and vec_xxpermdi builtins.
5450 2014-03-27  Vladimir Makarov  <vmakarov@redhat.com>
5452         PR rtl-optimization/60650
5453         * lra-assign.c (find_hard_regno_for, spill_for): Add parameter
5454         first_p.  Use it.
5455         (find_spills_for): New.
5456         (assign_by_spills): Pass the new parameter to find_hard_regno_for.
5457         Spill all pseudos on the second iteration.
5459 2014-03-27  Marek Polacek  <polacek@redhat.com>
5461         PR c/50347
5462         * doc/extend.texi (ffs Builtins): Change unsigned types to signed
5463         types.
5465 2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5467         * config/s390/s390.c (s390_can_use_return_insn): Check for
5468         call-saved FPRs on 31 bit.
5470 2014-03-27  Jakub Jelinek  <jakub@redhat.com>
5472         PR middle-end/60682
5473         * omp-low.c (lower_omp_1): For gimple_clobber_p stmts,
5474         if they need regimplification, just drop them instead of
5475         calling gimple_regimplify_operands on them.
5477 2014-03-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>
5479         PR target/60580
5480         * config/aarch64/aarch64.c (faked_omit_frame_pointer): Remove.
5481         (aarch64_frame_pointer_required): Adjust logic.
5482         (aarch64_can_eliminate): Adjust logic.
5483         (aarch64_override_options_after_change): Adjust logic.
5485 2014-03-27  Dehao Chen  <dehao@google.com>
5487         * ipa-inline.c (early_inliner): Update node's inline info.
5489 2014-03-26  Dehao Chen  <dehao@google.com>
5491         * dojump.c (do_compare_rtx_and_jump): Sets correct probability for
5492         compiler inserted conditional jumps for NAN float check.
5494 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
5496         * ubsan.h (ubsan_create_data): Change second argument's type
5497         to const location_t *.
5498         * ubsan.c (ubsan_source_location): If xloc.file is NULL, set it to
5499         _("<unknown>").
5500         (ubsan_create_data): Change second argument to const location_t *PLOC.
5501         Create Loc field whenever PLOC is non-NULL.
5502         (ubsan_instrument_unreachable, ubsan_expand_null_ifn,
5503         ubsan_build_overflow_builtin, instrument_bool_enum_load): Adjust
5504         callers.
5506         PR other/59545
5507         * real.c (real_to_integer2): Change type of low to UHWI.
5509 2014-03-26  Tobias Burnus  <burnus@net-b.de>
5511         * gcc.c (LINK_COMMAND_SPEC): Use libcilkrts.spec for -fcilkplus.
5512         (CILK_SELF_SPECS): New define.
5513         (driver_self_specs): Use it.
5515 2014-03-26  Richard Biener  <rguenther@suse.de>
5517         * tree-pretty-print.c (percent_K_format): Implement special
5518         case for LTO and its stripped down BLOCK tree.
5520 2014-03-26  Jakub Jelinek  <jakub@redhat.com>
5522         PR sanitizer/60636
5523         * ubsan.c (instrument_si_overflow): Instrument ABS_EXPR.
5525         * tree-vrp.c (simplify_internal_call_using_ranges): If only
5526         one range is range_int_cst_p, but not both, at least optimize
5527         addition/subtraction of 0 and multiplication by 0 or 1.
5528         * gimple-fold.c (gimple_fold_call): Fold
5529         IFN_UBSAN_CHECK_{ADD,SUB,MUL}.
5530         (gimple_fold_stmt_to_constant_1): If both op0 and op1 aren't
5531         INTEGER_CSTs, try to fold at least x * 0 and y - y.
5533 2014-03-26  Eric Botcazou  <ebotcazou@adacore.com>
5535         PR rtl-optimization/60452
5536         * rtlanal.c (rtx_addr_can_trap_p_1): Fix head comment.
5537         <case REG>: Return 1 for invalid offsets from the frame pointer.
5539 2014-03-26  Marek Polacek  <polacek@redhat.com>
5541         PR c/37428
5542         * doc/extend.texi (C Extensions): Mention variable-length arrays in
5543         a structure/union.
5545 2014-03-26  Marek Polacek  <polacek@redhat.com>
5547         PR c/39525
5548         * doc/extend.texi (Designated Inits): Describe what happens to omitted
5549         field members.
5551 2014-03-26  Marek Polacek  <polacek@redhat.com>
5553         PR other/59545
5554         * ira-color.c (update_conflict_hard_regno_costs): Perform the
5555         multiplication in unsigned type.
5557 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
5559         * doc/install.texi: Document nds32le-*-elf and nds32be-*-elf.
5561 2014-03-26  Chung-Ju Wu  <jasonwucj@gmail.com>
5563         * doc/contrib.texi: Add myself as Andes nds32 port contributor.
5565 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
5567         PR ipa/60315
5568         * cif-code.def (UNREACHABLE) New code.
5569         * ipa-inline.c (inline_small_functions): Skip edges to
5570         __builtlin_unreachable.
5571         (estimate_edge_growth): Allow edges to __builtlin_unreachable.
5572         * ipa-inline-analysis.c (edge_set_predicate): Redirect edges with false
5573         predicate to __bulitin_unreachable.
5574         (set_cond_stmt_execution_predicate): Fix issue when
5575         invert_tree_comparison returns ERROR_MARK.
5576         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow): Do not
5577         propagate to inline clones.
5578         * cgraph.c (verify_edge_corresponds_to_fndecl): Allow redirection
5579         to unreachable.
5580         * ipa-cp.c (create_specialized_node): Be ready for new node to appear.
5581         * cgraphclones.c (cgraph_clone_node): If call destination is already
5582         ureachable, do not redirect it back.
5583         * tree-inline.c (fold_marked_statements): Hanlde calls becoming
5584         unreachable.
5586 2014-03-25  Jan Hubicka  <hubicka@ucw.cz>
5588         * ipa-pure-const.c (propagate_pure_const, propagate_nothrow):
5589         Do not modify inline clones.
5591 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
5593         * config/i386/i386.md (general_sext_operand): New mode attr.
5594         (addv<mode>4, subv<mode>4, mulv<mode>4): If operands[2] is CONST_INT,
5595         don't generate (sign_extend (const_int)).
5596         (*addv<mode>4, *subv<mode>4, *mulv<mode>4): Disallow CONST_INT_P
5597         operands[2].  Use We constraint instead of <i> and
5598         <general_sext_operand> predicate instead of <general_operand>.
5599         (*addv<mode>4_1, *subv<mode>4_1, *mulv<mode>4_1): New insns.
5600         * config/i386/constraints.md (We): New constraint.
5601         * config/i386/predicates.md (x86_64_sext_operand,
5602         sext_operand): New predicates.
5604 2014-03-25  Martin Jambor  <mjambor@suse.cz>
5606         PR ipa/60600
5607         * ipa-cp.c (ipa_get_indirect_edge_target_1): Redirect type
5608         inconsistent devirtualizations to __builtin_unreachable.
5610 2014-03-25  Marek Polacek  <polacek@redhat.com>
5612         PR c/35449
5613         * doc/extend.texi (Example of asm with clobbered asm reg): Fix typo.
5615 2014-03-25  Alan Lawrence  <alan.lawrence@arm.com>
5617         * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Reverse
5618         order of elements for big-endian.
5620 2014-03-25  Richard Biener  <rguenther@suse.de>
5622         PR middle-end/60635
5623         * gimplify-me.c (gimple_regimplify_operands): Update the
5624         re-gimplifed stmt.
5626 2014-03-25  Martin Jambor  <mjambor@suse.cz>
5628         PR ipa/59176
5629         * lto-cgraph.c (lto_output_node): Stream body_removed flag.
5630         (lto_output_varpool_node): Likewise.
5631         (input_overwrite_node): Likewise.
5632         (input_varpool_node): Likewise.
5634 2014-03-25  Richard Biener  <rguenther@suse.de>
5636         * lto-wrapper.c (merge_and_complain): Handle OPT_fPIE like OPT_fpie.
5637         (run_gcc): Likewise.
5639 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
5641         * combine.c (simplify_compare_const): Add MODE argument.
5642         Handle mode_width 0 as very large mode_width.
5643         (try_combine, simplify_comparison): Adjust callers.
5645         * cselib.c (cselib_hash_rtx): Perform addition in unsigned
5646         type to avoid signed integer overflow.
5647         * explow.c (plus_constant): Likewise.
5649 2014-03-25  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5651         * doc/generic.texi: Correct typos.
5653 2014-03-24  Tobias Burnus  <burnus@net-b.de>
5655         * doc/invoke.texi (-flto): Expand section about
5656         using static libraries with LTO.
5658 2014-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
5660         PR rtl-optimization/60501
5661         * optabs.def (addptr3_optab): New optab.
5662         * optabs.c (gen_addptr3_insn, have_addptr3_insn): New function.
5663         * doc/md.texi ("addptrm3"): Document new RTL standard expander.
5664         * expr.h (gen_addptr3_insn, have_addptr3_insn): Add prototypes.
5666         * lra.c (emit_add3_insn): Use the addptr pattern if available.
5668         * config/s390/s390.md ("addptrdi3", "addptrsi3"): New expanders.
5670 2014-03-24  Ulrich Drepper  <drepper@gmail.com>
5672         * config/i386/avx512fintrin.h: Define _mm512_set1_ps and
5673         _mm512_set1_pd.
5675         * config/i386/avxintrin.h (_mm256_undefined_si256): Define.
5676         (_mm256_undefined_ps): Define.
5677         (_mm256_undefined_pd): Define.
5678         * config/i386/emmintrin.h (_mm_undefined_si128): Define.
5679         (_mm_undefined_pd): Define.
5680         * config/i386/xmmintrin.h (_mm_undefined_ps): Define.
5681         * config/i386/avx512fintrin.h (_mm512_undefined_si512): Define.
5682         (_mm512_undefined_ps): Define.
5683         (_mm512_undefined_pd): Define.
5684         Use _mm*_undefined_*.
5685         * config/i386/avx2intrin.h: Use _mm*_undefined_*.
5687 2014-03-24  Alex Velenko  <Alex.Velenko@arm.com>
5689         * config/aarch64/aarch64-simd-builtins.def (lshr): DI mode excluded.
5690         (lshr_simd): DI mode added.
5691         * config/aarch64/aarch64-simd.md (aarch64_lshr_simddi): New pattern.
5692         (aarch64_ushr_simddi): Likewise.
5693         * config/aarch64/aarch64.md (UNSPEC_USHR64): New unspec.
5694         * config/aarch64/arm_neon.h (vshr_n_u64): Intrinsic fixed.
5695         (vshrd_n_u64): Likewise.
5697 2014-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5699         * Makefile.in (s-macro_list): Depend on cc1.
5701 2014-03-23  Teresa Johnson  <tejohnson@google.com>
5703         * ipa-utils.c (ipa_print_order): Use specified dump file.
5705 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
5707         PR rtl-optimization/60601
5708         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
5710         * gcc.c (eval_spec_function): Initialize save_growing_value.
5712 2014-03-22  Jakub Jelinek  <jakub@redhat.com>
5714         PR sanitizer/60613
5715         * internal-fn.c (ubsan_expand_si_overflow_addsub_check): For
5716         code == MINUS_EXPR, never swap op0 with op1.
5718         * toplev.c (init_local_tick): Avoid signed integer multiplication
5719         overflow.
5720         * genautomata.c (reserv_sets_hash_value): Fix rotate idiom, avoid
5721         shift by first operand's bitsize.
5723 2014-03-21  Jakub Jelinek  <jakub@redhat.com>
5725         PR target/60610
5726         * config/i386/i386.h (TARGET_64BIT_P): If not TARGET_BI_ARCH,
5727         redefine to 1 or 0.
5728         * config/i386/darwin.h (TARGET_64BIT_P): Redefine to
5729         TARGET_ISA_64BIT_P(x).
5731 2014-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5733         * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
5734         pattern for vector nor instead of subtract from splat(-1).
5735         (altivec_expand_vec_perm_const_le): Likewise.
5737 2014-03-21  Richard Henderson  <rth@twiddle.net>
5739         PR target/60598
5740         * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
5741         related insns after epilogue_completed.
5743 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5745         PR ipa/59176
5746         * cgraph.h (symtab_node): New flag body_removed.
5747         * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
5748         when removing bodies.
5749         * symtab.c (dump_symtab_base): Dump body_removed flag.
5750         * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
5751         had their bodies removed.
5753 2014-03-21  Martin Jambor  <mjambor@suse.cz>
5755         PR ipa/60419
5756         * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
5757         in the border.
5759 2014-03-21  Richard Biener  <rguenther@suse.de>
5761         PR tree-optimization/60577
5762         * tree-core.h (struct tree_base): Document nothrow_flag use
5763         in DECL_NONALIASED.
5764         * tree.h (DECL_NONALIASED): New.
5765         (may_be_aliased): Adjust.
5766         * coverage.c (build_var): Set DECL_NONALIASED.
5768 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5770         * expr.c (expand_expr_real_1): Remove outdated comment.
5772 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
5774         PR middle-end/60597
5775         * ira.c (adjust_cleared_regs): Call copy_rtx on
5776         *reg_equiv[REGNO (loc)].src_p before passing it to
5777         simplify_replace_fn_rtx.
5779         PR target/60568
5780         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
5781         into CONST, put pic register as first operand of PLUS.  Use
5782         gen_const_mem for both 32-bit and 64-bit PIC got loads.
5784 2014-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
5786         * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
5788 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5790         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
5791         around for store forwarding issue in the FPU on the UT699.
5792         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
5793         loads and operations if -mfix-ut699 is specified.
5794         (divtf3_hq): Tweak attribute.
5795         (sqrttf2_hq): Likewise.
5797 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
5799         * calls.c (store_one_arg): Remove incorrect const qualification on the
5800         type of the temporary.
5801         * cfgexpand.c (expand_return): Likewise.
5802         * expr.c (expand_constructor): Likewise.
5803         (expand_expr_real_1): Likewise.
5805 2014-03-20  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
5807         * config/arm/arm.c (arm_dwarf_register_span): Update the element number
5808         of parts.
5810 2014-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
5812         PR target/60039
5813         * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
5815 2014-03-19  James Greenhalgh  <james.greenhalgh@arm.com>
5817         * config/arm/aarch-common-protos.h
5818         (alu_cost_table): Fix spelling of "extend".
5819         * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
5821 2014-03-19  Richard Biener  <rguenther@suse.de>
5823         PR middle-end/60553
5824         * tree-core.h (tree_type_common): Re-order pointer members
5825         to reduce recursion depth during GC walks.
5827 2014-03-19  Marek Polacek  <polacek@redhat.com>
5829         PR sanitizer/60569
5830         * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
5831         before accessing it.
5833 2014-03-19  Richard Biener  <rguenther@suse.de>
5835         PR lto/59543
5836         * lto-streamer-in.c (input_function): In WPA stage do not drop
5837         debug stmts.
5839 2014-03-19  Jakub Jelinek  <jakub@redhat.com>
5841         PR tree-optimization/60559
5842         * vectorizable_mask_load_store): Replace scalar MASK_LOAD
5843         with build_zero_cst assignment.
5845 2014-03-18  Kai Tietz  <ktietz@redhat.com>
5847         PR rtl-optimization/56356
5848         * sdbout.c (sdbout_parms): Verify that parms'
5849         incoming argument is valid.
5850         (sdbout_reg_parms): Likewise.
5852 2014-03-18  Richard Henderson  <rth@redhat.com>
5854         PR target/60562
5855         * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
5856         be shadowed by *float<SWI48><MODEF>2_sse.  Test X87_ENABLE_FLOAT.
5857         (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
5859 2014-03-18  Basile Starynkevitch  <basile@starynkevitch.net>
5861         * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
5862         * doc/plugins.texi (Plugin callbacks): Mention PLUGIN_INCLUDE_FILE.
5863         Italicize plugin event names in description.  Explain that
5864         PLUGIN_PRAGMAS has no sense for lto1.  Explain PLUGIN_INCLUDE_FILE.
5865         Remind that no GCC functions should be called after PLUGIN_FINISH.
5866         Explain what pragmas with expansion are.
5868 2014-03-18  Martin Liska  <mliska@suse.cz>
5870         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
5871         gimple call statement is update.
5872         * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
5873         GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
5875 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5877         PR sanitizer/60557
5878         * ubsan.c (ubsan_instrument_unreachable): Call
5879         initialize_sanitizer_builtins.
5880         (ubsan_pass): Likewise.
5882         PR sanitizer/60535
5883         * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
5884         varpool_finalize_decl instead of rest_of_decl_compilation.
5886 2014-03-18  Richard Biener  <rguenther@suse.de>
5888         * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
5889         by using bitmap_and_compl instead of bitmap_and_compl_into.
5890         (df_rd_transfer_function): Likewise.
5892 2014-03-18  Richard Biener  <rguenther@suse.de>
5894         * doc/lto.texi (fresolution): Fix typo.
5896 2014-03-18  Richard Biener  <rguenther@suse.de>
5898         * doc/invoke.texi (flto): Update for changes in 4.9.
5900 2014-03-18  Richard Biener  <rguenther@suse.de>
5902         * doc/loop.texi: Remove section on the removed lambda framework.
5903         Update loop docs with recent changes in preserving loop structure.
5905 2014-03-18  Richard Biener  <rguenther@suse.de>
5907         * doc/lto.texi (-fresolution): Document.
5909 2014-03-18  Richard Biener  <rguenther@suse.de>
5911         * doc/contrib.texi: Adjust my name.
5913 2014-03-18  Jakub Jelinek  <jakub@redhat.com>
5915         PR ipa/58721
5916         * internal-fn.c: Include diagnostic-core.h.
5917         (expand_BUILTIN_EXPECT): New function.
5918         * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
5919         (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
5920         IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
5921         * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
5922         IFN_BUILTIN_EXPECT.
5923         * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
5924         Revert 3 argument __builtin_expect code.
5925         (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
5926         * gimple-fold.c (gimple_fold_call): Likewise.
5927         * tree.h (fold_builtin_expect): New prototype.
5928         * builtins.c (build_builtin_expect_predicate): Add predictor
5929         argument, if non-NULL, create 3 argument __builtin_expect.
5930         (fold_builtin_expect): No longer static.  Add ARG2 argument,
5931         pass it through to build_builtin_expect_predicate.
5932         (fold_builtin_2): Adjust caller.
5933         (fold_builtin_3): Handle BUILT_IN_EXPECT.
5934         * internal-fn.def (BUILTIN_EXPECT): New.
5936 2014-03-18  Tobias Burnus  <burnus@net-b.de>
5938         PR ipa/58721
5939         * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
5940         PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
5941         PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
5943 2014-03-18  Jan Hubicka  <hubicka@ucw.cz>
5945         PR ipa/58721
5946         * predict.c (combine_predictions_for_bb): Fix up formatting.
5947         (expr_expected_value_1, expr_expected_value): Add predictor argument,
5948         fill what it points to if non-NULL.
5949         (tree_predict_by_opcode): Adjust caller, use the predictor.
5950         * predict.def (PRED_COMPARE_AND_SWAP): Add.
5952 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
5954         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
5955         proper constant for the store mode.
5957 2014-03-18  Ilya Enkovich  <ilya.enkovich@intel.com>
5959         * symtab.c (change_decl_assembler_name): Fix transparent alias
5960         chain construction.
5962 2014-03-16  Renlin Li  <Renlin.Li@arm.com>
5964         * config/aarch64/aarch64.c: Correct the comments about the
5965         aarch64 stack layout.
5967 2014-03-18  Thomas Schwinge  <thomas@codesourcery.com>
5969         * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
5970         check for GF_OMP_FOR_KIND_FOR.
5972 2013-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
5974         * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
5975         ymm and zmm register names.
5977 2014-03-17  Jakub Jelinek  <jakub@redhat.com>
5979         PR target/60516
5980         * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
5981         note creation for the 2010-08-31 changes.
5983 2014-03-17  Marek Polacek  <polacek@redhat.com>
5985         PR middle-end/60534
5986         * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
5987         as -fno-tree-loop-vectorize.
5988         (expand_omp_simd): Likewise.
5990 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
5992         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
5993         (eligible_for_call_delay): New prototype.
5994         * config/sparc/sparc.c (tls_call_delay): Rename into...
5995         (eligible_for_call_delay): ...this.  Return false if the instruction
5996         cannot be put in the delay slot of a branch.
5997         (eligible_for_restore_insn): Simplify.
5998         (eligible_for_return_delay): Return false if the instruction cannot be
5999         put in the delay slot of a branch and simplify.
6000         (eligible_for_sibcall_delay): Return false if the instruction cannot be
6001         put in the delay slot of a branch.
6002         * config/sparc/sparc.md (fix_ut699): New attribute.
6003         (tls_call_delay): Delete.
6004         (in_call_delay): Reimplement.
6005         (eligible_for_sibcall_delay): Rename into...
6006         (in_sibcall_delay): ...this.
6007         (eligible_for_return_delay): Rename into...
6008         (in_return_delay): ...this.
6009         (in_branch_delay): Reimplement.
6010         (in_uncond_branch_delay): Delete.
6011         (in_annul_branch_delay): Delete.
6013 2014-03-14  Richard Henderson  <rth@redhat.com>
6015         PR target/60525
6016         * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
6017         define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
6018         (*floathi<X87MODEF>2_i387_with_temp): Remove.
6019         (floathi splitters): Remove.
6020         (float<SWI48x>xf2): New pattern.
6021         (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2.  Drop
6022         code that tried to handle DImode for 32-bit, but which was excluded
6023         by the pattern's condition.  Drop allocation of stack temporary.
6024         (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
6025         (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
6026         (*float<SWI48><MODEF>2_mixed_interunit): Remove.
6027         (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
6028         (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
6029         (*float<SWI48><MODEF>2_sse_with_temp): Remove.
6030         (*float<SWI48><MODEF>2_sse_interunit): Remove.
6031         (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
6032         (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
6033         (*float<SWI48x><X87MODEF>2_i387): Remove.
6034         (all float _with_temp splitters): Remove.
6035         (*float<SWI48x><MODEF>2_i387): New pattern.
6036         (*float<SWI48><MODEF>2_sse): New pattern.
6037         (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
6038         (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
6040 2014-03-14  Jakub Jelinek  <jakub@redhat.com>
6041             Marek Polacek  <polacek@redhat.com>
6043         PR middle-end/60484
6044         * common.opt (dump_base_name_prefixed): New Variable.
6045         * opts.c (finish_options): Don't prepend directory to x_dump_base_name
6046         if x_dump_base_name_prefixed is already set, set it at the end.
6048 2014-03-14  Vladimir Makarov  <vmakarov@redhat.com>
6050         PR rtl-optimization/60508
6051         * lra-constraints.c (get_reload_reg): Add new parameter
6052         in_subreg_p.
6053         (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
6054         Pass the new parameter values.
6056 2014-03-14  Richard Biener  <rguenther@suse.de>
6058         * common.opt: Revert unintented changes from r205065.
6059         * opts.c: Likewise.
6061 2014-03-14  Richard Biener  <rguenther@suse.de>
6063         PR middle-end/60518
6064         * cfghooks.c (split_block): Properly adjust all loops the
6065         block was a latch of.
6067 2014-03-14  Martin Jambor  <mjambor@suse.cz>
6069         PR lto/60461
6070         * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
6071         and simplify it.
6073 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
6075         PR target/59396
6076         * config/avr/avr.c (avr_set_current_function): Pass function name
6077         through default_strip_name_encoding before sanity checking instead
6078         of skipping the first char of the assembler name.
6080 2014-03-13  Richard Henderson  <rth@redhat.com>
6082         PR debug/60438
6083         * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
6084         (ix86_force_to_memory, ix86_free_from_memory): Remove.
6085         * config/i386/i386-protos.h: Likewise.
6086         * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
6087         in the expander instead of a splitter.
6088         (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
6089         any possibility of requiring a memory.
6090         (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
6091         (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
6092         (fp branch splitters): Update for ix86_split_fp_branch.
6093         (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
6094         (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
6095         (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
6096         (*fop_<MODEF>_2_i387): Remove f/r alternative.
6097         (*fop_<MODEF>_3_i387): Likewise.
6098         (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
6099         (splitters for the fop_* register patterns): Remove.
6100         (fscalexf4_i387): Rename from *fscalexf4_i387.
6101         (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
6103 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
6105         PR tree-optimization/59779
6106         * tree-dfa.c (get_ref_base_and_extent): Use double_int
6107         type for bitsize and maxsize instead of HOST_WIDE_INT.
6109 2014-03-13  Steven Bosscher  <steven@gcc.gnu.org>
6111         PR rtl-optimization/57320
6112         * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
6113         the CFG after thread_prologue_and_epilogue_insns.
6115 2014-03-13  Vladimir Makarov  <vmakarov@redhat.com>
6117         PR rtl-optimization/57189
6118         * lra-constraints.c (process_alt_operands): Disfavor spilling
6119         vector pseudos.
6121 2014-03-13  Cesar Philippidis  <cesar@codesourcery.com>
6123         * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic messages.
6125 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
6127         PR tree-optimization/59025
6128         PR middle-end/60418
6129         * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
6130         same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
6132 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
6134         PR target/60486
6135         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
6136         calls of avr_out_plus_1.
6138 2014-03-13  Bin Cheng  <bin.cheng@arm.com>
6140         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
6141         BB's single pred and update the father loop's latch info later.
6143 2014-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
6145         * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
6146         (VEC_M): Likewise.
6147         (VEC_N): Likewise.
6148         (VEC_R): Likewise.
6149         (VEC_base): Likewise.
6150         (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
6151         registers, we need to swap double words in little endian mode.
6153         * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
6154         to be a container mode for 128-bit integer operations added in ISA
6155         2.07.  Unlike TImode and PTImode, the preferred register set is
6156         the Altivec/VMX registers for the 128-bit operations.
6158         * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
6159         declarations.
6160         (rs6000_split_128bit_ok_p): Likewise.
6162         * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
6163         macros for creating ISA 2.07 normal and overloaded builtin
6164         functions with 3 arguments.
6165         (BU_P8V_OVERLOAD_3): Likewise.
6166         (VPERM_1T): Add support for V1TImode in 128-bit vector operations
6167         for use as overloaded functions.
6168         (VPERM_1TI_UNS): Likewise.
6169         (VSEL_1TI): Likewise.
6170         (VSEL_1TI_UNS): Likewise.
6171         (ST_INTERNAL_1ti): Likewise.
6172         (LD_INTERNAL_1ti): Likewise.
6173         (XXSEL_1TI): Likewise.
6174         (XXSEL_1TI_UNS): Likewise.
6175         (VPERM_1TI): Likewise.
6176         (VPERM_1TI_UNS): Likewise.
6177         (XXPERMDI_1TI): Likewise.
6178         (SET_1TI): Likewise.
6179         (LXVD2X_V1TI): Likewise.
6180         (STXVD2X_V1TI): Likewise.
6181         (VEC_INIT_V1TI): Likewise.
6182         (VEC_SET_V1TI): Likewise.
6183         (VEC_EXT_V1TI): Likewise.
6184         (EQV_V1TI): Likewise.
6185         (NAND_V1TI): Likewise.
6186         (ORC_V1TI): Likewise.
6187         (VADDCUQ): Add support for 128-bit integer arithmetic instructions
6188         added in ISA 2.07.  Add both normal 'altivec' builtins, and the
6189         overloaded builtin.
6190         (VADDUQM): Likewise.
6191         (VSUBCUQ): Likewise.
6192         (VADDEUQM): Likewise.
6193         (VADDECUQ): Likewise.
6194         (VSUBEUQM): Likewise.
6195         (VSUBECUQ): Likewise.
6197         * config/rs6000/rs6000-c.c (__int128_type): New static to hold
6198         __int128_t and __uint128_t types.
6199         (__uint128_type): Likewise.
6200         (altivec_categorize_keyword): Add support for vector __int128_t,
6201         vector __uint128_t, vector __int128, and vector unsigned __int128
6202         as a container type for TImode operations that need to be done in
6203         VSX/Altivec registers.
6204         (rs6000_macro_to_expand): Likewise.
6205         (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
6206         to support 128-bit integer instructions vaddcuq, vadduqm,
6207         vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
6208         (altivec_resolve_overloaded_builtin): Add support for V1TImode.
6210         * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
6211         for V1TImode, and set up preferences to use VSX/Altivec registers.
6212         Setup VSX reload handlers.
6213         (rs6000_debug_reg_global): Likewise.
6214         (rs6000_init_hard_regno_mode_ok): Likewise.
6215         (rs6000_preferred_simd_mode): Likewise.
6216         (vspltis_constant): Do not allow V1TImode as easy altivec constants.
6217         (easy_altivec_constant): Likewise.
6218         (output_vec_const_move): Likewise.
6219         (rs6000_expand_vector_set): Convert V1TImode set and extract to
6220         simple move.
6221         (rs6000_expand_vector_extract): Likewise.
6222         (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
6223         addressing.
6224         (rs6000_const_vec): Add support for V1TImode.
6225         (rs6000_emit_le_vsx_load): Swap double words when loading or
6226         storing TImode/V1TImode.
6227         (rs6000_emit_le_vsx_store): Likewise.
6228         (rs6000_emit_le_vsx_move): Likewise.
6229         (rs6000_emit_move): Add support for V1TImode.
6230         (altivec_expand_ld_builtin): Likewise.
6231         (altivec_expand_st_builtin): Likewise.
6232         (altivec_expand_vec_init_builtin): Likewise.
6233         (altivec_expand_builtin): Likewise.
6234         (rs6000_init_builtins): Add support for V1TImode type.  Add
6235         support for ISA 2.07 128-bit integer builtins.  Define type names
6236         for the VSX/Altivec vector types.
6237         (altivec_init_builtins): Add support for overloaded vector
6238         functions with V1TImode type.
6239         (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
6240         (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
6241         external function.
6242         (rs6000_split_128bit_ok_p): Likewise.
6243         (rs6000_handle_altivec_attribute): Create V1TImode from vector
6244         __int128_t and vector __uint128_t.
6246         * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
6247         and mode attributes.
6248         (VSX_M): Likewise.
6249         (VSX_M2): Likewise.
6250         (VSm): Likewise.
6251         (VSs): Likewise.
6252         (VSr): Likewise.
6253         (VSv): Likewise.
6254         (VS_scalar): Likewise.
6255         (VS_double): Likewise.
6256         (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
6258         * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
6259         we support the ISA 2.07 128-bit integer arithmetic instructions.
6260         (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
6261         (enum rs6000_builtin_type_index): Add fields to hold V1TImode
6262         and TImode types for use with the builtin functions.
6263         (V1TI_type_node): Likewise.
6264         (unsigned_V1TI_type_node): Likewise.
6265         (intTI_type_internal_node): Likewise.
6266         (uintTI_type_internal_node): Likewise.
6268         * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
6269         128-bit builtin functions.
6270         (UNSPEC_VADDEUQM): Likewise.
6271         (UNSPEC_VADDECUQ): Likewise.
6272         (UNSPEC_VSUBCUQ): Likewise.
6273         (UNSPEC_VSUBEUQM): Likewise.
6274         (UNSPEC_VSUBECUQ): Likewise.
6275         (VM): Add V1TImode to vector mode iterators.
6276         (VM2): Likewise.
6277         (VI_unit): Likewise.
6278         (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
6279         (altivec_vaddcuq): Likewise.
6280         (altivec_vsubuqm): Likewise.
6281         (altivec_vsubcuq): Likewise.
6282         (altivec_vaddeuqm): Likewise.
6283         (altivec_vaddecuq): Likewise.
6284         (altivec_vsubeuqm): Likewise.
6285         (altivec_vsubecuq): Likewise.
6287         * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
6288         mode iterators.
6289         (BOOL_128): Likewise.
6290         (BOOL_REGS_OUTPUT): Likewise.
6291         (BOOL_REGS_OP1): Likewise.
6292         (BOOL_REGS_OP2): Likewise.
6293         (BOOL_REGS_UNARY): Likewise.
6294         (BOOL_REGS_AND_CR0): Likewise.
6296         * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
6297         128-bit integer builtin support.
6298         (vec_vadduqm): Likewise.
6299         (vec_vaddecuq): Likewise.
6300         (vec_vaddeuqm): Likewise.
6301         (vec_vsubecuq): Likewise.
6302         (vec_vsubeuqm): Likewise.
6303         (vec_vsubcuq): Likewise.
6304         (vec_vsubuqm): Likewise.
6306         * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
6307         Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
6308         vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
6309         128-bit integer add/subtract to ISA 2.07.
6311 2014-03-12  Joern Rennecke  <joern.rennecke@embecosm.com>
6313         * config/arc/arc.c (arc_predicate_delay_insns):
6314         Fix third argument passed to conditionalize_nonjump.
6316 2014-03-12  Yufeng Zhang  <yufeng.zhang@arm.com>
6318         * config/aarch64/aarch64-builtins.c
6319         (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
6320         BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
6321         * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
6322         instead of __builtin_lfloor.
6323         (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
6325 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
6327         * tree-ssa-ifcombine.c (forwarder_block_to): New function.
6328         (tree_ssa_ifcombine_bb_1): New function.
6329         (tree_ssa_ifcombine_bb): Use it.  Handle also cases where else_bb
6330         is an empty forwarder block to then_bb or vice versa and then_bb
6331         and else_bb are effectively swapped.
6333 2014-03-12  Christian Bruel  <christian.bruel@st.com>
6335         PR target/60264
6336         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
6337         REG_CFA_DEF_CFA note.
6338         (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
6339         (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
6341 2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6343         PR tree-optimization/60454
6344         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
6346 2014-03-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6348         * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
6349         Do not define target_cpu_default2 to generic.
6350         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
6351         * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
6352         * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
6354 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
6355             Marc Glisse  <marc.glisse@inria.fr>
6357         PR tree-optimization/60502
6358         * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
6359         instead of build_low_bits_mask.
6361 2014-03-12  Jakub Jelinek  <jakub@redhat.com>
6363         PR middle-end/60482
6364         * tree-vrp.c (register_edge_assert_for_1): Don't add assert
6365         if there are multiple uses, but op doesn't live on E edge.
6366         * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
6367         clobber stmts before __builtin_unreachable.
6369 2014-03-11  Richard Sandiford  <rdsandiford@googlemail.com>
6371         * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
6372         hard_frame_pointer_rtx.
6373         * cse.c (cse_insn): Remove volatile check.
6374         * cselib.c (cselib_process_insn): Likewise.
6375         * dse.c (scan_insn): Likewise.
6377 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
6379         * config/arc/arc.c (conditionalize_nonjump): New function,
6380         broken out of ...
6381         (arc_ifcvt): ... this.
6382         (arc_predicate_delay_insns): Use it.
6384 2014-03-11  Joern Rennecke  <joern.rennecke@embecosm.com>
6386         * config/arc/predicates.md (extend_operand): During/after reload,
6387         allow const_int_operand.
6388         * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
6389         (umulsidi3_700): Likewise.  Change operand 2 constraint back to "cL".
6390         (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
6391         to "i".
6392         (umulsi3_highpart_i): Likewise.
6394 2014-03-11  Richard Biener  <rguenther@suse.de>
6396         * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
6397         Add asserts to guard possible wrong-code bugs.
6399 2014-03-11  Richard Biener  <rguenther@suse.de>
6401         PR tree-optimization/60429
6402         PR tree-optimization/60485
6403         * tree-ssa-structalias.c (set_union_with_increment): Properly
6404         take into account all fields that overlap the shifted vars.
6405         (do_sd_constraint): Likewise.
6406         (do_ds_constraint): Likewise.
6407         (get_constraint_for_ptr_offset): Likewise.
6409 2014-03-11  Chung-Lin Tang  <cltang@codesourcery.com>
6411         * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
6412         (nios2_compute_frame_layout):
6413         Add calculation of cfun->machine->fp_save_offset.
6414         (nios2_expand_prologue): Correct setting of frame pointer register
6415         in prologue.
6416         (nios2_expand_epilogue): Update recovery of stack pointer from
6417         frame pointer accordingly.
6418         (nios2_initial_elimination_offset): Update calculation of offset
6419         for eliminating to HARD_FRAME_POINTER_REGNUM.
6421 2014-03-10  Jakub Jelinek  <jakub@redhat.com>
6423         PR ipa/60457
6424         * ipa.c (symtab_remove_unreachable_nodes): Don't call
6425         cgraph_get_create_node on VAR_DECLs.
6427 2014-03-10  Richard Biener  <rguenther@suse.de>
6429         PR middle-end/60474
6430         * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
6432 2014-03-08  Douglas B Rupp  <rupp@gnat.com>
6434         * config/vms/vms.opt (vms_float_format): New variable.
6436 2014-03-08  Tobias Burnus  <burnus@net-b.de>
6438         * doc/invoke.texi (-fcilkplus): Update implementation status.
6440 2014-03-08  Paulo Matos  <paulo@matos-sorge.com>
6441             Richard Biener  <rguenther@suse.de>
6443         * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
6444         consistently accross all TUs.
6445         (run_gcc): Enable -fshort-double automatically at link at link-time
6446         and disallow override.
6448 2014-03-08  Richard Sandiford  <rdsandiford@googlemail.com>
6450         PR target/58271
6451         * config/mips/mips.c (mips_option_override): Promote -mpaired-single
6452         warning to an error.  Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
6453         if they can't be used.
6455 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6457         * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
6458         for Solaris 11/x86 ld.
6459         * configure: Regenerate.
6461 2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6463         * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
6464         (LIB_TLS_SPEC): Save as ld_tls_libs.
6465         (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
6466         (HAVE_AS_IX86_TLSLDM): New test.
6467         * configure, config.in: Regenerate.
6468         * config/i386/i386.c (legitimize_tls_address): Fall back to
6469         TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
6470         cannot support TLS_MODEL_LOCAL_DYNAMIC.
6471         * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
6472         instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
6474 2014-03-07  Paulo Matos  <paulo@matos-sorge.com>
6476         * common.opt (fira-loop-pressure): Mark as optimization.
6478 2014-03-07  Thomas Schwinge  <thomas@codesourcery.com>
6480         * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
6481         an OpenMP mappable type.
6483 2014-03-06  Matthias Klose  <doko@ubuntu.com>
6485         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
6486         MULTILIB_OSDIRNAMES is not defined.
6488 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
6489             Meador Inge  <meadori@codesourcery.com>
6491         PR target/58595
6492         * config/arm/arm.c (arm_tls_symbol_p): Remove.
6493         (arm_legitimize_address): Call legitimize_tls_address for any
6494         arm_tls_referenced_p expression, handle constant addend.  Call it
6495         before testing for !TARGET_ARM.
6496         (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
6498 2014-03-06  Richard Biener  <rguenther@suse.de>
6500         PR middle-end/60445
6501         PR lto/60424
6502         PR lto/60427
6503         Revert
6504         2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
6506         * tree-streamer.c (record_common_node): Assert we don't record
6507         nodes with type double.
6508         (preload_common_node): Skip type double, complex double and double
6509         pointer since it is now frontend dependent due to fshort-double option.
6511 2014-03-06  Richard Biener  <rguenther@suse.de>
6513         * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
6514         or -fno-lto is specified and the linker has full plugin support.
6515         * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
6516         (main): Remove -flto processing, adjust lto_mode using use_plugin late.
6517         * lto-wrapper.c (merge_and_complain): Merge compile-time
6518         optimization levels.
6519         (run_gcc): And pass it through to the link options.
6521 2014-03-06  Alexandre Oliva  <aoliva@redhat.com>
6523         PR debug/60381
6524         Revert:
6525         2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6526         PR debug/59992
6527         * cselib.c (remove_useless_values): Skip to avoid quadratic
6528         behavior if the condition moved from...
6529         (cselib_process_insn): ... here holds.
6531 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
6533         PR plugins/59335
6534         * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
6535         ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
6537         PR plugins/59335
6538         * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
6539         (TM_H): Add x86-tune.def.
6541 2014-03-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6543         * config/aarch64/aarch64.c (generic_tunings):
6544         Use cortexa57_extra_costs.
6546 2014-03-05  Jakub Jelinek  <jakub@redhat.com>
6548         PR lto/60404
6549         * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
6550         of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
6551         * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
6552         cost for in_lto_p.
6554 2014-03-04  Heiher  <r@hev.cc>
6556         * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
6557         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
6559 2014-03-04  Uros Bizjak  <ubizjak@gmail.com>
6561         * config/i386/predicates.md (const2356_operand): Change to ...
6562         (const2367_operand): ... this.
6563         * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
6564         const2367_operand.
6565         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6566         (*avx512pf_scatterpf<mode>sf): Ditto.
6567         (avx512pf_scatterpf<mode>df): Ditto.
6568         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6569         (*avx512pf_scatterpf<mode>df): Ditto.
6570         * config/i386/i386.c (ix86_expand_builtin): Update
6571         incorrect hint operand error message.
6573 2014-03-04  Richard Biener  <rguenther@suse.de>
6575         * lto-section-in.c (lto_get_section_data): Fix const cast.
6577 2014-03-04  Paulo Matos  <paulo@matos-sorge.com>
6579         * tree-streamer.c (record_common_node): Assert we don't record
6580         nodes with type double.
6581         (preload_common_node): Skip type double, complex double and double
6582         pointer since it is now frontend dependent due to fshort-double option.
6584 2014-03-04  Richard Biener  <rguenther@suse.de>
6586         PR lto/60405
6587         * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
6588         (lto_input_toplevel_asms): Likewise.
6589         * lto-section-in.c (lto_get_section_data): Instead do it here
6590         for every section.
6592 2014-03-04  Richard Biener  <rguenther@suse.de>
6594         PR tree-optimization/60382
6595         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
6596         dead PHIs a reduction.
6598 2014-03-03  Uros Bizjak  <ubizjak@gmail.com>
6600         * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
6601         hint value.
6602         (_mm_prefetch): Move out of GCC target("sse") pragma.
6603         * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
6604         GCC target("prfchw") pragma.
6605         * config/i386/i386.md (prefetch): Emit prefetchwt1 only
6606         for locality <= 2.
6607         * config/i386/i386.c (ix86_option_override_internal): Enable
6608         -mprfchw with -mprefetchwt1.
6610 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
6612         * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
6613         Mark as varying.
6615 2014-03-03  Joern Rennecke  <joern.rennecke@embecosm.com>
6617         * opts.h (CL_PCH_IGNORE): Define.
6618         * targhooks.c (option_affects_pch_p):
6619         Return false for options that have CL_PCH_IGNORE set.
6620         * opt-functions.awk: Process PchIgnore.
6621         * doc/options.texi: Document PchIgnore.
6623         * config/arc/arc.opt (misize): Add PchIgnore property.
6625 2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6627         * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
6628         reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
6629         constraint on constants to permit them being loaded into
6630         GENERAL_REGS or BASE_REGS.
6632 2014-03-03  Nick Clifton  <nickc@redhat.com>
6634         * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
6635         anti-cacnonical alternatives.
6636         (negandhi3_real): New pattern.
6637         * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
6639 2014-03-03  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
6641         * config/avr/avr-mcus.def: Remove atxmega16x1.
6642         * config/avr/avr-tables.opt: Regenerate.
6643         * config/avr/t-multilib: Regenerate.
6644         * doc/avr-mmcu.texi: Regenerate.
6646 2014-03-03  Tobias Grosser  <tobias@grosser.es>
6647             Mircea Namolaru  <mircea.namolaru@inria.fr>
6649         PR tree-optimization/58028
6650         * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
6651         scalar dimensions.
6653 2014-03-03  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6655         * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
6656         not handled by recognizers.
6658 2014-03-03  Jakub Jelinek  <jakub@redhat.com>
6660         PR middle-end/60175
6661         * function.c (expand_function_end): Don't emit
6662         clobber_return_register sequence if clobber_after is a BARRIER.
6663         * cfgexpand.c (construct_exit_block): Append instructions before
6664         return_label to prev_bb.
6666 2014-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6668         * config/rs6000/constraints.md: Document reserved use of "wc".
6670 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6672         PR ipa/60150
6673         * ipa.c (function_and_variable_visibility): When dissolving comdat
6674         group, also set all symbols to local.
6676 2014-03-02  Jan Hubicka  <hubicka@ucw.cz>
6678         PR ipa/60306
6680         Revert:
6681         2013-12-14  Jan Hubicka  <jh@suse.cz>
6682         PR middle-end/58477
6683         * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
6685 2014-03-02  Jon Beniston  <jon@beniston.com>
6687         PR bootstrap/48230
6688         PR bootstrap/50927
6689         PR bootstrap/52466
6690         PR target/46898
6691         * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
6692           (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
6693         * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
6694         (simple_return, *simple_return): New patterns
6695         * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
6696         * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
6698 2014-03-01  Paolo Carlini  <paolo.carlini@oracle.com>
6700         * dwarf2out.c (gen_subprogram_die): Tidy.
6702 2014-03-01  Oleg Endo  <olegendo@gcc.gnu.org>
6704         PR target/60071
6705         * config/sh/sh.md (*mov_t_msb_neg): Split into ...
6706         (*mov_t_msb_neg_negc): ... this new insn.
6708 2014-02-28  Jason Merrill  <jason@redhat.com>
6710         PR c++/58678
6711         * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
6712         function.
6714 2014-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
6716         PR c++/60314
6717         * dwarf2out.c (decltype_auto_die): New static.
6718         (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
6719         (gen_type_die_with_usage): Handle 'decltype(auto)'.
6720         (is_cxx_auto): Likewise.
6722 2014-02-28  Ian Bolton  <ian.bolton@arm.com>
6724         * config/aarch64/aarch64.h: Define __ARM_NEON by default if
6725         we are not using general regs only.
6727 2014-02-28  Richard Biener  <rguenther@suse.de>
6729         PR target/60280
6730         * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
6731         previous fix and only allow to remove trivial pre-headers
6732         and latches.  Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
6733         (remove_forwarder_block): Properly update the latch of a loop.
6735 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6737         PR debug/59992
6738         * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
6739         (cselib_preserved_hash_table): New.
6740         (preserve_constants_and_equivs): Move preserved vals to it.
6741         (cselib_find_slot): Look it up first.
6742         (cselib_init): Initialize it.
6743         (cselib_finish): Release it.
6744         (dump_cselib_table): Dump it.
6746 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6748         PR debug/59992
6749         * cselib.c (remove_useless_values): Skip to avoid quadratic
6750         behavior if the condition moved from...
6751         (cselib_process_insn): ... here holds.
6753 2014-02-28  Alexandre Oliva  <aoliva@redhat.com>
6755         PR debug/57232
6756         * var-tracking.c (vt_initialize): Apply the same condition to
6757         preserve the CFA base value.
6759 2014-02-28  Joey Ye  <joey.ye@arm.com>
6761         PR target/PR60169
6762         * config/arm/arm.c (thumb_far_jump_used_p): Don't change
6763         if reload in progress or completed.
6765 2014-02-28  Tobias Burnus  <burnus@net-b.de>
6767         PR middle-end/60147
6768         * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
6769         NAMELIST_DECL.
6771 2014-02-27  H.J. Lu  <hongjiu.lu@intel.com>
6773         * doc/tm.texi.in (Condition Code Status): Update documention for
6774         relative locations of cc0-setter and cc0-user.
6776 2014-02-27  Jeff Law  <law@redhat.com>
6778         PR rtl-optimization/52714
6779         * combine.c (try_combine): When splitting an unrecognized PARALLEL
6780         into two independent simple sets, if I3 is a jump, ensure the
6781         pattern we place into I3 is a (set (pc) ...).
6783 2014-02-27  Mikael Pettersson  <mikpe@it.uu.se>
6784             Jeff Law  <law@redhat.com>
6786         PR rtl-optimization/49847
6787         * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
6788         are in different blocks.
6789         * doc/tm.texi (Condition Code Status): Update documention for
6790         relative locations of cc0-setter and cc0-user.
6792 2014-02-27  Vladimir Makarov  <vmakarov@redhat.com>
6794         PR target/59222
6795         * lra.c (lra_emit_add): Check SUBREG too.
6797 2014-02-27  Andreas Schwab  <schwab@suse.de>
6799         * config/m68k/m68k.c (m68k_option_override): Disable
6800         -flive-range-shrinkage for classic m68k.
6801         (m68k_override_options_after_change): Likewise.
6803 2014-02-27  Marek Polacek  <polacek@redhat.com>
6805         PR middle-end/59223
6806         * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
6807         -Wmaybe-uninitialized.
6809 2014-02-27  Alan Modra  <amodra@gmail.com>
6811         PR target/57936
6812         * reload1.c (emit_input_reload_insns): When reload_override_in,
6813         set old to rl->in_reg when rl->in_reg is a subreg.
6815 2014-02-26  Richard Biener  <rguenther@suse.de>
6817         PR bootstrap/60343
6818         * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
6820 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6822         * common/config/i386/predicates.md (const1256_operand): Remove.
6823         (const2356_operand): New.
6824         (const_1_to_2_operand): Remove.
6825         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
6826         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
6827         (*avx512pf_gatherpf<mode>sf): Ditto.
6828         (avx512pf_gatherpf<mode>df): Ditto.
6829         (*avx512pf_gatherpf<mode>df_mask): Ditto.
6830         (*avx512pf_gatherpf<mode>df): Ditto.
6831         (avx512pf_scatterpf<mode>sf): Ditto.
6832         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
6833         (*avx512pf_scatterpf<mode>sf): Ditto.
6834         (avx512pf_scatterpf<mode>df): Ditto.
6835         (*avx512pf_scatterpf<mode>df_mask): Ditto.
6836         (*avx512pf_scatterpf<mode>df): Ditto.
6837         * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
6839 2014-02-26  Ilya Tocar  <ilya.tocar@intel.com>
6841         * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
6842         (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
6843         (_mm512_mask_testn_epi64_mask): Move to ...
6844         * config/i386/avx512cdintrin.h: Here.
6845         * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
6846         * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
6847         (avx512f_scalef<mode><mask_name><round_name>): Ditto.
6848         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
6849         TARGET_AVX512F from TARGET_AVX512CD.
6851 2014-02-26  Richard Biener  <rguenther@suse.de>
6853         PR ipa/60327
6854         * ipa.c (walk_polymorphic_call_targets): Properly guard
6855         call to inline_update_overall_summary.
6857 2014-02-26  Bin Cheng  <bin.cheng@arm.com>
6859         PR target/60280
6860         * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
6861         and latches only if requested.  Fix latch if it is removed.
6862         * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
6863         LOOPS_HAVE_PREHEADERS.
6865 2014-02-25  Andrew Pinski  <apinski@cavium.com>
6867         * builtins.c (expand_builtin_thread_pointer): Create a new target
6868         when the target is NULL.
6870 2014-02-25  Vladimir Makarov  <vmakarov@redhat.com>
6872         PR rtl-optimization/60317
6873         * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6874         * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
6875         * lra-assigns.c: Include params.h.
6876         (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
6877         other reload pseudos considerations.
6879 2014-02-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6881         * config/rs6000/vector.md (*vector_unordered<mode>): Change split
6882         to use canonical form for nor<mode>3.
6884 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6886         PR target/55426
6887         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
6888         conversions.
6890 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
6892         * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
6893         (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
6894         (ix86_handle_option): Handle OPT_mprefetchwt1.
6895         * config/i386/cpuid.h (bit_PREFETCHWT1): New.
6896         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
6897         PREFETCHWT1 CPUID.
6898         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
6899         OPTION_MASK_ISA_PREFETCHWT1.
6900         * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
6901         (PTA_PREFETCHWT1): New.
6902         (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
6903         (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
6904         * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
6905         * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
6906         (*prefetch_avx512pf_<mode>_: Change into ...
6907         (*prefetch_prefetchwt1_<mode>: This.
6908         * config/i386/i386.opt (mprefetchwt1): New.
6909         * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
6910         (_mm_prefetch): Handle intent to write.
6911         * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
6913 2014-02-25  Richard Biener  <rguenther@suse.de>
6915         PR middle-end/60291
6916         * emit-rtl.c (mem_attrs_htab): Remove.
6917         (mem_attrs_htab_hash): Likewise.
6918         (mem_attrs_htab_eq): Likewise.
6919         (set_mem_attrs): Always allocate new mem-attrs when something changed.
6920         (init_emit_once): Do not allocate mem_attrs_htab.
6922 2014-02-25  Richard Biener  <rguenther@suse.de>
6924         PR lto/60319
6925         * lto-opts.c (lto_write_options): Output non-explicit conservative
6926         -fwrapv, -fno-trapv and -fno-strict-overflow.
6927         * lto-wrapper.c (merge_and_complain): Handle merging those options.
6928         (run_gcc): And pass them through.
6930 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6932         * sel-sched.c (calculate_new_fences): New parameter ptime.
6933         Calculate it as a maximum over all fence cycles.
6934         (sel_sched_region_2): Adjust the call to calculate_new_fences.
6935         Print the final schedule timing when sched_verbose.
6937 2014-02-25  Andrey Belevantsev  <abel@ispras.ru>
6939         PR rtl-optimization/60292
6940         * sel-sched.c (fill_vec_av_set): Do not reset target availability
6941         bit fot the fence instruction.
6943 2014-02-24  Alangi Derick  <alangiderick@gmail.com>
6945         * calls.h: Fix typo in comment.
6947 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
6949         * config/pa/pa.c (pa_output_move_double): Don't valididate when
6950         adjusting offsetable addresses.
6952 2014-02-24  Guozhi Wei  <carrot@google.com>
6954         * sparseset.h (sparseset_pop): Fix the wrong index.
6956 2014-02-24  Walter Lee  <walt@tilera.com>
6958         * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
6959         (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
6960         triplet.
6961         * common/config/tilegx/tilegx-common.c
6962         (TARGET_DEFAULT_TARGET_FLAGS): Define.
6963         * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
6964         (LINK_SPEC): Ditto.
6965         * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
6966         * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
6967         (tilegx_gimplify_va_arg_expr): Handle big endian.
6968         (tilegx_expand_unaligned_load): Ditto.
6969         (tilegx_expand_unaligned_store): Ditto.
6970         (TARGET_RETURN_IN_MSB): New.
6971         * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
6972         (TARGET_ENDIAN_DEFAULT): New.
6973         (TARGET_BIG_ENDIAN): Handle big endian.
6974         (BYTES_BIG_ENDIAN): Ditto.
6975         (WORDS_BIG_ENDIAN): Ditto.
6976         (FLOAT_WORDS_BIG_ENDIAN): Ditto.
6977         (ENDIAN_SPEC): New.
6978         (EXTRA_SPECS): New.
6979         * config/tilegx/tilegx.md (extv): Handle big endian.
6980         (extzv): Ditto.
6981         (insn_st<n>): Ditto.
6982         (insn_st<n>_add<bitsuffix>): Ditto.
6983         (insn_stnt<n>): Ditto.
6984         (insn_stnt<n>_add<bitsuffix>):Ditto.
6985         (vec_interleave_highv8qi): Handle big endian.
6986         (vec_interleave_highv8qi_be): New.
6987         (vec_interleave_highv8qi_le): New.
6988         (insn_v1int_h): Handle big endian.
6989         (vec_interleave_lowv8qi): Handle big endian.
6990         (vec_interleave_lowv8qi_be): New.
6991         (vec_interleave_lowv8qi_le): New.
6992         (insn_v1int_l): Handle big endian.
6993         (vec_interleave_highv4hi): Handle big endian.
6994         (vec_interleave_highv4hi_be): New.
6995         (vec_interleave_highv4hi_le): New.
6996         (insn_v2int_h): Handle big endian.
6997         (vec_interleave_lowv4hi): Handle big endian.
6998         (vec_interleave_lowv4hi_be): New.
6999         (vec_interleave_lowv4hi_le): New.
7000         (insn_v2int_l): Handle big endian.
7001         (vec_interleave_highv2si): Handle big endian.
7002         (vec_interleave_highv2si_be): New.
7003         (vec_interleave_highv2si_le): New.
7004         (insn_v4int_h): Handle big endian.
7005         (vec_interleave_lowv2si): Handle big endian.
7006         (vec_interleave_lowv2si_be): New.
7007         (vec_interleave_lowv2si_le): New.
7008         (insn_v4int_l): Handle big endian.
7009         * config/tilegx/tilegx.opt (mbig-endian): New option.
7010         (mlittle-endian): New option.
7011         * doc/install.texi: Document tilegxbe-linux.
7012         * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
7014 2014-02-24  Martin Jambor  <mjambor@suse.cz>
7016         PR ipa/60266
7017         * ipa-cp.c (propagate_constants_accross_call): Bail out early if
7018         there are no parameter descriptors.
7020 2014-02-24  Andrey Belevantsev  <abel@ispras.ru>
7022         PR rtl-optimization/60268
7023         * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
7024         initialization to ...
7025         (sched_rgn_init): ... here.
7026         (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
7028 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
7030         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
7031         names.
7033 2014-02-23  Edgar E. Iglesias  <edgar.iglesias@xilinx.com>
7035         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
7036         definition.
7038 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
7040         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
7041         define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7043 2014-02-23  David Holsgrove  <david.holsgrove@xilinx.com>
7045         * config/microblaze/predicates.md: Add cmp_op predicate.
7046         * config/microblaze/microblaze.md: Add branch_compare instruction
7047         which uses cmp_op predicate and emits cmp insn before branch.
7048         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
7049         to microblaze_expand_conditional_branch and consolidate logic.
7050         (microblaze_expand_conditional_branch): emit branch_compare
7051         insn instead of handling cmp op separate from branch insn.
7053 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7055         * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
7056         to permit subregs.
7058 2014-02-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7060         * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
7061         define_insn with define_expand and new define_insn
7062         *altivec_lve<VI_char>x_internal.
7063         (altivec_stve<VI_char>x): Replace define_insn with define_expand
7064         and new define_insn *altivec_stve<VI_char>x_internal.
7065         * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
7066         prototype.
7067         * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
7068         lve*x built-ins.
7069         (altivec_expand_stvex_be): New function.
7071 2014-02-22  Joern Rennecke  <joern.rennecke@embecosm.com>
7073         * config/avr/avr.c (avr_can_eliminate): Allow elimination from
7074         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
7075         * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
7076         ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
7078 2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
7080         PR target/60298
7081         * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
7082         instead of emit_move_insn.
7084 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7086         * config/rs6000/altivec.md (altivec_vsumsws): Replace second
7087         vspltw with vsldoi.
7088         (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
7089         gen_altivec_vsumsws.
7091 2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7093         * config/rs6000/altivec.md (altivec_lvxl): Rename as
7094         *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
7095         (altivec_lvxl_<mode>): New define_expand incorporating
7096         -maltivec=be semantics where needed.
7097         (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
7098         (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
7099         semantics where needed.
7100         (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
7101         (altivec_stvx_<mode>): New define_expand incorporating
7102         -maltivec=be semantics where needed.
7103         (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
7104         VM2 iterator instead of V4SI.
7105         (altivec_stvxl_<mode>): New define_expand incorporating
7106         -maltivec=be semantics where needed.
7107         * config/rs6000/rs6000-builtin.def: Add new built-in definitions
7108         LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
7109         LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
7110         STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
7111         STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
7112         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
7113         ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
7114         similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
7115         ALTIVEC_BUILTIN_STVXL.
7116         * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
7117         (altivec_expand_stvx_be): Likewise.
7118         * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
7119         (altivec_expand_lvx_be): Likewise.
7120         (altivec_expand_stvx_be): Likewise.
7121         (altivec_expand_builtin): Add cases for
7122         ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
7123         ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
7124         (altivec_init_builtins): Add definitions for
7125         __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
7126         __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
7128 2014-02-21  Catherine Moore  <clm@codesourcery.com>
7130         * doc/invoke.texi (mvirt, mno-virt): Document.
7131         * config/mips/mips.opt (mvirt): New option.
7132         * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
7134 2014-02-21  Richard Biener  <rguenther@suse.de>
7136         PR tree-optimization/60276
7137         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
7138         (STMT_VINFO_MIN_NEG_DIST): New macro.
7139         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
7140         STMT_VINFO_MIN_NEG_DIST.
7141         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
7142         made for negative dependence distances still hold.
7144 2014-02-21  Richard Biener  <rguenther@suse.de>
7146         PR middle-end/60291
7147         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
7148         DECL_INITIAL for globals not in the current function context.
7150 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
7152         PR tree-optimization/56490
7153         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
7154         * tree-ssa-uninit.c: Include params.h.
7155         (compute_control_dep_chain): Add num_calls argument, return false
7156         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
7157         num_calls to recursive call.
7158         (find_predicates): Change dep_chain into normal array,
7159         cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
7160         variable and adjust compute_control_dep_chain caller.
7161         (find_def_preds): Likewise.
7163 2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
7165         * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
7166         <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
7168 2014-02-21  Nick Clifton  <nickc@redhat.com>
7170         * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
7171         (pushhi1): Likewise.
7172         (popqi1): Add mode to pre_dec.
7173         (pophi1): Likewise.
7175 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
7177         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
7178         mode for mask of V8SFmode permutation.
7180 2014-02-20  Richard Henderson  <rth@redhat.com>
7182         PR c++/60272
7183         * builtins.c (expand_builtin_atomic_compare_exchange): Always make
7184         a new pseudo for OLDVAL.
7186 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
7188         PR target/57896
7189         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
7190         gen_reg_rtx if d->testing_p.
7191         (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
7192         if d->testing_p and we will certainly return true.
7193         (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
7194         if d->testing_p.
7196 2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
7198         * emit-rtl.c (gen_reg_rtx): Assert that
7199         crtl->emit.regno_pointer_align_length is non-zero.
7201 2014-02-20  Richard Henderson  <rth@redhat.com>
7203         PR c++/60272
7204         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
7205         on failure the store back into EXPECT.
7207 2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
7208             Sandra Loosemore  <sandra@codesourcery.com>
7210         * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
7211         * config/nios2/nios2.c (nios2_function_profiler): Add
7212         -fPIC (flag_pic == 2) support.
7213         (nios2_handle_custom_fpu_cfg): Fix warning parameter.
7214         (nios2_large_offset_p): New function.
7215         (nios2_unspec_reloc_p): Move up position, update to use
7216         nios2_large_offset_p.
7217         (nios2_unspec_address): Remove function.
7218         (nios2_unspec_offset): New function.
7219         (nios2_large_got_address): New function.
7220         (nios2_got_address): Add large offset support.
7221         (nios2_legitimize_tls_address): Update usage of removed and new
7222         functions.
7223         (nios2_symbol_binds_local_p): New function.
7224         (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
7225         (nios2_legitimize_address): Update to use nios2_large_offset_p.
7226         (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
7227         (nios2_print_operand): Merge H/L processing, add hiadj/lo
7228         processing for (const (unspec ...)).
7229         (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
7231 2014-02-20  Richard Biener  <rguenther@suse.de>
7233         * tree-cfg.c (replace_uses_by): Mark altered BBs before
7234         doing the substitution.
7235         (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
7237 2014-02-20  Martin Jambor  <mjambor@suse.cz>
7239         PR ipa/55260
7240         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
7241         info when checking whether lattices are bottom.
7243 2014-02-20  Richard Biener  <rguenther@suse.de>
7245         PR middle-end/60221
7246         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
7247         regions at -O0.
7249 2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
7251         PR ipa/58555
7252         * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
7253         parameter specifying the scaling.
7254         (inline_call): Update.
7255         (want_inline_recursively): Guard division by zero.
7256         (recursive_inlining): Update.
7257         * ipa-inline.h (clone_inlined_nodes): Update.
7259 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
7261         PR target/60204
7262         * config/i386/i386.c (classify_argument): Pass structures of size
7263         64 bytes or less in register.
7265 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
7266             Kirill Yukhin  <kirill.yukhin@intel.com>
7268         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
7269         (_mm_rcp28_round_ss): Ditto.
7270         (_mm_rsqrt28_round_sd): Ditto.
7271         (_mm_rsqrt28_round_ss): Ditto.
7272         * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
7273         (_mm_rcp14_round_ss): Ditto.
7274         (_mm_rsqrt14_round_sd): Ditto.
7275         (_mm_rsqrt14_round_ss): Ditto.
7276         * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
7277         the first input operand, get rid of match_dup.
7278         (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
7279         attribute to sse.
7280         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
7281         Ditto.
7282         (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
7283         operand as the first input operand, set type attribute.
7284         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
7285         Set type attribute.
7286         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
7287         operand as the first input operand, set type attribute.
7289 2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7291         * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
7292         bit of zero.
7294 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
7296         PR target/60207
7297         * config/i386/i386.c (construct_container): Remove TFmode check
7298         for X86_64_INTEGER_CLASS.
7300 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
7302         PR target/59794
7303         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
7304         only when -Wpsabi is enabled.
7306 2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
7308          PR target/59799
7309         * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
7310         passing arrays in registers are the same as for structs, so remove the
7311         special case for them.
7313 2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
7315         * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
7316         destination type, extract only the valid bits if the source type is not
7317         integral and has a different mode.
7319 2014-02-19  Richard Biener  <rguenther@suse.de>
7321         PR ipa/60243
7322         * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
7323         for all calls.
7325 2014-02-19  Richard Biener  <rguenther@suse.de>
7327         PR ipa/60243
7328         * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
7329         (ipa_modify_call_arguments): Emit an argument load explicitely and
7330         preserve virtual SSA form there and for the replacement call.
7331         Do not update SSA form nor free dominance info.
7333 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
7335         * ipa.c (function_and_variable_visibility): Also clear WEAK
7336         flag when disolving COMDAT_GROUP.
7338 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
7340         * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
7341         * ipa-prop.c (ipa_set_jf_known_type): Return early when
7342         not devirtualizing.
7343         (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
7344         do more sanity checks.
7345         (detect_type_change): Return true when giving up early.
7346         (compute_complex_assign_jump_func): Fix type parameter of
7347         ipa_set_ancestor_jf.
7348         (compute_complex_ancestor_jump_func): Likewise.
7349         (update_jump_functions_after_inlining): Fix updating of
7350         ancestor function.
7351         * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
7353 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
7355         * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
7356         inline clones when edge disappears.
7358 2014-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
7360         PR target/60203
7361         * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
7362         Split 64-bit moves into 2 patterns.  Do not allow the use of
7363         direct move for TDmode in little endian, since the decimal value
7364         has little endian bytes within a word, but the 64-bit pieces are
7365         ordered in a big endian fashion, and normal subreg's of TDmode are
7366         not allowed.
7367         (mov<mode>_64bit_dm): Likewise.
7368         (movtd_64bit_nodm): Likewise.
7370 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
7372         PR tree-optimization/60174
7373         * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
7374         statement of an SSA_NAME that occurs in an abnormal PHI node.
7376 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
7378         PR sanitizer/60142
7379         * final.c (SEEN_BB): Remove.
7380         (SEEN_NOTE, SEEN_EMITTED): Renumber.
7381         (final_scan_insn): Don't force_source_line on second
7382         NOTE_INSN_BASIC_BLOCK.
7384 2014-02-18  Uros Bizjak  <ubizjak@gmail.com>
7386         PR target/60205
7387         * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
7388         * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
7389         (type_natural_mode): Warn ABI change when %zmm register is not
7390         available for AVX512F vector value passing.
7392 2014-02-18  Kai Tietz  <ktietz@redhat.com>
7394         PR target/60193
7395         * config/i386/i386.c (ix86_expand_prologue): Use value in
7396         rax register as displacement when restoring %r10 or %rax.
7397         Fix wrong offset when restoring both registers.
7399 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
7401         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
7402         assertion with conditional return.
7404 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
7405             Uros Bizjak  <ubizjak@gmail.com>
7407         PR driver/60233
7408         * config/i386/driver-i386.c (host_detect_local_cpu): If
7409         YMM state is not saved by the OS, also clear has_f16c.  Move
7410         CPUID 0x80000001 handling before YMM state saving checking.
7412 2014-02-18  Andrey Belevantsev  <abel@ispras.ru>
7414         PR rtl-optimization/58960
7415         * haifa-sched.c (alloc_global_sched_pressure_data): New,
7416         factored out from ...
7417         (sched_init): ... here.
7418         (free_global_sched_pressure_data): New, factored out from ...
7419         (sched_finish): ... here.
7420         * sched-int.h (free_global_sched_pressure_data): Declare.
7421         * sched-rgn.c (nr_regions_initial): New static global.
7422         (haifa_find_rgns): Initialize it.
7423         (schedule_region): Disable sched-pressure for the newly
7424         generated regions.
7426 2014-02-17  Richard Biener  <rguenther@suse.de>
7428         * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
7429         release SSA defs of pattern stmts.
7431 2014-02-17  Richard Biener  <rguenther@suse.de>
7433         * tree-inline.c (expand_call_inline): Release the virtual
7434         operand defined by the call we are about to inline.
7436 2014-02-17  Richard Biener  <rguenther@suse.de>
7438         * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
7440 2014-02-17  Kirill Yukhin  <kirill.yukhin@intel.com>
7441             Ilya Tocar  <ilya.tocar@intel.com>
7443         * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
7444         arguments order in builtin.
7445         (_mm512_permutexvar_epi64): Ditto.
7446         (_mm512_mask_permutexvar_epi64): Ditto
7447         (_mm512_maskz_permutexvar_epi32): Ditto
7448         (_mm512_permutexvar_epi32): Ditto
7449         (_mm512_mask_permutexvar_epi32): Ditto
7451 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7453         * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
7454         (p8_vmrgow): Likewise.
7456 2014-02-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7458         * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
7459         endian targets.
7461 2014-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
7463         PR target/60203
7464         * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
7465         (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
7466         into 64-bit and 32-bit moves.  On 64-bit moves, add support for
7467         using direct move instructions on ISA 2.07.  Also adjust
7468         instruction length for 64-bit.
7469         (mov<mode>_64bit, TFmode/TDmode): Likewise.
7470         (mov<mode>_32bit, TFmode/TDmode): Likewise.
7472 2014-02-15  Alan Modra  <amodra@gmail.com>
7474         PR target/58675
7475         PR target/57935
7476         * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
7477         find_replacement on parts of insn rtl that might be reloaded.
7479 2014-02-15  Richard Biener  <rguenther@suse.de>
7481         PR tree-optimization/60183
7482         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
7483         (tree_ssa_phiprop): Calculate and free post-dominators.
7485 2014-02-14  Jeff Law  <law@redhat.com>
7487         PR rtl-optimization/60131
7488         * ree.c (get_extended_src_reg): New function.
7489         (combine_reaching_defs): Use it rather than assuming location of REG.
7490         (find_and_remove_re): Verify first operand of extension is
7491         a REG before adding the insns to the copy list.
7493 2014-02-14  Roland McGrath  <mcgrathr@google.com>
7495         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
7496         * configure: Regenerated.
7497         * config.in: Regenerated.
7498         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
7499         instead of ASM_SHORT.
7501 2014-02-14  Vladimir Makarov  <vmakarov@redhat.com>
7502             Richard Earnshaw  <rearnsha@arm.com>
7504         PR rtl-optimization/59535
7505         * lra-constraints.c (process_alt_operands): Encourage alternative
7506         when unassigned pseudo class is superset of the alternative class.
7507         (inherit_reload_reg): Don't inherit when optimizing for code size.
7508         * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
7509         returning CORE_REGS for anything but Thumb1 and BASE_REGS for
7510         modes not less than 4 for Thumb1.
7512 2014-02-14  Kyle McMartin  <kyle@redhat.com>
7514         PR pch/60010
7515         * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
7517 2014-02-14  Richard Biener  <rguenther@suse.de>
7519         * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
7520         (get_frame_arg): Drop the assert with langhook types_compatible_p.
7521         Do not strip INDIRECT_REFs.
7523 2014-02-14  Richard Biener  <rguenther@suse.de>
7525         PR lto/60179
7526         * lto-streamer-out.c (DFS_write_tree_body): Do not follow
7527         DECL_FUNCTION_SPECIFIC_TARGET.
7528         (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
7529         * tree-streamer-out.c (pack_ts_target_option): Remove.
7530         (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
7531         (write_ts_function_decl_tree_pointers): Do not stream
7532         DECL_FUNCTION_SPECIFIC_TARGET.
7533         * tree-streamer-in.c (unpack_ts_target_option): Remove.
7534         (unpack_value_fields): Do not stream TS_TARGET_OPTION.
7535         (lto_input_ts_function_decl_tree_pointers): Do not stream
7536         DECL_FUNCTION_SPECIFIC_TARGET.
7538 2014-02-14  Jakub Jelinek  <jakub@redhat.com>
7540         * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
7541         (get_initial_def_for_induction, vectorizable_induction): Ignore
7542         debug stmts when looking for exit_phi.
7543         (vectorizable_live_operation): Fix up condition.
7545 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7547         * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
7548         nreverse() because it changes the content of original tree list.
7550 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7552         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
7553         * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
7555 2014-02-14  Chung-Ju Wu  <jasonwucj@gmail.com>
7557         * config/nds32/nds32.c (nds32_naked_function_p): Follow the
7558         GNU coding standards.
7560 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
7562         PR debug/60152
7563         * dwarf2out.c (gen_subprogram_die): Don't call
7564         add_calling_convention_attribute if subr_die is old_die.
7566 2014-02-13  Sharad Singhai  <singhai@google.com>
7568         * doc/optinfo.texi: Fix order of nodes.
7570 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
7572         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
7573         operands[2], not operands[3].
7575 2014-02-13  Richard Biener  <rguenther@suse.de>
7577         PR bootstrap/59878
7578         * doc/install.texi (ISL): Update recommended version to 0.12.2,
7579         mention the possibility of an in-tree build.
7580         (CLooG): Update recommended version to 0.18.1, mention the
7581         possibility of an in-tree build and clarify that the ISL
7582         bundled with CLooG does not work.
7584 2014-02-13  Jakub Jelinek  <jakub@redhat.com>
7586         PR target/43546
7587         * expr.c (compress_float_constant): If x is a hard register,
7588         extend into a pseudo and then move to x.
7590 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
7592         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
7593         caused by bad second argument to warning_at() with -mhotpatch and
7594         nested functions (e.g. with gfortran).
7596 2014-02-13  Richard Sandiford  <rdsandiford@googlemail.com>
7598         * opts.c (option_name): Remove "enabled by default" rider.
7600 2014-02-12  John David Anglin  <danglin@gcc.gnu.org>
7602         * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
7604 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
7605             Uros Bizjak  <ubizjak@gmail.com>
7607         PR target/60151
7608         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
7609         * configure: Regenerated.
7611 2014-02-12  Richard Biener  <rguenther@suse.de>
7613         * vec.c (vec_prefix::calculate_allocation): Move as
7614         inline variant to vec.h.
7615         (vec_prefix::calculate_allocation_1): New out-of-line version.
7616         * vec.h (vec_prefix::calculate_allocation_1): Declare.
7617         (vec_prefix::m_has_auto_buf): Rename to ...
7618         (vec_prefix::m_using_auto_storage): ... this.
7619         (vec_prefix::calculate_allocation): Inline the easy cases
7620         and dispatch to calculate_allocation_1 which doesn't need the
7621         prefix address.
7622         (va_heap::reserve): Use gcc_checking_assert.
7623         (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
7624         m_using_auto_storage.
7625         (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
7626         member and adjust.
7627         (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
7628         (vec<T, va_heap, vl_ptr>::release): Avoid casting.
7629         (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
7631 2014-02-12  Richard Biener  <rguenther@suse.de>
7633         * gcse.c (compute_transp): break from loop over canon_modify_mem_list
7634         when we found a dependence.
7636 2014-02-12  Thomas Schwinge  <thomas@codesourcery.com>
7638         * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
7639         common code...
7640         (maybe_fold_stmt): ... into this new function.
7641         * omp-low.c (lower_omp): Update comment.
7643         * omp-low.c (lower_omp_target): Add clobber for sizes array, after
7644         last use.
7646         * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
7647         dereference.
7649 2014-02-12  James Greenhalgh  <james.greenhalgh@arm.com>
7651         * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
7652         identifiers in comments.
7653         (cortexa53_extra_costs): Likewise.
7654         * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
7655         (cortexa7_extra_costs): Likewise.
7656         (cortexa12_extra_costs): Likewise.
7657         (cortexa15_extra_costs): Likewise.
7658         (v7m_extra_costs): Likewise.
7660 2014-02-12  Richard Biener  <rguenther@suse.de>
7662         PR middle-end/60092
7663         * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
7664         of posix_memalign being successful.
7665         (lower_stmt): Restrict lowering of posix_memalign to when
7666         -ftree-bit-ccp is enabled.
7668 2014-02-12  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
7670         * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
7671         arg_loc.
7672         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
7674 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
7676         PR rtl-optimization/60116
7677         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
7678         other_insn once the combination has been validated.
7680 2014-02-11  Jan Hubicka  <hubicka@ucw.cz>
7682         PR lto/59468
7683         * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
7684         and wrapper.
7685         * ipa-devirt.c: Include demangle.h
7686         (odr_violation_reported): New static variable.
7687         (add_type_duplicate): Update odr_violations.
7688         (maybe_record_node): Add completep parameter; update it.
7689         (record_target_from_binfo): Add COMPLETEP parameter;
7690         update it as needed.
7691         (possible_polymorphic_call_targets_1): Likewise.
7692         (struct polymorphic_call_target_d): Add nonconstruction_targets;
7693         rename FINAL to COMPLETE.
7694         (record_targets_from_bases): Sanity check we found the binfo;
7695         fix COMPLETEP updating.
7696         (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
7697         parameter, fix computing of COMPLETEP.
7698         (dump_possible_polymorphic_call_targets): Imrove readability of dump;
7699         at LTO time do demangling.
7700         (ipa_devirt): Use nonconstruction_targets; Improve dumps.
7701         * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
7702         parameter.
7703         (gimple_get_virt_method_for_binfo): Likewise.
7704         * gimple-fold.h (gimple_get_virt_method_for_binfo,
7705         gimple_get_virt_method_for_vtable): Update prototypes.
7707 2014-02-11  Vladimir Makarov  <vmakarov@redhat.com>
7709         PR target/49008
7710         * genautomata.c (add_presence_absence): Fix typo with
7711         {final_}presence_list.
7713 2014-02-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
7715         PR target/60137
7716         * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
7717         for VSX/Altivec vectors that land in GPR registers.
7719 2014-02-11  Richard Henderson  <rth@redhat.com>
7720             Jakub Jelinek  <jakub@redhat.com>
7722         PR debug/59776
7723         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
7724         around drhs if type conversion to lacc->type is not useless.
7726 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7728         * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
7729         tuning struct.
7730         (cortex-a57.cortex-a53): Likewise.
7731         * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
7733 2014-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7735         * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
7736         arm_restrict_it.
7738 2014-02-11  Renlin Li  <Renlin.Li@arm.com>
7740         * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
7741         add_options_for_arm_vfp3.
7743 2014-02-11  Jeff Law  <law@redhat.com>
7745         PR middle-end/54041
7746         * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
7747         object with an undesirable mode.
7749 2014-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7751         PR libgomp/60107
7752         * config/i386/sol2-9.h: New file.
7753         * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
7754         *-*-solaris2.9*): Use it.
7756 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7758         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
7759         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
7761 2014-02-10  Nagaraju Mekala  <nagaraju.mekala@xilinx.com>
7763         * config/microblaze/microblaze.c: Extend mcpu version format
7765 2014-02-10  David Holsgrove  <david.holsgrove@xilinx.com>
7767         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
7769 2014-02-10  Richard Henderson  <rth@redhat.com>
7771         PR target/59927
7772         * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
7773         * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
7774         ms-abi vs -mno-accumulate-outgoing-args.
7775         (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
7776         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
7777         respect to ms-abi.
7779 2014-02-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
7781         PR middle-end/60080
7782         * cfgexpand.c (expand_asm_operands): Attach source location to
7783         ASM_INPUT rtx objects.
7784         * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
7786 2014-02-10  Nick Clifton  <nickc@redhat.com>
7788         * config/mn10300/mn10300.c (popcount): New function.
7789         (mn10300_expand_prologue): Include saved registers in stack usage
7790         count.
7792 2014-02-10  Jeff Law  <law@redhat.com>
7794         PR middle-end/52306
7795         * reload1.c (emit_input_reload_insns): Do not create invalid RTL
7796         when changing the SET_DEST of a prior insn to avoid an input reload.
7798 2014-02-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
7800         * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
7801         big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
7802         -mcall-openbsd, or -mcall-linux.
7803         (CC1_ENDIAN_BIG_SPEC): Remove.
7804         (CC1_ENDIAN_LITTLE_SPEC): Remove.
7805         (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7806         (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
7807         (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
7808         and %cc1_endian_default.
7809         * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
7811 2014-02-10  Richard Biener  <rguenther@suse.de>
7813         PR tree-optimization/60115
7814         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
7815         MEM_REF handling.  Properly verify that the accesses are not
7816         out of the objects bound.
7818 2014-02-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7820         * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
7821         coretex to cortex.
7823 2014-02-10  Eric Botcazou  <ebotcazou@adacore.com>
7825         * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
7826         proper constants and fix formatting.
7827         (possible_polymorphic_call_targets): Fix formatting.
7829 2014-02-10  Kirill Yukhin  <kirill.yukhin@intel.com>
7830             Ilya Tocar  <ilya.tocar@intel.com>
7832         * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
7833         (_mm512_loadu_epi32): Renamed into...
7834         (_mm512_loadu_si512): This.
7835         (_mm512_storeu_epi32): Renamed into...
7836         (_mm512_storeu_si512): This.
7837         (_mm512_maskz_ceil_ps): Removed.
7838         (_mm512_maskz_ceil_pd): Ditto.
7839         (_mm512_maskz_floor_ps): Ditto.
7840         (_mm512_maskz_floor_pd): Ditto.
7841         (_mm512_floor_round_ps): Ditto.
7842         (_mm512_floor_round_pd): Ditto.
7843         (_mm512_ceil_round_ps): Ditto.
7844         (_mm512_ceil_round_pd): Ditto.
7845         (_mm512_mask_floor_round_ps): Ditto.
7846         (_mm512_mask_floor_round_pd): Ditto.
7847         (_mm512_mask_ceil_round_ps): Ditto.
7848         (_mm512_mask_ceil_round_pd): Ditto.
7849         (_mm512_maskz_floor_round_ps): Ditto.
7850         (_mm512_maskz_floor_round_pd): Ditto.
7851         (_mm512_maskz_ceil_round_ps): Ditto.
7852         (_mm512_maskz_ceil_round_pd): Ditto.
7853         (_mm512_expand_pd): Ditto.
7854         (_mm512_expand_ps): Ditto.
7855         * config/i386/i386.c (ix86_builtins): Remove
7856         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
7857         (bdesc_args): Ditto.
7858         * config/i386/predicates.md (const1256_operand): New.
7859         (const_1_to_2_operand): Ditto.
7860         * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
7861         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
7862         (*avx512pf_gatherpf<mode>sf): Ditto.
7863         (avx512pf_gatherpf<mode>df): Ditto.
7864         (*avx512pf_gatherpf<mode>df_mask): Ditto.
7865         (*avx512pf_gatherpf<mode>df): Ditto.
7866         (avx512pf_scatterpf<mode>sf): Ditto.
7867         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
7868         (*avx512pf_scatterpf<mode>sf): Ditto.
7869         (avx512pf_scatterpf<mode>df): Ditto.
7870         (*avx512pf_scatterpf<mode>df_mask): Ditto.
7871         (*avx512pf_scatterpf<mode>df): Ditto.
7872         (avx512f_expand<mode>): Removed.
7873         (<shift_insn><mode>3<mask_name>): Change predicate type.
7875 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7877         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
7878         not at the end of datarefs vector use ordered_remove to avoid
7879         reordering datarefs vector.
7881         PR c/59984
7882         * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
7883         mark local addressable non-static vars as GOVD_PRIVATE
7884         instead of GOVD_LOCAL.
7885         * omp-low.c (lower_omp_for): Move gimple_bind_vars
7886         and BLOCK_VARS of gimple_bind_block to new_stmt rather
7887         than copying them.
7889         PR middle-end/60092
7890         * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
7891         if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
7892         assume_aligned or alloc_align attributes.
7893         (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
7894         arguments.  Handle also assume_aligned and alloc_align attributes.
7895         (evaluate_stmt): Adjust bit_value_assume_aligned caller.  Handle
7896         calls to functions with assume_aligned or alloc_align attributes.
7897         * doc/extend.texi: Document assume_aligned and alloc_align attributes.
7899 2014-02-08  Terry Guo  <terry.guo@arm.com>
7901         * doc/invoke.texi: Document ARM -march=armv7e-m.
7903 2014-02-08  Jakub Jelinek  <jakub@redhat.com>
7905         * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
7906         flag on __cilkrts_rethrow builtin.
7908         PR ipa/60026
7909         * ipa-cp.c (determine_versionability): Fail at -O0
7910         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
7911         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
7913         Revert:
7914         2014-02-04  Jakub Jelinek  <jakub@redhat.com>
7916         PR ipa/60026
7917         * tree-inline.c (copy_forbidden): Fail for
7918         __attribute__((optimize (0))) functions.
7920 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7922         * varpool.c: Include pointer-set.h.
7923         (varpool_remove_unreferenced_decls): Variables in other partitions
7924         will not be output; be however careful to not lose information
7925         about partitioning.
7927 2014-02-07  Jan Hubicka  <hubicka@ucw.cz>
7929         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
7930         lookup in the vtable constructor.
7932 2014-02-07  Jeff Law  <law@redhat.com>
7934         PR target/40977
7935         * config/m68k/m68k.md (ashldi_extsi): Turn into a
7936         define_insn_and_split.
7938         * ipa-inline.c (inline_small_functions): Fix typos.
7940 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7942         * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
7943         (s390_can_use_return_insn): Declare.
7944         * config/s390/s390.h (EPILOGUE_USES): Define.
7945         * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
7946         instructions.
7947         (s390_chunkify_start): Handle return JUMP_LABELs.
7948         (s390_early_mach): Emit a main_pool instruction on the entry edge.
7949         (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
7950         (s390_can_use_return_insn): New functions.
7951         (s390_fix_long_loop_prediction): Handle conditional returns.
7952         (TARGET_SET_UP_BY_PROLOGUE): Define.
7953         * config/s390/s390.md (ANY_RETURN): New code iterator.
7954         (*creturn, *csimple_return, return, simple_return): New patterns.
7956 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7958         * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
7959         notes to each restore.  Also add REG_CFA_DEF_CFA when restoring %r15.
7960         (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P.  Update the
7961         REG_CFA_RESTORE list when deciding not to restore a register.
7963 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7965         * config/s390/s390.c: Include tree-pass.h and context.h.
7966         (s390_early_mach): New function, split out from...
7967         (s390_emit_prologue): ...here.
7968         (pass_data_s390_early_mach): New pass structure.
7969         (pass_s390_early_mach): New class.
7970         (s390_option_override): Create and register early_mach pass.
7971         Move to end of file.
7973 2014-02-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
7975         * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
7976         to match for the exit block.
7978 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7980         * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
7981         ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
7982         Reject misaligned operands.
7984 2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7986         * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
7988 2014-02-07  Richard Biener  <rguenther@suse.de>
7990         PR middle-end/60092
7991         * gimple-low.c (lower_builtin_posix_memalign): New function.
7992         (lower_stmt): Call it to lower posix_memalign in a way
7993         to make alignment info accessible.
7995 2014-02-07  Jakub Jelinek  <jakub@redhat.com>
7997         PR c++/60082
7998         * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
7999         __builtin_setjmp_receiver.
8001 2014-02-07  Richard Biener  <rguenther@suse.de>
8003         PR middle-end/60092
8004         * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
8005         * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
8006         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
8007         Handle BUILT_IN_POSIX_MEMALIGN.
8008         (find_func_clobbers): Likewise.
8009         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
8010         (call_may_clobber_ref_p_1): Likewise.
8012 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
8014         PR ipa/59918
8015         * ipa-devirt.c (record_target_from_binfo): Remove overactive
8016         sanity check.
8018 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
8020         PR ipa/59469
8021         * lto-cgraph.c (lto_output_node): Use
8022         symtab_get_symbol_partitioning_class.
8023         (lto_output_varpool_node): likewise.
8024         (symtab_get_symbol_partitioning_class): Move here from
8025         lto/lto-partition.c
8026         * cgraph.h (symbol_partitioning_class): Likewise.
8027         (symtab_get_symbol_partitioning_class): Declare.
8029 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
8031         * ggc.h (ggc_internal_cleared_alloc): New macro.
8032         * vec.h (vec_safe_copy): Handle memory stats.
8033         * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
8034         * target-globals.c (save_target_globals): Likewise.
8036 2014-02-06  Jan Hubicka  <hubicka@ucw.cz>
8038         PR target/60077
8039         * expr.c (emit_move_resolve_push): Export; be bit more selective
8040         on when to clear alias set.
8041         * expr.h (emit_move_resolve_push): Declare.
8042         * function.h (struct function): Add tail_call_marked.
8043         * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
8044         * config/i386/i386-protos.h (ix86_expand_push): Remove.
8045         * config/i386/i386.md (TImode move expander): De not call
8046         ix86_expand_push.
8047         (FP push expanders): Preserve memory attributes.
8048         * config/i386/sse.md (push<mode>1): Remove.
8049         * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
8050         (ix86_expand_push): Remove.
8051         * config/i386/mmx.md (push<mode>1): Remove.
8053 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
8055         PR rtl-optimization/60030
8056         * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
8057         lopart with paradoxical subreg before shifting it up by hprec.
8059 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8061         * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
8062         Remove extra newline at end of file.
8063         * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
8064         (arm_issue_rate): Handle cortexa57.
8065         * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
8066         (cortex-a57.cortex-a53): Likewise.
8068 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
8070         PR target/59575
8071         * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
8072         don't record in REG_FRAME_RELATED_EXPR registers not set in that
8073         bitmask.
8074         (arm_expand_prologue): Adjust all callers.
8075         (arm_unwind_emit_sequence): Allow saved, but not important for unwind
8076         info, registers also at the lowest numbered registers side.  Use
8077         gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
8078         XEXP.
8080         PR debug/59992
8081         * var-tracking.c (adjust_mems): Before adding a SET to
8082         amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
8084 2014-02-06  Alan Modra  <amodra@gmail.com>
8086         PR target/60032
8087         * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
8088         change SDmode to DDmode when lra_in_progress.
8090 2014-02-06  Jakub Jelinek  <jakub@redhat.com>
8092         PR middle-end/59150
8093         * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
8094         free_data_ref on the dr first, and before goto again also set dr
8095         to the next dr.  For simd_lane_access, free old datarefs[i] before
8096         overwriting it.  For get_vectype_for_scalar_type failure, don't
8097         free_data_ref if simd_lane_access.
8099         * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
8101         PR target/60062
8102         * tree.h (opts_for_fn): New inline function.
8103         (opt_for_fn): Define.
8104         * config/i386/i386.c (ix86_function_regparm): Use
8105         opt_for_fn (decl, optimize) instead of optimize.
8107 2014-02-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8109         * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
8110         for SYMBOL_REF in large memory model.
8112 2014-02-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8114         * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
8115         and crypto support.
8116         (cortex-a57): Likewise.
8117         (cortex-a57.cortex-a53): Likewise.
8119 2014-02-06  Yury Gribov  <y.gribov@samsung.com>
8120             Kugan Vivekanandarajah  <kuganv@linaro.org>
8122         * config/arm/arm.c (arm_vector_alignment_reachable): Check
8123         unaligned_access.
8124         * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
8126 2014-02-06  Richard Biener  <rguenther@suse.de>
8128         * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
8129         set_loop_copy and initialize_original_copy_tables.
8131 2014-02-06  Alex Velenko  <Alex.Velenko@arm.com>
8133         * config/aarch64/aarch64-simd.md
8134         (aarch64_ashr_simddi): Change QI to SI.
8136 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
8137             Jakub Jelinek  <jakub@redhat.com>
8139         PR middle-end/60013
8140         * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
8141         of the dataflow.
8143 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8145         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
8146         CODE_FOR_altivec_vpku[hw]um to
8147         CODE_FOR_altivec_vpku[hw]um_direct.
8148         * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
8149         UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
8150         (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
8151         UNSPEC_VUNPACK_LO_SIGN_DIRECT.
8153 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8155         * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
8156         generation for -maltivec=be.
8157         (altivec_vsumsws): Simplify redundant test.
8159 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8161         * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
8162         (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
8163         (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
8164         (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
8165         gen_altivec_vpkuwum.
8166         (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
8167         BYTES_BIG_ENDIAN.
8168         (altivec_vpks<VI_char>ss): Likewise.
8169         (altivec_vpks<VI_char>us): Likewise.
8170         (altivec_vpku<VI_char>us): Likewise.
8171         (altivec_vpku<VI_char>um): Likewise.
8172         (altivec_vpku<VI_char>um_direct): New (copy of
8173         altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
8174         internal use).
8175         (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
8176         target is little endian and -maltivec=be is not specified.
8177         (*altivec_vupkhs<VU_char>_direct): New (copy of
8178         altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
8179         (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
8180         target is little endian and -maltivec=be is not specified.
8181         (*altivec_vupkls<VU_char>_direct): New (copy of
8182         altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
8183         (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
8184         little endian and -maltivec=be is not specified.
8185         (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
8186         little endian and -maltivec=be is not specified.
8188 2014-02-05  Richard Henderson  <rth@redhat.com>
8190         PR debug/52727
8191         * combine-stack-adj.c: Revert r206943.
8192         * sched-int.h (struct deps_desc): Add last_args_size.
8193         * sched-deps.c (init_deps): Initialize it.
8194         (sched_analyze_insn): Add OUTPUT dependencies between insns that
8195         contain REG_ARGS_SIZE notes.
8197 2014-02-05  Jan Hubicka  <hubicka@ucw.cz>
8199         * lto-cgraph.c (asm_nodes_output): Make global.
8200         * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
8201         * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
8202         (driver_handle_option): Handle OPT_fwpa.
8204 2014-02-05  Jakub Jelinek  <jakub@redhat.com>
8206         PR ipa/59947
8207         * ipa-devirt.c (possible_polymorphic_call_targets): Fix
8208         a comment typo and formatting issue.  If odr_hash hasn't been
8209         created, return vNULL and set *completep to false.
8211         PR middle-end/57499
8212         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
8213         bb with no successors.
8215 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
8217         PR target/59718
8218         * doc/invoke.texi (-march): Clarify documentation for ARM.
8219         (-mtune): Likewise.
8220         (-mcpu): Likewise.
8222 2014-02-05  Richard Biener  <rguenther@suse.de>
8224         * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
8225         when not vectorizing because of too many alias checks.
8226         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
8227         Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
8229 2014-02-05  Nick Clifton  <nickc@redhat.com>
8231         * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
8232         accept extended registers in any mode when compiling for the MN10300.
8234 2014-02-05  Yury Gribov  <y.gribov@samsung.com>
8236         * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
8237         * ipa-inline.c (report_inline_failed_reason): Handle mismatched
8238         sanitization attributes.
8239         (can_inline_edge_p): Likewise.
8240         (sanitize_attrs_match_for_inline_p): New function.
8242 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
8244         * ipa-prop.c (detect_type_change): Shor circuit testing of
8245         type changes on THIS pointer.
8247 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
8249         PR target/59777
8250         * config/pa/pa.c (legitimize_tls_address): Return original address
8251         if not passed a SYMBOL_REF rtx.
8252         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
8253         addresses.
8254         (pa_emit_move_sequence): Simplify TLS source operands.
8255         (pa_legitimate_constant_p): Reject all TLS constants.
8256         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
8257         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
8259 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
8261         * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
8262         groups when we know they are controlled by LTO.
8263         * varasm.c (default_binds_local_p_1): If object is in other partition,
8264         it will be resolved locally.
8266 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8268         * config/host-linux.c (linux_gt_pch_use_address): Don't
8269         use SSIZE_MAX because it is not always defined.
8271 2014-02-04  Vladimir Makarov  <vmakarov@redhat.com>
8273         PR bootstrap/59913
8274         * lra-constraints.c (need_for_split_p): Use more 3 reloads as
8275         threshold for pseudo splitting.
8276         (update_ebb_live_info): Process call argument hard registers and
8277         hard registers from insn definition too.
8278         (max_small_class_regs_num): New constant.
8279         (inherit_in_ebb): Update live hard regs through EBBs.  Update
8280         reloads_num only for small register classes.  Don't split for
8281         outputs of jumps.
8283 2014-02-04  Markus Trippelsdorf  <markus@trippelsdorf.de>
8285         PR ipa/60058
8286         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
8287         is non-null.
8289 2014-02-04  Jan Hubicka  <hubicka@ucw.cz>
8291         * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
8292         visibility is safe.
8294 2014-02-04  Marek Polacek  <polacek@redhat.com>
8296         * gdbinit.in (pel): Define.
8298 2014-02-04  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8300         * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
8301         behavior.
8303 2014-02-04  Richard Biener  <rguenther@suse.de>
8305         PR lto/59723
8306         * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
8307         in function context local.
8308         (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
8309         * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
8310         similar to LTO_imported_decl_ref.
8312 2014-02-04  Jakub Jelinek  <jakub@redhat.com>
8314         PR tree-optimization/60002
8315         * cgraphclones.c (build_function_decl_skip_args): Clear
8316         DECL_LANG_SPECIFIC.
8318         PR tree-optimization/60023
8319         * tree-if-conv.c (predicate_mem_writes): Pass true instead of
8320         false to gsi_replace.
8321         * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
8322         has been in some EH region and vec_stmt could throw, add
8323         vec_stmt into the same EH region.
8324         * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
8325         has no lhs, ignore it.
8326         * internal-fn.c (expand_MASK_LOAD): Likewise.
8328         PR ipa/60026
8329         * tree-inline.c (copy_forbidden): Fail for
8330         __attribute__((optimize (0))) functions.
8332         PR other/58712
8333         * omp-low.c (simd_clone_struct_copy): If from->inbranch
8334         is set, copy one less argument.
8335         (expand_simd_clones): Don't subtract clone_info->inbranch
8336         from simd_clone_struct_alloc argument.
8338         PR rtl-optimization/57915
8339         * recog.c (simplify_while_replacing): If all unary/binary/relational
8340         operation arguments are constant, attempt to simplify those.
8342         PR middle-end/59261
8343         * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
8344         if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
8346 2014-02-04  Richard Biener  <rguenther@suse.de>
8348         PR tree-optimization/60012
8349         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
8350         TBAA disambiguation to all DDRs.
8352 2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8354         PR target/59788
8355         * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
8356         (LINK_SPEC): Use it for -shared, -shared-libgcc.
8358 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
8360         PR ipa/59882
8361         * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
8363 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
8365         * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
8366         * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
8368 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
8370         PR ipa/59831
8371         * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
8372         to figure out targets of polymorphic calls with known decl.
8373         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8374         * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
8375         * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
8376         (get_polymorphic_call_info): ... here.
8377         (get_polymorphic_call_info_from_invariant): New function.
8379 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
8381         * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
8382         lookup via vtable pointer; check for type consistency
8383         and turn inconsitent facts into UNREACHABLE.
8384         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8385         * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
8386         type inconsistent querries; return UNREACHABLE instead.
8388 2014-02-03  Richard Henderson  <rth@twiddle.net>
8390         PR tree-opt/59924
8391         * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
8392         already processed this node.
8393         (normalize_one_pred_1): Pass along mark_set.
8394         (normalize_one_pred): Create and destroy a pointer_set_t.
8395         (normalize_one_pred_chain): Likewise.
8397 2014-02-03  Laurent Aflonsi  <laurent.alfonsi@st.com>
8399         PR gcov-profile/58602
8400         * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
8402 2014-02-03  Jan Hubicka  <hubicka@ucw.cz>
8404         PR ipa/59831
8405         * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
8406         -fno-devirtualize; try to devirtualize by the knowledge of
8407         virtual table pointer given by aggregate propagation.
8408         * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
8409         (ipa_print_node_jump_functions): Dump also offset that
8410         is relevant for polymorphic calls.
8411         (determine_known_aggregate_parts): Add arg_type parameter; use it
8412         instead of determining the type from pointer type.
8413         (ipa_compute_jump_functions_for_edge): Update call of
8414         determine_known_aggregate_parts.
8415         * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
8416         (gimple_get_virt_method_for_binfo): ... here; simplify using
8417         vtable_pointer_value_to_vtable.
8418         * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
8419         * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
8420         to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
8421         (vtable_pointer_value_to_vtable): Break out from ...; handle also
8422         POINTER_PLUS_EXPR.
8423         (vtable_pointer_value_to_binfo): ... here.
8424         * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
8426 2014-02-03  Teresa Johnson  <tejohnson@google.com>
8428         * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
8429         redef of outer loop index variable.
8431 2014-02-03  Marc Glisse  <marc.glisse@inria.fr>
8433         PR c++/53017
8434         PR c++/59211
8435         * doc/extend.texi (Function Attributes): Typo.
8437 2014-02-03  Cong Hou  <congh@google.com>
8439         PR tree-optimization/60000
8440         * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
8441         if the vectorized statement is a store.  A store statement can only
8442         appear at the end of pattern statements.
8444 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
8446         * config/i386/i386.c (flag_opts): Add -mlong-double-128.
8447         (ix86_option_override_internal): Default long double to 64-bit for
8448         32-bit Bionic and to 128-bit for 64-bit Bionic.
8450         * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
8451         TARGET_LONG_DOUBLE_128 is true.
8452         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
8454         * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
8455         (mlong-double-64): Negate -mlong-double-128.
8456         (mlong-double-128): New option.
8458         * config/i386/i386-c.c (ix86_target_macros): Define
8459         __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
8461         * doc/invoke.texi: Document -mlong-double-128.
8463 2014-02-03  H.J. Lu  <hongjiu.lu@intel.com>
8465         PR rtl-optimization/60024
8466         * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
8468 2014-02-03  Markus Trippelsdorf  <markus@trippelsdorf.de>
8470         * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
8472 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
8474         PR rtl-optimization/57662
8475         * sel-sched.c (code_motion_path_driver): Do not mark already not
8476         existing blocks in the visiting bitmap.
8478 2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
8480         * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
8481         on the insn being emitted.
8483 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
8484             Will Deacon  <will.deacon@arm.com>
8486         * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
8488 2014-02-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8490         * config/arm/arm-tables.opt: Regenerate.
8492 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8494         * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
8495         for vector types other than V16QImode.
8496         * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
8497         define_expand, and call altivec_expand_vec_perm_le when producing
8498         code with little endian element order.
8499         (*altivec_vperm_<mode>_internal): New insn having previous
8500         behavior of altivec_vperm_<mode>.
8501         (altivec_vperm_<mode>_uns): Change to a define_expand, and call
8502         altivec_expand_vec_perm_le when producing code with little endian
8503         element order.
8504         (*altivec_vperm_<mode>_uns_internal): New insn having previous
8505         behavior of altivec_vperm_<mode>_uns.
8507 2014-02-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8509         * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
8510         (altivec_vsumsws): Add handling for -maltivec=be with a little
8511         endian target.
8512         (altivec_vsumsws_direct): New.
8513         (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
8514         gen_altivec_vsumsws.
8516 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
8518         * ipa-devirt.c (subbinfo_with_vtable_at_offset,
8519         vtable_pointer_value_to_binfo): New functions.
8520         * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
8521         * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
8523 2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>
8525         * config/nios2/nios2.md (load_got_register): Initialize GOT
8526         pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
8527         * config/nios2/nios2.c (nios2_function_profiler): Likewise.
8529 2014-02-02  Jan Hubicka  <hubicka@ucw.cz>
8531         * ipa-prop.c (update_jump_functions_after_inlining): When type is not
8532         preserverd by passthrough, do not propagate the type.
8534 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8536         * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
8537         (mips_atomic_assign_expand_fenv): New function.
8538         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
8540 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8542         * doc/extend.texi (__builtin_mips_get_fcsr): Document.
8543         (__builtin_mips_set_fcsr): Likewise.
8544         * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
8545         MIPS_USI_FTYPE_VOID.
8546         * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
8547         (mips16_expand_set_fcsr): Likewise.
8548         * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
8549         (mips16_set_fcsr_stub): Likewise.
8550         (mips16_get_fcsr_one_only_stub): New class.
8551         (mips16_set_fcsr_one_only_stub): Likewise.
8552         (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
8553         (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
8554         (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
8555         (hard_float): New availability predicate.
8556         (mips_builtins): Add get_fcsr and set_fcsr.
8557         (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
8558         * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
8559         (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
8560         (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
8561         (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
8562         patterns.
8564 2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
8566         * config/mips/mips.c (mips_one_only_stub): New class.
8567         (mips_need_mips16_rdhwr_p): Replace with...
8568         (mips16_rdhwr_stub): ...this new variable.
8569         (mips16_stub_call_address): New function.
8570         (mips16_rdhwr_one_only_stub): New class.
8571         (mips_expand_thread_pointer): Use mips16_stub_call_address.
8572         (mips_output_mips16_rdhwr): Delete.
8573         (mips_finish_stub): New function.
8574         (mips_code_end): Use it to handle rdhwr stubs.
8576 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
8578         PR target/60017
8579         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
8580         when calculating size of integer atomic types.
8582 2014-02-02  H.J. Lu  <hongjiu.lu@intel.com>
8584         * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
8586 2014-02-01  Jakub Jelinek  <jakub@redhat.com>
8588         PR tree-optimization/60003
8589         * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
8590         * profile.c (branch_prob): Use gimple_call_builtin_p
8591         to check for BUILT_IN_SETJMP_RECEIVER.
8592         * tree-inline.c (copy_bb): Call notice_special_calls.
8594 2014-01-31  Vladimir Makarov  <vmakarov@redhat.com>
8596         PR bootstrap/59985
8597         * lra-constraints.c (process_alt_operands): Update reload_sum only
8598         on the first pass.
8600 2014-01-31  Richard Henderson  <rth@redhat.com>
8602         PR middle-end/60004
8603         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
8604         until after else_eh is processed.
8606 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
8608         * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
8609         (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
8610         (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
8611         in smmintrin.h, remove them.
8612         (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
8613         * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
8614         * config/i386/i386.md (ROUND_SAE): Fix value.
8615         * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
8616         (const48_operand): New.
8617         * config/i386/subst.md (round), (round_expand): Use
8618         const_4_or_8_to_11_operand.
8619         (round_saeonly), (round_saeonly_expand): Use const48_operand.
8621 2014-01-31  Ilya Tocar  <ilya.tocar@intel.com>
8623         * config/i386/constraints.md (Yk): Swap meaning with k.
8624         * config/i386/i386.md (movhi_internal): Change Yk to k.
8625         (movqi_internal): Ditto.
8626         (*k<logic><mode>): Ditto.
8627         (*andhi_1): Ditto.
8628         (*andqi_1): Ditto.
8629         (kandn<mode>): Ditto.
8630         (*<code>hi_1): Ditto.
8631         (*<code>qi_1): Ditto.
8632         (kxnor<mode>): Ditto.
8633         (kortestzhi): Ditto.
8634         (kortestchi): Ditto.
8635         (kunpckhi): Ditto.
8636         (*one_cmplhi2_1): Ditto.
8637         (*one_cmplqi2_1): Ditto.
8638         * config/i386/sse.md (): Change k to Yk.
8639         (avx512f_load<mode>_mask): Ditto.
8640         (avx512f_blendm<mode>): Ditto.
8641         (avx512f_store<mode>_mask): Ditto.
8642         (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
8643         (avx512f_storedqu<mode>_mask): Ditto.
8644         (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
8645         Ditto.
8646         (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
8647         (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
8648         (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
8649         (avx512f_maskcmp<mode>3): Ditto.
8650         (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
8651         (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
8652         (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
8653         (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
8654         (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
8655         (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
8656         (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
8657         (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
8658         (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
8659         (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
8660         (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
8661         (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
8662         (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
8663         (vec_extract_lo_<mode>_maskm): Ditto.
8664         (vec_extract_hi_<mode>_maskm): Ditto.
8665         (avx512f_vternlog<mode>_mask): Ditto.
8666         (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
8667         (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
8668         (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
8669         (avx512f_<code>v8div16qi2_mask): Ditto.
8670         (avx512f_<code>v8div16qi2_mask_store): Ditto.
8671         (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
8672         (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
8673         (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
8674         (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
8675         (*avx512pf_gatherpf<mode>sf_mask): Ditto.
8676         (*avx512pf_gatherpf<mode>df_mask): Ditto.
8677         (*avx512pf_scatterpf<mode>sf_mask): Ditto.
8678         (*avx512pf_scatterpf<mode>df_mask): Ditto.
8679         (avx512cd_maskb_vec_dupv8di): Ditto.
8680         (avx512cd_maskw_vec_dupv16si): Ditto.
8681         (avx512f_vpermi2var<mode>3_maskz): Ditto.
8682         (avx512f_vpermi2var<mode>3_mask): Ditto.
8683         (avx512f_vpermi2var<mode>3_mask): Ditto.
8684         (avx512f_vpermt2var<mode>3_maskz): Ditto.
8685         (*avx512f_gathersi<mode>): Ditto.
8686         (*avx512f_gathersi<mode>_2): Ditto.
8687         (*avx512f_gatherdi<mode>): Ditto.
8688         (*avx512f_gatherdi<mode>_2): Ditto.
8689         (*avx512f_scattersi<mode>): Ditto.
8690         (*avx512f_scatterdi<mode>): Ditto.
8691         (avx512f_compress<mode>_mask): Ditto.
8692         (avx512f_compressstore<mode>_mask): Ditto.
8693         (avx512f_expand<mode>_mask): Ditto.
8694         * config/i386/subst.md (mask): Change k to Yk.
8695         (mask_scalar_merge): Ditto.
8696         (sd): Ditto.
8698 2014-01-31  Marc Glisse  <marc.glisse@inria.fr>
8700         * doc/extend.texi (Vector Extensions): Document ?: in C++.
8702 2014-01-31  Richard Biener  <rguenther@suse.de>
8704         PR middle-end/59990
8705         * builtins.c (fold_builtin_memory_op): Make sure to not
8706         use a floating-point mode or a boolean or enumeral type for
8707         the copy operation.
8709 2014-01-30  DJ Delorie  <dj@redhat.com>
8711         * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
8712         * config/msp430/msp430.md (msp430_refsym_need_exit): New.
8713         * config/msp430/msp430.c (msp430_expand_epilogue): Call it
8714         whenever main() has an epilogue.
8716 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8718         * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
8719         unused variable "field".
8720         * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
8721         (vsx_mergeh_<mode>): Likewise.
8722         * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
8723         (altivec_vmrghh): Likewise.
8724         (altivec_vmrghw): Likewise.
8725         (altivec_vmrglb): Likewise.
8726         (altivec_vmrglh): Likewise.
8727         (altivec_vmrglw): Likewise.
8728         (altivec_vspltb): Add missing uses.
8729         (altivec_vsplth): Likewise.
8730         (altivec_vspltw): Likewise.
8731         (altivec_vspltsf): Likewise.
8733 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8735         PR target/59923
8736         * ifcvt.c (cond_exec_process_insns): Don't conditionalize
8737         frame related instructions.
8739 2014-01-30  Vladimir Makarov  <vmakarov@redhat.com>
8741         PR rtl-optimization/59959
8742         * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
8743         any reload of register whose subreg is invalid.
8745 2014-01-30  Jakub Jelinek  <jakub@redhat.com>
8747         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
8748         * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
8749         Add missing return type - void.
8751 2014-01-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8753         * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
8754         gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
8755         remove element index adjustment for endian (now handled in vsx.md
8756         and altivec.md).
8757         (altivec_expand_vec_perm_const): Use
8758         gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
8759         * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
8760         (vsx_xxspltw_<mode>): Adjust element index for little endian.
8761         * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
8762         define_expand and a new define_insn *altivec_vspltb_internal;
8763         adjust for -maltivec=be on a little endian target.
8764         (altivec_vspltb_direct): New.
8765         (altivec_vsplth): Divide into a define_expand and a new
8766         define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
8767         little endian target.
8768         (altivec_vsplth_direct): New.
8769         (altivec_vspltw): Divide into a define_expand and a new
8770         define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
8771         little endian target.
8772         (altivec_vspltw_direct): New.
8773         (altivec_vspltsf): Divide into a define_expand and a new
8774         define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
8775         a little endian target.
8777 2014-01-30  Richard Biener  <rguenther@suse.de>
8779         PR tree-optimization/59993
8780         * tree-ssa-forwprop.c (associate_pointerplus): Check we
8781         can propagate form the earlier stmt and avoid the transform
8782         when the intermediate result is needed.
8784 2014-01-30  Alangi Derick  <alangiderick@gmail.com>
8786         * README.Portability: Fix typo.
8788 2014-01-30  David Holsgrove  <david.holsgrove@xilinx.com>
8790         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
8791         comparison_operator with ordered_comparison_operator.
8793 2014-01-30  Nick Clifton  <nickc@redhat.com>
8795         * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
8796         Rename to mn10300_store_multiple_regs.
8797         * config/mn10300/mn10300.c: Likewise.
8798         * config/mn10300/mn10300.md (store_movm): Fix typo: call
8799         store_multiple_regs.
8800         * config/mn10300/predicates.md (mn10300_store_multiple_operation):
8801         Call mn10300_store_multiple_regs.
8803 2014-01-30  Nick Clifton  <nickc@redhat.com>
8804             DJ Delorie  <dj@redhat.com>
8806         * config/rl78/rl78.c (register_sizes): Make the "upper half" of
8807         %fp 2 to keep registers after it properly word-aligned.
8808         (rl78_alloc_physical_registers_umul): Handle the case where both
8809         input operands are the same.
8811 2014-01-30  Richard Biener  <rguenther@suse.de>
8813         PR tree-optimization/59903
8814         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
8815         check properly.
8817 2014-01-30  Jason Merrill  <jason@redhat.com>
8819         PR c++/59633
8820         * tree.c (walk_type_fields): Handle VECTOR_TYPE.
8822         PR c++/59645
8823         * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
8825 2014-01-30  Richard Biener  <rguenther@suse.de>
8827         PR tree-optimization/59951
8828         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
8830 2014-01-30  Savin Zlobec  <savin.zlobec@gmail.com>
8832         PR target/59784
8833         * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
8834         SFmode to DFmode case.
8836 2014-01-29  DJ Delorie  <dj@redhat.com>
8838         * config/msp430/msp430.opt (-minrt): New.
8839         * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
8840         if -minrt given.
8841         (ENDFILE_SPEC): Likewise.
8843 2014-01-29  Jan Hubicka  <hubicka@ucw.cz>
8845         * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
8846         (estimate_function_body_sizes): Use it.
8848 2014-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
8850         PR c++/58561
8851         * dwarf2out.c (is_cxx_auto): New.
8852         (is_base_type): Use it.
8853         (gen_type_die_with_usage): Likewise.
8855 2014-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8857         * config/rs6000/rs6000.c (altivec_expand_vec_perm_const):  Use
8858         CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
8859         * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
8860         -maltivec=be with LE targets.
8861         (vsx_mergeh_<mode>): Likewise.
8862         * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
8863         (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
8864         (altivec_vmrghb): Replace with define_expand and new
8865         *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
8866         (altivec_vmrghb_direct): New define_insn.
8867         (altivec_vmrghh): Replace with define_expand and new
8868         *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
8869         (altivec_vmrghh_direct): New define_insn.
8870         (altivec_vmrghw): Replace with define_expand and new
8871         *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
8872         (altivec_vmrghw_direct): New define_insn.
8873         (*altivec_vmrghsf): Adjust for endianness.
8874         (altivec_vmrglb): Replace with define_expand and new
8875         *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
8876         (altivec_vmrglb_direct): New define_insn.
8877         (altivec_vmrglh): Replace with define_expand and new
8878         *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
8879         (altivec_vmrglh_direct): New define_insn.
8880         (altivec_vmrglw): Replace with define_expand and new
8881         *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
8882         (altivec_vmrglw_direct): New define_insn.
8883         (*altivec_vmrglsf): Adjust for endianness.
8884         (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8885         (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8886         (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
8887         (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
8888         (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8889         (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8890         (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
8891         (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
8893 2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>
8895         * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
8896         (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
8897         whitespace.
8899 2014-01-29  Richard Biener  <rguenther@suse.de>
8901         PR tree-optimization/58742
8902         * tree-ssa-forwprop.c (associate_pointerplus): Rename to
8903         associate_pointerplus_align.
8904         (associate_pointerplus_diff): New function.
8905         (associate_pointerplus): Likewise.  Call associate_pointerplus_align
8906         and associate_pointerplus_diff.
8908 2014-01-29  Richard Biener  <rguenther@suse.de>
8910         * lto-streamer.h (LTO_major_version): Bump to 3.
8911         (LTO_minor_version): Reset to 0.
8913 2014-01-29  Renlin Li  <Renlin.Li@arm.com>
8915         * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
8916         * config/arm/arm.c (FL_FOR_ARCH7VE): New.
8917         (arm_file_start): Generate correct asm header for armv7ve.
8918         * config/arm/bpabi.h: Add multilib support for armv7ve.
8919         * config/arm/driver-arm.c: Change the architectures of cortex-a7
8920         and cortex-a15 to armv7ve.
8921         * config/arm/t-aprofile: Add multilib support for armv7ve.
8922         * doc/invoke.texi: Document -march=armv7ve.
8924 2014-01-29  Richard Biener  <rguenther@suse.de>
8926         PR tree-optimization/58742
8927         * tree-ssa-forwprop.c (associate_plusminus): Return true
8928         if we changed sth, defer EH cleanup to ...
8929         (ssa_forward_propagate_and_combine): ... here.  Call simplify_mult.
8930         (simplify_mult): New function.
8932 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8934         PR middle-end/59917
8935         PR tree-optimization/59920
8936         * tree.c (build_common_builtin_nodes): Remove
8937         __builtin_setjmp_dispatcher initialization.
8938         * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
8939         * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
8940         instead of gsi_after_labels + manually skipping debug stmts.
8941         Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
8942         ignore bbs with IFN_ABNORMAL_DISPATCHER.
8943         * tree-inline.c (copy_edges_for_bb): Remove
8944         can_make_abnormal_goto argument, instead add abnormal_goto_dest
8945         argument.  Ignore computed_goto_p stmts.  Don't call
8946         make_abnormal_goto_edges.  If a call might need abnormal edges
8947         for non-local gotos, see if it already has an edge to
8948         IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
8949         with true argument, don't do anything then, otherwise add
8950         EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
8951         (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
8952         caller.
8953         * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
8954         (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
8955         (lower_stmt): Don't set data->calls_builtin_setjmp.
8956         (lower_builtin_setjmp): Adjust comment.
8957         * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
8958         * tree-cfg.c (found_computed_goto): Remove.
8959         (factor_computed_gotos): Remove.
8960         (make_goto_expr_edges): Return bool, true for computed gotos.
8961         Don't call make_abnormal_goto_edges.
8962         (build_gimple_cfg): Don't set found_computed_goto, don't call
8963         factor_computed_gotos.
8964         (computed_goto_p): No longer static.
8965         (make_blocks): Don't set found_computed_goto.
8966         (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
8967         (make_edges): If make_goto_expr_edges returns true, push bb
8968         into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
8969         instead of calling make_abnormal_goto_edges push bb into ab_edge_call
8970         vector.  Record mapping between bbs and OpenMP regions if there
8971         are any, adjust make_gimple_omp_edges caller.  Call
8972         handle_abnormal_edges.
8973         (make_abnormal_goto_edges): Remove.
8974         * tree-cfg.h (make_abnormal_goto_edges): Remove.
8975         (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
8976         * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
8977         * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
8978         * internal-fn.def (ABNORMAL_DISPATCHER): New.
8979         * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
8980         filling *region also set *region_idx to (*region)->entry->index.
8982         PR other/58712
8983         * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
8984         For REGs set ORIGINAL_REGNO.
8986 2014-01-29  Bingfeng Mei  <bmei@broadcom.com>
8988         * doc/md.texi: Mention that a target shouldn't implement
8989         vec_widen_(s|u)mul_even/odd pair if it is less efficient
8990         than hi/lo pair.
8992 2014-01-29  Jakub Jelinek  <jakub@redhat.com>
8994         PR tree-optimization/59594
8995         * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
8996         a copy of the datarefs vector rather than the vector itself.
8998 2014-01-28  Jason Merrill  <jason@redhat.com>
9000         PR c++/53756
9001         * dwarf2out.c (auto_die): New static.
9002         (gen_type_die_with_usage): Handle C++1y 'auto'.
9003         (gen_subprogram_die): If in-class DIE had 'auto', emit type again
9004         on definition.
9006 2014-01-28  H.J. Lu  <hongjiu.lu@intel.com>
9008         PR target/59672
9009         * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
9010         (SPEC_X32): Likewise.
9011         (SPEC_64): Likewise.
9012         * config/i386/i386.c (ix86_option_override_internal): Turn off
9013         OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
9014         for TARGET_16BIT.
9015         (x86_file_start): Output .code16gcc for TARGET_16BIT.
9016         * config/i386/i386.h (TARGET_16BIT): New macro.
9017         (TARGET_16BIT_P): Likewise.
9018         * config/i386/i386.opt: Add m16.
9019         * doc/invoke.texi: Document -m16.
9021 2014-01-28  Jakub Jelinek  <jakub@redhat.com>
9023         PR preprocessor/59935
9024         * input.c (location_get_source_line): Bail out on when line number
9025         is zero, and test the return value of lookup_or_add_file_to_cache_tab.
9027 2014-01-28  Richard Biener  <rguenther@suse.de>
9029         PR tree-optimization/58742
9030         * tree-ssa-forwprop.c (associate_plusminus): Handle
9031         pointer subtraction of the form (T)(P + A) - (T)P.
9033 2014-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9035         * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
9036         at const_int_cost.
9038 2014-01-28  Richard Biener  <rguenther@suse.de>
9040         Revert
9041         2014-01-28  Richard Biener  <rguenther@suse.de>
9043         PR rtl-optimization/45364
9044         PR rtl-optimization/59890
9045         * var-tracking.c (local_get_addr_clear_given_value): Handle
9046         already cleared slot.
9047         (val_reset): Handle not allocated local_get_addr_cache.
9048         (vt_find_locations): Use post-order on the inverted CFG.
9050 2014-01-28  Richard Biener  <rguenther@suse.de>
9052         * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
9054 2014-01-28  Richard Biener  <rguenther@suse.de>
9056         PR rtl-optimization/45364
9057         PR rtl-optimization/59890
9058         * var-tracking.c (local_get_addr_clear_given_value): Handle
9059         already cleared slot.
9060         (val_reset): Handle not allocated local_get_addr_cache.
9061         (vt_find_locations): Use post-order on the inverted CFG.
9063 2014-01-28  Alan Modra  <amodra@gmail.com>
9065         * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
9066         * configure.ac <recursive call for build != host>: Define
9067         GENERATOR_FILE.  Comment.  Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
9068         and LD_FOR_BUILD too.
9069         * configure: Regenerate.
9071 2014-01-27  Allan Sandfeld Jensen  <sandfeld@kde.org>
9073         * config/i386/i386.c (get_builtin_code_for_version): Separate
9074         Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
9075         Broadwell from Haswell.
9077 2014-01-27  Steve Ellcey  <sellcey@mips.com>
9079         * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
9080         Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
9081         * config/mips/mips.c (mips_option_override): Change setting
9082         of TARGET_DSP.
9083         * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
9084         * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
9085         Change from Mask to Var.
9087 2014-01-27  Jeff Law  <law@redhat.com>
9089         * ipa-inline.c (inline_small_functions): Fix typo.
9091 2014-01-27  Ilya Tocar  <ilya.tocar@intel.com>
9093         * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
9094         (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
9095         (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
9096         (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
9097         (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
9098         (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
9099         (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
9100         (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
9101         (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
9102         (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
9103         (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
9104         (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
9105         (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
9106         (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
9107         (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
9108         (_mm512_storeu_epi64): Ditto.
9109         (_mm512_cmpge_epi32_mask): Ditto.
9110         (_mm512_cmpge_epu32_mask): Ditto.
9111         (_mm512_cmpge_epi64_mask): Ditto.
9112         (_mm512_cmpge_epu64_mask): Ditto.
9113         (_mm512_cmple_epi32_mask): Ditto.
9114         (_mm512_cmple_epu32_mask): Ditto.
9115         (_mm512_cmple_epi64_mask): Ditto.
9116         (_mm512_cmple_epu64_mask): Ditto.
9117         (_mm512_cmplt_epi32_mask): Ditto.
9118         (_mm512_cmplt_epu32_mask): Ditto.
9119         (_mm512_cmplt_epi64_mask): Ditto.
9120         (_mm512_cmplt_epu64_mask): Ditto.
9121         (_mm512_cmpneq_epi32_mask): Ditto.
9122         (_mm512_cmpneq_epu32_mask): Ditto.
9123         (_mm512_cmpneq_epi64_mask): Ditto.
9124         (_mm512_cmpneq_epu64_mask): Ditto.
9125         (_mm512_expand_pd): Ditto.
9126         (_mm512_expand_ps): Ditto.
9127         * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
9128         VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
9129         VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
9130         * config/i386/i386.c (ix86_builtins): Add
9131         IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
9132         IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
9133         IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
9134         IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
9135         IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
9136         IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
9137         IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
9138         IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
9139         IX86_BUILTIN_PMOVUSQW512_MEM.
9140         (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
9141         __builtin_ia32_pmovsqd512mem_mask,
9142         __builtin_ia32_pmovqd512mem_mask,
9143         __builtin_ia32_pmovusqw512mem_mask,
9144         __builtin_ia32_pmovsqw512mem_mask,
9145         __builtin_ia32_pmovqw512mem_mask,
9146         __builtin_ia32_pmovusdw512mem_mask,
9147         __builtin_ia32_pmovsdw512mem_mask,
9148         __builtin_ia32_pmovdw512mem_mask,
9149         __builtin_ia32_pmovqb512mem_mask,
9150         __builtin_ia32_pmovusqb512mem_mask,
9151         __builtin_ia32_pmovsqb512mem_mask,
9152         __builtin_ia32_pmovusdb512mem_mask,
9153         __builtin_ia32_pmovsdb512mem_mask,
9154         __builtin_ia32_pmovdb512mem_mask.
9155         (bdesc_args): Add __builtin_ia32_expanddf512,
9156         __builtin_ia32_expandsf512.
9157         (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
9158         VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
9159         VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
9160         * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
9161         (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
9162         (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
9163         (avx512f_<code>v8div16qi2_mask_store): This.
9164         (avx512f_expand<mode>): New.
9166 2014-01-27  Kirill Yukhin  <kirill.yukhin@intel.com>
9168         * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
9169         New.
9170         (_mm512_mask_prefetch_i64gather_pd): Ditto.
9171         (_mm512_prefetch_i32scatter_pd): Ditto.
9172         (_mm512_mask_prefetch_i32scatter_pd): Ditto.
9173         (_mm512_prefetch_i64scatter_pd): Ditto.
9174         (_mm512_mask_prefetch_i64scatter_pd): Ditto.
9175         (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
9176         (_mm512_mask_prefetch_i64gather_ps): Ditto.
9177         (_mm512_prefetch_i32scatter_ps): Ditto.
9178         (_mm512_mask_prefetch_i32scatter_ps): Ditto.
9179         (_mm512_prefetch_i64scatter_ps): Ditto.
9180         (_mm512_mask_prefetch_i64scatter_ps): Ditto.
9181         * config/i386/i386-builtin-types.def: Define
9182         VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
9183         and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
9184         * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
9185         IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
9186         IX86_BUILTIN_SCATTERPFQPD.
9187         (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
9188         __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
9189         __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
9190         __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
9191         __builtin_ia32_scatterpfqps.
9192         (ix86_expand_builtin): Expand new built-ins.
9193         * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
9194         fix memory access data type.
9195         (*avx512pf_gatherpf<mode>_mask): Ditto.
9196         (*avx512pf_gatherpf<mode>): Ditto.
9197         (avx512pf_scatterpf<mode>): Ditto.
9198         (*avx512pf_scatterpf<mode>_mask): Ditto.
9199         (*avx512pf_scatterpf<mode>): Ditto.
9200         (GATHER_SCATTER_SF_MEM_MODE): New.
9201         (avx512pf_gatherpf<mode>df): Ditto.
9202         (*avx512pf_gatherpf<mode>df_mask): Ditto.
9203         (*avx512pf_scatterpf<mode>df): Ditto.
9205 2014-01-27  Jakub Jelinek  <jakub@redhat.com>
9207         PR bootstrap/59934
9208         * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
9209         know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
9210         reached.
9212 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
9214         * common/config/arm/arm-common.c
9215         (arm_rewrite_mcpu): Handle multiple names.
9216         * config/arm/arm.h
9217         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9219 2014-01-27  James Greenhalgh  <james.greenhalgh@arm.com>
9221         * gimple-builder.h (create_gimple_tmp): Delete.
9223 2014-01-27  Christian Bruel  <christian.bruel@st.com>
9225         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
9226         words comparisons.
9228 2014-01-26  John David Anglin  <danglin@gcc.gnu.org>
9230         * config/pa/pa.md (call): Generate indirect long calls to non-local
9231         functions when outputing 32-bit code.
9232         (call_value): Likewise except for special call to buggy powf function.
9234         * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
9235         portable runtime and PIC indirect calls.
9236         (pa_output_indirect_call): Remove unnecessary nop from portable runtime
9237         and PIC call sequences.  Use ldo instead of blr to set return register
9238         in PIC call sequence.
9240 2014-01-25  Walter Lee  <walt@tilera.com>
9242         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
9243         avoid clobbering a live register.
9245 2014-01-25  Walter Lee  <walt@tilera.com>
9247         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
9248         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
9249         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
9250         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
9252 2014-01-25  Walter Lee  <walt@tilera.com>
9254         * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
9255         arguments on even registers.
9256         (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
9257         STACK_BOUNDARY.
9258         * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
9259         (BIGGEST_ALIGNMENT): Ditto.
9260         (BIGGEST_FIELD_ALIGNMENT): Ditto.
9262 2014-01-25  Walter Lee  <walt@tilera.com>
9264         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
9265         insns before bundling.
9266         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
9268 2014-01-25  Walter Lee  <walt@tilera.com>
9270         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
9271         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
9272         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
9274 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
9276         * config/mips/constraints.md (kl): Delete.
9277         * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
9278         define expands, using...
9279         (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
9280         instructions for MIPS16.
9281         (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
9282         non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
9284 2014-01-25  Walter Lee  <walt@tilera.com>
9286         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
9287         (clzdi2): Ditto.
9288         (ffsdi2): Ditto.
9290 2014-01-25  Walter Lee  <walt@tilera.com>
9292         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
9293         (TARGET_EXPAND_TO_RTL_HOOK): Define.
9295 2014-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
9297         * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
9298         Handle XOR.
9300 2014-01-25  Jakub Jelinek  <jakub@redhat.com>
9302         * print-rtl.c (in_call_function_usage): New var.
9303         (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
9304         EXPR_LIST mode as mode and not as reg note name.
9306         PR middle-end/59561
9307         * cfgloopmanip.c (copy_loop_info): If
9308         loop->warned_aggressive_loop_optimizations, make sure
9309         the flag is set in target loop too.
9311 2014-01-24  Balaji V. Iyer  <balaji.v.iyer@intel.com>
9313         * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
9314         flag_cilkplus.
9315         * builtins.def: Likewise.
9316         * cilk.h (fn_contains_cilk_spawn_p): Likewise.
9317         * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
9318         * ira.c (ira_setup_eliminable_regset): Likewise.
9319         * omp-low.c (gate_expand_omp): Likewise.
9320         (execute_lower_omp): Likewise.
9321         (diagnose_sb_0): Likewise.
9322         (gate_diagnose_omp_blocks): Likewise.
9323         (simd_clone_clauses_extract): Likewise.
9324         (gate): Likewise.
9326 2014-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
9328         * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
9329         correction for little endian...
9330         * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
9331         here.
9333 2014-01-24  Jeff Law  <law@redhat.com>
9335         PR tree-optimization/59919
9336         * tree-vrp.c (find_assert_locations_1): Do not register asserts
9337         for non-returning calls.
9339 2014-01-24  James Greenhalgh  <james.greenhalgh@arm.com>
9341         * common/config/aarch64/aarch64-common.c
9342         (aarch64_rewrite_mcpu): Handle multiple names.
9343         * config/aarch64/aarch64.h
9344         (BIG_LITTLE_SPEC): Do not discard mcpu switches.
9346 2014-01-24  Dodji Seketeli  <dodji@redhat.com>
9348         * input.c (add_file_to_cache_tab): Handle the case where fopen
9349         returns NULL.
9351 2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
9353         PR target/59929
9354         * config/i386/i386.md (pushsf splitter): Get stack adjustment
9355         from push operand if code of push isn't PRE_DEC.
9357 2014-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
9359         PR target/59909
9360         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
9361         -mquad-memory-atomic.  Update -mquad-memory documentation to say
9362         it is only used for non-atomic loads/stores.
9364         * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
9365         -mquad-memory or -mquad-memory-atomic switches.
9367         * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
9368         -mquad-memory-atomic to ISA 2.07 support.
9370         * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
9371         to separate support of normal quad word memory operations (ldq, stq)
9372         from the atomic quad word memory operations.
9374         * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
9375         support to separate non-atomic quad word operations from atomic
9376         quad word operations.  Disable non-atomic quad word operations in
9377         little endian mode so that we don't have to swap words after the
9378         load and before the store.
9379         (quad_load_store_p): Add comment about atomic quad word support.
9380         (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
9381         options printed with -mdebug=reg.
9383         * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
9384         -mquad-memory-atomic as the test for whether we have quad word
9385         atomic instructions.
9386         (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
9387         or -mp8-vector are used, allow byte/half-word atomic operations.
9389         * config/rs6000/sync.md (load_lockedti): Insure that the address
9390         is a proper indexed or indirect address for the lqarx instruction.
9391         On little endian systems, swap the hi/lo registers after the lqarx
9392         instruction.
9393         (load_lockedpti): Use indexed_or_indirect_operand predicate to
9394         insure the address is valid for the lqarx instruction.
9395         (store_conditionalti): Insure that the address is a proper indexed
9396         or indirect address for the stqcrx. instruction.  On little endian
9397         systems, swap the hi/lo registers before doing the stqcrx.
9398         instruction.
9399         (store_conditionalpti): Use indexed_or_indirect_operand predicate to
9400         insure the address is valid for the stqcrx. instruction.
9402         * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
9403         Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
9404         type of quad memory support is available.
9406 2014-01-23  Vladimir Makarov  <vmakarov@redhat.com>
9408         PR regression/59915
9409         * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
9410         there is a danger of looping.
9412 2014-01-23  Pat Haugen  <pthaugen@us.ibm.com>
9414         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
9415         force flag_ira_loop_pressure if set via command line.
9417 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
9419         * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
9420         (ashr_simd): New builtin handling DI mode.
9421         * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
9422         (aarch64_sshr_simddi): New match pattern.
9423         * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
9424         (vshrd_n_s64): Likewise.
9425         * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
9427 2014-01-23  Nick Clifton  <nickc@redhat.com>
9429         * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
9430         (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
9431         favour of mcu specific scripts.
9432         * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
9433         430x multilibs.
9435 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
9436             Alex Velenko  <Alex.Velenko@arm.com>
9438         * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
9439         (vaddv_s16): Likewise.
9440         (vaddv_s32): Likewise.
9441         (vaddv_u8): Likewise.
9442         (vaddv_u16): Likewise.
9443         (vaddv_u32): Likewise.
9444         (vaddvq_s8): Likewise.
9445         (vaddvq_s16): Likewise.
9446         (vaddvq_s32): Likewise.
9447         (vaddvq_s64): Likewise.
9448         (vaddvq_u8): Likewise.
9449         (vaddvq_u16): Likewise.
9450         (vaddvq_u32): Likewise.
9451         (vaddvq_u64): Likewise.
9452         (vaddv_f32): Likewise.
9453         (vaddvq_f32): Likewise.
9454         (vaddvq_f64): Likewise.
9455         (vmaxv_f32): Likewise.
9456         (vmaxv_s8): Likewise.
9457         (vmaxv_s16): Likewise.
9458         (vmaxv_s32): Likewise.
9459         (vmaxv_u8): Likewise.
9460         (vmaxv_u16): Likewise.
9461         (vmaxv_u32): Likewise.
9462         (vmaxvq_f32): Likewise.
9463         (vmaxvq_f64): Likewise.
9464         (vmaxvq_s8): Likewise.
9465         (vmaxvq_s16): Likewise.
9466         (vmaxvq_s32): Likewise.
9467         (vmaxvq_u8): Likewise.
9468         (vmaxvq_u16): Likewise.
9469         (vmaxvq_u32): Likewise.
9470         (vmaxnmv_f32): Likewise.
9471         (vmaxnmvq_f32): Likewise.
9472         (vmaxnmvq_f64): Likewise.
9473         (vminv_f32): Likewise.
9474         (vminv_s8): Likewise.
9475         (vminv_s16): Likewise.
9476         (vminv_s32): Likewise.
9477         (vminv_u8): Likewise.
9478         (vminv_u16): Likewise.
9479         (vminv_u32): Likewise.
9480         (vminvq_f32): Likewise.
9481         (vminvq_f64): Likewise.
9482         (vminvq_s8): Likewise.
9483         (vminvq_s16): Likewise.
9484         (vminvq_s32): Likewise.
9485         (vminvq_u8): Likewise.
9486         (vminvq_u16): Likewise.
9487         (vminvq_u32): Likewise.
9488         (vminnmv_f32): Likewise.
9489         (vminnmvq_f32): Likewise.
9490         (vminnmvq_f64): Likewise.
9492 2014-01-23  James Greenhalgh  <james.greenhalgh@arm.com>
9494         * config/aarch64/aarch64-simd.md
9495         (aarch64_dup_lane<mode>): Correct lane number on big-endian.
9496         (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
9497         (*aarch64_mul3_elt<mode>): Likewise.
9498         (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
9499         (*aarch64_mul3_elt_to_64v2df): Likewise.
9500         (*aarch64_mla_elt<mode>): Likewise.
9501         (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
9502         (*aarch64_mls_elt<mode>): Likewise.
9503         (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
9504         (*aarch64_fma4_elt<mode>): Likewise.
9505         (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
9506         (*aarch64_fma4_elt_to_64v2df): Likewise.
9507         (*aarch64_fnma4_elt<mode>): Likewise.
9508         (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
9509         (*aarch64_fnma4_elt_to_64v2df): Likewise.
9510         (aarch64_sq<r>dmulh_lane<mode>): Likewise.
9511         (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
9512         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9513         (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
9514         (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
9515         (aarch64_sqdmull_lane<mode>_internal): Likewise.
9516         (aarch64_sqdmull2_lane<mode>_internal): Likewise.
9518 2013-01-23  Alex Velenko  <Alex.Velenko@arm.com>
9520         * config/aarch64/aarch64-simd.md
9521         (aarch64_be_checked_get_lane<mode>): New define_expand.
9522         * config/aarch64/aarch64-simd-builtins.def
9523         (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
9524         New builtin definition.
9525         * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
9526         Use new safe be builtin.
9528 2014-01-23  Alex Velenko  <Alex.Velenko@arm.com>
9530         * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
9531         New define_insn.
9532         (aarch64_be_st1<mode>): Likewise.
9533         (aarch_ld1<VALL:mode>): Define_expand modified.
9534         (aarch_st1<VALL:mode>): Likewise.
9535         * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
9536         (UNSPEC_ST1): Likewise.
9538 2014-01-23  David Holsgrove  <david.holsgrove@xilinx.com>
9540         * config/microblaze/microblaze.md: Add trap insn and attribute
9542 2014-01-23  Dodji Seketeli  <dodji@redhat.com>
9544         PR preprocessor/58580
9545         * input.h (location_get_source_line): Take an additional line_size
9546         parameter.
9547         (void diagnostics_file_cache_fini): Declare new function.
9548         * input.c (struct fcache): New type.
9549         (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
9550         New static constants.
9551         (diagnostic_file_cache_init, total_lines_num)
9552         (lookup_file_in_cache_tab, evicted_cache_tab_entry)
9553         (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
9554         (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
9555         (get_next_line, read_next_line, goto_next_line, read_line_num):
9556         New static function definitions.
9557         (diagnostic_file_cache_fini): New function.
9558         (location_get_source_line): Take an additional output line_len
9559         parameter.  Re-write using lookup_or_add_file_to_cache_tab and
9560         read_line_num.
9561         * diagnostic.c (diagnostic_finish): Call
9562         diagnostic_file_cache_fini.
9563         (adjust_line): Take an additional input parameter for the length
9564         of the line, rather than calculating it with strlen.
9565         (diagnostic_show_locus): Adjust the use of
9566         location_get_source_line and adjust_line with respect to their new
9567         signature.  While displaying a line now, do not stop at the first
9568         null byte.  Rather, display the zero byte as a space and keep
9569         going until we reach the size of the line.
9570         * Makefile.in: Add vec.o to OBJS-libcommon
9572 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
9573             Ilya Tocar  <ilya.tocar@intel.com>
9575         * config/i386/avx512fintrin.h (_mm512_kmov): New.
9576         * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
9577         (__builtin_ia32_kmov16): Ditto.
9578         * config/i386/i386.md (UNSPEC_KMOV): New.
9579         (kmovw): Ditto.
9581 2014-01-23  Kirill Yukhin  <kirill.yukhin@intel.com>
9583         * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
9584         (_mm512_storeu_si512): Ditto.
9586 2014-01-23  Richard Sandiford  <rdsandiford@googlemail.com>
9588         PR target/52125
9589         * rtl.h (get_referenced_operands): Declare.
9590         * recog.c (get_referenced_operands): New function.
9591         * config/mips/mips.c (mips_reorg_process_insns): Check which asm
9592         operands have been referenced when recording LO_SUM references.
9594 2014-01-22  David Holsgrove  <david.holsgrove@xilinx.com>
9596         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
9598 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
9600         * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
9601         Enable for generic and recent AMD targets.
9603 2014-01-22  Jan Hubicka  <hubicka@ucw.cz>
9605         * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
9606         ARG_SIZE note when adjustment was eliminated.
9608 2014-01-22  Jeff Law  <law@redhat.com>
9610         PR tree-optimization/59597
9611         * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
9612         in file.  Accept new argument REGISTERING and use it to modify
9613         dump output appropriately.
9614         (register_jump_thread): Corresponding changes.
9615         (mark_threaded_blocks): Reinstate code to cancel unprofitable
9616         thread paths involving joiner blocks.  Add code to dump cancelled
9617         jump threading paths.
9619 2014-01-22  Vladimir Makarov  <vmakarov@redhat.com>
9621         PR rtl-optimization/59477
9622         * lra-constraints.c (inherit_in_ebb): Process call for living hard
9623         regs.  Update reloads_num and potential_reload_hard_regs for all insns.
9625 2014-01-22  Tom Tromey  <tromey@redhat.com>
9627         * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
9628         PARAMS.
9629         * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
9631 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
9633         PR rtl-optimization/59896
9634         * lra-constraints.c (process_alt_operands): Check unused note for
9635         matched operands of insn with no output reloads.
9637 2014-01-21  Richard Sandiford  <rdsandiford@googlemail.com>
9639         * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
9640         (mips_move_from_gpr_cost): Likewise.
9642 2014-01-21  Vladimir Makarov  <vmakarov@redhat.com>
9644         PR rtl-optimization/59858
9645         * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
9646         ira_class_hard_regs_num.
9647         (process_alt_operands): Increase reject for dying matched operand.
9649 2014-01-21  Jakub Jelinek  <jakub@redhat.com>
9651         PR target/59003
9652         * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
9653         smaller than size, perform several stores or loads and stores
9654         at dst + count - size to store or copy all of size bytes, rather
9655         than just last modesize bytes.
9657 2014-01-20  DJ Delorie  <dj@redhat.com>
9659         * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
9660         that CLOBBERs are REGs before propogating their values.
9662 2014-01-20  H.J. Lu  <hongjiu.lu@intel.com>
9664         PR middle-end/59789
9665         * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
9666         (cgraph_inline_failed_type): New function.
9667         * cgraph.h (DEFCIFCODE): Add type.
9668         (cgraph_inline_failed_type_t): New enum.
9669         (cgraph_inline_failed_type): New prototype.
9670         * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
9671         FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
9672         FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
9673         LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
9674         MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
9675         RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
9676         OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
9677         INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
9678         Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
9679         FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
9680         EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
9681         OPTIMIZATION_MISMATCH.
9682         * tree-inline.c (expand_call_inline): Emit errors during
9683         early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
9685 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9687         PR target/59685
9688         * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
9689         mode attribute in insn output.
9691 2014-01-20  Eric Botcazou  <ebotcazou@adacore.com>
9693         * output.h (output_constant): Delete.
9694         * varasm.c (output_constant): Make private.
9696 2014-01-20  Alex Velenko  <Alex.Velenko@arm.com>
9698         * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
9700 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9702         PR middle-end/59860
9703         * tree.h (fold_builtin_strcat): New prototype.
9704         * builtins.c (fold_builtin_strcat): No longer static.  Add len
9705         argument, if non-NULL, don't call c_strlen.  Optimize
9706         directly into __builtin_memcpy instead of __builtin_strcpy.
9707         (fold_builtin_2): Adjust fold_builtin_strcat caller.
9708         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
9710 2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
9712         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9713         for SImode_address_operand operands, having only a REG argument.
9715 2014-01-20  Marcus Shawcroft  <marcus.shawcroft@arm.com>
9717         * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
9718         loader name using mbig-endian.
9719         (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
9721 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9723         * doc/invoke.texi (-march): Clarify documentation for AArch64.
9724         (-mtune): Likewise.
9725         (-mcpu): Likewise.
9727 2014-01-20  Tejas Belagod  <tejas.belagod@arm.com>
9729         * config/aarch64/aarch64-protos.h
9730         (aarch64_cannot_change_mode_class_ptr): Declare.
9731         * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
9732         aarch64_cannot_change_mode_class_ptr): New.
9733         * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
9734         backend hook aarch64_cannot_change_mode_class.
9736 2014-01-20  James Greenhalgh  <james.greenhalgh@arm.com>
9738         * common/config/aarch64/aarch64-common.c
9739         (aarch64_handle_option): Don't handle any option order logic here.
9740         * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
9741         selected_cpu, warn on architecture version mismatch.
9742         (aarch64_override_options): Fix parsing order for option strings.
9744 2014-01-20  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9745             Iain Sandoe  <iain@codesourcery.com>
9747         PR bootstrap/59496
9748         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
9749         warning.  Amend comment to reflect current functionality.
9751 2014-01-20  Richard Biener  <rguenther@suse.de>
9753         PR middle-end/59860
9754         * builtins.c (fold_builtin_strcat): Remove case better handled
9755         by tree-ssa-strlen.c.
9757 2014-01-20  Alan Lawrence  <alan.lawrence@arm.com>
9759         * config/aarch64/aarch64.opt
9760         (mcpu, march, mtune): Make case-insensitive.
9762 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
9764         PR target/59880
9765         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
9766         if operands[1] is a REG or ZERO_EXTEND of a REG.
9768 2014-01-19  Jan Hubicka  <hubicka@ucw.cz>
9770         * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
9772 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
9774         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
9775         long non-pic millicode calls.
9777 2014-01-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
9779         * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
9781 2014-01-19  Kito Cheng  <kito@0xlab.org>
9783         * builtins.c (expand_movstr): Check movstr expand done or fail.
9785 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9786             H.J. Lu  <hongjiu.lu@intel.com>
9788         PR target/59379
9789         * config/i386/i386.md (*lea<mode>): Zero-extend return register
9790         to DImode for zero-extended addresses.
9792 2014-01-19  Jakub Jelinek  <jakub@redhat.com>
9794         PR rtl-optimization/57763
9795         * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
9796         on the new indirect jump_insn and increment LABEL_NUSES (label).
9798 2014-01-18  H.J. Lu  <hongjiu.lu@intel.com>
9800         PR bootstrap/59580
9801         PR bootstrap/59583
9802         * config.gcc (x86_archs): New variable.
9803         (x86_64_archs): Likewise.
9804         (x86_cpus): Likewise.
9805         Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
9806         --with-arch/--with-cpu= options.
9807         Support --with-arch=/--with-cpu={nehalem,westmere,
9808         sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
9810 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9812         * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
9813         and PROCESSOR_ATHLON to simplify code.  Move "memory" calculation.
9815 2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
9817         * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
9819 2014-01-18  Jakub Jelinek  <jakub@redhat.com>
9821         PR target/58944
9822         * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
9823         clear cpp_get_options (parse_in)->warn_unused_macros for
9824         ix86_target_macros_internal with cpp_define.
9826 2014-01-18  Richard Sandiford  <rdsandiford@googlemail.com>
9828         * jump.c (delete_related_insns): Keep (use (insn))s.
9829         * reorg.c (redundant_insn): Check for barriers too.
9831 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9833         * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
9835 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
9837         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
9838         call to $$dyncall when TARGET_LONG_CALLS is true.
9840 2014-01-17  Jeff Law  <law@redhat.com>
9842         * ree.c (combine_set_extension): Temporarily disable test for
9843         changing number of hard registers.
9845 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9847         PR middle-end/58125
9848         * ipa-inline-analysis.c (inline_free_summary):
9849         Do not free summary of aliases.
9851 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9853         PR middle-end/59706
9854         * gimplify.c (gimplify_expr): Use create_tmp_var
9855         instead of create_tmp_var_raw.  If cond doesn't have
9856         integral type, don't add the IFN_ANNOTATE builtin at all.
9858 2014-01-17  Martin Jambor  <mjambor@suse.cz>
9860         PR ipa/59736
9861         * ipa-cp.c (prev_edge_clone): New variable.
9862         (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
9863         Also resize prev_edge_clone vector.
9864         (ipcp_edge_duplication_hook): Also update prev_edge_clone.
9865         (ipcp_edge_removal_hook): New function.
9866         (ipcp_driver): Register ipcp_edge_removal_hook.
9868 2014-01-17  Andrew Pinski  <apinski@cavium.com>
9869             Steve Ellcey  <sellcey@mips.com>
9871         PR target/59462
9872         * config/mips/mips.c (mips_print_operand): Check operand mode instead
9873         of operator mode.
9875 2014-01-17  Jeff Law  <law@redhat.com>
9877         PR middle-end/57904
9878         * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
9879         so that pass_ccp runs first.
9881 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9883         * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
9884         (ix86_adjust_cost): Use !TARGET_XXX.
9885         (do_reorder_for_imul): Likewise.
9886         (swap_top_of_ready_list): Likewise.
9887         (ix86_sched_reorder): Likewise.
9889 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
9891         * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9892         PROCESSOR_INTEL.  Treat like PROCESSOR_GENERIC.
9893         * config/i386/i386.c (intel_memcpy): New.  Duplicate slm_memcpy.
9894         (intel_memset): New.  Duplicate slm_memset.
9895         (intel_cost): New.  Duplicate slm_cost.
9896         (m_INTEL): New macro.
9897         (processor_target_table): Add "intel".
9898         (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
9899         with PROCESSOR_INTEL for "intel".
9900         (ix86_lea_outperforms): Support PROCESSOR_INTEL.  Duplicate
9901         PROCESSOR_SILVERMONT.
9902         (ix86_issue_rate): Likewise.
9903         (ix86_adjust_cost): Likewise.
9904         (ia32_multipass_dfa_lookahead): Likewise.
9905         (swap_top_of_ready_list): Likewise.
9906         (ix86_sched_reorder): Likewise.
9907         (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
9908         instead of TARGET_OPT_AGU.
9909         * config/i386/i386.h (TARGET_INTEL): New.
9910         (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
9911         (processor_type): Add PROCESSOR_INTEL.
9912         * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
9913         Add X86_TUNE_AVOID_LEA_FOR_ADDR.
9915 2014-01-17  Marek Polacek  <polacek@redhat.com>
9917         PR c/58346
9918         * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
9919         size is zero.
9921 2014-01-17  Richard Biener  <rguenther@suse.de>
9923         PR tree-optimization/46590
9924         * opts.c (default_options_table): Add entries for
9925         OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
9926         all enabled at -O1 but not for -Og.
9927         * common.opt (fbranch-count-reg): Remove Init(1).
9928         (fmove-loop-invariants): Likewise.
9929         (ftree-pta): Likewise.
9931 2014-01-17  Jakub Jelinek  <jakub@redhat.com>
9933         * config/i386/i386.c (ix86_data_alignment): For compatibility with
9934         (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
9935         decls to at least the GCC 4.8 used alignments.
9937         PR fortran/59440
9938         * tree-nested.c (convert_nonlocal_reference_stmt,
9939         convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
9940         of GIMPLE_BIND stmts, adjust associated decls.
9942 2014-01-17  Richard Biener  <rguenther@suse.de>
9944         PR tree-optimization/46590
9945         * vec.h (vec<>::bseach): New member function implementing
9946         binary search according to C89 bsearch.
9947         (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
9948         * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
9949         bitmap pointer again.  Make accesses_in_loop a flat array.
9950         (mem_ref_obstack): New global.
9951         (outermost_indep_loop): Adjust for mem_ref->stored changes.
9952         (mark_ref_stored): Likewise.
9953         (ref_indep_loop_p_2): Likewise.
9954         (set_ref_stored_in_loop): New helper function.
9955         (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
9956         (memref_free): Adjust.
9957         (record_mem_ref_loc): Simplify.
9958         (gather_mem_refs_stmt): Adjust.
9959         (sort_locs_in_loop_postorder_cmp): New function.
9960         (analyze_memory_references): Sort accesses_in_loop after
9961         loop postorder number.
9962         (find_ref_loc_in_loop_cmp): New function.
9963         (for_all_locs_in_loop): Find relevant cluster of locs in
9964         accesses_in_loop and iterate without recursion.
9965         (execute_sm): Avoid uninit warning.
9966         (struct ref_always_accessed): Simplify.
9967         (ref_always_accessed::operator ()): Likewise.
9968         (ref_always_accessed_p): Likewise.
9969         (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
9970         loop postorder numbers here.
9971         (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
9972         numbers.
9974 2014-01-17  Jan Hubicka  <hubicka@ucw.cz>
9976         PR c++/57945
9977         * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
9978         on decls for which assemble_alias has been called.
9980 2014-01-17  Nick Clifton  <nickc@redhat.com>
9982         * config/msp430/msp430.opt: (mcpu): New option.
9983         * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
9984         (msp430_option_override): Parse target_cpu.  If the MCU name
9985         matches a generic string, clear target_mcu.
9986         (msp430_attr): Allow numeric interrupt values up to 63.
9987         (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
9988         * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
9989         option.
9990         * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
9991         Add mcpu matches.
9992         * config/msp430/msp430.md (popm): Use %J rather than %I.
9993         (addsi3): Use msp430_nonimmediate_operand for operand 2.
9994         (addhi_cy_i): Use immediate_operand for operand 2.
9995         * doc/invoke.texi: Document -mcpu option.
9997 2014-01-17  Richard Biener  <rguenther@suse.de>
9999         PR rtl-optimization/38518
10000         * df.h (df_analyze_loop): Declare.
10001         * df-core.c: Include cfgloop.h.
10002         (df_analyze_1): Split out main part of df_analyze.
10003         (df_analyze): Adjust.
10004         (loop_inverted_post_order_compute): New function.
10005         (loop_post_order_compute): Likewise.
10006         (df_analyze_loop): New function avoiding whole-function
10007         postorder computes.
10008         * loop-invariant.c (find_defs): Use df_analyze_loop.
10009         (find_invariants): Adjust.
10010         * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
10012 2014-01-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>
10014         * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
10015         (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
10017 2014-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
10019         * ipa-ref.c (ipa_remove_stmt_references): Fix references
10020         traversal when removing references.
10022 2014-01-16  Jan Hubicka  <hubicka@ucw.cz>
10024         PR ipa/59775
10025         * tree.c (get_binfo_at_offset): Look harder for virtual bases.
10027 2014-01-16  Bernd Schmidt  <bernds@codesourcery.com>
10029         PR middle-end/56791
10030         * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
10031         pushing a reload for an autoinc when we had previously reloaded an
10032         inner part of the address.
10034 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
10036         * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
10037         field.
10038         (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
10039         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
10040         when not giving up or versioning for alias only because of
10041         loop->safelen.
10042         (vect_analyze_data_ref_dependences): Set to true.
10043         * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
10044         is a GIMPLE_PHI.
10045         (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
10046         LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
10047         to the condition.
10049         PR middle-end/58344
10050         * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
10052         PR target/59839
10053         * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
10054         operand 0 predicate for gathers, use a new pseudo as subtarget.
10056 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
10058         PR middle-end/59609
10059         * lra-constraints.c (process_alt_operands): Add printing debug info.
10060         Check absence of input/output reloads for matched operands too.
10062 2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>
10064         PR rtl-optimization/59835
10065         * ira.c (ira_init_register_move_cost): Increase cost for
10066         impossible modes.
10068 2014-01-16  Alan Lawrence  <alan.lawrence@arm.com>
10070         * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
10072 2014-01-16  Richard Earnshaw  <rearnsha@arm.com>
10074         PR target/59780
10075         * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
10076         non-register objects.  Use gen_(high/low)part more consistently.
10077         Fix assertions.
10079 2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
10081         PR target/59844
10082         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
10083         endian support, remove tests for WORDS_BIG_ENDIAN.
10084         (p8_mfvsrd_3_<mode>): Likewise.
10085         (reload_gpr_from_vsx<mode>): Likewise.
10086         (reload_gpr_from_vsxsf): Likewise.
10087         (p8_mfvsrd_4_disf): Likewise.
10089 2014-01-16  Richard Biener  <rguenther@suse.de>
10091         PR rtl-optimization/46590
10092         * lcm.c (compute_antinout_edge): Use postorder iteration.
10093         (compute_laterin): Use inverted postorder iteration.
10095 2014-01-16  Nick Clifton  <nickc@redhat.com>
10097         PR middle-end/28865
10098         * varasm.c (output_constant): Return the number of bytes actually
10099         emitted.
10100         (output_constructor_array_range): Update the field size with the
10101         number of bytes emitted by output_constant.
10102         (output_constructor_regular_field): Likewise.  Also do not
10103         complain if the total number of bytes emitted is now greater
10104         than the expected fieldpos.
10105         * output.h (output_constant): Update prototype and descriptive comment.
10107 2014-01-16  Marek Polacek  <polacek@redhat.com>
10109         PR middle-end/59827
10110         * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
10111         it is error_mark_node.
10113 2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
10115         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
10116         VALID_AVX256_REG_OR_OI_MODE.
10118 2014-01-15  Pat Haugen  <pthaugen@us.ibm.com>
10120         * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
10121         current procedure should be profiled.
10123 2014-01-15  Andrew Pinski  <apinski@cavium.com>
10125         * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
10126         of moving from/to the STACK_REG register class.
10128 2014-01-15  Richard Henderson  <rth@redhat.com>
10130         PR debug/54694
10131         * reginfo.c (global_regs_decl): Globalize.
10132         * rtl.h (global_regs_decl): Declare.
10133         * ira.c (do_reload): Diagnose frame_pointer_needed and it
10134         reserved via global_regs.
10136 2014-01-15  Teresa Johnson  <tejohnson@google.com>
10138         * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
10140 2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>
10142         * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
10143         and vmulosh rather than call gen_vec_widen_smult_*.
10144         (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
10145         than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
10146         (vec_widen_smult_even_v16qi): Likewise.
10147         (vec_widen_umult_even_v8hi): Likewise.
10148         (vec_widen_smult_even_v8hi): Likewise.
10149         (vec_widen_umult_odd_v16qi): Likewise.
10150         (vec_widen_smult_odd_v16qi): Likewise.
10151         (vec_widen_umult_odd_v8hi): Likewise.
10152         (vec_widen_smult_odd_v8hi): Likewise.
10153         (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
10154         vmuloub rather than call gen_vec_widen_umult_*.
10155         (vec_widen_umult_lo_v16qi): Likewise.
10156         (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
10157         vmulosb rather than call gen_vec_widen_smult_*.
10158         (vec_widen_smult_lo_v16qi): Likewise.
10159         (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
10160         rather than call gen_vec_widen_umult_*.
10161         (vec_widen_umult_lo_v8hi): Likewise.
10162         (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
10163         rather than call gen_vec_widen_smult_*.
10164         (vec_widen_smult_lo_v8hi): Likewise.
10166 2014-01-15  Jeff Law  <law@redhat.com>
10168         PR tree-optimization/59747
10169         * ree.c (find_and_remove_re): Properly handle case where a second
10170         eliminated extension requires widening a copy created for elimination
10171         of a prior extension.
10172         (combine_set_extension): Ensure that the number of hard regs needed
10173         for a destination register does not change when we widen it.
10175 2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10177         * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
10178         (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
10179         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
10180         (arm*-*-rtems*): Use t-rtems from existing tmake_file.
10181         (avr-*-rtems*): Likewise.
10182         (bfin*-rtems*): Likewise.
10183         (moxie-*-rtems*): Likewise.
10184         (h8300-*-rtems*): Likewise.
10185         (i[34567]86-*-rtems*): Likewise.
10186         (lm32-*-rtems*): Likewise.
10187         (m32r-*-rtems*): Likewise.
10188         (m68k-*-rtems*): Likewise.
10189         (microblaze*-*-rtems*): Likewise.
10190         (mips*-*-rtems*): Likewise.
10191         (powerpc-*-rtems*): Likewise.
10192         (sh-*-rtems*): Likewise.
10193         (sparc-*-rtems*): Likewise.
10194         (sparc64-*-rtems*): Likewise.
10195         (v850-*-rtems*): Likewise.
10196         (m32c-*-rtems*): Likewise.
10198 2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>
10200         PR rtl-optimization/59511
10201         * ira.c (ira_init_register_move_cost): Use memory costs for some
10202         cases of register move cost calculations.
10203         * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
10204         instead of BB frequency.
10205         * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
10206         * lra-assigns.c (find_hard_regno_for): Ditto.
10208 2014-01-15  Richard Biener  <rguenther@suse.de>
10210         PR tree-optimization/59822
10211         * tree-vect-stmts.c (hoist_defs_of_uses): New function.
10212         (vectorizable_load): Use it to hoist defs of uses of invariant
10213         loads out of the loop.
10215 2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
10216             Kugan Vivekanandarajah  <kuganv@linaro.org>
10218         PR target/59695
10219         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
10220         truncation.
10222 2014-01-15  Richard Biener  <rguenther@suse.de>
10224         PR rtl-optimization/59802
10225         * lcm.c (compute_available): Use inverted postorder to seed
10226         the initial worklist.
10228 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
10230         PR target/59803
10231         * config/s390/s390.c (s390_preferred_reload_class): Don't return
10232         ADDR_REGS for invalid symrefs in non-PIC code.
10234 2014-01-15  Jakub Jelinek  <jakub@redhat.com>
10236         PR other/58712
10237         * builtins.c (determine_block_size): Initialize *probable_max_size
10238         even if len_rtx is CONST_INT.
10240 2014-01-14  Andrew Pinski  <apinski@cavium.com>
10242         * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
10243         * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
10244         (cortexa53_tunings): Likewise.
10245         (aarch64_sched_issue_rate): New function.
10246         (TARGET_SCHED_ISSUE_RATE): Define.
10248 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
10250         * ira-costs.c (find_costs_and_classes): Add missed
10251         ira_init_register_move_cost_if_necessary.
10253 2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>
10255         PR target/59787
10256         * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
10258 2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
10260         PR target/59794
10261         * config/i386/i386.c (type_natural_mode): Add a bool parameter
10262         to indicate if type is used for function return value.  Warn ABI
10263         change if the vector mode isn't available for function return value.
10264         (ix86_function_arg_advance): Pass false to type_natural_mode.
10265         (ix86_function_arg): Likewise.
10266         (ix86_gimplify_va_arg): Likewise.
10267         (function_arg_32): Don't warn ABI change.
10268         (ix86_function_value): Pass true to type_natural_mode.
10269         (ix86_return_in_memory): Likewise.
10270         (ix86_struct_value_rtx): Removed.
10271         (TARGET_STRUCT_VALUE_RTX): Likewise.
10273 2014-01-14  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
10275         * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
10276         converting a conditional jump into a conditional return.
10278 2014-01-14  Richard Biener  <rguenther@suse.de>
10280         PR tree-optimization/58921
10281         PR tree-optimization/59006
10282         * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
10283         hoisting invariant stmts.
10284         * tree-vect-stmts.c (vectorizable_load): Insert the splat of
10285         invariant loads on the preheader edge if possible.
10287 2014-01-14  Joey Ye  <joey.ye@arm.com>
10289         * doc/plugin.texi (Building GCC plugins): Update to C++.
10291 2014-01-14  Kirill Yukhin  <kirill.yukhin@intel.com>
10293         * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
10294         (_mm_rcp28_round_ss): Ditto.
10295         (_mm_rsqrt28_round_sd): Ditto.
10296         (_mm_rsqrt28_round_ss): Ditto.
10297         (_mm_rcp28_sd): Ditto.
10298         (_mm_rcp28_ss): Ditto.
10299         (_mm_rsqrt28_sd): Ditto.
10300         (_mm_rsqrt28_ss): Ditto.
10301         * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
10302         * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
10303         * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
10304         (IX86_BUILTIN_RCP28SD): Ditto.
10305         (IX86_BUILTIN_RCP28SS): Ditto.
10306         (IX86_BUILTIN_RSQRT28SD): Ditto.
10307         (IX86_BUILTIN_RSQRT28SS): Ditto.
10308         (bdesc_special_args): Define __builtin_ia32_movntdqa512,
10309         __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
10310         __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
10311         (ix86_expand_special_args_builtin): Expand new FTYPE.
10312         * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
10313         (srcp14<mode>): Make insn unary.
10314         (avx512f_vmscalef<mode><round_name>): Use substed predicate.
10315         (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
10316         (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
10317         (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
10318         (avx512er_exp2<mode><mask_name><round_saeonly_name>):
10319         Fix rounding: make it SAE only.
10320         (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
10321         Ditto.
10322         (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
10323         Ditto.
10324         (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
10325         (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
10326         (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
10327         * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
10328         (round_saeonly_mask_scalar_operand4): Ditto.
10329         (round_saeonly_mask_scalar_op3): Ditto.
10330         (round_saeonly_mask_scalar_op4): Ditto.
10332 2014-01-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10334         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
10335         Implement -maltivec=be for vec_insert and vec_extract.
10337 2014-01-10  DJ Delorie  <dj@redhat.com>
10339         * config/msp430/msp430.md (call_internal): Don't allow memory
10340         references with SP as the base register.
10341         (call_value_internal): Likewise.
10342         * config/msp430/constraints.md (Yc): New.  For memory references
10343         that don't use SP as a base register.
10345         * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
10346         "an integer without a # prefix"
10347         * config/msp430/msp430.md (epilogue_helper): Use it.
10349 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
10351         PR target/59617
10352         * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
10353         AVX512F gather builtins.
10354         * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
10355         on gather decls with INTEGER_TYPE masktype.
10356         (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
10357         directly into the builtin rather than hoisting it before loop.
10359         PR tree-optimization/59387
10360         * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
10361         (scev_const_prop): If folded_casts and type has undefined overflow,
10362         use force_gimple_operand instead of force_gimple_operand_gsi and
10363         for each added stmt if it is assign with
10364         arith_code_with_undefined_signed_overflow, call
10365         rewrite_to_defined_overflow.
10366         * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
10367         gimple-fold.h instead.
10368         (arith_code_with_undefined_signed_overflow,
10369         rewrite_to_defined_overflow): Moved to ...
10370         * gimple-fold.c (arith_code_with_undefined_signed_overflow,
10371         rewrite_to_defined_overflow): ... here.  No longer static.
10372         Include gimplify-me.h.
10373         * gimple-fold.h (arith_code_with_undefined_signed_overflow,
10374         rewrite_to_defined_overflow): New prototypes.
10376 2014-01-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10378         * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
10380 2014-01-13  Eric Botcazou  <ebotcazou@adacore.com>
10382         * builtins.c (get_object_alignment_2): Minor tweak.
10383         * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
10385 2014-01-13  Christian Bruel  <christian.bruel@st.com>
10387         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
10388         optimized non constant lengths.
10390 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
10392         PR libgomp/59194
10393         * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
10394         load as __atomic_load_N if possible.
10396 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
10398         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
10399         target parameter.
10400         (rs6000_expand_builtin): Adjust call.
10402 2014-01-11  David Edelsohn  <dje.gcc@gmail.com>
10404         PR target/58115
10405         * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
10406         * config/rs6000/rs6000.c: Include target-globals.h.
10407         (rs6000_set_current_function): Instead of doing target_reinit
10408         unconditionally, use save_target_globals_default_opts and
10409         restore_target_globals.
10411         * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
10412         FPSCR.
10413         * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
10414         (rs6000_expand_builtin): Handle mffs and mtfsf.
10415         (rs6000_init_builtins): Define mffs and mtfsf.
10416         * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
10417         (rs6000_mffs): New pattern.
10418         (rs6000_mtfsf): New pattern.
10420 2014-01-11  Bin Cheng  <bin.cheng@arm.com>
10422         * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
10423         Start narrowing with START.  Apply candidate-use pair
10424         and check overall cost in narrowing.
10425         (iv_ca_prune): Pass new argument.
10427 2014-01-10  Jeff Law  <law@redhat.com>
10429         PR middle-end/59743
10430         * ree.c (combine_reaching_defs): Ensure the defining statement
10431         occurs before the extension when optimizing extensions with
10432         different source and destination hard registers.
10434 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
10436         PR ipa/58585
10437         * ipa-devirt.c (build_type_inheritance_graph): Also add types of
10438         vtables into the type inheritance graph.
10440 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10442         PR rtl-optimization/59754
10443         * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
10444         modes in the REGNO != REGNO case.
10446 2014-01-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10448         * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
10450 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10452         PR tree-optimization/59745
10453         * tree-predcom.c (tree_predictive_commoning_loop): Call
10454         free_affine_expand_cache if giving up because components is NULL.
10456         * target-globals.c (save_target_globals): Allocate < 4KB structs using
10457         GC in payload of target_globals struct instead of allocating them on
10458         the heap and the larger structs separately using GC.
10459         * target-globals.h (struct target_globals): Make regs, hard_regs,
10460         reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
10461         of GTY((skip)) and change type to void *.
10462         (reset_target_globals): Cast loads from those fields to corresponding
10463         types.
10465 2014-01-10  Steve Ellcey  <sellcey@mips.com>
10467         PR plugins/59335
10468         * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
10469         gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
10470         tree-ssanames.h, print-tree.h, varasm.h, and context.h.
10472 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
10474         PR target/59744
10475         * aarch64-modes.def (CC_Zmode): New flags mode.
10476         * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
10477         represents an equality.
10478         (aarch64_get_condition_code): Handle CC_Zmode.
10479         * aarch64.md (compare_neg<mode>): Restrict to equality operations.
10481 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
10483         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
10484         extraction in good case.
10486 2014-01-10  Richard Biener  <rguenther@suse.de>
10488         PR tree-optimization/59374
10489         * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
10490         checking after SLP discovery.  Mark stmts not participating
10491         in any SLP instance properly.
10493 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10495         * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
10496         when handling a SET rtx.
10498 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10500         * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
10501         (cortex-a57): Likewise.
10502         (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
10504 2014-01-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10506         * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
10507         non-iwmmxt builtins.
10509 2014-01-10  Jan Hubicka  <hubicka@ucw.cz>
10511         PR ipa/58252
10512         PR ipa/59226
10513         * ipa-devirt.c record_target_from_binfo): Take as argument
10514         stack of binfos and lookup matching one for virtual inheritance.
10515         (possible_polymorphic_call_targets_1): Update.
10517 2014-01-10  Huacai Chen  <chenhc@lemote.com>
10519         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
10520         kernel strings for Loongson-2E/2F/3A.
10522 2014-01-10  Jakub Jelinek  <jakub@redhat.com>
10524         PR middle-end/59670
10525         * tree-vect-data-refs.c (vect_analyze_data_refs): Check
10526         is_gimple_call before calling gimple_call_internal_p.
10528 2014-01-09  Steve Ellcey  <sellcey@mips.com>
10530         * Makefile.in (TREE_FLOW_H): Remove.
10531         (TREE_SSA_H): Add file names from tree-flow.h.
10532         * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
10533         * tree.h: Remove tree-flow.h reference.
10534         * hash-table.h: Remove tree-flow.h reference.
10535         * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
10536         reference with tree-ssa-loop.h.
10538 2014-01-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10540         * doc/invoke.texi: Add -maltivec={be,le} options, and document
10541         default element-order behavior for -maltivec.
10542         * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
10543         * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
10544         that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
10545         when targeting big endian, at least for now.
10546         * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
10548 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10550         PR middle-end/47735
10551         * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
10552         var satisfies use_register_for_decl, just take into account type
10553         alignment, rather than decl alignment.
10555         PR tree-optimization/59622
10556         * gimple-fold.c (gimple_fold_call): Fix a typo in message.  For
10557         __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
10558         __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
10559         Don't devirtualize for inplace at all.  For targets.length () == 1,
10560         if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
10562 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
10564         * config/i386/i386.md (cpu): Remove the unused btver1.
10566 2014-01-09  H.J. Lu  <hongjiu.lu@intel.com>
10568         * gdbasan.in: Put a breakpoint on __sanitizer::Report.
10570 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10572         PR target/58115
10573         * tree-core.h (struct target_globals): New forward declaration.
10574         (struct tree_target_option): Add globals field.
10575         * tree.h (TREE_TARGET_GLOBALS): Define.
10576         (prepare_target_option_nodes_for_pch): New prototype.
10577         * target-globals.h (struct target_globals): Define even if
10578         !SWITCHABLE_TARGET.
10579         * tree.c (prepare_target_option_node_for_pch,
10580         prepare_target_option_nodes_for_pch): New functions.
10581         * config/i386/i386.h (SWITCHABLE_TARGET): Define.
10582         * config/i386/i386.c: Include target-globals.h.
10583         (ix86_set_current_function): Instead of doing target_reinit
10584         unconditionally, use save_target_globals_default_opts and
10585         restore_target_globals.
10587 2014-01-09  Richard Biener  <rguenther@suse.de>
10589         PR tree-optimization/59715
10590         * tree-cfg.h (split_critical_edges): Declare.
10591         * tree-cfg.c (split_critical_edges): Export.
10592         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
10594 2014-01-09  Max Ostapenko  <m.ostapenko@partner.samsung.com>
10596         * cfgexpand.c (expand_stack_vars): Optionally disable
10597         asan stack protection.
10598         (expand_used_vars): Likewise.
10599         (partition_stack_vars): Likewise.
10600         * asan.c (asan_emit_stack_protection): Optionally disable
10601         after return stack usage.
10602         (instrument_derefs): Optionally disable memory access instrumentation.
10603         (instrument_builtin_call): Likewise.
10604         (instrument_strlen_call): Likewise.
10605         (asan_protect_global): Optionally disable global variables protection.
10606         * doc/invoke.texi: Added doc for new options.
10607         * params.def: Added new options.
10608         * params.h: Likewise.
10610 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
10612         PR rtl-optimization/59724
10613         * ifcvt.c (cond_exec_process_if_block): Don't call
10614         flow_find_head_matching_sequence with 0 longest_match.
10615         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
10616         non-active insns if !stop_after.
10617         (try_head_merge_bb): Revert 2014-01-07 changes.
10619 2014-01-08  Jeff Law  <law@redhat.com>
10621         * ree.c (get_sub_rtx): New function, extracted from...
10622         (merge_def_and_ext): Here.
10623         (combine_reaching_defs): Use get_sub_rtx.
10625 2014-01-08  Eric Botcazou  <ebotcazou@adacore.com>
10627         * cgraph.h (varpool_variable_node): Do not choke on null node.
10629 2014-01-08  Catherine Moore  <clm@codesourcery.com>
10631         * config/mips/mips.md (simple_return): Attempt to use JRC
10632         for microMIPS.
10633         * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
10635 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
10637         PR rtl-optimization/59137
10638         * reorg.c (steal_delay_list_from_target): Call update_block for
10639         elided insns.
10640         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
10642 2014-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
10644         * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
10645         two duplicate entries.
10647 2014-01-08  Richard Sandiford  <rdsandiford@googlemail.com>
10649         Revert:
10650         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
10652         * config/mips/mips.c (mips_truncated_op_cost): New function.
10653         (mips_rtx_costs): Adjust test for BADDU.
10654         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
10656         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
10658         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
10659         (*baddu_si): ...this new pattern.
10661 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10663         PR ipa/59722
10664         * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
10666 2014-01-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10668         PR middle-end/57748
10669         * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
10670         inner_reference_p.
10671         (expand_expr, expand_normal): Adjust.
10672         * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
10673         inner_reference_p. Use inner_reference_p to expand inner references.
10674         (store_expr): Adjust.
10675         * cfgexpand.c (expand_call_stmt): Adjust.
10677 2014-01-08  Rong Xu  <xur@google.com>
10679         * gcov-io.c (gcov_var): Move from gcov-io.h.
10680         (gcov_position): Ditto.
10681         (gcov_is_error): Ditto.
10682         (gcov_rewrite): Ditto.
10683         * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
10684         only part to libgcc/libgcov.h.
10686 2014-01-08  Marek Polacek  <polacek@redhat.com>
10688         PR middle-end/59669
10689         * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
10691 2014-01-08  Marek Polacek  <polacek@redhat.com>
10693         PR sanitizer/59667
10694         * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
10696 2014-01-08  Jakub Jelinek  <jakub@redhat.com>
10698         PR rtl-optimization/59649
10699         * stor-layout.c (get_mode_bounds): For BImode return
10700         0 and STORE_FLAG_VALUE.
10702 2014-01-08  Richard Biener  <rguenther@suse.de>
10704         PR middle-end/59630
10705         * gimple.h (is_gimple_builtin_call): Remove.
10706         (gimple_builtin_call_types_compatible_p): New.
10707         (gimple_call_builtin_p): New overload.
10708         * gimple.c (is_gimple_builtin_call): Remove.
10709         (validate_call): Rename to ...
10710         (gimple_builtin_call_types_compatible_p): ... this and export.  Also
10711         check return types.
10712         (validate_type): New static function.
10713         (gimple_call_builtin_p): New overload and adjust.
10714         * gimple-fold.c (gimple_fold_builtin): Fold the return value.
10715         (gimple_fold_call): Likewise.  Use gimple_call_builtin_p.
10716         (gimple_fold_stmt_to_constant_1): Likewise.
10717         * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
10719 2014-01-08  Richard Biener  <rguenther@suse.de>
10721         PR middle-end/59471
10722         * gimplify.c (gimplify_expr): Gimplify register-register type
10723         VIEW_CONVERT_EXPRs to separate stmts.
10725 2014-01-07  Jeff Law  <law@redhat.com>
10727         PR middle-end/53623
10728         * ree.c (combine_set_extension): Handle case where source
10729         and destination registers in an extension insn are different.
10730         (combine_reaching_defs): Allow source and destination registers
10731         in extension to be different under limited circumstances.
10732         (add_removable_extension): Remove restriction that the
10733         source and destination registers in the extension are the same.
10734         (find_and_remove_re): Emit a copy from the extension's
10735         destination to its source after the defining insn if
10736         the source and destination registers are different.
10738         PR middle-end/59285
10739         * ifcvt.c (merge_if_block): If we are merging a block with more than
10740         one successor with a block with no successors, remove any BARRIER
10741         after the second block.
10743 2014-01-07  Dan Xio Qiang  <ziyan01@163.com>
10745         * hw-doloop.c (reorg_loops): Release the bitmap obstack.
10747 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
10749         PR target/59652
10750         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
10751         for 14-bit register offsets when INT14_OK_STRICT is false.
10753 2014-01-07  Roland Stigge  <stigge@antcom.de>
10754             Michael Meissner  <meissner@linux.vnet.ibm.com>
10756         PR 57386/target
10757         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
10758         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
10760 2014-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
10762         * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
10763         -mcpu.
10765 2014-01-07  Yufeng Zhang  <yufeng.zhang@arm.com>
10767         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
10768         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
10769         rtx is const0_rtx or not.
10771 2014-01-07  Richard Sandiford  <rdsandiford@googlemail.com>
10773         PR target/58115
10774         * target-globals.c (save_target_globals): Remove this_fn_optab
10775         handling.
10776         * toplev.c: Include optabs.h.
10777         (target_reinit): Temporarily restore the global options if another
10778         set of options are in force.
10780 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
10782         PR rtl-optimization/58668
10783         * cfgcleanup.c (flow_find_cross_jump): Don't count
10784         any jumps if dir_p is NULL.  Remove p1 variable, use active_insn_p
10785         to determine what is counted.
10786         (flow_find_head_matching_sequence): Use active_insn_p to determine
10787         what is counted.
10788         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
10789         counting change.
10790         * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
10791         determine what is counted.
10793         PR tree-optimization/59643
10794         * tree-predcom.c (split_data_refs_to_components): If one dr is
10795         read and one write, determine_offset fails and the write isn't
10796         in the bad component, just put the read into the bad component.
10798 2014-01-07  Mike Stump  <mikestump@comcast.net>
10799             Jakub Jelinek  <jakub@redhat.com>
10801         PR pch/59436
10802         * tree-core.h (struct tree_optimization_option): Change optabs
10803         type from unsigned char * to void *.
10804         * optabs.c (init_tree_optimization_optabs): Adjust
10805         TREE_OPTIMIZATION_OPTABS initialization.
10807 2014-01-06  Jakub Jelinek  <jakub@redhat.com>
10809         PR target/59644
10810         * config/i386/i386.h (struct machine_function): Add
10811         no_drap_save_restore field.
10812         * config/i386/i386.c (ix86_save_reg): Use
10813         !cfun->machine->no_drap_save_restore instead of
10814         crtl->stack_realign_needed.
10815         (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
10816         this function clears frame_pointer_needed.  Set
10817         cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
10818         and DRAP reg is needed.
10820 2014-01-06  Marek Polacek  <polacek@redhat.com>
10822         PR c/57773
10823         * doc/implement-c.texi: Mention that other integer types are
10824         permitted as bit-field types in strictly conforming mode.
10826 2014-01-06  Felix Yang  <fei.yang0953@gmail.com>
10828         * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
10829         is newly allocated.
10831 2014-01-06  Richard Earnshaw  <rearnsha@arm.com>
10833         * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
10835 2014-01-06  Martin Jambor  <mjambor@suse.cz>
10837         PR ipa/59008
10838         * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
10839         to int.
10840         * ipa-prop.c (ipa_print_node_params): Fix indentation.
10842 2014-01-06  Eric Botcazou  <ebotcazou@adacore.com>
10844         PR debug/59350
10845         PR debug/59510
10846         * var-tracking.c (add_stores): Preserve the value of the source even if
10847         we don't record the store.
10849 2014-01-06  Terry Guo  <terry.guo@arm.com>
10851         * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
10853 2014-01-05  Iain Sandoe  <iain@codesourcery.com>
10855         PR bootstrap/59541
10856         * config/darwin.c (darwin_function_section): Adjust return values to
10857         correspond to optimisation changes made in r206070.
10859 2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
10861         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
10862         from prefetch_block tune setting.
10863         (nocona_cost): Correct size of prefetch block to 64.
10865 2014-01-04  Eric Botcazou  <ebotcazou@adacore.com>
10867         * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
10868         (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
10869         used to save the static chain register in the computation of the offset
10870         from which the FP registers need to be restored.
10872 2014-01-04  Jakub Jelinek  <jakub@redhat.com>
10874         PR tree-optimization/59519
10875         * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
10876         ICE if get_current_def (current_new_name) is already non-NULL, as long
10877         as it is a phi result of some other phi in *new_exit_bb that has
10878         the same argument.
10880         * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
10881         or vmovdqu* for misaligned_operand.
10882         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
10883         <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
10884         * config/i386/i386.c (ix86_expand_special_args_builtin): Set
10885         aligned_mem for AVX512F masked aligned load and store builtins and for
10886         non-temporal moves.
10888 2014-01-03  Bingfeng Mei  <bmei@broadcom.com>
10890         PR tree-optimization/59651
10891         * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
10892         Address range for negative step should be added by TYPE_SIZE_UNIT.
10894 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
10896         * config/m68k/m68k.c (handle_move_double): Handle pushes with
10897         overlapping registers also for registers other than the stack pointer.
10899 2014-01-03  Marek Polacek  <polacek@redhat.com>
10901         PR other/59661
10902         * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
10903         __builtin_FILE.
10905 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
10907         PR target/59625
10908         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
10909         asm goto as jump.
10911         * config/i386/i386.md (MODE_SIZE): New mode attribute.
10912         (push splitter): Use <P:MODE_SIZE> instead of
10913         GET_MODE_SIZE (<P:MODE>mode).
10914         (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
10915         (mov -1, reg peephole2): Likewise.
10916         * config/i386/sse.md (*mov<mode>_internal,
10917         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
10918         <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
10919         *<code><mode>3, *andnot<mode>3<mask_name>,
10920         <mask_codefor><code><mode>3<mask_name>): Likewise.
10921         * config/i386/subst.md (mask_mode512bit_condition,
10922         sd_mask_mode512bit_condition): Likewise.
10924 2014-01-02  Xinliang David Li  <davidxl@google.com>
10926         PR tree-optimization/59303
10927         * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
10928         (dump_predicates): Better output format.
10929         (pred_equal_p): New function.
10930         (is_neq_relop_p): Ditto.
10931         (is_neq_zero_form_p): Ditto.
10932         (pred_expr_equal_p): Ditto.
10933         (pred_neg_p): Ditto.
10934         (simplify_pred): Ditto.
10935         (simplify_preds_2): Ditto.
10936         (simplify_preds_3): Ditto.
10937         (simplify_preds_4): Ditto.
10938         (simplify_preds): Ditto.
10939         (push_pred): Ditto.
10940         (push_to_worklist): Ditto.
10941         (get_pred_info_from_cmp): Ditto.
10942         (is_degenerated_phi): Ditto.
10943         (normalize_one_pred_1): Ditto.
10944         (normalize_one_pred): Ditto.
10945         (normalize_one_pred_chain): Ditto.
10946         (normalize_preds): Ditto.
10947         (normalize_cond_1): Remove function.
10948         (normalize_cond): Ditto.
10949         (is_gcond_subset_of): Ditto.
10950         (is_subset_of_any): Ditto.
10951         (is_or_set_subset_of): Ditto.
10952         (is_and_set_subset_of): Ditto.
10953         (is_norm_cond_subset_of): Ditto.
10954         (pred_chain_length_cmp): Ditto.
10955         (convert_control_dep_chain_into_preds): Type change.
10956         (find_predicates): Ditto.
10957         (find_def_preds): Ditto.
10958         (destroy_predicates_vecs): Ditto.
10959         (find_matching_predicates_in_rest_chains): Ditto.
10960         (use_pred_not_overlap_with_undef_path_pred): Ditto.
10961         (is_pred_expr_subset): Ditto.
10962         (is_pred_chain_subset_of): Ditto.
10963         (is_included_in): Ditto.
10964         (is_superset_of): Ditto.
10966 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10968         Update copyright years.
10970 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10972         * common/config/arc/arc-common.c, config/arc/arc-modes.def,
10973         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
10974         config/arc/arc.md, config/arc/arc.opt,
10975         config/arm/arm_neon_builtins.def, config/arm/crypto.def,
10976         config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
10977         config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
10978         config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
10979         config/linux-protos.h, config/linux.c, config/winnt-c.c,
10980         diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
10981         vtable-verify.c, vtable-verify.h: Use the standard form for the
10982         copyright notice.
10984 2014-01-02  Tobias Burnus  <burnus@net-b.de>
10986         * gcc.c (process_command): Update copyright notice dates.
10987         * gcov-dump.c: Ditto.
10988         * gcov.c: Ditto.
10989         * doc/cpp.texi: Bump @copying's copyright year.
10990         * doc/cppinternals.texi: Ditto.
10991         * doc/gcc.texi: Ditto.
10992         * doc/gccint.texi: Ditto.
10993         * doc/gcov.texi: Ditto.
10994         * doc/install.texi: Ditto.
10995         * doc/invoke.texi: Ditto.
10997 2014-01-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
10999         * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
11001 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
11003         * config/i386/sse.md (*mov<mode>_internal): Guard
11004         EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
11006         PR rtl-optimization/59647
11007         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
11008         new_rtx into UNSIGNED_FLOAT rtxes.
11010 Copyright (C) 2014 Free Software Foundation, Inc.
11012 Copying and distribution of this file, with or without modification,
11013 are permitted in any medium without royalty provided the copyright
11014 notice and this notice are preserved.