2014-03-24 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / ChangeLog
bloba35b5985cd506986a7de06eb27b96a43ec13ec12
1 2014-03-24  Richard Biener  <rguenther@suse.de>
3         PR tree-optimization/60429
4         * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Remove
5         duplicated line.
7 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
9         PR rtl-optimization/60601
10         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
12         * gcc.c (eval_spec_function): Initialize save_growing_value.
14 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
16         PR target/60568
17         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
18         into CONST, put pic register as first operand of PLUS.  Use
19         gen_const_mem for both 32-bit and 64-bit PIC got loads.
21 2014-03-20  Eric Botcazou  <ebotcazou@adacore.com>
23         * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
24         around for store forwarding issue in the FPU on the UT699.
25         * config/sparc/sparc.md (in_branch_delay): Return false for single FP
26         loads and operations if -mfix-ut699 is specified.
27         (divtf3_hq): Tweak attribute.
28         (sqrttf2_hq): Likewise.
30 2014-03-18  Kai Tietz  <ktietz@redhat.com>
32         PR rtl-optimization/56356
33         * sdbout.c (sdbout_parms): Verify that parms'
34         incoming argument is valid.
35         (sdbout_reg_parms): Likewise.
37 2014-03-18  Eric Botcazou  <ebotcazou@adacore.com>
39         * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
40         proper constant for the store mode.
42 2014-03-17  Mikael Pettersson  <mikpelinux@gmail.com>
43             Committed by Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
45         Backport from mainline:
47         2013-06-20  Joern Rennecke <joern.rennecke@embecosm.com>
49         PR rtl-optimization/57425
50         PR rtl-optimization/57569
51         * alias.c (write_dependence_p): Remove parameters mem_mode and
52         canon_mem_addr.  Add parameters x_mode, x_addr and x_canonicalized.
53         Changed all callers.
54         (canon_anti_dependence): Get comments and semantics in sync.
55         Add parameter mem_canonicalized.  Changed all callers.
56         * rtl.h (canon_anti_dependence): Update prototype.
58         2013-06-16  Joern Rennecke <joern.rennecke@embecosm.com>
60         PR rtl-optimization/57425
61         PR rtl-optimization/57569
62         * alias.c (write_dependence_p): Add new parameters mem_mode,
63         canon_mem_addr and mem_canonicalized.  Change type of writep to bool.
64         Changed all callers.
65         (canon_anti_dependence): New function.
66         * cse.c (check_dependence): Use canon_anti_dependence.
67         * cselib.c (cselib_invalidate_mem): Likewise.
68         * rtl.h (canon_anti_dependence): Declare.
70 2014-03-17  Richard Biener  <rguenther@suse.de>
72         Backport from mainline
73         2014-03-11  Richard Biener  <rguenther@suse.de>
75         PR tree-optimization/60429
76         PR tree-optimization/60485
77         * tree-ssa-structalias.c (set_union_with_increment): Properly
78         take into account all fields that overlap the shifted vars.
79         (do_sd_constraint): Likewise.
80         (do_ds_constraint): Likewise.
81         (get_constraint_for_ptr_offset): Likewise.
83 2014-03-15  Eric Botcazou  <ebotcazou@adacore.com>
85         * config/sparc/sparc-protos.h (tls_call_delay): Delete.
86         (eligible_for_call_delay): New prototype.
87         * config/sparc/sparc.c (tls_call_delay): Rename into...
88         (eligible_for_call_delay): ...this.  Return false if the instruction
89         cannot be put in the delay slot of a branch.
90         (eligible_for_restore_insn): Simplify.
91         (eligible_for_return_delay): Return false if the instruction cannot be
92         put in the delay slot of a branch and simplify.
93         (eligible_for_sibcall_delay): Return false if the instruction cannot be
94         put in the delay slot of a branch.
95         * config/sparc/sparc.md (fix_ut699): New attribute.
96         (tls_call_delay): Delete.
97         (in_call_delay): Reimplement.
98         (eligible_for_sibcall_delay): Rename into...
99         (in_sibcall_delay): ...this.
100         (eligible_for_return_delay): Rename into...
101         (in_return_delay): ...this.
102         (in_branch_delay): Reimplement.
103         (in_uncond_branch_delay): Delete.
104         (in_annul_branch_delay): Delete.
106 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
108         Backport from 2014-03-14 trunk r208562.
110         PR target/59396
111         * config/avr/avr.c (avr_set_current_function): Pass function name
112         through default_strip_name_encoding before sanity checking instead
113         of skipping the first char of the assembler name.
115 2014-03-13  Georg-Johann Lay  <avr@gjlay.de>
117         Backport from 2014-03-13 trunk r208532.
118         
119         PR target/60486
120         * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
121         calls of avr_out_plus_1.
123 2014-03-13  Joey Ye  <joey.ye@arm.com>
125         Backport from mainline
126         2014-03-12  Thomas Preud'homme  <thomas.preudhomme@arm.com>
128         PR tree-optimization/60454
129         * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
131 2014-03-06  Matthias Klose  <doko@ubuntu.com>
133         * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
134         MULTILIB_OSDIRNAMES is not defined.
136 2014-03-06  Jakub Jelinek  <jakub@redhat.com>
138         PR tree-optimization/60276
139         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Avoid
140         a -Wsign-compare warning.
142         * Makefile.in (tree-ssa-uninit.o): Depend on $(PARAMS_H).
144         Backport from mainline
145         2014-02-21  Jakub Jelinek  <jakub@redhat.com>
147         PR tree-optimization/56490
148         * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
149         * tree-ssa-uninit.c: Include params.h.
150         (compute_control_dep_chain): Add num_calls argument, return false
151         if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
152         num_calls to recursive call.
153         (find_predicates): Change dep_chain into normal array, add num_calls
154         variable and adjust compute_control_dep_chain caller.
155         (find_def_preds): Likewise.
157         2014-02-13  Jakub Jelinek  <jakub@redhat.com>
159         PR target/43546
160         * expr.c (compress_float_constant): If x is a hard register,
161         extend into a pseudo and then move to x.
163         2014-02-11  Richard Henderson  <rth@redhat.com>
164                     Jakub Jelinek  <jakub@redhat.com>
166         PR debug/59776
167         * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
168         around drhs if type conversion to lacc->type is not useless.
170         2014-02-08  Jakub Jelinek  <jakub@redhat.com>
172         PR ipa/60026
173         * ipa-cp.c (determine_versionability): Fail at -O0
174         or __attribute__((optimize (0))) or -fno-ipa-cp functions.
175         * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
177         2014-02-06  Jakub Jelinek  <jakub@redhat.com>
179         PR target/60062
180         * tree.h (opts_for_fn): New inline function.
181         (opt_for_fn): Define.
182         * config/i386/i386.c (ix86_function_regparm): Use
183         opt_for_fn (decl, optimize) instead of optimize.
185         2014-02-05  Jakub Jelinek  <jakub@redhat.com>
187         PR middle-end/57499
188         * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
189         bb with no successors.
191 2014-03-04  Richard Biener  <rguenther@suse.de>
193         PR tree-optimization/60382
194         * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
195         dead PHIs a reduction.
197 2014-02-25  Richard Biener  <rguenther@suse.de>
199         Backport from mainline
200         2014-02-21  Richard Biener  <rguenther@suse.de>
202         PR tree-optimization/60276
203         * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
204         (STMT_VINFO_MIN_NEG_DIST): New macro.
205         * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
206         STMT_VINFO_MIN_NEG_DIST.
207         * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
208         made for negative dependence distances still hold.
210 2014-02-25  Richard Biener  <rguenther@suse.de>
212         Backport from mainline
213         2014-02-21  Richard Biener  <rguenther@suse.de>
215         PR middle-end/60291
216         * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
217         DECL_INITIAL for globals not in the current function context.
219         2014-02-20  Richard Biener  <rguenther@suse.de>
221         PR middle-end/60221
222         * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
223         regions at -O0.
225         2014-02-14  Richard Biener  <rguenther@suse.de>
227         PR tree-optimization/60183
228         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
229         loads.
230         (tree_ssa_phiprop): Calculate and free post-dominators.
232 2014-02-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
234         PR target/55426
235         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
236         conversions.
238 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
240         * config/pa/pa.c (pa_output_move_double): Don't valididate when
241         adjusting offsetable addresses.
243 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
245         * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg names
247 2014-02-23  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
249         * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
250         definition.
252 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
254         * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
255         and define TARGET_ASM_OUTPUT_MI_THUNK and
256         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
258 2014-02-23  David Holsgrove <david.holsgrove@xilinx.com>
260         * config/microblaze/predicates.md: Add cmp_op predicate.
261         * config/microblaze/microblaze.md: Add branch_compare instruction 
262         which uses cmp_op predicate and emits cmp insn before branch.
263         * config/microblaze/microblaze.c (microblaze_emit_compare): Rename 
264         to microblaze_expand_conditional_branch and consolidate logic.
265         (microblaze_expand_conditional_branch): emit branch_compare
266         insn instead of handling cmp op separate from branch insn.
268 2014-02-21  Martin Jambor  <mjambor@suse.cz>
270         PR ipa/55260
271         * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
272         info when checking whether lattices are bottom.
274 2014-02-21  Jakub Jelinek  <jakub@redhat.com>
276         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
277         mode for mask of V8SFmode permutation.
279 2014-02-20  Richard Henderson  <rth@redhat.com>
281         PR c++/60272
282         * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
283         on failure the store back into EXPECT.  Always make a new pseudo for
284         OLDVAL.
286 2014-02-20  Jakub Jelinek  <jakub@redhat.com>
288         PR target/57896
289         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
290         gen_reg_rtx if d->testing_p.
291         (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
292         expand_vec_perm_broadcast_1): Return early if d->testing_p and
293         we will certainly return true.
295 2014-02-20  Richard Biener  <rguenther@suse.de>
297         * tree-cfg.c (replace_uses_by): Mark altered BBs before
298         doing the substitution.
300 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
302         Backport from mainline
303         2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
305         PR target/60207
306         * config/i386/i386.c (construct_container): Remove TFmode check
307         for X86_64_INTEGER_CLASS.
309 2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
311         Backport from mainline
312         2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
314         PR target/59794
315         * config/i386/i386.c (type_natural_mode): Warn for ABI changes
316         only when -Wpsabi is enabled.
318 2014-02-19  Terry Guo  <terry.guo@arm.com>
320         Backport from mainline
321         2014-02-08  Terry Guo  <terry.guo@arm.com>
323         * doc/invoke.texi: Document ARM -march=armv7e-m.
325 2014-02-18  Kai Tietz  <ktietz@redhat.com>
327         Backport from mainline
328         2014-02-18  Kai Tietz  <ktietz@redhat.com>
330         PR target/60193
331         * config/i386/i386.c (ix86_expand_prologue): Use
332         rax register as displacement for restoring %r10, %rax.
333         Additional fix wrong offset for restoring both-registers.
335 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
337         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
338         assertion with conditional return.
340 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
341             Uros Bizjak  <ubizjak@gmail.com>
343         PR driver/60233
344         * config/i386/driver-i386.c (host_detect_local_cpu): If
345         YMM state is not saved by the OS, also clear has_f16c.  Move
346         CPUID 0x80000001 handling before YMM state saving checking.
348 2014-02-14  Roland McGrath  <mcgrathr@google.com>
350         * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
351         * configure: Regenerated.
352         * config.in: Regenerated.
353         * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
354         instead of ASM_SHORT.
356 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
358         Backport from mainline
359         2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
361         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
362         operands[2], not operands[3].
364 2014-02-13  Dominik Vogt  <vogt@linux.vnet.ibm.com>
366         * config/s390/s390.c (s390_asm_output_function_label): Fix crash
367         caused by bad second argument to warning_at() with -mhotpatch and
368         nested functions (e.g. with gfortran).
370 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
372         Backport from mainline
373         2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
374                     Uros Bizjak  <ubizjak@gmail.com>
376         PR target/60151
377         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
379 2014-02-12  Eric Botcazou  <ebotcazou@adacore.com>
381         PR rtl-optimization/60116
382         * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
383         other_insn once the combination has been validated.
385 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
387         * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
388         * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
390 2014-02-10  Nagaraju Mekala <nagaraju.mekala@xilinx.com>
392         * config/microblaze/microblaze.c: Extend mcpu version format
394 2014-02-10  David Holsgrove <david.holsgrove@xilinx.com>
396         * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
398 2014-02-10  Richard Biener  <rguenther@suse.de>
400         Backport from mainline
401         2014-01-30  Richard Biener  <rguenther@suse.de>
403         PR tree-optimization/59903
404         * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
405         check properly.
407         2014-02-10  Richard Biener  <rguenther@suse.de>
409         PR tree-optimization/60115
410         * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
411         MEM_REF handling.  Properly verify that the accesses are not
412         out of the objects bound.
414 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
416         Backport from mainline.
417         2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
419         PR target/59718
420         * doc/invoke.texi (-march): Clarify documentation for ARM.
421         (-mtune): Likewise.
422         (-mcpu): Likewise.
424 2014-02-04  John David Anglin  <danglin@gcc.gnu.org>
426         PR target/59777
427         * config/pa/pa.c (legitimize_tls_address): Return original address
428         if not passed a SYMBOL_REF rtx.
429         (hppa_legitimize_address): Call legitimize_tls_address for all TLS
430         addresses.
431         (pa_emit_move_sequence): Simplify TLS source operands.
432         (pa_legitimate_constant_p): Reject all TLS constants.
433         * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
434         (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
436 2014-02-04  Uros Bizjak  <ubizjak@gmail.com>
438         Backport from mainline
439         2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
441         PR target/60017
442         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
443         when calculating size of integer atomic types.
445 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
447         Backport from mainline
448         2014-01-30  Jakub Jelinek  <jakub@redhat.com>
450         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
452 2014-01-31  Richard Henderson  <rth@redhat.com>
454         PR middle-end/60004
455         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
456         until after else_eh is processed.
458 2014-01-30  David Holsgrove <david.holsgrove@xilinx.com>
460         Backport from mainline
461         * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
462         comparison_operator with ordered_comparison_operator.
464 2014-01-25  Walter Lee  <walt@tilera.com>
466         Backport from mainline
467         2014-01-25  Walter Lee  <walt@tilera.com>
469         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
470         avoid clobbering a live register.
472 2014-01-25  Walter Lee  <walt@tilera.com>
474         Backport from mainline
475         2014-01-25  Walter Lee  <walt@tilera.com>
477         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
478         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
479         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
480         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
482 2014-01-25  Walter Lee  <walt@tilera.com>
484         Backport from mainline
485         2014-01-25  Walter Lee  <walt@tilera.com>
487         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
488         insns before bundling.
489         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
491 2014-01-25  Walter Lee  <walt@tilera.com>
493         Backport from mainline
494         2014-01-25  Walter Lee  <walt@tilera.com>
496         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
497         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
498         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
500 2014-01-25  Walter Lee  <walt@tilera.com>
502         Backport from mainline
503         2014-01-25  Walter Lee  <walt@tilera.com>
505         * config/tilepro/tilepro.md (ctzdi2): Use register_operand
506         predicate.
507         (clzdi2): Ditto.
508         (ffsdi2): Ditto.
510 2014-01-25  Walter Lee  <walt@tilera.com>
512         Backport from mainline
513         2014-01-25  Walter Lee  <walt@tilera.com>
515         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
516         (TARGET_EXPAND_TO_RTL_HOOK): Define.
518 2014-01-24  H.J. Lu  <hongjiu.lu@intel.com>
520         Backport from mainline
521         2014-01-23  H.J. Lu  <hongjiu.lu@intel.com>
523         PR target/59929
524         * config/i386/i386.md (pushsf splitter): Get stack adjustment
525         from push operand if code of push isn't PRE_DEC.
527 2014-01-23  David Holsgrove <david.holsgrove@xilinx.com>
529         Backport from mainline.
530         * config/microblaze/microblaze.md: Add trap insn and attribute
532 2014-01-23  Marek Polacek  <polacek@redhat.com>
534         Backport from mainline
535         2013-10-21  Marek Polacek  <polacek@redhat.com>
537         PR middle-end/58809
538         * fold-const.c (fold_range_test): Return 0 if the type is not
539         an integral type.
541 2014-01-22  David Holsgrove <david.holsgrove@xilinx.com>
543         * config/microblaze/microblaze.md: Correct bswaphi2 insn.
545 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
547         Backport from mainline
548         2014-01-20  Uros Bizjak  <ubizjak@gmail.com>
550         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
551         for SImode_address_operand operands, having only a REG argument.
553         2014-01-20  Jakub Jelinek  <jakub@redhat.com>
555         PR target/59880
556         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
557         if operands[1] is a REG or ZERO_EXTEND of a REG.
559         2014-01-18  Uros Bizjak  <ubizjak@gmail.com>
560                     H.J. Lu  <hongjiu.lu@intel.com>
562         PR target/59379
563         * config/i386/i386.md (*lea<mode>): Zero-extend return register
564         to DImode for zero-extended addresses.
566 2014-01-21  Andrew Pinski <apinski@cavium.com>
567             Steve Ellcey  <sellcey@mips.com>
569         PR target/59462
570         * config/mips/mips.c (mips_print_operand): Check operand mode instead
571         of operator mode.
573 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
575         Backport from mainline
576         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
578         PR rtl-optimization/57422
579         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
580         add_to_hard_reg_set.
582 2014-01-20  Jakub Jelinek  <jakub@redhat.com>
584         PR middle-end/59860
585         * tree.h (fold_builtin_strcat): New prototype.
586         * builtins.c (fold_builtin_strcat): No longer static.  Add len
587         argument, if non-NULL, don't call c_strlen.  Optimize
588         directly into __builtin_memcpy instead of __builtin_strcpy.
589         (fold_builtin_2): Adjust fold_builtin_strcat caller.
590         * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
592 2014-01-20  Richard Biener  <rguenther@suse.de>
594         PR middle-end/59860
595         * builtins.c (fold_builtin_strcat): Remove case better handled
596         by tree-ssa-strlen.c.
598 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
600         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
601         long non-pic millicode calls.
603 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
605         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
606         call to $$dyncall when TARGET_LONG_CALLS is true.
608 2014-01-17  H.J. Lu  <hongjiu.lu@intel.com>
610         Backport from mainline
611         2014-01-14  H.J. Lu  <hongjiu.lu@intel.com>
613         PR target/59794
614         * config/i386/i386.c (type_natural_mode): Add a bool parameter
615         to indicate if type is used for function return value.  Warn
616         ABI change if the vector mode isn't available for function
617         return value.
618         (ix86_function_arg_advance): Pass false to type_natural_mode.
619         (ix86_function_arg): Likewise.
620         (ix86_gimplify_va_arg): Likewise.
621         (function_arg_32): Don't warn ABI change.
622         (ix86_function_value): Pass true to type_natural_mode.
623         (ix86_return_in_memory): Likewise.
624         (ix86_struct_value_rtx): Removed.
625         (TARGET_STRUCT_VALUE_RTX): Likewise.
627 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
629         Backport from mainline
630         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
632         PR target/59142
633         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
634         patterns.
635         * config/arm/ldmstm.md: Regenerate.
637         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
639         PR target/59142
640         * config/arm/predicates.md (arm_hard_general_register_operand):
641         New predicate.
642         (arm_hard_register_operand): Remove.
643         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
644         for all patterns.
645         * config/arm/ldmstm.md: Regenerate.
647         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
649         PR target/59142
650         * config/arm/predicates.md (vfp_hard_register_operand): New predicate.
651         * config/arm/arm.md (vfp_pop_multiple_with_writeback): Use
652         vfp_hard_register_operand.
654 2014-01-17  Kugan Vivekanandarajah  <kuganv@linaro.org>
656         Backport from mainline
657         2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
658             Kugan Vivekanandarajah  <kuganv@linaro.org>
660         PR target/59695
661         * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
662         truncation.
664 2014-01-17  Terry Guo  <terry.guo@arm.com>
666         PR target/59826
667         * config/arm/arm.md (prefetch): Set insn type attribute to load1.
669 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
671         PR target/59839
672         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
673         satisfy operand 0 predicate for gathers, use a new pseudo as
674         subtarget.
676 2014-01-16  Richard Henderson <rth@redhat.com>
678         PR debug/54694
679         * reginfo.c (global_regs_decl): Globalize.
680         * rtl.h (global_regs_decl): Declare.
681         * ira.c (do_reload): Diagnose frame_pointer_needed and it
682         reserved via global_regs.
684 2014-01-16  Peter Bergner  <bergner@vnet.ibm.com>
686         Backport from mainline
687         2014-01-15  Uros Bizjak  <ubizjak@gmail.com>
689         * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
690         VALID_AVX256_REG_OR_OI_MODE.
692         2013-09-05  Peter Bergner  <bergner@vnet.ibm.com>
694         PR target/58139
695         * reginfo.c (choose_hard_reg_mode): Scan through all mode classes
696         looking for widest mode.
698 2014-01-16  Marek Polacek  <polacek@redhat.com>
700         Backported from mainline
701         2014-01-16  Marek Polacek  <polacek@redhat.com>
703         PR middle-end/59827
704         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
705         it is error_mark_node.
707 2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
709         PR target/59803
710         * config/s390/s390.c (s390_preferred_reload_class): Don't return
711         ADDR_REGS for invalid symrefs in non-PIC code.
713 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
715         Revert:
716         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
718         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
719         from prefetch_block tune setting.
721 2014-01-13  Jakub Jelinek  <jakub@redhat.com>
723         Backported from mainline
724         2014-01-10  Jakub Jelinek  <jakub@redhat.com>
726         PR tree-optimization/59745
727         * tree-predcom.c (tree_predictive_commoning_loop): Call
728         free_affine_expand_cache if giving up because components is NULL.
730 2014-01-10  Yufeng Zhang  <yufeng.zhang@arm.com>
732         * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
733         with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
734         rtx is const0_rtx or not.
736 2014-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
738         * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
739         extraction in good case.
741 2014-01-10  Huacai Chen  <chenhc@lemote.com>
743         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
744         kernel strings for Loongson-2E/2F/3A.
746 2014-01-10  Richard Biener  <rguenther@suse.de>
748         PR tree-optimization/59715
749         * tree-flow.h (split_critical_edges): Declare.
750         * tree-cfg.c (split_critical_edges): Export.
751         * tree-ssa-sink.c (execute_sink_code): Split critical edges.
753 2014-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
755         * config/mips/mips.h (ISA_HAS_WSBH): Define.
756         * config/mips/mips.md (UNSPEC_WSBH, UNSPEC_DSBH, UNSPEC_DSHD): New
757         constants.
758         (bswaphi2, bswapsi2, bswapdi2, wsbh, dsbh, dshd): New patterns.
760 2014-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
762         PR rtl-optimization/59137
763         * reorg.c (steal_delay_list_from_target): Call update_block for
764         elided insns.
765         (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
767 2014-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
769         Revert:
770         2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
772         * config/mips/mips.c (mips_truncated_op_cost): New function.
773         (mips_rtx_costs): Adjust test for BADDU.
774         * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
776         2012-10-02  Richard Sandiford  <rdsandiford@googlemail.com>
778         * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
779         (*baddu_si): ...this new pattern.
781 2014-01-09  Richard Biener  <rguenther@suse.de>
783         Backport from mainline
784         2013-11-18  Richard Biener  <rguenther@suse.de>
786         PR tree-optimization/59125
787         PR tree-optimization/54570
788         * tree-ssa-sccvn.c (copy_reference_ops_from_ref): When inlining
789         is not complete do not treat component-references with offset zero
790         but different fields as equal.
791         * tree-object-size.c: Include tree-phinodes.h and ssa-iterators.h.
792         (compute_object_sizes): Apply TLC.  Propagate the constant
793         results into all uses and fold their stmts.
794         * passes.def (pass_all_optimizations): Move pass_object_sizes
795         after the first pass_forwprop and before pass_fre.
797         2013-12-03  Jakub Jelinek  <jakub@redhat.com>
799         PR tree-optimization/59362
800         * tree-object-size.c (object_sizes): Change into array of
801         vec<unsigned HOST_WIDE_INT>.
802         (compute_builtin_object_size): Check computed bitmap for
803         non-NULL instead of object_sizes.  Call safe_grow on object_sizes
804         vector if new SSA_NAMEs appeared.
805         (init_object_sizes): Check computed bitmap for non-NULL.
806         Call safe_grow on object_sizes elements instead of initializing
807         it with XNEWVEC.
808         (fini_object_sizes): Call release on object_sizes elements, don't
809         set it to NULL.
811 2014-01-09  Richard Earnshaw  <rearnsha@arm.com>
813         PR rtl-optimization/54300
814         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
815         outputs in a single-set are killed from the value chains.
817 2014-01-09  Jakub Jelinek  <jakub@redhat.com>
819         PR rtl-optimization/59724
820         * ifcvt.c (cond_exec_process_if_block): Don't call
821         flow_find_head_matching_sequence with 0 longest_match.
822         * cfgcleanup.c (flow_find_head_matching_sequence): Count even
823         non-active insns if !stop_after.
824         (try_head_merge_bb): Revert 2014-01-07 changes.
826 2014-01-09  Hans-Peter Nilsson  <hp@axis.com>
828         Backport from mainline
829         2013-12-23  Hans-Peter Nilsson  <hp@axis.com>
831         PR middle-end/59584
832         * config/cris/predicates.md (cris_nonsp_register_operand):
833         New define_predicate.
834         * config/cris/cris.md: Replace register_operand with
835         cris_nonsp_register_operand for destinations in all
836         define_splits where a register is set more than once.
838 2014-01-08   H.J. Lu  <hongjiu.lu@intel.com>
840         Backport from mainline
841         2013-12-25   H.J. Lu  <hongjiu.lu@intel.com>
843         PR target/59587
844         * config/i386/i386.c (struct ptt): Add a field for processor name.
845         (processor_target_table): Sync with processor_type.  Add
846         processor names.
847         (cpu_names): Removed.
848         (ix86_option_override_internal): Default x_ix86_tune_string
849         to processor_target_table[TARGET_CPU_DEFAULT].name.
850         (ix86_function_specific_print): Assert arch and tune <
851         PROCESSOR_max.  Use processor_target_table to print arch and
852         tune names.
853         * config/i386/i386.h (TARGET_CPU_DEFAULT): Default to
854         PROCESSOR_GENERIC32.
855         (target_cpu_default): Removed.
856         (processor_type): Reordered.
858 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
860         Backport from mainline
861         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
863         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
864         from prefetch_block tune setting.
865         (nocona_cost): Correct size of prefetch block to 64.
867 2014-01-08  Martin Jambor  <mjambor@suse.cz>
869         PR ipa/59610
870         * ipa-prop.c (ipa_compute_jump_functions): Bail out if not optimizing.
871         (parm_preserved_before_stmt_p): Assume modification present when not
872         optimizing.
874 2014-01-07  John David Anglin  <danglin@gcc.gnu.org>
876         PR target/59652
877         * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
878         for 14-bit register offsets when INT14_OK_STRICT is false.
880 2014-01-07  Roland Stigge  <stigge@antcom.de>
881             Michael Meissner  <meissner@linux.vnet.ibm.com>
883         PR 57386/target
884         * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
885         Only check TFmode for SPE constants.  Don't check TImode or TDmode.
887 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
889         PR rtl-optimization/58668
890         * cfgcleanup.c (flow_find_cross_jump): Don't count
891         any jumps if dir_p is NULL.  Remove p1 variable and make USE/CLOBBER
892         check consistent with other places.
893         (flow_find_head_matching_sequence): Don't count USE or CLOBBER insns.
894         (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
895         counting change.
896         * ifcvt.c (count_bb_insns): Don't count USE or CLOBBER insns.
898 2014-01-07  Mike Stump  <mikestump@comcast.net>
899             Jakub Jelinek  <jakub@redhat.com>
901         PR pch/59436
902         * tree.h (struct tree_optimization_option): Change optabs
903         type from unsigned char * to void *.
904         * optabs.c (init_tree_optimization_optabs): Adjust
905         TREE_OPTIMIZATION_OPTABS initialization.
907 2014-01-07  Jakub Jelinek  <jakub@redhat.com>
909         Backported from mainline
910         2013-12-16  Jakub Jelinek  <jakub@redhat.com>
912         PR middle-end/58956
913         PR middle-end/59470
914         * gimple.h (walk_stmt_load_store_addr_fn): New typedef.
915         (walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Use it
916         for callback params.
917         * gimple.c (walk_stmt_load_store_ops): Likewise.
918         (walk_stmt_load_store_addr_ops): Likewise.  Adjust all callback
919         calls to supply the gimple operand containing the base tree
920         as an extra argument.
921         * tree-ssa-ter.c (find_ssaname, find_ssaname_in_store): New helper
922         functions.
923         (find_replaceable_in_bb): For calls or GIMPLE_ASM, only set
924         same_root_var if USE is used somewhere in the stores of the stmt.
925         * ipa-prop.c (visit_ref_for_mod_analysis): Remove name of the stmt
926         argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
927         * ipa-pure-const.c (check_load, check_store, check_ipa_load,
928         check_ipa_store): Likewise.
929         * gimple.c (gimple_ior_addresses_taken_1): Likewise.
930         * ipa-split.c (test_nonssa_use, mark_nonssa_use): Likewise.
931         (verify_non_ssa_vars, visit_bb): Adjust their callers.
932         * cfgexpand.c (add_scope_conflicts_1): Use
933         walk_stmt_load_store_addr_fn type for visit variable.
934         (visit_op, visit_conflict): Remove name of the stmt
935         argument and ATTRIBUTE_UNUSED, add another unnamed tree argument.
936         * tree-sra.c (asm_visit_addr): Likewise.  Remove name of the data
937         argument and ATTRIBUTE_UNUSED.
938         * cgraphbuild.c (mark_address, mark_load, mark_store): Add another
939         unnamed tree argument.
941 2014-01-03  Andreas Schwab  <schwab@linux-m68k.org>
943         * config/m68k/m68k.c (handle_move_double): Handle pushes with
944         overlapping registers also for registers other than the stack
945         pointer.
947 2014-01-03  Jakub Jelinek  <jakub@redhat.com>
949         PR target/59625
950         * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
951         asm goto as jump.
953 2014-01-01  Jakub Jelinek  <jakub@redhat.com>
955         PR rtl-optimization/59647
956         * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
957         new_rtx into UNSIGNED_FLOAT rtxes.
959 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
961         * doc/invoke.texi (output file options): Document -fada-spec-parent.
963 2013-12-26  Uros Bizjak  <ubizjak@gmail.com>
965         * config/i386/driver-i386.c (decode_caches_intel): Add missing entries.
967 2013-12-20  Jakub Jelinek  <jakub@redhat.com>
969         PR c++/59255
970         Backported from mainline
971         2013-08-19  Dehao Chen  <dehao@google.com>
973         * value-prof.c (gimple_ic): Fix the bug of adding EH edge.
975 2013-12-19  James Greenhalgh  <james.greenhalgh@arm.com>
977         Backport from Mainline.
978         2013-05-01  James Greenhalgh  <james.greenhalgh@arm.com>
980         * config/aarch64/aarch64-simd-builtins.def (cmhs): Rename to...
981         (cmgeu): ...This.
982         (cmhi): Rename to...
983         (cmgtu): ...This.
984         * config/aarch64/aarch64-simd.md
985         (simd_mode): Add SF.
986         (aarch64_vcond_internal): Use new names for unsigned comparison insns.
987         (aarch64_cm<optab><mode>): Rewrite to not use UNSPECs.
988         * config/aarch64/aarch64.md (*cstore<mode>_neg): Rename to...
989         (cstore<mode>_neg): ...This.
990         * config/aarch64/iterators.md
991         (VALLF): new.
992         (unspec): Remove UNSPEC_CM<EQ, LE, LT, GE, GT, HS, HI, TST>.
993         (COMPARISONS): New.
994         (UCOMPARISONS): Likewise.
995         (optab): Add missing comparisons.
996         (n_optab): New.
997         (cmp_1): Likewise.
998         (cmp_2): Likewise.
999         (CMP): Likewise.
1000         (cmp): Remove.
1001         (VCMP_S): Likewise.
1002         (VCMP_U): Likewise.
1003         (V_cmp_result): Add DF, SF modes.
1004         (v_cmp_result): Likewise.
1005         (v): Likewise.
1006         (vmtype): Likewise.
1007         * config/aarch64/predicates.md (aarch64_reg_or_fp_zero): New.
1009         Partial Backport from mainline.
1010         2013-05-01  James Greenhalgh  <james.greenhalgh@arm.com>
1012         * config/aarch64/arm_neon.h
1013         (vc<eq, lt, le, gt, ge, tst><qsd>_<u><8,16,32,64>): Remap
1014         to builtins or C as appropriate.
1016 2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1017             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1019         Backport from mainline
1020         2013-12-19  Dominik Vogt  <vogt@linux.vnet.ibm.com>
1021         * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default): New
1022         constant
1023         (s390_hotpatch_trampoline_halfwords_max): New constant
1024         (s390_hotpatch_trampoline_halfwords): New static variable
1025         (get_hotpatch_attribute): New function
1026         (s390_handle_hotpatch_attribute): New function
1027         (s390_attribute_table): New target specific attribute table to implement
1028         the hotpatch attribute
1029         (s390_option_override): Parse hotpatch options
1030         (s390_function_num_hotpatch_trampoline_halfwords): New function
1031         (s390_can_inline_p): Implement target hook to
1032         suppress hotpatching for explicitly inlined functions
1033         (s390_asm_output_function_label): Generate hotpatch prologue
1034         (TARGET_ATTRIBUTE_TABLE): Define to implement target attribute table
1035         (TARGET_CAN_INLINE_P): Define to implement target hook
1036         * config/s390/s390.opt (mhotpatch): New options -mhotpatch, -mhotpatch=
1037         * config/s390/s390-protos.h (s390_asm_output_function_label): Add
1038         prototype
1039         * config/s390/s390.h (ASM_OUTPUT_FUNCTION_LABEL): Target specific
1040         function label generation for hotpatching
1041         (FUNCTION_BOUNDARY): Align functions to eight bytes
1042         * doc/extend.texi: Document hotpatch attribute
1043         * doc/invoke.texi: Document -mhotpatch option
1045 2013-12-18  Eric Botcazou  <ebotcazou@adacore.com>
1047         * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Fix thinko.
1049 2013-12-12  Vladimir Makarov  <vmakarov@redhat.com>
1051         PR middle-end/59470
1052         * lra-coalesce.c (lra_coalesce): Invalidate inheritance pseudo
1053         values if necessary.
1055 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
1057         PR libgomp/59467
1058         * gimplify.c (omp_check_private): Add copyprivate argument, if it
1059         is true, don't check omp_privatize_by_reference.
1060         (gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
1061         decl is private in outer context.  Adjust omp_check_private caller.
1063 2013-12-10  Eric Botcazou  <ebotcazou@adacore.com>
1065         PR rtl-optimization/58295
1066         * simplify-rtx.c (simplify_truncation): Restrict the distribution for
1067         WORD_REGISTER_OPERATIONS targets.
1069 2013-12-10  Kai Tietz  <ktietz@redhat.com>
1071         PR target/56807
1072         * config/i386/i386.c (ix86_expand_prologue): Address saved
1073         registers stack-relative, not via frame-pointer.
1075 2013-12-09  Alan Modra  <amodra@gmail.com>
1077         Apply from mainline
1078         2013-12-05  Alan Modra  <amodra@gmail.com>
1079         * configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for
1080         build != host.
1081         <recursive call for build != host>: Clear GMPINC.  Don't bother
1082         saving CFLAGS.
1083         * configure: Regenerate.
1085 2013-12-08  Uros Bizjak  <ubizjak@gmail.com>
1087         Backport from mainline
1088         2013-12-06  Uros Bizjak  <ubizjak@gmail.com>
1090         PR target/59405
1091         * config/i386/i386.c (type_natural_mode): Properly handle
1092         size 8 for !TARGET_64BIT.
1094 2013-12-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
1096         * config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.
1098 2013-12-06  Jakub Jelinek  <jakub@redhat.com>
1100         PR tree-optimization/59388
1101         * tree-ssa-reassoc.c (update_range_test): If op == range->exp,
1102         gimplify tem after stmt rather than before it.
1104 2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>
1106         Backport from mainline
1107         2013-11-26  Oleg Endo  <olegendo@gcc.gnu.org>
1109         PR target/58314
1110         PR target/50751
1111         * config/sh/sh.c (max_mov_insn_displacement, disp_addr_displacement):
1112         Prefix function names with 'sh_'.  Make them non-static.
1113         * config/sh/sh-protos.h (sh_disp_addr_displacement,
1114         sh_max_mov_insn_displacement): Add declarations.
1115         * config/sh/constraints.md (Q): Reject QImode.
1116         (Sdd): Use match_code "mem".
1117         (Snd): Fix erroneous matching of non-memory operands.
1118         * config/sh/predicates.md (short_displacement_mem_operand): New
1119         predicate.
1120         (general_movsrc_operand): Disallow PC relative QImode loads.
1121         * config/sh/sh.md (*mov<mode>_reg_reg): Remove it.
1122         (*movqi, *movhi): Merge both insns into...
1123         (*mov<mode>): ... this new insn.  Replace generic 'm' constraints with
1124         'Snd' and 'Sdd' constraints.  Calculate insn length dynamically based
1125         on the operand types.
1127 2013-12-06  Richard Biener  <rguenther@suse.de>
1129         Backport from mainline
1130         2013-11-29  Richard Biener  <rguenther@suse.de>
1132         PR tree-optimization/59334
1133         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Fix bug
1134         in previous commit.
1136         2013-11-28  Richard Biener  <rguenther@suse.de>
1138         PR tree-optimization/59330
1139         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Simplify
1140         and fix delayed marking of free calls not necessary.
1142 2013-12-06  Richard Biener  <rguenther@suse.de>
1144         Backport from mainline
1145         2013-11-27  Richard Biener  <rguenther@suse.de>
1147         PR tree-optimization/59288
1148         * tree-vect-loop.c (get_initial_def_for_induction): Do not
1149         re-analyze the PHI but use STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
1151         2013-11-19  Richard Biener  <rguenther@suse.de>
1153         PR tree-optimization/59164
1154         * tree-vect-loop.c (vect_analyze_loop_operations): Adjust
1155         check whether we can create an epilogue loop to reflect the
1156         cases where we create one.
1158         2013-09-05  Richard Biener  <rguenther@suse.de>
1160         PR tree-optimization/58137
1161         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
1162         Do not create vectors of pointers.
1163         * tree-vect-loop.c (get_initial_def_for_induction): Use proper
1164         types for the components of the vector initializer.
1165         * tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
1166         allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.
1168 2013-12-06  Oleg Endo  <olegendo@gcc.gnu.org>
1170         PR target/51244
1171         PR target/59343
1172         * config/sh/sh.md (*cbranch_t): Check that there are no labels between
1173         the s1 insn and the testing insn.  Remove REG_DEAD note from s1 insn.
1175 2013-12-05  Richard Biener  <rguenther@suse.de>
1177         Backport from mainline
1178         2013-11-19  Richard Biener  <rguenther@suse.de>
1180         PR middle-end/58956
1181         * tree-ssa-ter.c (find_replaceable_in_bb): Avoid forwarding
1182         loads into stmts that may clobber it.
1184 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
1186         PR rtl-optimization/58726
1187         * combine.c (force_to_mode): Fix comment typo.  Don't destructively
1188         modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
1190 2013-12-04  Jakub Jelinek  <jakub@redhat.com>
1191             Uros Bizjak  <ubizjak@gmail.com>
1193         PR target/59163
1194         * config/i386/i386.c (ix86_legitimate_combined_insn): If for
1195         !TARGET_AVX there is misaligned MEM operand with vector mode
1196         and get_attr_ssememalign is 0, return false.
1197         (ix86_expand_special_args_builtin): Add get_pointer_alignment
1198         computed alignment and for non-temporal loads/stores also
1199         at least GET_MODE_ALIGNMENT as MEM_ALIGN.
1200         * config/i386/sse.md
1201         (<sse>_loadu<ssemodesuffix><avxsizesuffix>,
1202         <sse>_storeu<ssemodesuffix><avxsizesuffix>,
1203         <sse2>_loaddqu<avxsizesuffix>,
1204         <sse2>_storedqu<avxsizesuffix>, <sse3>_lddqu<avxsizesuffix>,
1205         sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
1206         sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
1207         *vec_interleave_highv2df, *vec_interleave_lowv2df,
1208         *vec_extractv2df_1_sse, sse2_loadhpd, sse2_loadlpd, sse2_movsd,
1209         sse4_1_<code>v8qiv8hi2, sse4_1_<code>v4qiv4si2,
1210         sse4_1_<code>v4hiv4si2, sse4_1_<code>v2qiv2di2,
1211         sse4_1_<code>v2hiv2di2, sse4_1_<code>v2siv2di2, sse4_2_pcmpestr,
1212         *sse4_2_pcmpestr_unaligned, sse4_2_pcmpestri, sse4_2_pcmpestrm,
1213         sse4_2_pcmpestr_cconly, sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned,
1214         sse4_2_pcmpistri, sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add
1215         ssememalign attribute.
1216         * config/i386/i386.md (ssememalign): New define_attr.
1218 2013-12-03  Jakub Jelinek  <jakub@redhat.com>
1220         PR middle-end/59011
1221         * gimplify.c (nonlocal_vla_vars): New variable.
1222         (gimplify_var_or_parm_decl): Put VAR_DECLs for VLAs into
1223         nonlocal_vla_vars chain.
1224         (gimplify_body): Call declare_vars on nonlocal_vla_vars chain
1225         if outer_bind has DECL_INITIAL (current_function_decl) block.
1227         PR target/58864
1228         * optabs.c (emit_conditional_move): Save and restore
1229         pending_stack_adjust and stack_pointer_delta if cmove can't be used.
1231 2013-12-02  Jakub Jelinek  <jakub@redhat.com>
1233         PR tree-optimization/59358
1234         * tree-vrp.c (union_ranges): To check for the partially
1235         overlapping ranges or adjacent ranges, also compare *vr0max
1236         with vr1max.
1238 2013-12-02  Richard Biener  <rguenther@suse.de>
1240         PR tree-optimization/59139
1241         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
1242         code in get_val_for.
1243         (get_val_for): Use gcc_checking_asserts.
1245 2013-11-27  Tom de Vries  <tom@codesourcery.com>
1246             Marc Glisse  <marc.glisse@inria.fr>
1248         PR middle-end/59037
1249         * fold-const.c (fold_indirect_ref_1): Don't create out-of-bounds
1250         BIT_FIELD_REF.
1251         * gimplify.c (gimple_fold_indirect_ref): Same.
1253 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
1255         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
1256         identifier node.
1258 2013-12-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1260         * expr.c (emit_group_store): Fix off-by-one BITFIELD_END argument.
1262 2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1264         Backport from mainline
1265         2013-11-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1267         * config/arm/iterators.md (vrint_conds): New int attribute.
1268         * config/arm/vfp.md (<vrint_pattern><SDF:mode>2): Set conds attribute.
1269         (smax<mode>3): Likewise.
1270         (smin<mode>3): Likewise.
1272 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
1274         Backport from mainline
1275         2013-11-27  Uros Bizjak  <ubizjak@gmail.com>
1276                     Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
1278         PR target/56788
1279         * gcc.target/i386/xop-frczX.c: New test.
1281 2013-11-28  Terry Guo  <terry.guo@arm.com>
1283         Backport mainline r205391
1284         2013-11-26  Terry Guo  <terry.guo@arm.com>
1286         * config/arm/arm.c (require_pic_register): Handle high pic base
1287         register for thumb-1.
1288         (arm_load_pic_register): Also initialize high pic base register.
1289         * doc/invoke.texi: Update documentation for option -mpic-register.
1291 2013-11-27  Jakub Jelinek  <jakub@redhat.com>
1293         Backported from mainline
1294         2013-11-26  Jakub Jelinek  <jakub@redhat.com>
1296         PR tree-optimization/59014
1297         * tree-vrp.c (register_edge_assert_for_1): Don't look
1298         through conversions from non-integral types or through
1299         narrowing conversions.
1301 2013-11-27  Eric Botcazou  <ebotcazou@adacore.com>
1303         PR middle-end/59138
1304         * expr.c (emit_group_store): Don't write past the end of the structure.
1305         (store_bit_field): Fix formatting.
1307 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1309         Backport from mainline
1310         2013-09-17  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1312         * config/sparc/t-rtems: Add leon3 multilibs.
1314 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1316         Backport from mainline
1317         2013-08-09  Eric Botcazou  <ebotcazou@adacore.com>
1319         * configure.ac: Add GAS check for LEON instructions on SPARC.
1320         * configure: Regenerate.
1321         * config.in: Likewise.
1322         * config.gcc (with_cpu): Remove sparc-leon*-* and deal with LEON in the
1323         sparc*-*-* block.
1324         * config/sparc/sparc.opt (LEON, LEON3): New masks.
1325         * config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Set to AS_LEON_FLAG
1326         for LEON or LEON3.
1327         (ASM_CPU_SPEC): Pass AS_LEON_FLAG if -mcpu=leon or -mcpu=leon3.
1328         (AS_LEON_FLAG): New macro.
1329         * config/sparc/sparc.c (sparc_option_override): Set MASK_LEON for leon
1330         and MASK_LEON3 for leon3 and unset them if HAVE_AS_LEON is not defined.
1331         Deal with LEON and LEON3 for the memory model.
1332         * config/sparc/sync.md (atomic_compare_and_swap<mode>): Enable if LEON3
1333         (atomic_compare_and_swap<mode>_1): Likewise.
1334         (*atomic_compare_and_swap<mode>_1): Likewise.
1336 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1338         Backport from mainline
1339         2013-07-23  Eric Botcazou  <ebotcazou@adacore.com>
1341         * doc/invoke.texi (SPARC Options): Document new leon3 processor value.
1343 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1345         Backport from mainline
1346         2013-07-22  Eric Botcazou  <ebotcazou@adacore.com>
1348         * config.gcc (sparc*-*-*): Accept leon3 processor.
1349         (sparc-leon*-*): Merge with sparc*-*-* and add leon3 support.
1350         * doc/invoke.texi (SPARC Options): Adjust -mfix-ut699 entry.
1351         * config/sparc/sparc-opts.h (enum processor_type): Add PROCESSOR_LEON3.
1352         * config/sparc/sparc.opt (enum processor_type): Add leon3.
1353         (mfix-ut699): Adjust comment.
1354         * config/sparc/sparc.h (TARGET_CPU_leon3): New define.
1355         (CPP_CPU32_DEFAULT_SPEC): Add leon3 support.
1356         (CPP_CPU_SPEC): Likewise.
1357         (ASM_CPU_SPEC): Likewise.
1358         * config/sparc/sparc.c (leon3_cost): New constant.
1359         (sparc_option_override): Add leon3 support.
1360         (mem_ref): New function.
1361         (sparc_gate_work_around_errata): Return true if -mfix-ut699 is enabled.
1362         (sparc_do_work_around_errata): Look into the instruction in the delay
1363         slot and adjust accordingly.  Add fix for the data cache nullify issues
1364         of the UT699.  Change insertion position for the NOP.
1365         * config/sparc/leon.md (leon_fpalu, leon_fpmds, write_buf): Delete.
1366         (leon3_load): New reservation.
1367         (leon_store): Bump latency to 2.
1368         (grfpu): New automaton.
1369         (grfpu_alu): New unit.
1370         (grfpu_ds): Likewise.
1371         (leon_fp_alu): Adjust.
1372         (leon_fp_mult): Delete.
1373         (leon_fp_div): Split into leon_fp_divs and leon_fp_divd.
1374         (leon_fp_sqrt): Split into leon_fp_sqrts and leon_fp_sqrtd.
1375         * config/sparc/sparc.md (cpu): Add leon3.
1376         * config/sparc/sync.md (atomic_exchangesi): Disable if -mfix-ut699.
1377         (swapsi): Likewise.
1378         (atomic_test_and_set): Likewise.
1379         (ldstub): Likewise.
1381 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1383         Backport from mainline
1384         2013-04-10  Steven Bosscher  <steven@gcc.gnu.org>
1386         * config/sparc/sparc.c: Include tree-pass.h.
1387         (TARGET_MACHINE_DEPENDENT_REORG): Do not redefine.
1388         (sparc_reorg): Rename to sparc_do_work_around_errata.  Move to
1389         head of file.  Change return type.  Split off gate function.
1390         (sparc_gate_work_around_errata): New function.
1391         (pass_work_around_errata): New pass definition.
1392         (insert_pass_work_around_errata) New pass insert definition to
1393         insert pass_work_around_errata just after delayed-branch scheduling.
1394         (sparc_option_override): Insert the pass.
1395         * config/sparc/t-sparc (sparc.o): Add TREE_PASS_H dependence.
1397 2013-11-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1399         Backport from mainline
1400         2013-05-28  Eric Botcazou  <ebotcazou@adacore.com>
1402         * doc/invoke.texi (SPARC Options): Document -mfix-ut699.
1403         * builtins.c (expand_builtin_mathfn) <BUILT_IN_SQRT>: Try to widen the
1404         mode if the instruction isn't available in the original mode.
1405         * config/sparc/sparc.opt (mfix-ut699): New option.
1406         * config/sparc/sparc.md (muldf3_extend): Disable if -mfix-ut699.
1407         (divdf3): Turn into expander.
1408         (divdf3_nofix): New insn.
1409         (divdf3_fix): Likewise.
1410         (divsf3): Disable if -mfix-ut699.
1411         (sqrtdf2): Turn into expander.
1412         (sqrtdf2_nofix): New insn.
1413         (sqrtdf2_fix): Likewise.
1414         (sqrtsf2): Disable if -mfix-ut699.
1416 2013-11-22  Eric Botcazou  <ebotcazou@adacore.com>
1418         * print-rtl.c (print_rtx) <case MEM>: Output a space if no MEM_EXPR.
1420 2013-11-21  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
1422         PR bootstrap/57683
1423         Backport from mainline: r197467 and r198999.
1424         2013-04-03  Jeff Law  <law@redhat.com>
1426         * Makefile.in (lra-constraints.o): Depend on $(OPTABS_H).
1427         (lra-eliminations.o): Likewise.
1429         2013-05-16  Jeff Law  <law@redhat.com>
1431         * Makefile.in (tree-switch-conversion.o): Depend on $(OPTABS_H).
1433 2013-11-20  Eric Botcazou  <ebotcazou@adacore.com>
1435         PR target/59207
1436         * config/sparc/sparc.c (sparc_fold_builtin) <case CODE_FOR_pdist_vis>:
1437         Make sure neg2_ovf is set before being used.
1439 2013-11-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1440             Dominik Vogt  <vogt@linux.vnet.ibm.com>
1442         Backport from mainline
1443         * config/s390/s390.c (s390_canonicalize_comparison): Don't fold
1444         int comparisons with an out of range condition code.
1445         (s390_optimize_nonescaping_tx): Skip empty BBs.
1446         Generate the new tbegin RTX when removing the FPR clobbers (with
1447         two SETs).
1448         (s390_expand_tbegin): Fix the retry loop counter.  Copy CC to the
1449         result before doing the retry calculations.
1450         (s390_init_builtins): Make tbegin "returns_twice" and tabort
1451         "noreturn".
1452         * config/s390/s390.md (UNSPECV_TBEGIN_TDB): New constant used for
1453         the TDB setting part of an tbegin.
1454         ("tbegin_1", "tbegin_nofloat_1"): Add a set for the TDB.
1455         ("tx_assist"): Set unused argument to an immediate zero instead of
1456         loading zero into a GPR and pass it as argument.
1457         * config/s390/htmxlintrin.h (__TM_simple_begin, __TM_begin):
1458         Remove inline and related attributes.
1459         (__TM_nesting_depth, __TM_is_user_abort, __TM_is_named_user_abort)
1460         (__TM_is_illegal, __TM_is_footprint_exceeded)
1461         (__TM_is_nested_too_deep, __TM_is_conflict): Fix format value
1462         check.
1464 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
1466         Backport from mainline
1467         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
1469         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
1470         ix86_address_subreg_operand.  Move subreg checks to
1471         ix86_validate_address_register.  Move address override check to
1472         ix86_legitimate_address_p.
1473         (ix86_validate_address_register): New function.
1474         (ix86_legitimate_address_p): Call ix86_validate_address_register
1475         to validate base and index registers.  Add address override check
1476         from ix86_decompose_address.
1477         (ix86_decompose_address): Remove.
1479         Backport from mainline
1480         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
1482         PR target/59153
1483         * config/i386/i386.c (ix86_address_subreg_operand): Do not
1484         reject non-integer subregs.
1485         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
1486         Move check for invalid x32 constant addresses ...
1487         (ix86_legitimate_address_p): ... here.
1489 2013-11-19  Richard Biener  <rguenther@suse.de>
1491         Backport from mainline
1492         2013-11-07  Richard Biener  <rguenther@suse.de>
1494         * tree-dfa.c (get_ref_base_and_extent): Fix casting.
1496 2013-11-19  Richard Biener  <rguenther@suse.de>
1498         PR tree-optimization/57517
1499         * tree-predcom.c (combinable_refs_p): Verify the combination
1500         is always executed when the refs are.
1502 2013-11-19  Richard Biener  <rguenther@suse.de>
1504         Backport from mainline
1505         2013-11-05  Richard Biener  <rguenther@suse.de>
1507         PR middle-end/58941
1508         * tree-dfa.c (get_ref_base_and_extent): Merge common code
1509         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
1510         process trailing array detection before diving into the
1511         view-converted object (and possibly apply some extra offset).
1513 2013-11-18  Richard Biener  <rguenther@suse.de>
1515         Backport from mainline
1516         2013-10-21  Richard Biener  <rguenther@suse.de>
1518         PR tree-optimization/58794
1519         * fold-const.c (operand_equal_p): Compare FIELD_DECL operand
1520         of COMPONENT_REFs with OEP_CONSTANT_ADDRESS_OF left in place.
1522         2013-10-21  Richard Biener  <rguenther@suse.de>
1524         PR middle-end/58742
1525         * fold-const.c (fold_binary_loc): Fold ((T) (X /[ex] C)) * C
1526         to (T) X for sign-changing conversions (or no conversion).
1528         2013-11-06  Richard Biener  <rguenther@suse.de>
1530         PR tree-optimization/58653
1531         * tree-predcom.c (ref_at_iteration): Rewrite to generate
1532         a MEM_REF.
1533         (prepare_initializers_chain): Adjust.
1535         PR tree-optimization/59047
1536         * tree-predcom.c (ref_at_iteration): Handle bitfield accesses
1537         properly.
1539         2013-10-15  Richard Biener  <rguenther@suse.de>
1541         PR tree-optimization/58143
1542         * tree-ssa-loop-im.c (arith_code_with_undefined_signed_overflow):
1543         New function.
1544         (rewrite_to_defined_overflow): Likewise.
1545         (move_computations_dom_walker::before_dom): Rewrite stmts
1546         with undefined signed overflow that are not always executed
1547         into unsigned arithmetic.
1549 2013-11-14  Uros Bizjak  <ubizjak@gmail.com>
1551         Backport from mainline
1552         2013-11-10  Uros Bizjak  <ubizjak@gmail.com>
1554         * mode-switching.c (optimize_mode_switching): Mark block as
1555         nontransparent, if last_mode at block exit is different from no_mode.
1557         Backport from mainline
1558         2013-11-06  Uros Bizjak  <ubizjak@gmail.com>
1560         PR target/59021
1561         * config/i386/i386.c (ix86_avx_u128_mode_needed): Require
1562         AVX_U128_DIRTY mode for call_insn RTXes that use AVX256 registers.
1563         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY mode for call_insn
1564         RTXes that return in AVX256 register.
1566 2013-11-14  Jakub Jelinek  <jakub@redhat.com>
1567             Uros Bizjak  <ubizjak@gmail.com>
1569         PR target/59101
1570         * config/i386/i386.md (*anddi_2): Only allow CCZmode if
1571         operands[2] satisfies_constraint_Z that might have bit 31 set.
1573 2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
1575         Backported from mainline
1576         2013-11-12  H.J. Lu  <hongjiu.lu@intel.com>
1578         PR target/59088
1579         * config/i386/i386.c (initial_ix86_tune_features): Set
1580         X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
1581         X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for m_HASWELL.
1583 2013-11-11  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1585         Backported from mainline
1586         2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1588         PR target/58854
1589         * config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage
1591 2013-11-11  Jakub Jelinek  <jakub@redhat.com>
1593         Backported from mainline
1594         2013-11-06  Jakub Jelinek  <jakub@redhat.com>
1596         PR middle-end/58970
1597         * expr.c (get_bit_range): Handle *offset == NULL_TREE.
1598         (expand_assignment): If *bitpos is negative, set *offset
1599         and adjust *bitpos, so that it is not negative.
1601         2013-11-05  Jakub Jelinek  <jakub@redhat.com>
1603         PR rtl-optimization/58997
1604         * loop-iv.c (iv_subreg): For IV_UNKNOWN_EXTEND, expect
1605         get_iv_value to be in iv->mode rather than iv->extend_mode.
1606         (iv_extend): Likewise.  Otherwise, if iv->extend != extend,
1607         use lowpart_subreg on get_iv_value before calling simplify_gen_unary.
1608         * loop-unswitch.c (may_unswitch_on): Make sure op[i] is in the right
1609         mode.
1611 2013-11-10  Karlson2k  <k2k@narod.ru>
1612             Kai Tietz  <ktietz@redhat.com>
1614         Merged from trunk
1615         PR plugins/52872
1616         * configure.ac: Adding for exported symbols check
1617         and for rdynamic-check executable-extension.
1618         * configure: Regenerated.
1620 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
1622         PR target/59034
1623         * config/i386/i386.md (push peepholer/splitter): Use Pmode
1624         with stack_pointer_rtx.
1626 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
1628         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
1630 2013-11-05  Jakub Jelinek  <jakub@redhat.com>
1632         PR tree-optimization/58984
1633         * ipa-prop.c (ipa_load_from_parm_agg_1): Add SIZE_P argument,
1634         set *SIZE_P if non-NULL on success.
1635         (ipa_load_from_parm_agg, ipa_analyze_indirect_call_uses): Adjust
1636         callers.
1637         (ipcp_transform_function): Likewise.  Punt if size of access
1638         is different from TYPE_SIZE on v->value's type.
1640 2013-11-03  H.J. Lu  <hongjiu.lu@intel.com>
1642         Backport from mainline
1643         2013-10-12  H.J. Lu  <hongjiu.lu@intel.com>
1645         PR target/58690
1646         * config/i386/i386.c (ix86_copy_addr_to_reg): New function.
1647         (ix86_expand_movmem): Replace copy_addr_to_reg with
1648         ix86_copy_addr_to_reg.
1649         (ix86_expand_setmem): Likewise.
1651 2013-10-29  Uros Bizjak  <ubizjak@gmail.com>
1653         Backport from mainline
1654         2013-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
1656         PR rtl-optimization/58079
1657         * combine.c (combine_simplify_rtx): Avoid using SUBST if
1658         simplify_comparison has widened a comparison with an integer.
1660 2013-10-29  Martin Jambor  <mjambor@suse.cz>
1662         PR middle-end/58789
1663         Backport from mainline
1664         2013-05-09  Martin Jambor  <mjambor@suse.cz>
1666         PR lto/57084
1667         * gimple-fold.c (canonicalize_constructor_val): Call
1668         cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
1670         Backport from mainline
1671         2013-03-16  Jan Hubicka  <jh@suse.cz>
1673         * cgraph.h (cgraph_get_create_real_symbol_node): Declare.
1674         * cgraph.c (cgraph_get_create_real_symbol_node): New function.
1675         * cgrpahbuild.c: Use cgraph_get_create_real_symbol_node instead
1676         of cgraph_get_create_node.
1677         * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1679 2013-10-28  Tom de Vries  <tom@codesourcery.com>
1681         * cfgexpand.c (gimple_expand_cfg): Remove test for parm_birth_insn.
1682         Don't commit insertions after NOTE_INSN_FUNCTION_BEG.
1684 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
1686         Backport from mainline
1687         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
1689         PR target/58779
1690         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
1691         Remove CCCmode handling.
1692         <case LTU>: Return 'c' suffix for CCCmode.
1693         <case GEU>: Return 'nc' suffix for CCCmode.
1694         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
1695         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
1696         (*sub<mode>3_cc_overflow): Ditto.
1697         (*subsi3_zext_cc_overflow): Ditto.
1699 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
1701         Backport from mainline
1702         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
1704         PR target/58792
1705         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
1706         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
1707         and SI_REG for 64bit SYSV ABI targets.
1709 2013-08-25  Richard Henderson  <rth@twiddle.net>
1711         PR rtl/58542
1712         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
1713         instead of create_convert_operand_to.
1714         (maybe_emit_sync_lock_test_and_set): Likewise.
1715         (expand_atomic_compare_and_swap): Likewise.
1716         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
1718 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1720         PR rtl-optimization/58831
1721         * alias.c (init_alias_analysis): At the beginning of each iteration, set
1722         the reg_seen[N] bit if static_reg_base_value[N] is non-null.
1724 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
1726         * recog.c (search_ofs): New static variable moved from...
1727         (peep2_find_free_register): ...here.
1728         (peephole2_optimize): Initialize it.
1730 2013-10-24  David Edelsohn  <dje.gcc@gmail.com>
1732         Backport from mainline
1733         2013-10-23  David Edelsohn  <dje.gcc@gmail.com>
1735         PR target/58838
1736         * config/rs6000/rs6000.md (mulsi3_internal1 and splitter): Add
1737         TARGET_32BIT final condition.
1738         (mulsi3_internal2 and splitter): Same.
1740 2013-10-23  Tom de Vries  <tom@codesourcery.com>
1742         PR tree-optimization/58805
1743         * tree-ssa-tail-merge.c (stmt_local_def): Add gimple_vdef check.
1745 2013-10-23  Richard Biener  <rguenther@suse.de>
1747         Backport from mainline
1748         2013-06-24  Richard Biener  <rguenther@suse.de>
1750         PR tree-optimization/57488
1751         * tree-ssa-pre.c (insert): Clear NEW sets before each iteration.
1753 2013-10-16  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
1755         Backport from mainline
1756         2013-10-16  Ganesh Gopalasubramanian
1757                     <Ganesh.Gopalasubramanian@amd.com>
1759         * config/i386/i386.c (ix86_option_override_internal): Enable FMA4
1760         for AMD bdver3.
1762 2013-10-16  Jakub Jelinek  <jakub@redhat.com>
1764         * BASE-VER: Set to 4.8.3.
1765         * DEV-PHASE: Set to prerelease.
1767 2013-10-16  Release Manager
1769         * GCC 4.8.2 released.
1771 2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
1773         Backport from mainline.
1774         2013-10-12  James Greenhalgh  <james.greenhalgh@arm.com>
1776         * config/aarch64/arm_neon.h
1777         (vtbx<1,3>_<psu>8): Fix register constriants.
1779 2013-10-10  Jakub Jelinek  <jakub@redhat.com>
1781         PR middle-end/58670
1782         * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
1783         if any labels are in FALLTHRU_BB, use a special label emitted
1784         immediately after the asm goto insn rather than label_rtx
1785         of the LABEL_DECL.
1786         (expand_asm_stmt): Adjust caller.
1787         * cfgrtl.c (commit_one_edge_insertion): Force splitting of
1788         edge if the last insn in predecessor is a jump with single successor,
1789         but it isn't simplejump_p.
1791 2013-10-09  Jakub Jelinek  <jakub@redhat.com>
1793         Backport from mainline
1794         2013-09-26  Richard Biener  <rguenther@suse.de>
1796         PR tree-optimization/58539
1797         * tree-vect-loop.c (vect_create_epilog_for_reduction): Honor
1798         the fact that debug statements are not taking part in loop-closed
1799         SSA construction.
1801 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1803         * config/s390/s390.c (s390_register_info): Make the call-saved FPR
1804         loop to work also for 31bit ABI.
1805         Save the stack pointer for frame_size > 0.
1807 2013-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1809         * config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
1810         ("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
1811         constraint letters from expanders.
1812         ("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
1813         retry count to general_operand.
1814         ("tabort"): Give operand 0 a mode.
1815         ("tabort_1"): Add mode and constraint letter for operand 0.
1816         * doc/extend.texi: Fix protoype of __builtin_non_tx_store.
1818 2013-10-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1820         Backport from mainline.
1822         PR target/58460
1823         * config/aarch64/aarch64.md (*add_<shift>_<mode>)
1824         (*add_<shift>_si_uxtw,*add_mul_imm_<mode>)
1825         (*sub_<shift>_<mode>)
1826         (*sub_<shift>_si_uxtw,*sub_mul_imm_<mode>, *sub_mul_imm_si_uxtw):
1827         Remove k constraint.
1829 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
1831         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
1833 2013-10-01  Jakub Jelinek  <jakub@redhat.com>
1834             Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
1836         PR target/58574
1837         * config/s390/s390.c (s390_chunkify_start): Handle tablejump_p first,
1838         continue when done, for other jumps look through PARALLEL
1839         unconditionally.
1841 2013-09-30  Jakub Jelinek  <jakub@redhat.com>
1843         PR middle-end/58564
1844         * fold-const.c (fold_ternary_loc): For A < 0 : <sign bit of A> : 0
1845         optimization, punt if sign_bit_p looked through any zero extension.
1847 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1849         Backport from mainline.
1851         PR middle-end/58463
1852         2013-03-27  Richard Biener  <rguenther@suse.de>
1854         PR tree-optimization/56716
1855         * tree-ssa-structalias.c (perform_var_substitution): Adjust
1856         dumping for ref nodes.
1858 2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1860         Backport from mainline.
1862         2013-09-27  Paulo Matos  <pmatos@broadcom.com>
1863         PR middle-end/58463
1864         * gcc.dg/pr58463.c: New test.
1866 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
1868         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
1869         assignment statements.
1871 2013-09-23  Alan Modra  <amodra@gmail.com>
1873         PR target/58330
1874         * config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
1876 2013-09-23  Alan Modra  <amodra@gmail.com>
1878         * config/rs6000/predicates.md (add_cint_operand): New.
1879         (reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
1880         * config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
1881         using add_cint_operand.
1882         (largetoc_high_plus_aix): Likewise.
1883         * config/rs6000/rs6000.c (toc_relative_expr_p): Use add_cint_operand.
1885 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
1887         PR middle-end/56791
1888         * config/pa/pa.c (pa_option_override): Disable auto increment and
1889         decrement instructions until reload is completed.
1891         * config/pa/pa.md: In "scc" insn patterns, change output template to
1892         handle const0_rtx in reg_or_0_operand operands.
1894 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
1896         * omp-low.c (expand_omp_sections): Always pass len - 1 to
1897         GOMP_sections_start, even if !exit_reachable.
1899 2013-09-18  Richard Earnshaw  <rearnsha@arm.com>
1901         * arm.c (arm_expand_prologue): Validate architecture supports
1902         LDRD/STRD before accepting tuning preferences.
1903         (arm_expand_epilogue): Likewise.
1905 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
1906             Paolo Carlini  <paolo.carlini@oracle.com>
1908         PR c++/58458
1909         * doc/implement-cxx.texi: Fix references to the C++ standards.
1911 2013-09-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1913         PR tree-optimization/58088
1914         * fold-const.c (mask_with_trailing_zeros): New function.
1915         (fold_binary_loc): Make sure we don't recurse infinitely
1916         when the X in (X & C1) | C2 is a tree of the form (Y * K1) & K2.
1917         Use mask_with_trailing_zeros where appropriate.
1919 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
1921         PR target/58382
1922         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
1923         calls to word_mode.
1925 2013-09-13  Christian Bruel  <christian.bruel@st.com>
1927         PR target/58314
1928         * config/sh/sh.md (mov<mode>_reg_reg): Allow memory reloads.
1930 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1932         Backport from mainline
1933         * doc/extend.texi: Use __atomic_store_n instead of
1934         __atomic_store in HLE example.
1936 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1938         Backport from mainline
1939         * doc/extend.texi: Dont use __atomic_clear in HLE
1940         example.  Fix typo.
1942 2013-09-11  Andi Kleen  <ak@linux.intel.com>
1944         Backport from mainline
1945         * doc/extend.texi: Document that __atomic_clear and
1946           __atomic_test_and_set should only be used with bool.
1948 2013-09-11  Richard Biener  <rguenther@suse.de>
1950         PR middle-end/58377
1951         * passes.c (init_optimization_passes): Split critical edges
1952         before late uninit warning pass in the -Og pipeline.
1954 2013-09-11  Jakub Jelinek  <jakub@redhat.com>
1956         PR tree-optimization/58385
1957         * fold-const.c (build_range_check): If both low and high are NULL,
1958         use omit_one_operand_loc to preserve exp side-effects.
1960 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
1962         PR target/58361
1963         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
1964         support conditional execution.
1965         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
1967 2013-09-10  Jakub Jelinek  <jakub@redhat.com>
1969         PR rtl-optimization/58365
1970         * cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
1971         resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
1972         it differs.
1974 2013-09-09  Jakub Jelinek  <jakub@redhat.com>
1976         PR tree-optimization/58364
1977         * tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
1978         BOOLEAN_TYPE, only invert in_p and continue with arg0 if
1979         the current range can't be an unconditional true or false.
1981 2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1983         PR target/57735
1984         Backport from mainline
1985         2013-04-30  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
1987         * explow.c (plus_constant): Pass "mode" to immed_double_int_const.
1988         Use gen_int_mode rather than GEN_INT.
1990 2013-09-09  Richard Biener  <rguenther@suse.de>
1992         Backport from mainline
1993         2013-08-27  Richard Biener  <rguenther@suse.de>
1995         PR tree-optimization/57521
1996         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
1997         one edge is non-critical.
1998         (find_phi_replacement_condition): Make sure to use a non-critical
1999         edge.  Cleanup and remove old bug workarounds.
2000         (bb_postdominates_preds): Remove.
2001         (if_convertible_loop_p_1): Do not compute post-dominators.
2002         (combine_blocks): Do not free post-dominators.
2003         (main_tree_if_conversion): Likewise.
2005 2013-09-09  Richard Biener  <rguenther@suse.de>
2007         Backport from mainline
2008         2013-09-03  Richard Biener  <rguenther@suse.de>
2010         PR middle-end/57656
2011         * fold-const.c (negate_expr_p): Fix division case.
2012         (negate_expr): Likewise.
2014 2013-09-09  Richard Biener  <rguenther@suse.de>
2016         Backport from mainline
2017         2013-08-29  Richard Biener  <rguenther@suse.de>
2019         PR tree-optimization/57685
2020         * tree-vrp.c (register_edge_assert_for_1): Recurse only for
2021         single-use operands to avoid exponential complexity.
2023 2013-09-09  Richard Biener  <rguenther@suse.de>
2025         Backport from mainline
2026         2013-08-30  Richard Biener  <rguenther@suse.de>
2028         PR tree-optimization/58223
2029         * tree-loop-distribution.c (has_anti_dependence): Rename to ...
2030         (has_anti_or_output_dependence): ... this and adjust to also
2031         look for output dependences.
2032         (mark_nodes_having_upstream_mem_writes): Adjust.
2033         (rdg_flag_uses): Likewise.
2035 2013-09-03  Richard Biener  <rguenther@suse.de>
2037         Backport from mainline
2038         2013-08-29  Richard Biener  <rguenther@suse.de>
2040         PR tree-optimization/58246
2041         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Properly
2042         handle the dominance check inside a basic-block.
2044 2013-09-03  Richard Biener  <rguenther@suse.de>
2046         Backport from mainline
2047         2013-08-30  Richard Biener  <rguenther@suse.de>
2049         PR tree-optimization/58228
2050         * tree-vect-data-refs.c (vect_analyze_data_ref_access): Do not
2051         allow invariant loads in nested loop vectorization.
2053 2013-09-03  Richard Biener  <rguenther@suse.de>
2055         Backport from mainline
2056         2013-08-30  Richard Biener  <rguenther@suse.de>
2058         PR tree-optimization/58010
2059         * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
2060         assert that we have a loop-closed PHI.
2062 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
2064         Backport from mainline
2065         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
2067         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
2068         "cmp" RTX before signed_comparison_operator check to account
2069         for "code" changes.
2071 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
2073         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
2075 2013-08-30  Jakub Jelinek  <jakub@redhat.com>
2077         PR tree-optimization/58277
2078         * tree-ssa-strlen.c (strlen_enter_block): If do_invalidate gave up
2079         after seeing too many stmts with vdef in between dombb and current
2080         bb, invalidate everything.
2082 2013-08-29  Oleg Endo  <olegendo@gcc.gnu.org>
2084         Backport from mainline
2085         2013-08-05  Oleg Endo  <olegendo@gcc.gnu.org>
2087         PR other/12081
2088         * recog.h (rtx (*insn_gen_fn) (rtx, ...)): Replace typedef with new
2089         class insn_gen_fn.
2090         * expr.c (move_by_pieces_1, store_by_pieces_2): Replace argument
2091         rtx (*) (rtx, ...) with insn_gen_fn.
2092         * genoutput.c (output_insn_data): Cast gen_? function pointers to
2093         insn_gen_fn::stored_funcptr.  Add initializer braces.
2095         Backport from mainline
2096         2013-08-07  Oleg Endo  <olegendo@gcc.gnu.org>
2098         PR other/12081
2099         * config/rs6000/rs6000.c (gen_2arg_fn_t): Remove typedef.
2100         (rs6000_emit_swdiv_high_precision, rs6000_emit_swdiv_low_precision,
2101         rs6000_emit_swrsqrt): Don't cast result of GEN_FCN to gen_2arg_fn_t.
2103 2013-08-29  Jakub Jelinek  <jakub@redhat.com>
2105         Backported from mainline
2106         2013-05-27  Richard Biener  <rguenther@suse.de>
2108         PR middle-end/57381
2109         PR tree-optimization/57417
2110         * tree-ssa-sccvn.c (vn_reference_fold_indirect): Fix test
2111         for unchanged base.
2112         (set_ssa_val_to): Compare addresses using
2113         get_addr_base_and_unit_offset.
2115         PR tree-optimization/57396
2116         * tree-affine.c (double_int_constant_multiple_p): Properly
2117         return false for val == 0 and div != 0.
2119         PR tree-optimization/57343
2120         * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not
2121         use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED.
2122         (number_of_iterations_cond): Do not build the folded tree.
2124 2013-08-28  Jakub Jelinek  <jakub@redhat.com>
2126         PR middle-end/58257
2127         * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag.
2129 2013-08-28  Richard Biener  <rguenther@suse.de>
2131         Backport from mainline
2132         2013-06-24  Richard Biener  <rguenther@suse.de>
2134         PR middle-end/56977
2135         * passes.c (init_optimization_passes): Move pass_fold_builtins
2136         and pass_dce earlier with -Og.
2138 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
2140         Backport from mainline
2141         2013-08-27  H.J. Lu  <hongjiu.lu@intel.com>
2143         * config/i386/driver-i386.c (host_detect_local_cpu): Update
2144         Haswell processor detection.
2146         Backport from mainline
2147         2013-08-27  Christian Widmer  <shadow@umbrox.de>
2149         PR target/57927
2150         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
2151         of Ivy Bridge and Haswell processors.  Assume core-avx2 for unknown
2152         AVX2 capable processors.
2154 2013-08-23  Jakub Jelinek  <jakub@redhat.com>
2156         PR target/58218
2157         * config/i386/x86-64.h (TARGET_SECTION_TYPE_FLAGS): Define.
2158         * config/i386/i386.c (x86_64_elf_section_type_flags): New function.
2160         PR tree-optimization/58209
2161         * tree-tailcall.c (find_tail_calls): Give up for pointer result types
2162         if m or a is non-NULL.
2164 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
2166         PR target/56979
2167         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
2168         suggested mode for the assignment isn't compatible with the
2169         registers required.
2171 2013-08-20  Alan Modra  <amodra@gmail.com>
2173         PR target/57865
2174         * config/rs6000/rs6000.c (rs6000_emit_prologue): Correct ool_adjust.
2175         (rs6000_emit_epilogue): Likewise.
2177 2013-08-19  Peter Bergner  <bergner@vnet.ibm.com>
2178             Jakub Jelinek  <jakub@redhat.com>
2180         Backport from mainline
2181         * config/rs6000/dfp.md (*negtd2_fpr): Handle non-overlapping
2182         destination and source operands.
2184 2013-08-18  Jakub Jelinek  <jakub@redhat.com>
2186         PR tree-optimization/58006
2187         * tree-parloops.c (take_address_of): Don't ICE if get_name
2188         returns NULL.
2189         (eliminate_local_variables_stmt): Remove clobber stmts.
2191 2013-08-16  Jakub Jelinek  <jakub@redhat.com>
2193         PR tree-optimization/58164
2194         * gimple.c (walk_stmt_load_store_addr_ops): For visit_addr
2195         walk gimple_goto_dest of GIMPLE_GOTO.
2197         PR tree-optimization/58165
2198         * tree-call-cdce.c (shrink_wrap_one_built_in_call): If
2199         bi_call must be the last stmt in a bb, don't split_block, instead
2200         use fallthru edge from it and give up if there is none.
2201         Release conds vector when returning early.
2203 2013-08-15  David Given  <dg@cowlark.com>
2205         Backport from mainline
2206         2013-04-26  Vladimir Makarov  <vmakarov@redhat.com>
2208         * lra-constraints.c (process_alt_operands): Use #if HAVE_ATTR_enable
2209         instead of #ifdef.
2211 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
2213         PR tree-optimization/58145
2214         * tree-sra.c (build_ref_for_offset): If prev_base has
2215         TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS, propagate it to MEM_REF.
2217 2013-08-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2219         * config/s390/htmxlintrin.h: Add file missing from last commit.
2220         * config/s390/htmintrin.h: Likewise.
2221         * config/s390/s390intrin.h: Likewise.
2223 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
2225         Backport from mainline
2226         2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
2228         * config/i386/sse.md (*sse2_maskmovdqu): Emit addr32 prefix
2229         when Pmode != word_mode.  Add length_address attribute.
2230         (sse3_monitor_<mode>): Merge from sse3_monitor and
2231         sse3_monitor64_<mode> insn patterns.  Emit addr32 prefix when
2232         Pmode != word_mode.  Update insn length attribute.
2233         * config/i386/i386.c (ix86_option_override_internal): Update
2234         ix86_gen_monitor selection for merged sse3_monitor insn.
2236 2013-08-14  Jakub Jelinek  <jakub@redhat.com>
2237             Alexandre Oliva  <aoliva@redhat.com>
2239         PR target/58067
2240         * config/i386/i386.c (ix86_delegitimize_address): For CM_MEDIUM_PIC
2241         and CM_LARGE_PIC ix86_cmodel fall thru into the -m32 code, handle
2242         there also UNSPEC_PLTOFF.
2244 2013-08-13  Jakub Jelinek  <jakub@redhat.com>
2246         PR sanitizer/56417
2247         * asan.c (instrument_strlen_call): Fix typo in comment.
2248         Use char * type even for the lhs of POINTER_PLUS_EXPR.
2250 2013-08-13  Vladimir Makarov  <vmakarov@redhat.com>
2252         Backport from mainline
2253         2013-06-06  Vladimir Makarov  <vmakarov@redhat.com>
2255         PR rtl-optimization/57459
2256         * lra-constraints.c (update_ebb_live_info): Fix typo for operand
2257         type when setting live regs.
2259 2013-08-13  Marek Polacek  <polacek@redhat.com>
2260             Jakub Jelinek  <jakub@redhat.com>
2262         PR tree-optimization/57980
2263         * tree-tailcall.c (process_assignment): Return false
2264         when not dealing with integers or floats.
2266 2013-08-12  Andrew Haley  <aph@redhat.com>
2268         Backport from mainline:
2269         * 2013-07-11  Andreas Schwab  <schwab@suse.de>
2271         * config/aarch64/aarch64-linux.h (CPP_SPEC): Define.
2273 2013-08-13  Uros Bizjak  <ubizjak@gmail.com>
2275         Backport from mainline
2276         2013-08-12  Perez Read  <netfirewall@gmail.com>
2278         PR target/58132
2279         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
2280         operand 0 for intel asm alternative.
2281         (*movabs<mode>_2): Ditto for operand 1.
2283 2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
2285         Backport from mainline:
2286         2013-08-09  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
2288         * config/arm/neon.md (vcond): Fix floating-point vector
2289         comparisons against 0.
2291 2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2293         Backport from mainline:
2294         2013-08-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2296         * config/arm/neon.md (movmisalign<mode>): Disable when we
2297         don't allow unaligned accesses.
2298         (*movmisalign<mode>_neon_store): Likewise.
2299         (*movmisalign<mode>_neon_load): Likewise.
2300         (*movmisalign<mode>_neon_store): Likewise.
2301         (*movmisalign<mode>_neon_load): Likewise.
2303 2013-08-06  Martin Jambor  <mjambor@suse.cz>
2305         PR middle-end/58041
2306         * gimple-ssa-strength-reduction.c (replace_ref): Make sure built
2307         MEM_REF has proper alignment information.
2309 2013-08-05  Richard Earnshaw  <rearnsha@arm.com>
2311         PR rtl-optimization/57708
2312         * recog.c (peep2_find_free_register): Validate all regs in a
2313         multi-reg mode.
2315 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
2317         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
2318         the implied StoreLoad barrier for atomic operations if before.
2320 2013-08-02  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2322         Backports from mainline:
2323         2013-06-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2325         * config/s390/s390.c: Rename UNSPEC_CCU_TO_INT to
2326         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
2327         (struct machine_function): Add tbegin_p.
2328         (s390_canonicalize_comparison): Fold CC mode compares to
2329         conditional jump if possible.
2330         (s390_emit_jump): Return the emitted jump.
2331         (s390_branch_condition_mask, s390_branch_condition_mnemonic):
2332         Handle CCRAWmode compares.
2333         (s390_option_override): Default to -mhtm if available.
2334         (s390_reg_clobbered_rtx): Handle floating point regs as well.
2335         (s390_regs_ever_clobbered): Use s390_regs_ever_clobbered also for
2336         FPRs instead of df_regs_ever_live_p.
2337         (s390_optimize_nonescaping_tx): New function.
2338         (s390_init_frame_layout): Extend clobbered_regs array to cover
2339         FPRs as well.
2340         (s390_emit_prologue): Call s390_optimize_nonescaping_tx.
2341         (s390_expand_tbegin): New function.
2342         (enum s390_builtin): New enum definition.
2343         (code_for_builtin): New array definition.
2344         (s390_init_builtins): New function.
2345         (s390_expand_builtin): New function.
2346         (TARGET_INIT_BUILTINS): Define.
2347         (TARGET_EXPAND_BUILTIN): Define.
2348         * common/config/s390/s390-common.c (processor_flags_table): Add PF_TX.
2349         * config/s390/predicates.md (s390_comparison): Handle CCRAWmode.
2350         (s390_alc_comparison): Likewise.
2351         * config/s390/s390-modes.def: Add CCRAWmode.
2352         * config/s390/s390.h (processor_flags): Add PF_TX.
2353         (TARGET_CPU_HTM): Define macro.
2354         (TARGET_HTM): Define macro.
2355         (TARGET_CPU_CPP_BUILTINS): Define __HTM__ for htm.
2356         * config/s390/s390.md: Rename UNSPEC_CCU_TO_INT to
2357         UNSPEC_STRCMPCC_TO_INT and UNSPEC_CCZ_TO_INT to UNSPEC_CC_TO_INT.
2358         (UNSPECV_TBEGIN, UNSPECV_TBEGINC, UNSPECV_TEND, UNSPECV_TABORT)
2359         (UNSPECV_ETND, UNSPECV_NTSTG, UNSPECV_PPA): New unspecv enum
2360         values.
2361         (TBEGIN_MASK, TBEGINC_MASK): New constants.
2362         ("*cc_to_int"): Move up.
2363         ("*mov<mode>cc", "*cjump_64", "*cjump_31"): Accept integer
2364         constants other than 0.
2365         ("*ccraw_to_int"): New insn and splitter definition.
2366         ("tbegin", "tbegin_nofloat", "tbegin_retry")
2367         ("tbegin_retry_nofloat", "tbeginc", "tend", "tabort")
2368         ("tx_assist"): New expander.
2369         ("tbegin_1", "tbegin_nofloat_1", "*tbeginc_1", "*tend_1")
2370         ("*tabort_1", "etnd", "ntstg", "*ppa"): New insn definition.
2371         * config/s390/s390.opt: Add -mhtm option.
2372         * config/s390/s390-protos.h (s390_emit_jump): Add return type.
2373         * config/s390/htmxlintrin.h: New file.
2374         * config/s390/htmintrin.h: New file.
2375         * config/s390/s390intrin.h: New file.
2376         * doc/extend.texi: Document htm builtins.
2377         * config.gcc: Add the new header files to extra_headers.
2379         2013-07-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2381         * config/s390/s390.c: (s390_expand_builtin): Allow -mhtm to be
2382         enabled without -march=zEC12.
2383         * config/s390/s390.h (TARGET_HTM): Do not require EC12 machine
2384         flags to be set.
2386 2013-08-01  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2388         Backport from mainline
2389         2013-05-13  Ganesh Gopalasubramanian
2390                     <Ganesh.Gopalasubramanian@amd.com>
2392         * config/i386/i386.c (processor_target_table): Modified default
2393         alignment values for AMD BD and BT architectures.
2395 2013-07-31  Sriraman Tallam  <tmsriram@google.com>
2397         * config/i386/i386.c (dispatch_function_versions): Fix array
2398         indexing of function_version_info to match actual_versions.
2400 2013-07-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2402         * config.gcc (*-*-rtems*): Use __cxa_atexit by default.
2403         * config/rs6000/rtems.h (TARGET_LIBGCC_SDATA_SECTION): Define.
2405 2013-07-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2407         Backport from mainline
2408         2013-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2410         * config/s390/s390.h (TARGET_FLT_EVAL_METHOD): Define.
2412         2013-07-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2414         * config/s390/linux-unwind.h: Use the proper dwarf to hard reg
2415         mapping for FPRs when creating the fallback framestate.
2417         2013-07-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
2419         * config/s390/s390.md ("movcc"): Swap load and store instructions.
2421 2013-07-25  Terry Guo  <terry.guo@arm.com>
2423         Backport from mainline:
2424         2013-07-25  Terry Guo  <terry.guo@arm.com>
2426         * config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
2427         shift_add/shift_sub0/shift_sub1 RTXs.
2429 2013-07-22  Iain Sandoe  <iain@codesourcery.com>
2431         Backport from mainline:
2432         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
2434         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
2435         it is not needed after split.
2437         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
2439         PR target/51784
2440         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
2441         second label for nonlocal goto receivers. Don't output pic base labels
2442         unless we're producing PIC; mark that action unreachable().
2443         (ix86_save_reg): If the function contains a nonlocal label, save the
2444         PIC base reg.
2445         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
2446         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
2447         (update_pic_label_number_if_needed): New.
2448         (machopic_output_function_base_name): Adjust for nonlocal receiver
2449         case.
2450         (machopic_should_output_picbase_label): New.
2451         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
2452         (nonlocal_goto_receiver): New insn and split.
2454 2013-07-19 Wei Mi  <wmi@google.com>
2456         Backport from mainline:
2457         2013-07-18  Vladimir Makarov  <vmakarov@redhat.com>
2458                     Wei Mi  <wmi@google.com>
2460         PR rtl-optimization/57878
2461         * lra-assigns.c (assign_by_spills): Move non_reload_pseudos to the
2462         top. Promote lra_assert to gcc_assert.
2463         (reload_pseudo_compare_func): Check regs first for reload pseudos.
2465 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
2467         Backport from 2013-07-19 trunk r201051.
2469         PR target/57516
2470         * config/avr/avr-fixed.md (round<mode>3_const): Turn expander to insn.
2471         * config/avr/avr.md (adjust_len): Add `round'.
2472         * config/avr/avr-protos.h (avr_out_round): New prototype.
2473         (avr_out_plus): Add `out_label' argument.
2474         * config/avr/avr.c (avr_out_plus_1): Add `out_label' argument.
2475         (avr_out_plus): Pass down `out_label' to avr_out_plus_1.
2476         Handle the case where `insn' is just a pattern.
2477         (avr_out_bitop): Handle the case where `insn' is just a pattern.
2478         (avr_out_round): New function.
2479         (avr_adjust_insn_length): Handle ADJUST_LEN_ROUND.
2481 2013-07-19  Kirill Yukhin  <kirill.yukhin@intel.com>
2483         * config/i386/bmiintrin.h (_bextr_u32): New.
2484         (_bextr_u64): Ditto.
2485         (_blsi_u32): New.
2486         (_blsi_u64): Ditto.
2487         (_blsr_u32): Ditto.
2488         (_blsr_u64): Ditto.
2489         (_blsmsk_u32): Ditto.
2490         (_blsmsk_u64): Ditto.
2491         (_tzcnt_u32): Ditto.
2492         (_tzcnt_u64): Ditto.
2494 2013-07-17  James Greenhalgh  <james.greenhalgh@arm.com>
2496         Backport From mainline:
2497         2013-07-03  James Greenhalgh  <james.greenhalgh@arm.com>
2499         * config/aarch64/aarch64-builtins.c
2500         (aarch64_simd_expand_builtin): Handle AARCH64_SIMD_STORE1.
2501         * config/aarch64/aarch64-simd-builtins.def (ld1): New.
2502         (st1): Likewise.
2503         * config/aarch64/aarch64-simd.md
2504         (aarch64_ld1<VALL:mode>): New.
2505         (aarch64_st1<VALL:mode>): Likewise.
2506         * config/aarch64/arm_neon.h
2507         (vld1<q>_<fpsu><8, 16, 32, 64>): Convert to RTL builtins.
2509 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
2511         Backport from 2013-07-11 trunk r200901.
2513         PR target/57631
2514         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
2515         name seen by assembler/linker if available.
2517 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
2519         Backport from 2013-07-10 trunk r200872.
2521         PR target/57844
2522         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
2523         of my_fp.
2525 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
2527         Backport from 2013-07-10 trunk r200870.
2529         PR target/57506
2530         * config/avr/avr-mcus.def (atmega16hva, atmega16hva2, atmega16hvb)
2531         (atmega16m1, atmega16u4, atmega32a, atmega32c1, atmega32hvb)
2532         (atmega32m1, atmega32u4, atmega32u6, atmega64c1, atmega64m1):
2533         Remove duplicate devices.
2534         * config/avr/gen-avr-mmcu-texi.c (print_mcus): Fail on duplicate MCUs.
2535         * config/avr/t-multilib: Regenerate.
2536         * config/avr/avr-tables.opt: Regenerate.
2537         * doc/avr-mmcu.texi: Regenerate.
2539 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
2541         PR target/56987
2542         * config/avr/avr.opt (Waddr-space-convert): Fix typo.
2544 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
2546         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
2547         adjust register size for TDmode and TFmode for VSX registers.
2549 2013-07-08  Kai Tietz  <ktietz@redhat.com>
2551         Backport from mainline
2552         PR target/56892
2553         * config/i386/i386.c (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Define as
2554         hook_bool_const_tree_true.
2556 2013-07-08  Uros Bizjak  <ubizjak@gmail.com>
2558         Backport from mainline
2559         2013-07-07  Uros Bizjak  <ubizjak@gmail.com>
2561         * config/i386/driver-i386.c (host_detect_local_cpu): Do not check
2562         signature_TM2_ebx, it interferes with signature_INTEL_ebx.
2564         Backport from mainline
2565         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
2567         * config/i386/sse.md (sse_movlhps): Change alternative 3
2568         of operand 2 to "m".
2570 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
2572         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
2574 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
2576         PR rtl-optimization/57829
2577         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
2578         mask bits outside of mode are just sign-extension from mode to HWI.
2580 2013-07-03  Jakub Jelinek  <jakub@redhat.com>
2582         PR target/57777
2583         * config/i386/predicates.md (vsib_address_operand): Disallow
2584         SYMBOL_REF or LABEL_REF in parts.disp if TARGET_64BIT && flag_pic.
2586 2013-06-30  Terry Guo  <terry.guo@arm.com>
2588         Backport from mainline
2589         2013-03-27  Bin Cheng  <bin.cheng@arm.com>
2591         PR target/56102
2592         * config/arm/arm.c (thumb1_rtx_costs, thumb1_size_rtx_costs): Fix
2593         rtx costs for SET/ASHIFT/ASHIFTRT/LSHIFTRT/ROTATERT patterns with
2594         mult-word mode.
2596 2013-06-28  Jakub Jelinek  <jakub@redhat.com>
2598         PR target/57736
2599         * config/i386/i386.c (ix86_expand_builtin): If target == NULL
2600         and mode is VOIDmode, don't create a VOIDmode pseudo to copy result
2601         into.
2603 2013-06-27  Jakub Jelinek  <jakub@redhat.com>
2605         PR target/57623
2606         * config/i386/i386.md (bmi_bextr_<mode>): Swap predicates and
2607         constraints of operand 1 and 2.
2609         PR target/57623
2610         * config/i386/i386.md (bmi2_bzhi_<mode>3): Swap AND arguments
2611         to match RTL canonicalization.  Swap predicates and
2612         constraints of operand 1 and 2.
2614         * tree-vect-stmts.c (vectorizable_store): Move ptr_incr var
2615         decl before the loop, initialize to NULL.
2616         (vectorizable_load): Initialize ptr_incr to NULL.
2618 2013-06-24  Martin Jambor  <mjambor@suse.cz>
2620         PR tree-optimization/57358
2621         * ipa-prop.c (parm_ref_data_preserved_p): Always return true when
2622         not optimizing.
2624 2013-06-24  Alan Modra  <amodra@gmail.com>
2626         * config/rs6000/rs6000.c (vspltis_constant): Correct for little-endian.
2627         (gen_easy_altivec_constant): Likewise.
2628         * config/rs6000/predicates.md (easy_vector_constant_add_self,
2629         easy_vector_constant_msb): Likewise.
2631 2013-06-21  Uros Bizjak  <ubizjak@gmail.com>
2633         Backport from mainline
2634         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
2636         PR target/57655
2637         * config/i386/i386.c (construct_container): Report error if
2638         long double is used with disabled x87 float returns.
2640 2013-06-20  Wei Mi  <wmi@google.com>
2642         Backport from mainline
2643         2013-06-19  Wei Mi  <wmi@google.com>
2645         PR rtl-optimization/57518
2646         * ira.c (set_paradoxical_subreg): Set pdx_subregs[regno]
2647         if regno is used in paradoxical subreg.
2648         (update_equiv_regs): Check pdx_subregs[regno] before
2649         set a reg to be equivalent with a mem.
2652 2013-06-20  David Edelsohn  <dje.gcc@gmail.com>
2654         Backport from mainline
2655         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
2657         PR driver/57652
2658         * collect2.c (collect_atexit): New.
2659         (collect_exit): Delete.
2660         (main): Register collect_atexit with atexit.
2661         (collect_wait): Change collect_exit to exit.
2662         (do_wait): Same.
2663         * collect2.h (collect_exit): Delete.
2664         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
2666 2013-06-19  Matthias Klose  <doko@ubuntu.com>
2668         PR driver/57651
2669         * file-find.h (find_a_file): Add a mode parameter.
2670         * file-find.c (find_a_file): Likewise.
2671         * gcc-ar.c (main): Call find_a_file with R_OK for the plugin,
2672         with X_OK for the executables.
2673         * collect2.c (main): Call find_a_file with X_OK.
2675 2013-06-19  Igor Zamyatin  <igor.zamyatin@intel.com>
2677         * doc/invoke.texi (core-avx2): Document.
2678         (atom): Updated with MOVBE.
2680 2013-06-19  Jakub Jelinek  <jakub@redhat.com>
2682         PR driver/57651
2683         * gcc-ar.c (main): If not CROSS_DIRECTORY_STRUCTURE, look for
2684         PERSONALITY in $PATH derived prefixes.
2686 2013-06-19  Paolo Carlini  <paolo.carlini@oracle.com>
2688         PR c++/56544
2689         * doc/cpp.texi [Standard Predefined Macros, __cplusplus]: Document
2690         that now in C++ the value is correct per the C++ standards.
2692 2013-06-19  Alan Modra  <amodra@gmail.com>
2694         Apply mainline patches
2695         2013-06-13  Alan Modra  <amodra@gmail.com>
2696         * config/rs6000/rs6000.h (LONG_DOUBLE_LARGE_FIRST): Define.
2697         * config/rs6000/rs6000.md (signbittf2): New insn.
2698         (extenddftf2_internal): Use LONG_DOUBLE_LARGE_FIRST.
2699         (abstf2_internal, cmptf_internal2): Likewise.
2700         * config/rs6000/spe.md (spe_abstf2_cmp, spe_abstf2_tst): Likewise.
2702         2013-06-11  Anton Blanchard  <anton@samba.org>
2703         * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Calculate
2704         correct shift value in little-endian mode.
2706         2013-06-07  Alan Modra  <amodra@gmail.com>
2707         * config/rs6000/rs6000.c (setup_incoming_varargs): Round up
2708         va_list_gpr_size.
2710         2013-06-04  Alan Modra  <amodra@gmail.com>
2711         * config/rs6000/rs6000.c (output_toc): Correct little-endian float
2712         constant output.
2714         2013-05-10  Alan Modra  <amodra@gmail.com>
2715         * configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
2716         (HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
2717         * configure: Regenerate.
2719         2013-05-09  Alan Modra  <amodra@gmail.com>
2720         * configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
2721         powerpc64le.
2722         * configure: Regenerate.
2724         2013-05-07  Anton Blanchard  <anton@samba.org>
2725         * configure.ac (HAVE_LD_LARGE_TOC): Use right linker emulation
2726         for powerpc64 little endian.
2727         * configure: Regenerate.
2729         2013-05-06  Alan Modra  <amodra@gmail.com>
2730         * config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
2731         (LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
2732         * config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
2733         * config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
2734         (LINK_TARGET_SPEC): Use ENDIAN_SELECT.
2735         * config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
2737         2013-05-06  Alan Modra  <amodra@gmail.com>
2738         * config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
2739         (ASM_SPEC): ..here.  Emit DEFAULT_ASM_ENDIAN too.
2740         (DEFAULT_ASM_ENDIAN): Define.
2741         (CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
2742         * config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
2743         Update -K PIC clause from sysv4.h.
2744         (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
2745         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
2747         2013-05-06  Alan Modra  <amodra@gmail.com>
2748         * config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
2749         twice for little-endian.
2750         (ashrdi3_no_power, ashrdi3): Support little-endian.
2752         2013-04-25  Alan Modra  <amodra@gmail.com>
2753         * config.gcc: Support little-endian powerpc-linux targets.
2754         * config/rs6000/linux.h (LINK_OS_LINUX_EMUL): Define.
2755         (LINK_OS_LINUX_SPEC): Define.
2756         * config/rs6000/linuxspe.h (TARGET_DEFAULT):
2757         Preserve MASK_LITTLE_ENDIAN.
2758         * config/rs6000/default64.h (TARGET_DEFAULT): Likewise.
2759         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Likewise.
2760         * config/rs6000/linux64.h (OPTION_LITTLE_ENDIAN): Don't zero.
2761         (LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Define.
2762         (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Use above.
2763         * config/rs6000/rs6000.c (output_toc): Don't use .tc for TARGET_ELF.
2764         Correct fp word order for little-endian.  Don't shift toc entries
2765         smaller than a word for little-endian.
2766         * config/rs6000/rs6000.md (bswaphi2, bswapsi2 split): Comment.
2767         (bswapdi2 splits): Correct low-part subreg for little-endian.
2768         Remove wrong BYTES_BIG_ENDIAN tests, and rename vars to remove
2769         low/high where such is correct only for be.
2770         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Allow
2771         little-endian for -mcall-aixdesc.
2773 2013-06-12  Martin Jambor  <mjambor@suse.cz>
2775         * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that param_index is
2776         within bounds at the beginning of the function.
2778 2013-06-12  Jakub Jelinek  <jakub@redhat.com>
2780         PR tree-optimization/57537
2781         * tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
2782         vect_handle_widen_op_by_const, convert oprnd1 to half_type1.
2784 2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
2786         Backport from mainline
2787         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
2789         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
2790         cmp_code to construct REG_EQUAL note.
2792 2013-06-10  Oleg Endo  <olegendo@gcc.gnu.org>
2794         Backport from mainline
2795         2013-05-20  Oleg Endo  <olegendo@gcc.gnu.org>
2797         PR target/56547
2798         * config/sh/sh.md (fmasf4): Remove empty constraints strings.
2799         (*fmasf4, *fmasf4_media): New insns.
2801 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
2803         PR target/57568
2804         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
2805         that operands[2] doesn't overlap with operands[0].
2807 2013-06-07  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
2809         * recog.c (offsettable_address_addr_space_p): Fix calculation of
2810         address mode.  Move pointer mode initialization to the same place.
2812 2013-06-07  Sofiane Naci  <sofiane.naci@arm.com>
2814         Backport from mainline
2815         * config/aarch64/aarch64.md (*movdi_aarch64): Define "simd" attribute.
2817 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
2819         Backport from mainline
2820         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
2822         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
2823         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
2825         Backport from mainline
2826         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
2828         PR target/57379
2829         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
2830         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
2831         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
2833 2013-06-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2835         Backport from mainline.
2836         2013-05-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2838         * config/rs6000/rs6000.h (MALLOC_ABI_ALIGNMENT): New #define.
2840 2013-06-03  James Greenhalgh  <james.greenhalgh@arm.com>
2842         Backport from mainline.
2843         2013-04-25  James Greenhalgh  <james.greenhalgh@arm.com>
2845         * config/aarch64/aarch64.c (aarch64_print_operand): Fix asm_fprintf
2846         format specifier in 'X' case.
2848 2013-05-31  Richard Henderson  <rth@redhat.com>
2850         PR target/56742
2851         * config/i386/i386.c (ix86_seh_fixup_eh_fallthru): New.
2852         (ix86_reorg): Call it.
2854 2012-05-31  Jakub Jelinek  <jakub@redhat.com>
2856         * BASE-VER: Set to 4.8.2.
2857         * DEV-PHASE: Set to prerelease.
2859 2013-05-31  Release Manager
2861         * GCC 4.8.1 released.
2863 2013-05-24  Greta Yorsh  <Greta.Yorsh@arm.com>
2865         Backport from mainline
2866         2013-05-02  Greta Yorsh  <Greta.Yorsh@arm.com>
2868         PR target/56732
2869         * config/arm/arm.c (arm_expand_epilogue): Check really_return before
2870         generating simple_return for naked functions.
2872 2013-05-24  Alexander Ivchenko  <alexander.ivchenko@intel.com>
2874         PR tree-ssa/57385
2875         * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check
2876         that index is not negative.
2878 2013-05-23  Martin Jambor  <mjambor@suse.cz>
2880         PR middle-end/57347
2881         * tree.h (contains_bitfld_component_ref_p): Declare.
2882         * tree-sra.c (contains_bitfld_comp_ref_p): Move...
2883         * tree.c (contains_bitfld_component_ref_p): ...here.  Adjust its caller.
2884         * ipa-prop.c (determine_known_aggregate_parts): Check that LHS does
2885         not access a bit-field.  Assert all final offsets are byte-aligned.
2887 2013-05-23  Richard Biener  <rguenther@suse.de>
2889         PR rtl-optimization/57341
2890         * ira.c (validate_equiv_mem_from_store): Use anti_dependence
2891         instead of true_dependence.
2893 2013-05-23  Jakub Jelinek  <jakub@redhat.com>
2895         PR middle-end/57344
2896         * expmed.c (store_split_bit_field): If op0 is a REG or
2897         SUBREG of a REG, don't lower unit.  Handle unit not being
2898         always BITS_PER_WORD.
2900 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
2902         PR target/57356
2903         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
2904         for non-sse2 targets.
2905         (*movti_internal): Simplify mode attribute calculation.
2907 2013-05-22  Richard Biener  <rguenther@suse.de>
2909         Backport from mainline
2910         2013-05-21  Richard Biener  <rguenther@suse.de>
2912         PR tree-optimization/57318
2913         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
2914         estimate stmts with side-effects as likely eliminated.
2916         2013-05-21  Richard Biener  <rguenther@suse.de>
2918         PR tree-optimization/57330
2919         * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
2920         preserve the call stmts fntype.
2922         2013-05-21  Richard Biener  <rguenther@suse.de>
2924         PR tree-optimization/57303
2925         * tree-ssa-sink.c (statement_sink_location): Properly handle
2926         self-assignments.
2928 2013-05-21  Magnus Granberg  <baldrick@free.fr>
2930         PR plugins/56754
2931         * Makefile.in (PLUGIN_HEADERS): Add $(TARGET_H).
2933 2013-05-21  Eric Botcazou  <ebotcazou@adacore.com>
2935         Backport from mainline
2936         2013-05-14  Eric Botcazou  <ebotcazou@adacore.com>
2938         * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.
2939         * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise.
2941 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
2943         PR rtl-optimization/57281
2944         PR rtl-optimization/57300
2945         * config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
2946         (extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
2947         what the other splitter did if the registers are dead.
2949 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
2951         Backport from mainline
2952         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
2954         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
2955         cache parameters using detect_caches_amd also for CYRIX,
2956         NSC and TM2 signatures.
2958         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
2959                     Dzianis Kahanovich  <mahatma@eu.by>
2961         PR target/45359
2962         PR target/46396
2963         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
2964         VIA/Centaur processors and determine their cache parameters
2965         using detect_caches_amd.
2967         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
2969         * config/i386/i386.c (ix86_option_override_internal): Update
2970         processor_alias_table for missing PTA_PRFCHW and PTA_FXSR flags.  Add
2971         PTA_POPCNT to corei7 entry. Do not enable SSE prefetch on
2972         non-SSE 3dNow! targets.  Enable TARGET_PRFCHW for TARGET_3DNOW targets.
2973         * config/i386/i386.md (prefetch): Enable for TARGET_PRFCHW instead
2974         of TARGET_3DNOW.
2975         (*prefetch_3dnow): Enable for TARGET_PRFCHW only.
2977 2013-05-17  Jakub Jelinek  <jakub@redhat.com>
2979         * gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
2980         linking.
2982         PR tree-optimization/57051
2983         * fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
2984         case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
2986 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
2988         * omp-low.c (extract_omp_for_data): For collapsed loops,
2989         if at least one of the loops is known at compile time to
2990         iterate zero times, set count to 0.
2991         (expand_omp_regimplify_p): New function.
2992         (expand_omp_for_generic): For collapsed loops, if at least
2993         one of the loops isn't known to iterate at least once,
2994         add runtime check with setting count to 0.
2995         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
2996         For unsigned types if it isn't known at compile time that
2997         the loop will iterate at least once, add runtime check to bypass
2998         the whole loop if initial condition isn't true.
3000 2013-05-14  Jakub Jelinek  <jakub@redhat.com>
3002         PR middle-end/57251
3003         * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle
3004         the case when both op0 and op1 have VOIDmode.
3006 2013-05-13  Jakub Jelinek  <jakub@redhat.com>
3008         PR tree-optimization/57230
3009         * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
3010         check.
3012 2013-05-12  Joern Rennecke  <joern.rennecke@embecosm.com>
3014         * config/epiphany/epiphany.c (epiphany_init): Check size of
3015         NUM_MODES_FOR_MODE_SWITCHING.
3016         (epiphany_expand_prologue):
3017         Remove CONFIG_REGNUM initial value handling code.
3018         (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG.
3019         (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise.
3020         (emit_set_fp_mode, epiphany_mode_after): Likewise.
3021         (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>:
3022         Don't return 1 for FP_MODE_NONE.
3023         * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING):
3024         Add value for EPIPHANY_MSW_ENTITY_CONFIG.
3025         (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define.
3026         * config/epiphany/epiphany.md (save_config): New pattern.
3028 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3030         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
3031         Add mthumb/march=armv7-a multilib.
3032         Add mthumb/march=armv7-r multilib.
3033         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
3035 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
3037         PR target/57237
3038         * config/v850/t-rtems: Add more multilibs.
3040 2013-05-10  Richard Biener  <rguenther@suse.de>
3042         PR tree-optimization/57214
3043         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
3044         not propagate from SSA names that occur in abnormal PHI nodes.
3046 2013-05-10  Alan Modra  <amodra@gmail.com>
3048         PR target/55033
3049         * varasm.c (default_elf_select_section): Move !DECL_P check..
3050         (get_named_section): ..to here before calling get_section_name.
3051         Adjust assertion.
3052         (default_section_type_flags): Add DECL_P check.
3053         * config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
3054         * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
3056 2013-05-09  Joern Rennecke  <joern.rennecke@embecosm.com>
3058         * config/epiphany/epiphany.c (epiphany_expand_prologue):
3059         When using gen_stack_adjust_str with a register offset, add a
3060         REG_FRAME_RELATED_EXPR note.
3062 2013-05-09  Martin Jambor  <mjambor@suse.cz>
3064         PR middle-end/56988
3065         * ipa-prop.h (ipa_agg_replacement_value): New flag by_ref.
3066         * ipa-cp.c (find_aggregate_values_for_callers_subset): Fill in the
3067         by_ref flag of ipa_agg_replacement_value structures.
3068         (known_aggs_to_agg_replacement_list): Likewise.
3069         * ipa-prop.c (write_agg_replacement_chain): Stream by_ref flag.
3070         (read_agg_replacement_chain): Likewise.
3071         (ipcp_transform_function): Also check that by_ref flags match.
3073 2013-05-08  Diego Novillo  <dnovillo@google.com>
3075         PR bootstrap/54659
3077         Revert:
3079         2012-08-17  Diego Novillo  <dnovillo@google.com>
3081                 PR bootstrap/54281
3082                 * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
3083                 * config.in: Regenerate.
3084                 * configure: Regenerate.
3085                 * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
3086                 set.
3088 2013-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
3090         PR tree-optimization/57200
3091         * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
3092         Only call inform if the preceding warning_at returns true.
3094 2013-05-07  Jakub Jelinek  <jakub@redhat.com>
3096         PR tree-optimization/57149
3097         * tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
3098         (can_skip_redundant_opnd, compute_uninit_opnds_pos,
3099         collect_phi_def_edges, execute_late_warn_uninitialized): Use
3100         uninit_undefined_value_p instead of ssa_undefined_value_p.
3102         PR debug/57184
3103         * expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
3104         for modifier == EXPAND_INITIALIZER.
3106 2013-05-07  Richard Biener  <rguenther@suse.de>
3108         Backport from mainline
3109         2013-05-06  Richard Biener  <rguenther@suse.de>
3111         PR tree-optimization/57185
3112         * tree-parloops.c (add_field_for_reduction): Handle anonymous
3113         SSA names properly.
3115         2013-04-19  Richard Biener  <rguenther@suse.de>
3117         PR tree-optimization/57000
3118         * tree-ssa-reassoc.c (pass_reassoc): Add TODO_update_ssa_only_virtuals.
3120 2013-05-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3122         Backport from trunk
3123         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
3125         PR target/57150
3126         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
3127         to save TFmode registers and DImode to save TImode registers for
3128         caller save operations.
3129         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
3130         mark being partially clobbered since they only use the first
3131         double word.
3133         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
3134         and TDmode only use the upper 64-bits of each VSX register.
3136 2013-05-06  Oleg Endo  <olegendo@gcc.gnu.org>
3138         PR target/57108
3139         * config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
3141 2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
3143         Backport from mainline
3144         2013-05-06  Uros Bizjak  <ubizjak@gmail.com>
3146         PR target/57106
3147         * config/i386/i386.c (add_parameter_dependencies): Add dependence
3148         between "first_arg" and "insn", not "last" and "insn".
3150 2013-05-03  Jakub Jelinek  <jakub@redhat.com>
3152         PR rtl-optimization/57130
3153         * combine.c (make_compound_operation) <case SUBREG>: Pass
3154         SET instead of COMPARE as in_code to the recursive call
3155         if needed.
3157         Backported from mainline
3158         2013-04-26  Jakub Jelinek  <jakub@redhat.com>
3160         PR tree-optimization/57051
3161         * fold-const.c (const_binop): Handle VEC_LSHIFT_EXPR
3162         and VEC_RSHIFT_EXPR if shift count is a multiple of element
3163         bitsize.
3165         2013-04-12  Marc Glisse  <marc.glisse@inria.fr>
3167         * fold-const.c (fold_binary_loc): Call const_binop also for mixed
3168         vector-scalar operations.
3170 2013-05-03  Marek Polacek  <polacek@redhat.com>
3172         Backport from mainline
3173         2013-04-25  Marek Polacek  <polacek@redhat.com>
3175         PR tree-optimization/57066
3176         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
3178 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3180         Backport from mainline
3181         2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3183         * lra-constraints.c (process_alt_operands): Add checking alt
3184         number to choose the best alternative.
3186         2013-05-01  Vladimir Makarov  <vmakarov@redhat.com>
3188         PR target/57091
3189         * lra-constraints.c (best_small_class_operands_num): Remove.
3190         (process_alt_operands): Remove small_class_operands_num.  Take
3191         small classes operands into losers and only if the operand is not
3192         matched.  Modify debugging output.
3193         (curr_insn_transform): Remove best_small_class_operands_num.
3194         Print insn name.
3196 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3198         Backport from mainline
3199         2013-04-29  Vladimir Makarov  <vmakarov@redhat.com>
3201         PR target/57097
3202         * lra-constraints.c (process_alt_operands): Discourage a bit more
3203         using memory for pseudos.  Print cost dump for alternatives.
3204         Modify cost values for conflicts with early clobbers.
3205         (curr_insn_transform): Spill pseudos reassigned to NO_REGS.
3207 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3209         Backport from mainline
3210         2013-04-24  Vladimir Makarov  <vmakarov@redhat.com>
3212         PR rtl-optimizations/57046
3213         * lra-constraints (split_reg): Set up lra_risky_transformations_p
3214         for multi-reg splits.
3216 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3218         Backport from mainline
3219         2013-04-22  Vladimir Makarov  <vmakarov@redhat.com>
3221         PR target/57018
3222         * lra-eliminations.c (mark_not_eliminable): Prevent elimination of
3223         a set sp if no stack realignment.
3225 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3227         Backport from mainline
3228         2013-04-18  Vladimir Makarov  <vmakarov@redhat.com>
3230         PR rtl-optimization/56999
3231         * lra-coalesce.c (coalescable_pseudo_p): Remove 2nd parameter and
3232         related code.
3233         (lra_coalesce): Remove split_origin_bitmap and related code.
3234         * lra.c (lra): Coalesce after undoing inheritance. Recreate live
3235         ranges if necessary.
3237 2013-05-02  Vladimir Makarov  <vmakarov@redhat.com>
3239         Backport from mainline
3240         2013-04-19  Vladimir Makarov  <vmakarov@redhat.com>
3242         PR rtl-optimization/56847
3243         * lra-constraints.c (process_alt_operands): Discourage alternative
3244         with non-matche doffsettable memory constraint fro memory with
3245         known offset.
3247 2013-05-02  Ian Bolton  <ian.bolton@arm.com>
3249         Backport from mainline
3250         2013-03-28  Ian Bolton  <ian.bolton@arm.com>
3252         * config/aarch64/aarch64.md (aarch64_can_eliminate): Keep frame
3253         record only when desired or required.
3255 2013-04-30  Jakub Jelinek  <jakub@redhat.com>
3257         PR tree-optimization/57104
3258         * tsan.c (instrument_expr): Don't instrument accesses to
3259         DECL_HARD_REGISTER VAR_DECLs.
3261 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
3263         Backport from mainline
3264         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
3266         PR target/44578
3267         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
3268         alternative.
3269         (*zero_extendsidi2): Ditto.
3271         Backport from mainline
3272         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
3274         PR target/57098
3275         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
3277 2013-04-29  Richard Biener  <rguenther@suse.de>
3279         PR middle-end/57103
3280         * tree-cfg.c (move_stmt_op): Fix condition under which to update
3281         TREE_BLOCK.
3282         (move_stmt_r): Remove redundant checking.
3284 2013-04-29  Christian Bruel  <christian.bruel@st.com>
3286         PR target/57108
3287         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
3289 2013-04-29  Jakub Jelinek  <jakub@redhat.com>
3291         PR tree-optimization/57083
3292         * tree-vrp.c (extract_range_from_binary_expr_1): For LSHIFT_EXPR with
3293         non-singleton shift count range, zero extend low_bound for uns case.
3295 2013-04-28  Eric Botcazou  <ebotcazou@gcc.gnu.org>
3297         * stor-layout.c (finalize_size_functions): Allocate a structure and
3298         reset cfun before dumping the functions.
3300 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
3302         PR target/56866
3303         * config/i386/i386.c (ix86_expand_mul_widen_evenodd): Don't
3304         use xop_pmacsdqh if uns_p.
3305         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
3306         the immediate rotate count.
3308 2013-04-25  Jakub Jelinek  <jakub@redhat.com>
3310         PR rtl-optimization/57003
3311         * regcprop.c (copyprop_hardreg_forward_1): If ksvd.ignore_set_reg,
3312         call note_stores with kill_clobbered_value callback again after
3313         killing regs_invalidated_by_call.
3315 2013-04-25  Ian Bolton  <ian.bolton@arm.com>
3317         Backported from mainline.
3318         2013-03-22  Ian Bolton  <ian.bolton@arm.com>
3320         * config/aarch64/aarch64.c (aarch64_print_operand): New
3321         format specifier for printing a constant in hex.
3322         * config/aarch64/aarch64.md (insv_imm<mode>): Use the X
3323         format specifier for printing second operand.
3325 2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
3327         Backported from mainline.
3328         2013-04-24  James Greenhalgh  <james.greenhalgh@arm.com>
3330         * config/aarch64/arm_neon.h (vld1<q>_lane*): Fix constraints.
3331         (vld1<q>_dup_<sufp><8, 16, 32, 64>): Likewise.
3332         (vld1<q>_<sufp><8, 16, 32, 64>): Likewise.
3334 2013-04-24  Greta Yorsh  <Greta.Yorsh@arm.com>
3336         Backported from mainline.
3337         PR target/56797
3338         * config/arm/arm.c (load_multiple_sequence): Require SP
3339         as base register for loads if SP is in the register list.
3341 2013-04-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3342             Steven Bosscher <steven@gcc.gnu.org>
3344         Backported from mainline.
3345         PR rtl-optimization/56605
3346         * loop-iv.c (implies_p): Handle equal RTXs and subregs.
3348 2013-04-22  Marek Polacek  <polacek@redhat.com>
3350         Backported from mainline.
3351         2013-04-22  Marek Polacek  <polacek@redhat.com>
3353         PR sanitizer/56990
3354         * tsan.c (instrument_expr): Don't instrument expression
3355         in case its size is zero.
3357 2013-04-22  Yufeng Zhang  <yufeng.zhang@arm.com>
3359         Backported from mainline.
3360         2013-04-10  Yufeng Zhang  <yufeng.zhang@arm.com>
3361         * config/aarch64/aarch64.c (aarch64_print_extension): New function.
3362         (aarch64_start_file): Use the new function.
3364 2013-04-18  Jakub Jelinek  <jakub@redhat.com>
3366         PR tree-optimization/56984
3367         * tree-vrp.c (register_edge_assert_for_2): For (x >> M) < N
3368         and (x >> M) >= N don't register any assertion if N << M is the
3369         minimum value.
3371 2013-04-17  David Edelsohn  <dje.gcc@gmail.com>
3373         PR target/56948
3374         * config/rs6000/vsx.md (vsx_mov<mode>): Add j->r alternative.
3376 2013-04-15  Jakub Jelinek  <jakub@redhat.com>
3378         PR tree-optimization/56962
3379         * gimple-ssa-strength-reduction.c (record_increment): Only set
3380         initializer if gimple_assign_rhs_code is {,POINTER_}PLUS_EXPR and
3381         either rhs1 or rhs2 is equal to c->base_expr.
3383 2013-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3385         * emit-rtl.c (reset_all_used_flags): New function.
3386         (verify_rtl_sharing): Call reset_all_used_flags before and after
3387         performing the checks.
3389 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
3391         PR target/56890
3392         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
3393         (S_MODES): Set H_MODE bit.
3394         (SF_MODES): Set only S_MODE and SF_MODE bits.
3395         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
3396         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
3397         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
3398         <MODE_FLOAT>: Likewise.
3400 2013-04-12  Vladimir Makarov  <vmakarov@redhat.com>
3402         PR target/56903
3403         * config/i386/i386.c (ix86_hard_regno_mode_ok): Add
3404         lra_in_progress for return.
3406 2013-04-12  Jakub Jelinek  <jakub@redhat.com>
3408         PR tree-optimization/56918
3409         PR tree-optimization/56920
3410         * fold-const.c (int_const_binop_1): Use op1.mul_with_sign (op2, ...)
3411         instead of op1 - op2.  Pass 2 * TYPE_PRECISION (type) as second
3412         argument to rshift method.
3414 2013-04-12  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3416         * ifcvt.c (end_ifcvt_sequence): Mark a and b for unsharing as
3417         well.
3419 2013-04-11  Marek Polacek  <polacek@redhat.com>
3421         PR tree-optimization/48184
3422         * params.def (PARAM_ALIGN_THRESHOLD): Increase the minimum
3423         value to 1.
3425 2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
3427         Backported from mainline.
3428         2013-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
3430         * config/aarch64/aarch64-simd.md (aarch64_vcond_internal): Fix
3431         floating-point vector comparisons against 0.
3433 2013-04-11  Jakub Jelinek  <jakub@redhat.com>
3435         PR tree-optimization/56899
3436         * fold-const.c (extract_muldiv_1): Apply distributive law
3437         only if TYPE_OVERFLOW_WRAPS (ctype).
3439 2013-04-10  David S. Miller  <davem@davemloft.net>
3441         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
3442         or -mcpu=hypersparc.
3444 2013-04-10  Jakub Jelinek  <jakub@redhat.com>
3446         Backported from mainline
3447         2013-04-09  Jakub Jelinek  <jakub@redhat.com>
3449         PR middle-end/56883
3450         * omp-low.c (expand_omp_for_generic, expand_omp_for_static_nochunk,
3451         expand_omp_for_static_chunk): Use simple_p = true in
3452         force_gimple_operand_gsi calls when assigning to addressable decls.
3454 2013-04-09  Marek Polacek  <polacek@redhat.com>
3456         PR tree-optimization/48762
3457         * params.def (PARAM_MAX_CSE_INSNS): Increase the minimum
3458         value to 1.
3460 2013-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
3462         * config/s390/s390.c (s390_expand_insv): Only accept insertions
3463         within mode size.
3465 2013-04-08  Marek Polacek  <polacek@redhat.com>
3467         PR rtl-optimization/48182
3468         * params.def (PARAM_MIN_CROSSJUMP_INSNS): Increase the minimum
3469         value to 1.
3471 2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3473         PR target/55487
3474         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
3475         nuses, make sure we have a label.
3477 2013-04-04  Ian Lance Taylor  <iant@google.com>
3479         Backport from mainline:
3480         * doc/standards.texi (Standards): The Go frontend supports the Go
3481         1 language standard.
3483 2013-04-04  Marek Polacek  <polacek@redhat.com>
3485         Backport from mainline:
3486         2013-04-04  Marek Polacek  <polacek@redhat.com>
3488         PR tree-optimization/48186
3489         * predict.c (maybe_hot_frequency_p): Return false if
3490         HOT_BB_FREQUENCY_FRACTION is 0.
3491         (cgraph_maybe_hot_edge_p): Likewise.
3493 2013-04-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3495         Backport from mainline:
3496         2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3498         PR target/56720
3499         * config/arm/iterators.md (v_cmp_result): New mode attribute.
3500         * config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.
3502 2013-04-04  Richard Biener  <rguenther@suse.de>
3504         PR tree-optimization/56837
3505         * tree-loop-distribution.c (classify_partition): For non-zero
3506         values require that the value has the same precision as its
3507         mode to be useful as memset value.
3509 2013-04-03  Roland McGrath  <mcgrathr@google.com>
3511         Backport from mainline:
3512         2013-03-26  Roland McGrath  <mcgrathr@google.com>
3514         * config/arm/arm.c (arm_print_operand: case 'w'): Use fputs rather
3515         than fprintf with a non-constant, non-format string.
3517 2013-04-03  Marek Polacek  <polacek@redhat.com>
3519         Backport from mainline:
3520         2013-04-03  Marek Polacek  <polacek@redhat.com>
3522         PR sanitizer/55702
3523         * tsan.c (instrument_func_exit): Allow BUILT_IN_RETURN
3524         functions.
3526 2013-04-03  Richard Biener  <rguenther@suse.de>
3528         PR tree-optimization/56817
3529         * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely):
3530         Split out ...
3531         (tree_unroll_loops_completely_1): ... new function to manually
3532         walk the loop tree, properly defering outer loops of unrolled
3533         loops to later iterations.
3535 2013-04-02  Jakub Jelinek  <jakub@redhat.com>
3537         PR rtl-optimization/56745
3538         * ifcvt.c (cond_exec_find_if_block): Don't try to optimize
3539         if then_bb has no successors and else_bb is EXIT_BLOCK_PTR.
3541 2013-04-02  Wei Mi  <wmi@google.com>
3543         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
3544         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
3545         *<rotate_insn><mode>3_mask in i386.md.
3547 2013-04-01  Wei Mi  <wmi@google.com>
3549         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
3550         Truncate operand 2 using %b asm operand modifier.
3551         (*<shift_insn><mode>3_mask): Ditto.
3552         (*<rotate_insn><mode>3_mask): Ditto.
3554 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
3556         * config/i386/i386.md (*movsf_internal): Change type of
3557         alternatives 3,4 to imov.
3559 2013-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
3561         PR lto/56777
3562         * doc/invoke.texi ([-fwhole-program]): Fix typo.
3564 2013-03-29  Kirill Yukhin  <kirill.yukhin@intel.com>
3566         * config/i386/avx2intrin.h (_mm256_broadcastsi128_si256):
3567         Fix declaration name.
3569 2013-03-28  Gerald Pfeifer  <gerald@pfeifer.com>
3571         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
3572         * doc/extend.texi (Named Address Spaces): Ditto.
3573         (Variable Attributes): Ditto.
3575 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
3577         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
3578         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
3579         is not enabled.
3581 2013-03-27  Walter Lee  <walt@tilera.com>
3583         Backport from mainline:
3584         2013-03-27  Walter Lee  <walt@tilera.com>
3586         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
3587         double-decrement of next_scratch_regno.
3589 2013-03-27  Walter Lee  <walt@tilera.com>
3591         Backport from mainline:
3592         2013-03-27  Walter Lee  <walt@tilera.com>
3594         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
3595         input operands.
3596         (insn_v1mulus): Ditto.
3597         (insn_v2muls): Ditto.
3599 2013-03-27  Walter Lee  <walt@tilera.com>
3601         Backport from mainline:
3602         2013-03-27  Walter Lee  <walt@tilera.com>
3604         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
3605         extra tab.
3606         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
3608 2013-03-27  Walter Lee  <walt@tilera.com>
3610         Backport from mainline:
3611         2013-03-27  Walter Lee  <walt@tilera.com>
3613         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute for jr.
3614         (*sibcall_value): Ditto.
3616 2013-03-27  Walter Lee  <walt@tilera.com>
3618         Backport from mainline:
3619         2013-03-27  Walter Lee  <walt@tilera.com>
3621         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
3622         (insn_mnz_v8qi): ... this ...
3623         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
3624         vector equivalent.
3625         (insn_v<n>mnz): Replaced by ...
3626         (insn_v1mnz): ... this ...
3627         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
3628         equivalent.
3629         (insn_mz_<mode>): Replaced by ...
3630         (insn_mz_v8qi): ... this ...
3631         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
3632         vector equivalent.
3633         (insn_v<n>mz): Replaced by ...
3634         (insn_v1mz): ... this ...
3635         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
3636         equivalent.
3638 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
3640         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
3642 2013-03-26  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3644         * config/rtems.opt: Add -pthread option.
3646 2013-03-26  Sofiane Naci  <sofiane.naci@arm.com>
3648         * config/aarch64/aarch64.c (aarch64_classify_address): Support
3649         PC-relative load in SI modes and above only.
3651 2013-03-26  Walter Lee  <walt@tilera.com>
3653         Backport from mainline:
3654         2013-03-26  Walter Lee  <walt@tilera.com>
3656         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
3657         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
3659 2013-03-26  Walter Lee  <walt@tilera.com>
3661         Backport from mainline:
3662         2013-03-25  Walter Lee  <walt@tilera.com>
3664         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
3665         TILEGX_INSN_SHUFFLEBYTES1.
3666         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
3667         shufflebytes1.
3668         (tilegx_builtins): Ditto.
3669         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
3671 2013-03-26  Walter Lee  <walt@tilera.com>
3673         Backport from mainline:
3674         2013-03-25  Walter Lee  <walt@tilera.com>
3676         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
3677         tests for constraint J, K, N, P.
3679 2013-03-26  Walter Lee  <walt@tilera.com>
3681         Backport from mainline:
3682         2013-03-25  Walter Lee  <walt@tilera.com>
3684         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
3685         Use indirect/pcrel encoding.
3686         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
3687         Ditto.
3689 2013-03-25  Richard Biener  <rguenther@suse.de>
3691         PR middle-end/56694
3692         * tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
3693         must-not-throw stmt location.
3695 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
3697         * BASE-VER: Set to 4.8.1.
3698         * DEV-PHASE: Set to prerelease.
3700 2013-03-22  Release Manager
3702         * GCC 4.8.0 released.
3704 2013-03-21  Walter Lee  <walt@tilera.com>
3706         * config/tilegx/sync.md (atomic_test_and_set): New pattern.
3708 2013-03-21  Mark Wielaard  <mjw@redhat.com>
3710         * dwarf2out.c (size_of_aranges): Skip DECL_IGNORED_P functions.
3712 2013-03-20  Richard Biener  <rguenther@suse.de>
3714         PR tree-optimization/56661
3715         * tree-ssa-sccvn.c (visit_use): Only value-number calls if
3716         the result does not have to be distinct.
3718 2013-03-20  Jakub Jelinek  <jakub@redhat.com>
3720         PR tree-optimization/56635
3721         * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Give up
3722         if lhs of then_assign and else_assign don't have compatible types.
3724 2013-03-17  Jakub Jelinek  <jakub@redhat.com>
3726         PR target/56640
3727         * config/arm/arm.h (REG_CLASS_NAMES): Add "SFP_REG" and "AFP_REG"
3728         class names.  Remove trailing comma after "ALL_REGS".
3730 2013-03-16  Jakub Jelinek  <jakub@redhat.com>
3732         * DEV-PHASE: Set to prerelease.
3734 2013-03-14  Andi Kleen  <ak@linux.intel.com>
3736         PR target/56619
3737         * doc/extend.texi: Document __ATOMIC_HLE_ACQUIRE,
3738         __ATOMIC_HLE_RELEASE. Document __builtin_ia32 TSX intrincs.
3739         Document _x* TSX intrinsics.
3741 2013-03-14  Edgar E. Iglesias <edgar.iglesias@xilinx.com>
3742             David Holsgrove <david.holsgrove@xilinx.com>
3744         * configure.ac: Add MicroBlaze TLS support detection.
3745         * configure: Regenerate.
3746         * config/microblaze/microblaze-protos.h
3747         (microblaze_cannot_force_const_mem, microblaze_tls_referenced_p,
3748         symbol_mentioned_p, label_mentioned_p): Add prototypes.
3749         * config/microblaze/microblaze.c (microblaze_address_type): Add
3750         ADDRESS_TLS and tls_reloc address types.
3751         (microblaze_address_info): Add tls_reloc.
3752         (TARGET_HAVE_TLS): Define.
3753         (get_tls_get_addr, microblaze_tls_symbol_p, microblaze_tls_operand_p_1,
3754         microblaze_tls_referenced_p, microblaze_cannot_force_const_mem,
3755         symbol_mentioned_p, label_mentioned_p, tls_mentioned_p,
3756         load_tls_operand, microblaze_call_tls_get_addr,
3757         microblaze_legitimize_tls_address): New functions.
3758         (microblaze_classify_unspec): Handle UNSPEC_TLS.
3759         (get_base_reg): Use microblaze_tls_symbol_p.
3760         (microblaze_classify_address): Handle TLS.
3761         (microblaze_legitimate_pic_operand): Use symbol_mentioned_p,
3762         label_mentioned_p and microblaze_tls_referenced_p.
3763         (microblaze_legitimize_address): Handle TLS.
3764         (microblaze_address_insns): Handle ADDRESS_TLS.
3765         (pic_address_needs_scratch): Handle TLS.
3766         (print_operand_address): Handle TLS.
3767         (microblaze_expand_prologue): Check TLS_NEEDS_GOT.
3768         (microblaze_expand_move): Handle TLS.
3769         (microblaze_legitimate_constant_p): Check
3770         microblaze_cannot_force_const_mem and microblaze_tls_symbol_p.
3771         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3772         * config/microblaze/microblaze.h (TLS_NEEDS_GOT): Define
3773         (PIC_OFFSET_TABLE_REGNUM): Set.
3774         * config/microblaze/linux.h (TLS_NEEDS_GOT): Define.
3775         * config/microblaze/microblaze.md (UNSPEC_TLS): Define.
3776         (addsi3, movsi_internal2, movdf_internal): Update constraints
3777         * config/microblaze/predicates.md (arith_plus_operand): Define
3778         (move_operand): Redefine as move_src_operand, check
3779         microblaze_tls_referenced_p.
3781 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
3783         * config/aarch64/aarch64.md: (*and<mode>3nr_compare0): Use CC_NZ.
3784         (*and_<SHIFT:optab><mode>3nr_compare0): Likewise.
3786 2013-03-14  Ian Bolton  <ian.bolton@arm.com>
3788         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return correct
3789         CC mode for AND.
3791 2013-03-14  Jakub Jelinek  <jakub@redhat.com>
3793         PR tree-optimization/53265
3794         * common.opt (Waggressive-loop-optimizations): New option.
3795         * tree-ssa-loop-niter.c: Include tree-pass.h.
3796         (do_warn_aggressive_loop_optimizations): New function.
3797         (record_estimate): Call it.  Don't add !is_exit bounds to loop->bounds
3798         if number_of_latch_executions returned constant.
3799         (estimate_numbers_of_iterations_loop): Call number_of_latch_executions
3800         early.  If number_of_latch_executions returned constant, set
3801         nb_iterations_upper_bound back to it.
3802         * cfgloop.h (struct loop): Add warned_aggressive_loop_optimizations
3803         field.
3804         * Makefile.in (tree-ssa-loop-niter.o): Depend on $(TREE_PASS_H).
3805         * doc/invoke.texi (-Wno-aggressive-loop-optimizations): Document.
3807         * config/aarch64/t-aarch64-linux (MULTARCH_DIRNAME): Remove.
3808         (MULTILIB_OSDIRNAMES): Set.
3809         * genmultilib: If defaultosdirname doesn't start with :: , set
3810         defaultosdirname2 instead, clear it and emit two . multilib_raw
3811         entries instead of just one.
3813 2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
3815         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3816         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
3817         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
3818         (SUBTARGET_OVERRIDE_OPTIONS): New.
3820 2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
3822         PR target/49880
3823         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
3824         (musermode): Convert to Var(TARGET_USERMODE).
3825         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
3826         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
3827         * config/sh/sh.c (sh_option_override): Use
3828         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
3829         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
3830         condition.
3831         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
3832         TARGET_SH4.
3833         (udivsi3_i4_single, divsi3_i4_single): Use
3834         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
3836 2013-03-13  Dave Korn  <dave.korn.cygwin@....>
3838         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
3839         default setting.
3841 2013-03-13  Richard Biener  <rguenther@suse.de>
3843         PR tree-optimization/56608
3844         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
3845         calls when vectorizing basic-blocks.
3847 2013-03-13  Jakub Jelinek  <jakub@redhat.com>
3849         PR plugins/45078
3850         * config.gcc: On arm, mips, sh and sparc add vxworks-dummy.h to
3851         tm_file.
3853 2013-03-12  Jakub Jelinek  <jakub@redhat.com>
3855         * doc/invoke.texi (-Waddr-space-convert): Move into the table earlier.
3857 2013-03-11  Jan Hubicka  <jh@suse.cz>
3859         PR lto/56557
3860         * lto-streamer-out.c (output_symbol_p): Skip references from
3861         constructors of external variables.
3863 2013-03-11  Jan Hubicka  <jh@suse.cz>
3865         PR middle-end/56571
3866         * valtrack.c (cleanup_auto_inc_dec): Unshare clobbers originating
3867         from pseudos.
3868         * emit-rtl.c (verify_rtx_sharing): Likewise.
3869         (copy_insn_1): Likewise.
3870         * rtl.c (copy_rtx): Likewise.
3872 2013-03-11  Georg-Johann Lay  <avr@gjlay.de>
3874         PR target/56591
3875         * config/avr/avr.c (avr_print_operand): Add space after '%c' in
3876         output_operand_lossage message.
3878 2013-03-11  Richard Earnshaw  <rearnsha@arm.com>
3880         PR target/56470
3881         * arm.c (shift_op): Validate RTL pattern on the fly.
3882         (arm_print_operand, case 'S'): Don't use shift_operator to validate
3883         the RTL.
3885 2013-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3887         PR target/56347
3888         * config/pa/pa.md (call_value): Check for calls to powf and direct to
3889         new call patterns that clobber %fr12.
3890         (call_val_powf, call_val_powf_pic, call_val_powf_64bit): New insn,
3891         split and postreload patterns.
3892         * config/pa/pa.c (pa_conditional_register_usage): Revert marking
3893         registers %fr12 and %fr12R as call used.
3895 2013-03-09  Steven Bosscher  <steven@gcc.gnu.org>
3897         * dse.c (delete_dead_store_insn): Respect TDF_DETAILS.
3898         (canon_address, record_store, replace_read, check_mem_read_rtx,
3899         scan_insn, dse_step1, dse_step2_init, dse_step2_spill,
3900         dse_step4, dse_step5_nospill, dse_step5_spill, dse_step6,
3901         rest_of_handle_dse): Likewise.
3903 2013-03-09  Richard Sandiford  <rdsandiford@googlemail.com>
3905         PR middle-end/56524
3906         * tree.h (tree_optimization_option): Rename target_optabs to optabs.
3907         Add base_optabs.
3908         (TREE_OPTIMIZATION_OPTABS): Update after previous field change.
3909         (TREE_OPTIMIZATION_BASE_OPTABS): New macro.
3910         (save_optabs_if_changed): Replace with...
3911         (init_tree_optimization_optabs): ...this.
3912         * optabs.c (save_optabs_if_changed): Rename to...
3913         (init_tree_optimization_optabs): ...this.  Take the optimization node
3914         as argument.  Do nothing if the base optabs are already correct.
3915         Reuse the existing TREE_OPTIMIZATION_OPTABS memory if we need
3916         to recompute optabs.
3917         * function.h (function): Remove optabs field.
3918         * function.c (invoke_set_current_function_hook): Call
3919         init_tree_optimization_optabs.  Use the result to initialize
3920         this_fn_optabs.
3922 2013-02-27  Aldy Hernandez  <aldyh@redhat.com>
3924         * trans-mem.c (expand_transaction): Do not set PR_INSTRUMENTEDCODE
3925         if GTMA_HAS_NO_INSTRUMENTATION.
3926         (generate_tm_state): Keep GTMA_HAS_NO_INSTRUMENTATION bit.
3927         (ipa_tm_transform_transaction): Set GTMA_HAS_NO_INSTRUMENTATION.
3928         * gimple.h (GTMA_HAS_NO_INSTRUMENTATION): Define.
3929         * gimple-pretty-print.c (dump_gimple_transaction): Handle
3930         GTMA_HAS_NO_INSTRUMENTATION.
3932 2013-03-08  Jakub Jelinek  <jakub@redhat.com>
3934         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Don't link against
3935         libasan_preinit.o.
3937 2013-03-08  Marek Polacek  <polacek@redhat.com>
3938             Jakub Jelinek  <jakub@redhat.com>
3940         PR tree-optimization/56478
3941         * predict.c (is_comparison_with_loop_invariant_p): Change the
3942         type of loop_step to tree.
3943         (predict_loops): Adjust.
3944         (predict_iv_comparison): Perform the computations on double_ints.
3946 2013-03-08  Richard Biener  <rguenther@suse.de>
3948         PR tree-optimization/56570
3949         * tree-cfg.c (verify_expr_location_1): Verify locations for
3950         DECL_DEBUG_EXPR.
3951         * tree-sra.c (create_access_replacement): Strip locations
3952         from DECL_DEBUG_EXPRs.
3954 2013-03-08  Richard Biener  <rguenther@suse.de>
3956         * tree-inline.c (expand_call_inline): Do not associate
3957         a BLOCK with the location in BLOCK_SOURCE_LOCATION.
3958         * tree-cfg.c (verify_location): Verify BLOCK_SOURCE_LOCATION.
3960 2013-03-08  Richard Biener  <rguenther@suse.de>
3962         * tree-ssa-ter.c (is_replaceable_p): Do not TER across location
3963         or block changes with -Og.  Fix for location / block encoding
3964         changes and PHI arguments with locations.
3966 2013-03-07  Steven Bosscher  <steven@gcc.gnu.org>
3968         * bitmap.c (struct bitmap_descriptor_d): Use unsigned HOST_WIDEST_INT
3969         for all counters.
3970         (struct output_info): Likewise.
3971         (register_overhead): Remove bad gcc_assert.
3972         (bitmap_find_bit): If there is only a single bitmap element, do not
3973         count a miss as a search.
3974         (print_statistics): Update for counter type changes.
3975         (dump_bitmap_statistics): Likewise.  Print headers such that they
3976         are properly lined up with the printed counters.
3978 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
3980         PR tree-optimization/56559
3981         * tree-ssa-reassoc.c (zero_one_operation): When looking at rhs2,
3982         check that it has only a single use.
3984 2013-03-07  Richard Biener  <rguenther@suse.de>
3986         * doc/invoke.texi (fwhole-program): Discourage use in combination
3987         with -flto.
3989 2013-03-06  Jakub Jelinek  <jakub@redhat.com>
3991         * config/arm/t-arm (TM_H, OPTIONS_H_EXTRA): Add arm-cores.def.
3993         PR tree-optimization/56539
3994         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
3995         instead of GSI_CONTINUE_LINKING as last argument to
3996         force_gimple_operand_gsi.  Adjust function comment.
3998         * config/aarch64/t-aarch64 (TM_H, OPTIONS_H_EXTRA): Add
3999         aarch64-cores.def.
4001         PR middle-end/56548
4002         * expr.c (expand_cond_expr_using_cmove): When expanding cmove in
4003         promoted mode, convert the result back to the original mode.
4005 2013-03-06  Richard Biener  <rguenther@suse.de>
4007         PR middle-end/56294
4008         * tree-into-ssa.c (insert_phi_nodes_for): Add dumping.
4009         (insert_updated_phi_nodes_compare_uids): New function.
4010         (update_ssa): Sort symbols_to_rename after UID before
4011         traversing it to insert PHI nodes.
4013 2013-03-06  Richard Biener  <rguenther@suse.de>
4015         PR middle-end/50494
4016         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p):
4017         Do not adjust alignment of DECL_IN_CONSTANT_POOL decls.
4019         Revert
4020         2013-02-13  Richard Biener  <rguenther@suse.de>
4022         PR lto/50494
4023         * varasm.c (output_constant_def_1): Get the decl representing
4024         the constant as argument.
4025         (output_constant_def): Wrap output_constant_def_1.
4026         (make_decl_rtl): Use output_constant_def_1 with the decl
4027         representing the constant.
4028         (build_constant_desc): Optionally re-use a decl already
4029         representing the constant.
4030         (tree_output_constant_def): Adjust.
4032 2013-03-06  Joey Ye  <joey.ye@arm.com>
4034         PR lto/50293
4035         * gcc.c (convert_white_space): New function.
4036         (main): Handles white space in function name.
4038 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
4040         PR target/56529
4041         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
4042         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
4043         to SH_DIV_CALL_TABLE for TARGET_SH2.
4044         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
4045         list.
4046         * doc/invoke.texi (SH options): Document mdiv= call-div1, call-fp,
4047         call-table options.
4049 2013-03-05  Sterling Augustine  <saugustine@google.com>
4050             Cary Coutant  <ccoutant@google.com>
4052         PR debug/55364
4053         * dwarf2out.c (resolve_addr): Don't call
4054         remove_loc_list_addr_table_entries a second time for the same
4055         expression.
4057 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
4059         PR debug/56510
4060         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
4061         (avoid_complex_debug_insns): New function.
4062         (expand_debug_locations): Call it.
4064         PR rtl-optimization/56484
4065         * ifcvt.c (noce_process_if_block): If else_bb is NULL, avoid extending
4066         lifetimes of hard registers on small register class machines.
4068 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
4070         * config/microblaze/microblaze-protos.h: Rename
4071         microblaze_is_interrupt_handler to microblaze_is_interrupt_variant.
4072         * config/microblaze/microblaze.c (microblaze_attribute_table): Add
4073         fast_interrupt.
4074         (microblaze_fast_interrupt_function_p): New function.
4075         (microblaze_is_interrupt_handler): Rename to
4076         microblaze_is_interrupt_variant and add fast_interrupt check.
4077         (microblaze_must_save_register): Use microblaze_is_interrupt_variant.
4078         (save_restore_insns): Likewise.
4079         (compute_frame_size): Likewise.
4080         (microblaze_function_prologue): Add FAST_INTERRUPT_NAME.
4081         (microblaze_globalize_label): Likewise.
4082         * config/microblaze/microblaze.h: Define FAST_INTERRUPT_NAME.
4083         * config/microblaze/microblaze.md: Use wrapper
4084         microblaze_is_interrupt_variant.
4086 2013-03-05  Kai Tietz  <ktietz@redhat.com>
4088         * sdbout.c (sdbout_one_type): Switch to current function's section
4089         supporting cold/hot.
4091 2013-03-05  David Holsgrove  <david.holsgrove@xilinx.com>
4093         * doc/invoke.texi (MicroBlaze): Add -mbig-endian, -mlittle-endian,
4094         -mxl-reorder.
4096 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
4098         PR middle-end/56461
4099         * ggc-common.c (gt_pch_save): For ENABLE_VALGRIND_CHECKING,
4100         if VALGRIND_GET_VBITS is defined, temporarily make object
4101         memory all defined, and restore previous valgrind addressability
4102         and definability afterwards.  Free this_object at the end.
4104         PR middle-end/56461
4105         * lra.c (lra): Call lra_clear_live_ranges if live_p,
4106         right before calling lra_create_live_ranges, also call it
4107         when clearing live_p.  Only call lra_clear_live_ranges
4108         at the end if live_p.
4110         PR middle-end/56461
4111         * sched-deps.c (delete_dep_node): Free DEP_REPLACE.
4113 2013-03-05  Richard Biener  <rguenther@suse.de>
4115         PR tree-optimization/56521
4116         * tree-ssa-sccvn.c (set_value_id_for_result): Always initialize
4117         value-id.
4119 2013-03-05  Steven Bosscher  <steven@gcc.gnu.org>
4121         PR c++/55135
4122         * except.h (remove_unreachable_eh_regions): New prototype.
4123         * except.c (remove_eh_handler_splicer): New function, split out
4124         of remove_eh_handler.
4125         (remove_eh_handler): Use remove_eh_handler_splicer.  Add comment
4126         warning about running it on many EH regions one at a time.
4127         (remove_unreachable_eh_regions_worker): New function, walk the
4128         EH tree in depth-first order and remove non-marked regions.
4129         (remove_unreachable_eh_regions): New function.
4130         * tree-eh.c (mark_reachable_handlers): New function, split out
4131         from remove_unreachable_handlers.
4132         (remove_unreachable_handlers): Use mark_reachable_handlers and
4133         remove_unreachable_eh_regions.
4134         (remove_unreachable_handlers_no_lp): Use mark_reachable_handlers
4135         and remove_unreachable_eh_regions.
4137 2013-03-05  Richard Biener  <rguenther@suse.de>
4139         PR middle-end/56525
4140         * loop-init.c (fix_loop_structure): Remove loops in two stages,
4141         not freeing them until the end.
4143 2013-03-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
4145         * config/s390/s390.h: Define DWARF2_ASM_LINE_DEBUG_INFO.
4147 2013-03-05  Richard Biener  <rguenther@suse.de>
4149         PR tree-optimization/56270
4150         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
4151         of loads after scheduling an SLP instance.
4153 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
4155         * Makefile.in (dg_target_exps): Add aarch64.exp, epiphany.exp and
4156         tic6x.exp.
4157         (check_gcc_parallelize): Run guality.exp as a separate job from
4158         vect.exp with unsorted.exp and $(dg_target_exps) separately from
4159         struct-layout-1.exp with stackalign.exp.
4161         * alias.c (init_alias_analysis): Clear reg_known_equiv_p bitmap.
4163         PR middle-end/56461
4164         * tree-vect-slp.c (vect_supported_load_permutation_p): Free
4165         load_index sbitmap even if some bit in it isn't set.
4167         PR middle-end/56461
4168         * tree-ssa-loop-niter.c (bb_queue): Remove typedef.
4169         (discover_iteration_bound_by_body_walk): Change queues to
4170         vec<vec<basic_block> > and queue to vec<basic_block>.  Fix up
4171         spelling in comment.  Call safe_push on queues[bound_index] directly.
4172         Release queues[queue_index] in every iteration unconditionally.
4173         Release bounds vector.
4175         PR middle-end/56461
4176         * tree-vect-stmts.c (free_stmt_vec_info_vec): Call
4177         free_stmt_vec_info on any left-over stmt_vec_info in the vector.
4178         * tree-vect-loop.c (vect_create_epilog_for_reduction): Release
4179         inner_phis vector.
4181 2013-03-05  Richard Biener  <rguenther@suse.de>
4183         PR lto/56515
4184         * tree-inline.c (remap_blocks_to_null): New function.
4185         (expand_call_inline): When expanding a call stmt without
4186         an associated block inline remap all callee blocks to NULL.
4188 2013-03-05  Jakub Jelinek  <jakub@redhat.com>
4190         PR rtl-optimization/56494
4191         * simplify-rtx.c (simplify_truncation): If C is narrower than A,
4192         optimize (truncate:A (subreg:B (truncate:C X) 0)) into
4193         (subreg:A (truncate:C X) 0) instead of (truncate:A X).
4195         PR middle-end/56461
4196         * sel-sched-ir.c (free_sched_pools): Release
4197         succs_info_pool.stack[succs_info_pool.max_top] vectors too
4198         if succs_info_pool.max_top isn't -1.
4200         PR bootstrap/56509
4201         * opts.c (opts_obstack, opts_concat): Moved to...
4202         * opts-common.c (opts_obstack, opts_concat): ... here.
4204 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
4206         PR middle-end/56461
4207         * diagnostic.c (diagnostic_append_note): Save and restore old prefix.
4209 2013-03-04  Martin Jambor  <mjambor@suse.cz>
4211         * tree-dfa.c (get_or_create_ssa_default_def): Use parameter fn in
4212         all appropriate places.
4214 2013-01-04  Eric Botcazou  <ebotcazou@adacore.com>
4216         PR tree-optimization/56424
4217         * ipa-split.c (split_function): Do not set the RSO flag if result is
4218         not by reference and its type is a register type.
4220 2013-03-04  David Holsgrove  <david.holsgrove@xilinx.com>
4222         * config/microblaze/microblaze.c (microblaze_valid_pic_const): New.
4223         (microblaze_legitimate_pic_operand): Likewise.
4224         * config/microblaze/microblaze.h (LEGITIMATE_PIC_OPERAND_P): Call
4225         new function microblaze_legitimate_pic_operand.
4226         * config/microblaze/microblaze-protos.h
4227         (microblaze_legitimate_pic_operand): Declare.
4229 2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4231         * config/microblaze/predicates.md (call_insn_simple_operand):
4232         New predicate for supported rtx code types.
4233         * config/microblaze/microblaze.md (call_internal1): Use
4234         call_insn_simple_operand predicate.
4236 2013-03-04  Jakub Jelinek  <jakub@redhat.com>
4238         PR middle-end/56461
4239         * tree-loop-distribution.c (ldist_gen): Call partition_free after each
4240         partitions.ordered_remove.
4242         PR middle-end/56461
4243         * tree-vect-stmts.c (vectorizable_conversion): Don't call
4244         vec_oprnds0.create (1) for modifier == NONE.
4246         PR middle-end/56461
4247         * tree-vect-stmts.c (vectorizable_shift): Don't call create methods
4248         on vec_oprnds0 or vec_oprnds1 before loop, only call it on
4249         vec_oprnds1 right before pushing anything to it for
4250         scalar_shift_arg.
4252         PR middle-end/56461
4253         * tree-vect-loop.c (destroy_loop_vec_info): For !clean_stmts, just
4254         set nbbs to 0 instead of having separate code path.
4255         (vect_analyze_loop_form): Call destroy_loop_vec_info with true
4256         instead of false as last argument if returning NULL.
4258 2013-03-03  Sandra Loosemore  <sandra@codesourcery.com>
4260         * target.def (TARGET_OPTION_VALID_ATTRIBUTE_P): Update comments;
4261         the attribute is now called "target" instead of "option".
4262         (TARGET_OPTION_PRAGMA_PARSE): Likewise, for the pragma.
4263         * doc/tm.texi.in (Target Attributes):  Likewise document the correct
4264         attribute/pragma name for TARGET_OPTION_VALID_P and
4265         TARGET_OPTION_PRAGMA_PARSE.  Also copy-edit and correct markup.
4266         * doc/tm.texi: Regenerated.
4268 2013-03-02  David Holsgrove  <david.holsgrove@xilinx.com>
4270         * config/microblaze/microblaze.c:
4271         Check mcpu, pcmp requirement and set TARGET_REORDER to 0 if not met.
4272         * config/microblaze/microblaze.h: Add -mxl-reorder to
4273         DRIVER_SELF_SPECS.
4274         * config/microblaze/microblaze.md: New bswapsi2 and bswaphi2.
4275         instructions emitted if TARGET_REORDER.
4276         * config/microblaze/microblaze.opt: New option -mxl-reorder set to 1
4277         or 0 for -m/-mno case, but initialises as 2 to detect default use case
4278         separately.
4280 2013-03-01  Xinliang David Li  <davidxl@google.com>
4282         * tree-ssa-uninit.c (compute_control_dep_chain): Limit post-dom
4283         walk length.
4285 2013-03-01  Jakub Jelinek  <jakub@redhat.com>
4287         PR middle-end/56461
4288         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Release path
4289         vector even when returning true.  Fix up function comment formatting.
4291         PR middle-end/56461
4292         * ira-build.c (ira_loop_nodes_count): New variable.
4293         (create_loop_tree_nodes): Initialize it.
4294         (finish_loop_tree_nodes): Use it instead of looking at current_loops.
4296         PR middle-end/56461
4297         * tree-vect-data-refs.c (vect_permute_store_chain): Avoid using copy
4298         method on dr_chain and result_chain.
4299         * tree-vect-stmts.c (vectorizable_store): Only call
4300         result_chain.create if j == 0.
4302         PR middle-end/56461
4303         * tree-vect-stmts.c (vect_create_vectorized_promotion_stmts): Call
4304         vec_oprnds0->release (); rather than vec_oprnds0->truncate (0)
4305         before overwriting it.
4307 2013-03-01  Tobias Burnus  <burnus@net-b.de>
4309         * doc/extended.texi (C Extensions): Change order in @menu
4310         to match @node.
4311         (Other MIPS Built-in Functions): Move last MIPS entry before
4312         "picoChip Built-in Functions".
4313         (SH Built-in Functions): Move after RX Built-in Functions.
4314         * doc/gcc.texi (Introduction): Change order in @menu to match @node.
4315         * doc/md.texi (Constraints): Ditto.
4316         * gty.texi (Type Information): Ditto.
4317         (User-provided marking routines for template types): Make subsection.
4318         * doc/invoke.texi (AArch64 Options): Move before
4319         "Adapteva Epiphany Options".
4321 2013-02-28  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>
4322             Jakub Jelinek  <jakub@redhat.com>
4324         PR sanitizer/56454
4325         * asan.c (gate_asan): Lookup no_sanitize_address instead of
4326         no_address_safety_analysis attribute.
4327         * doc/extend.texi (no_address_safety_attribute): Rename to
4328         no_sanitize_address attribute, mention no_address_safety_analysis
4329         attribute as deprecated alias.
4331 2013-02-28  Jakub Jelinek  <jakub@redhat.com>
4333         PR middle-end/56461
4334         * tree-vectorizer.h (vect_get_slp_defs): Change 3rd argument
4335         type to vec<vec<tree> > *.
4336         * tree-vect-slp.c (vect_get_slp_defs): Likewise.  Change vec_defs
4337         to be vec<tree> instead of vec<tree> *, set vec_defs
4338         to vNULL and call vec_defs.create (number_of_vects), adjust other
4339         uses of vec_defs.
4340         * tree-vect-stmts.c (vect_get_vec_defs, vectorizable_call,
4341         vectorizable_condition): Adjust vect_get_slp_defs callers.
4343 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
4345         * config/aarch64/aarch64.c
4346         (aarch64_float_const_representable): Remove unused variable.
4348 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
4350         * config/aarch64/aarch64.c (aarch64_mangle_type): Make static.
4352 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
4354         * config/aarch64/aarch64-builtins.c
4355         (aarch64_init_simd_builtins): Make static.
4357 2013-02-28  James Greenhalgh  <james.greenhalgh@arm.com>
4359         * config/aarch64/aarch64.c
4360         (aarch64_simd_make_constant): Make static.
4362 2013-02-28  Martin Jambor  <mjambor@suse.cz>
4364         * tree-sra.c (load_assign_lhs_subreplacements): Do not put replacements
4365         with no initialization to the RHS of debug statements.
4367 2013-02-28  Martin Jambor  <mjambor@suse.cz>
4369         PR tree-optimization/56294
4370         * tree-sra.c (analyze_access_subtree): Create replacement declarations.
4371         Adjust dumping.
4372         (get_access_replacement): Do not call create_access_replacement.
4373         Assert a replacement exists.
4374         (get_repl_default_def_ssa_name): Create the replacement declaration
4375         itself.
4377 2013-02-28  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
4379         * config/arm/arm.c (arm_output_mi_thunk): Call final_start_function and
4380         final_end_function.
4382 2013-02-28  Marek Polacek  <polacek@redhat.com>
4384         PR rtl-optimization/56466
4385         * loop-unroll.c (unroll_and_peel_loops): Call fix_loop_structure
4386         if we're changing a loop.
4387         (peel_loops_completely): Likewise.
4389 2013-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
4391         PR c++/55813
4392         * doc/invoke.texi ([-Wctor-dtor-privacy]): Complete.
4394 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
4396         PR target/56445
4397         * config/avr/avr.c (avr_init_builtins): Use 'n' instead of empty
4398         macro parameters with: FX_FTYPE_FX, FX_FTYPE_FX_INT, INT_FTYPE_FX,
4399         INTX_FTYPE_FX, FX_FTYPE_INTX.
4400         * config/avr/builtins.def: Adjust respective DEF_BUILTIN.
4402 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
4404         * avr/avr-mcus.def (ata5272, ata5505, attiny1634, ata6285)
4405         (ata6286, atmega8a, atmega48pa, ata5790, ata5790n, ata5795)
4406         (atmega164pa, atmega165pa, atmega168pa, atmega16hva, atmega16hvb)
4407         (atmega16hvbrevb, atmega16m1, atmega16u4, atmega26hvg, atmega32a)
4408         (atmega32a, atmega3250pa, atmega3290pa, atmega32c1, atmega32m1)
4409         (atmega32u4, atmega32u6, atmega64a, atmega6490a, atmega6490p)
4410         (atmega64c1, atmega64m1, atmega64rfa2, atmega64rfr2, atmega32hvb)
4411         (atmega32hvbrevb, atmega16hva2, atmega48hvf, at90pwm161)
4412         (atmega128a, atmega1284, atmxt112sl, atmxt224, atmxt224e)
4413         (atmxt336s, atxmega16a4u, atxmega16c4, atxmega32a4u, atxmega32c4)
4414         (atxmega32e5, atxmega64a3u, atxmega64a4u, atxmega64b1, atxmega64b3)
4415         (atxmega64c3, atxmega64d4, atxmega128a3u, atxmega128b1)
4416         (atxmega128b3, atxmega128c3, atxmega128d4, atmxt540s, atmxt540sreva)
4417         (atxmega192a3u, atxmega192c3, atxmega256a3u, atxmega256c3)
4418         (atxmega384c3, atxmega384d3, atxmega128a4u): New AVR_MCU.
4419         (avrxmega6): Increase max flash segments from 5 to 6.
4420         * config/avr/t-multilib: Regenerate.
4421         * config/avr/avr-tables.opt: Regenerate.
4422         * doc/avr-mmcu.texi: Regenerate.
4424 2013-02-28  Georg-Johann Lay  <avr@gjlay.de>
4426         * config/avr/avr.h (device_to_arch): Rename to device_to_ld.
4427         (avr_device_to_arch): Rename to avr_device_to_ld.
4428         (avr_device_to_as): New prototype.
4429         (EXTRA_SPEC_FUNCTIONS): Add device_to_as.
4430         (ASM_SPEC): Use device_to_as to get -mmcu= and -mno-skip-bug=.
4431         * config/avr/driver-avr.c (avr_device_to_as): New.
4432         (avr_device_to_arch): Rename to avr_device_to_ld.
4434 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
4436         PR middle-end/56461
4437         * tree-vect-data-refs.c (vect_permute_load_chain): Avoid using copy
4438         method on dr_chain and result_chain.
4440         PR middle-end/56461
4441         * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Call
4442         pointer_set_destroy on not_executed_last_iteration.
4444         PR middle-end/56461
4445         * tree-vect-loop.c (vectorizable_reduction): Release vect_defs vector.
4447         PR middle-end/56461
4448         * ipa-pure-const.c (propagate): Use FOR_EACH_FUNCTION instead of
4449         FOR_EACH_DEFINED_FUNCTION when freeing state.
4451         PR middle-end/56461
4452         * df-scan.c (df_insn_delete): Use df_scan_free_mws_vec before
4453         pool_free.
4454         (df_insn_rescan_debug_internal): Use df_scan_free_mws_vec before
4455         overwriting it.
4457         PR middle-end/56461
4458         * ipa-cp.c (decide_whether_version_node): Call vec_free on
4459         known_aggs[i].items and release known_aggs vector.
4461         PR middle-end/56461
4462         * ipa-reference.c (propagate): Free node_info even for alias nodes.
4464 2013-02-27  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
4466         * config/microblaze/microblaze.c (microblaze_emit_compare):
4467         Use xor for EQ/NE comparisions.
4468         * config/microblaze/microblaze.md (cstoresf4): Add constraints
4469         (cbranchsf4): Adjust operator to comparison_operator.
4471 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
4473         PR middle-end/56461
4474         * tree-flow.h (edge_var_map_vector): Change into va_heap, vl_embed
4475         vector.
4476         * tree-ssa.c (redirect_edge_var_map_add): Use vec_safe_reserve and
4477         vec_safe_push, always update *slot.
4478         (redirect_edge_var_map_clear): Use vec_free.
4479         (redirect_edge_var_map_dup): Use vec_safe_copy and vec_safe_reserve.
4480         (free_var_map_entry): Use vec_free.
4481         * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Use
4482         FOR_EACH_VEC_SAFE_ELT instead of FOR_EACH_VEC_ELT.
4484 2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
4486         PR middle-end/45472
4487         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
4488         when the may_trap_p bit of the exprs being merged differs.
4489         Reorder tests for speculativeness in the logical and operator.
4491 2013-02-27  Jakub Jelinek  <jakub@redhat.com>
4493         * incpath.c (add_standard_paths): Use reconcat instead of concat
4494         where appropriate and avoid leaking memory.
4496         * opts.h: Include obstack.h.
4497         (opts_concat): New prototype.
4498         (opts_obstack): New declaration.
4499         * opts.c (opts_concat): New function.
4500         (opts_obstack): New variable.
4501         (init_options_struct): Call gcc_init_obstack on opts_obstack.
4502         (finish_options): Use opts_concat instead of concat
4503         and XOBNEWVEC instead of XNEWVEC.
4504         * opts-common.c (generate_canonical_option, decode_cmdline_option,
4505         generate_option): Likewise.
4506         * Makefile.in (OPTS_H): Depend on $(OBSTACK_H).
4507         * lto-wrapper.c (main): Call gcc_init_obstack on opts_obstack.
4509         PR target/56455
4510         * stmt.c (expand_switch_as_decision_tree_p): If flag_pic
4511         and ASM_OUTPUT_ADDR_DIFF_ELT isn't defined, return true.
4513 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
4515         PR middle-end/56461
4516         * lra-spills.c (lra_spill): Free spill_hard_reg at the end.
4518 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
4520         * config/arm/arm.c (const_ok_for_dimode_op): Back out last change.
4521         (arm_block_move_unaligned_straight): Likewise.
4522         (arm_adjust_block_mem): Likewise.
4524 2013-02-26  Joern Rennecke  <joern.rennecke@embecosm.com>
4526         PR target/48901
4527         * config/lm32/lm32.c (gen_int_relational): Remove unused variables
4528         temp, cond and label.
4529         * config/lm32/lm32.md (ashlsi3): Remove unused variable one.
4531         PR target/52500
4532         * config/c6x/c6x.c (dbx_register_map): Change to unsigned.
4533         * config/c6x/c6x.h (dbx_register_map): Update declaration.
4535         PR target/52501
4536         * config/cr16/cr16-protos.h: Move end of RTX_CODE guard below end
4537         of prologue/epilogue functions.
4539         PR target/52550
4540         * config/tilegx/tilegx.c (tilegx_expand_prologue):
4541         Remove unused variable cfa_offset.
4542         * config/tilepro/tilepro.c (tilepro_expand_prologue): Likewise.
4544         PR target/54639
4545         * config/mn10300/mn10300.c (mn10300_expand_epilogue): Avoid offset
4546         type promotion to unsigned.
4548         PR target/54640
4549         * config/arm/arm.c (const_ok_for_dimode_op): Make code consistent
4550         for HOST_WIDE_INT of 32 bit / same size as int.
4551         (arm_block_move_unaligned_straight): Likewise.
4552         (arm_adjust_block_mem): Likewise.
4554         PR target/54662
4555         * config/mep/t-mep (mep-pragma.o): Use ALL_COMPILERFLAGS instead of
4556         ALL_CFLAGS.
4558 2013-02-26  Marek Polacek  <polacek@redhat.com>
4560         PR tree-optimization/56426
4561         * tree-ssa-loop.c (tree_ssa_loop_init): Always call
4562         scev_initialize.
4564 2013-02-26  Richard Biener  <rguenther@suse.de>
4566         PR target/56444
4567         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc): Remove
4568         unused variable loops.
4570 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
4572         PR tree-optimization/56448
4573         * fold-const.c (operand_equal_p) <case tcc_reference>: Don't look at
4574         TREE_SIDE_EFFECTS if flags contain OEP_CONSTANT_ADDRESS_OF.
4575         Clear OEP_CONSTANT_ADDRESS_OF from flags before recursing on second or
4576         later operands of the references, or even first operand for
4577         INDIRECT_REF, TARGET_MEM_REF or MEM_REF.
4579         PR tree-optimization/56443
4580         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
4581         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
4582         to type_for_mode langhook.
4584 2013-02-25  Matt Turner  <mattst88@gmail.com>
4586         * doc/invoke.texi: Document r4700.
4588 2013-02-25  Richard Biener  <rguenther@suse.de>
4590         PR tree-optimization/56175
4591         * tree-ssa-forwprop.c (hoist_conversion_for_bitop_p): New predicate,
4592         split out from ...
4593         (simplify_bitwise_binary): ... here.  Also guard the conversion
4594         of (type) X op CST to (type) (X op ((type-x) CST)) with it.
4596 2013-02-25  Catherine Moore  <clm@codesourcery.com>
4598         Revert:
4599         2013-02-24  Catherine Moore  <clm@codesourcery.com>
4600             Maciej W. Rozycki  <macro@codesourcery.com>
4601             Tom de Vries  <tom@codesourcery.com>
4602             Nathan Sidwell  <nathan@codesourcery.com>
4603             Iain Sandoe  <iain@codesourcery.com>
4604             Nathan Froyd  <froydnj@codesourcery.com>
4605             Chao-ying Fu  <fu@mips.com>
4607         * doc/extend.texi (micromips, nomicromips, nocompression):
4608         Document new function attributes.
4609         * doc/invoke.texi (minterlink-compressed, mmicromips,
4610         m14k, m14ke, m14kec): Document new options.
4611         (minterlink-mips16): Update documentation.
4612         * doc/md.texi (ZC, ZD): Document new constraints.
4613         * configure.ac (gcc_cv_as_micromips): Check if linker
4614         supports the .set micromips directive.
4615         * configure: Regenerate.
4616         * config.in: Regenerate.
4617         * config/mips/mips-tables.opt: Regenerate.
4618         * config/mips/micromips.md: New file.
4619         * constraints.md (ZC, AD): New constraints.
4620         * config/mips/predicates.md (movep_src_register): New predicate.
4621         (movep_src_operand): New predicate.
4622         (non_volatile_mem_operand): New predicate.
4623         * config/mips/mips.md (multimem): New type.
4624         (length): Differentiate between 17-bit and 18-bit branch offsets.
4625         (MOVEP1, MOVEP2): New mode iterator.
4626         (mov_<load>l): Use ZC constraint.
4627         (mov_<load>r): Likewise.
4628         (mov_<store>l): Likewise.
4629         (mov_<store>r): Likewise.
4630         (*branch_equality<mode>_inverted): Add microMIPS support.
4631         (*branch_equality<mode>): Likewise.
4632         (*jump_absolute): Likewise.
4633         (indirect_jump_<mode>): Likewise.
4634         (tablejump_<mode>): Likewise.
4635         (<optab>_internal): Likewise.
4636         (sibcall_internal): Likewise.
4637         (sibcall_value_internal): Likewise.
4638         (prefetch): Use constraint ZD.
4639         * config/mips/mips.opt (minterlink-compressed): New option.
4640         (minterlink-mips16): Now an alias for minterlink-compressed.
4641         (mmicromips): New option.
4642         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
4643         (compare_and_swap_12): Likewise.
4644         (sync_add<mode>): Likewise.
4645         (sync_<optab>_12): Likewise.
4646         (sync_old_<optab>_12): Likewise.
4647         (sync_new_<optab>_12): Likewise.
4648         (sync_nand_12): Likewise.
4649         (sync_old_nand_12): Likewise.
4650         (sync_new_nand_12): Likewise.
4651         (sync_sub<mode>): Likewise.
4652         (sync_old_add<mode>): Likewise.
4653         (sync_old_sub<mode>): Likewise.
4654         (sync_new_add<mode>): Likewise.
4655         (sync_new_sub<mode>): Likewise.
4656         (sync_<optab><mode>): Likewise.
4657         (sync_old_<optab><mode>): Likewise.
4658         (sync_new_<optab><mode>): Likewise.
4659         (sync_nand<mode>): Likewise.
4660         (sync_old_nand<mode>): Likewise.
4661         (sync_new_nand<mode>): Likewise.
4662         (sync_lock_test_and_set<mode>): Likewise.
4663         (test_and_set_12): Likewise.
4664         (atomic_compare_and_swap<mode>): Likewise.
4665         (atomic_exchange<mode>_llsc): Likewise.
4666         (atomic_fetch_add<mode>_llsc): Likewise.
4667         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
4668         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
4669         (umips_save_restore_pattern_p): Likewise.
4670         (umips_load_store_pair_p): Likewise.
4671         (umips_output_load_store_pair): Likewise.
4672         (umips_movep_target_p): Likewise.
4673         (umips_12bit_offset_address_p): Likewise.
4674         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
4675         (mips_base_mips16): Rename this...
4676         (mips_base_compression_flags): ...to this. Update all uses.
4677         (mips_attribute_table): Add micromips, nomicromips and nocompression.
4678         (mips_mips16_decl_p): Delete.
4679         (mips_nomips16_decl_p): Delete.
4680         (mips_get_compress_on_flags): New function.
4681         (mips_get_compress_off_flags): New function.
4682         (mips_get_compress_mode): New function.
4683         (mips_get_compress_on_name): New function.
4684         (mips_get_compress_off_name): New function.
4685         (mips_insert_attributes): Support multiple compression types.
4686         (mips_merge_decl_attributes): Likewise.
4687         (umips_12bit_offset_address_p): New function.
4688         (mips_start_function_definition): Emit .set micromips directive.
4689         (mips_call_may_need_jalx_p): New function.
4690         (mips_function_ok_for_sibcall): Add microMIPS support.
4691         (mips_print_operand_punctuation): Support short delay slots and
4692         compact jumps.
4693         (umips_swm_mask, umips_swm_encoding): New.
4694         (umips_build_save_restore): New function.
4695         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
4696         (was_mips16_p): Remove.
4697         (old_compression_mode): New.
4698         (mips_set_compression_mode): New function.
4699         (mips_set_current_function): Add microMIPS support.
4700         (mips_option_override): Likewise.
4701         (umips_save_restore_pattern_p): New function.
4702         (umips_output_save_restore): New function.
4703         (umips_load_store_pair_p_1): New function.
4704         (umips_load_store_pair_p): New function.
4705         (umips_output_load_store_pair_1): New function.
4706         (umips_output_load_store_pair): New function.
4707         (umips_movep_target_p) New function.
4708         (mips_prepare_pch_save): Add microMIPS support.
4709         * config/mips/mips.h (TARGET_COMPRESSION): New.
4710         (TARGET_CPU_CPP_BUILTINS): Update macro
4711         to use new compression flags and to support microMIPS.
4712         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
4713         (MIPS_ARCH_FLOAT_SPEC): Likewise.
4714         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
4715         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
4716         (ASM_SPEC): Support mmicromips and mno-micromips.
4717         (M16STORE_REG_P): New macro.
4718         (MIPS_CALL): Support TARGET_MICROMIPS.
4719         (MICROMIPS_J): New macro.
4720         (mips_base_mips16): Rename this...
4721         (mips_base_compression_flags): ...to this.
4722         (UMIPS_12BIT_OFFSET_P): New macro.
4723         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
4724         (MULTILIB_DIRNAMES): Likewise.
4726 2013-02-25  Tom de Vries  <tom@codesourcery.com>
4728         PR rtl-optimization/56131
4729         * insn-notes.def (INSN_NOTE_BASIC_BLOCK): Update comment.
4730         * cfgrtl.c (delete_insn): Don't reorder NOTE_INSN_DELETED_LABEL and
4731         NOTE_INSN_BASIC_BLOCK if BLOCK_FOR_INSN == NULL.
4733 2013-02-25  Tobias Burnus  <burnus@net-b.de>
4735         * doc/invoke.texi (-fsanitize=): Move from optimization
4736         to debugging options.
4738 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
4740         * sched-deps.c (sched_analyze_insn): Fix typo in comment.
4742 2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
4743             Alexander Monakov  <amonakov@ispras.ru>
4745         PR middle-end/56077
4746         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
4747         flush pending lists also on non-jumps.  Adjust comment.
4749 2013-02-24  Catherine Moore  <clm@codesourcery.com>
4750             Maciej W. Rozycki  <macro@codesourcery.com>
4751             Tom de Vries  <tom@codesourcery.com>
4752             Nathan Sidwell  <nathan@codesourcery.com>
4753             Iain Sandoe  <iain@codesourcery.com>
4754             Nathan Froyd  <froydnj@codesourcery.com>
4755             Chao-ying Fu  <fu@mips.com>
4757         * doc/extend.texi (micromips, nomicromips, nocompression):
4758         Document new function attributes.
4759         * doc/invoke.texi (minterlink-compressed, mmicromips,
4760         m14k, m14ke, m14kec): Document new options.
4761         (minterlink-mips16): Update documentation.
4762         * doc/md.texi (ZC, ZD): Document new constraints.
4763         * configure.ac (gcc_cv_as_micromips): Check if linker
4764         supports the .set micromips directive.
4765         * configure: Regenerate.
4766         * config.in: Regenerate.
4767         * config/mips/mips-tables.opt: Regenerate.
4768         * config/mips/micromips.md: New file.
4769         * constraints.md (ZC, AD): New constraints.
4770         * config/mips/predicates.md (movep_src_register): New predicate.
4771         (movep_src_operand): New predicate.
4772         (non_volatile_mem_operand): New predicate.
4773         * config/mips/mips.md (multimem): New type.
4774         (length): Differentiate between 17-bit and 18-bit branch offsets.
4775         (MOVEP1, MOVEP2): New mode iterator.
4776         (mov_<load>l): Use ZC constraint.
4777         (mov_<load>r): Likewise.
4778         (mov_<store>l): Likewise.
4779         (mov_<store>r): Likewise.
4780         (*branch_equality<mode>_inverted): Add microMIPS support.
4781         (*branch_equality<mode>): Likewise.
4782         (*jump_absolute): Likewise.
4783         (indirect_jump_<mode>): Likewise.
4784         (tablejump_<mode>): Likewise.
4785         (<optab>_internal): Likewise.
4786         (sibcall_internal): Likewise.
4787         (sibcall_value_internal): Likewise.
4788         (prefetch): Use constraint ZD.
4789         * config/mips/mips.opt (minterlink-compressed): New option.
4790         (minterlink-mips16): Now an alias for minterlink-compressed.
4791         (mmicromips): New option.
4792         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZR constraint.
4793         (compare_and_swap_12): Likewise.
4794         (sync_add<mode>): Likewise.
4795         (sync_<optab>_12): Likewise.
4796         (sync_old_<optab>_12): Likewise.
4797         (sync_new_<optab>_12): Likewise.
4798         (sync_nand_12): Likewise.
4799         (sync_old_nand_12): Likewise.
4800         (sync_new_nand_12): Likewise.
4801         (sync_sub<mode>): Likewise.
4802         (sync_old_add<mode>): Likewise.
4803         (sync_old_sub<mode>): Likewise.
4804         (sync_new_add<mode>): Likewise.
4805         (sync_new_sub<mode>): Likewise.
4806         (sync_<optab><mode>): Likewise.
4807         (sync_old_<optab><mode>): Likewise.
4808         (sync_new_<optab><mode>): Likewise.
4809         (sync_nand<mode>): Likewise.
4810         (sync_old_nand<mode>): Likewise.
4811         (sync_new_nand<mode>): Likewise.
4812         (sync_lock_test_and_set<mode>): Likewise.
4813         (test_and_set_12): Likewise.
4814         (atomic_compare_and_swap<mode>): Likewise.
4815         (atomic_exchange<mode>_llsc): Likewise.
4816         (atomic_fetch_add<mode>_llsc): Likewise.
4817         * config/mips/mips-cpus.def (m14kc, m14k): New processors.
4818         * config/mips/mips-protos.h (umips_output_save_restore): New prototype.
4819         (umips_save_restore_pattern_p): Likewise.
4820         (umips_load_store_pair_p): Likewise.
4821         (umips_output_load_store_pair): Likewise.
4822         (umips_movep_target_p): Likewise.
4823         (umips_12bit_offset_address_p): Likewise.
4824         * config/mips/mips.c (MIPS_MAX_FIRST_STEP): Update for microMIPS.
4825         (mips_base_mips16): Rename this...
4826         (mips_base_compression_flags): ...to this. Update all uses.
4827         (mips_attribute_table): Add micromips, nomicromips and nocompression.
4828         (mips_mips16_decl_p): Delete.
4829         (mips_nomips16_decl_p): Delete.
4830         (mips_get_compress_on_flags): New function.
4831         (mips_get_compress_off_flags): New function.
4832         (mips_get_compress_mode): New function.
4833         (mips_get_compress_on_name): New function.
4834         (mips_get_compress_off_name): New function.
4835         (mips_insert_attributes): Support multiple compression types.
4836         (mips_merge_decl_attributes): Likewise.
4837         (umips_12bit_offset_address_p): New function.
4838         (mips_start_function_definition): Emit .set micromips directive.
4839         (mips_call_may_need_jalx_p): New function.
4840         (mips_function_ok_for_sibcall): Add microMIPS support.
4841         (mips_print_operand_punctuation): Support short delay slots and
4842         compact jumps.
4843         (umips_swm_mask, umips_swm_encoding): New.
4844         (umips_build_save_restore): New function.
4845         (mips_for_each_saved_gpr_and_fpr): Add microMIPS support.
4846         (was_mips16_p): Remove.
4847         (old_compression_mode): New.
4848         (mips_set_compression_mode): New function.
4849         (mips_set_current_function): Add microMIPS support.
4850         (mips_option_override): Likewise.
4851         (umips_save_restore_pattern_p): New function.
4852         (umips_output_save_restore): New function.
4853         (umips_load_store_pair_p_1): New function.
4854         (umips_load_store_pair_p): New function.
4855         (umips_output_load_store_pair_1): New function.
4856         (umips_output_load_store_pair): New function.
4857         (umips_movep_target_p) New function.
4858         (mips_prepare_pch_save): Add microMIPS support.
4859         * config/mips/mips.h (TARGET_COMPRESSION): New.
4860         (TARGET_CPU_CPP_BUILTINS): Update macro
4861         to use new compression flags and to support microMIPS.
4862         (MIPS_ISA_LEVEL_SPEC): Add m14k processors.
4863         (MIPS_ARCH_FLOAT_SPEC): Likewise.
4864         (ISA_HAS_LWXS): Include TARGET_MICROMIPS.
4865         (ISA_HAS_LOAD_DELAY): Exclude TARGET_MICROMIPS.
4866         (ASM_SPEC): Support mmicromips and mno-micromips.
4867         (M16STORE_REG_P): New macro.
4868         (MIPS_CALL): Support TARGET_MICROMIPS.
4869         (MICROMIPS_J): New macro.
4870         (mips_base_mips16): Rename this...
4871         (mips_base_compression_flags): ...to this.
4872         (UMIPS_12BIT_OFFSET_P): New macro.
4873         * config/mips/t-sde: (MULTILIB_OPTIONS): Add microMIPS.
4874         (MULTILIB_DIRNAMES): Likewise.
4876 2013-02-24  Jakub Jelinek  <jakub@redhat.com>
4878         PR target/52555
4879         * target-globals.c (save_target_globals): For init_reg_sets and
4880         target_reinit remporarily set this_fn_optabs to this_target_optabs.
4882 2013-02-22  James Grennahlgh  <james.greenhalgh@arm.com>
4884         * config/aarch64/aarch64-simd-builtins.def: Add copyright header.
4885         * config/aarch64/t-aarch64
4886         (aarch64-builtins.o): Depend on aarch64-simd-builtins.def.
4888 2013-02-22  Vladimir Makarov  <vmakarov@redhat.com>
4890         PR inline-asm/56148
4891         * lra-constraints.c (process_alt_operands): Reload operand
4892         conflicting with earlier clobber only if no more other conflicting
4893         operands.
4895 2013-02-22  Jakub Jelinek  <jakub@redhat.com>
4897         PR sanitizer/56393
4898         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
4899         if not linking a shared library.
4901 2013-02-22  Seth LaForge  <sethml@google.com>
4903         * config.gcc (arm*-*-eabi*): Treat arm*eb as big-endian.
4905 2013-02-22  Greta Yorsh  <Greta.Yorsh@arm.com>
4907         * config/arm/arm.md (split for extendsidi): Update condition.
4908         (zero_extend<mode>di2,extend<mode>di2): Add an alternative.
4909         * config/arm/iterators.md (qhs_extenddi_cstr): Likewise.
4910         (qhs_zextenddi_cstr): Likewise.
4912 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
4914         PR middle-end/56420
4915         * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Do subtraction in uhwi, to
4916         avoid signed wrapping.
4917         (expand_mult): Handle properly multiplication by
4918         ((dword_type) -1) << (BITS_PER_WORD - 1).  Improve multiplication by
4919         ((dword_type) 1) << (BITS_PER_WORD - 1).  Avoid undefined behavior
4920         in the compiler if coeff is HOST_WIDE_INT_MIN.
4921         (expand_divmod): Don't make ext_op1 static, change it's type to uhwi.
4922         Avoid undefined behavior in -INTVAL (op1).
4924         PR rtl-optimization/50339
4925         * lower-subreg.h (struct lower_subreg_choices): Add splitting_ashiftrt
4926         field.
4927         * lower-subreg.c (compute_splitting_shift): Handle ASHIFTRT.
4928         (compute_costs): Call compute_splitting_shift also for ASHIFTRT
4929         into splitting_ashiftrt field.
4930         (find_decomposable_shift_zext, resolve_shift_zext): Handle also
4931         ASHIFTRT.
4932         (dump_choices): Fix up printing LSHIFTRT choices, print ASHIFTRT
4933         choices.
4935 2013-02-20  Aldy Hernandez  <aldyh@redhat.com>
4937         PR middle-end/56108
4938         * trans-mem.c (execute_tm_mark): Do not expand transactions that
4939         are sure to go irrevocable.
4941 2013-02-21  Hans-Peter Nilsson  <hp@axis.com>
4943         * doc/rtl.texi (vec_concat, vec_duplicate): Mention that
4944         scalars are valid operands.
4946 2013-02-21  Martin Jambor  <mjambor@suse.cz>
4948         PR tree-optimization/56310
4949         * ipa-cp.c (agg_replacements_to_vector): New parameter index, copy
4950         only matching indices and non-negative final offsets.
4951         (intersect_aggregates_with_edge): Pass src_idx to
4952         agg_replacements_to_vector.  Pass src_idx insstead of index to
4953         intersect_with_agg_replacements.
4955 2013-02-21  Martin Jambor  <mjambor@suse.cz>
4957         * ipa-cp.c (good_cloning_opportunity_p): Dump the real threshold
4958         instead of hard-wired defaults.
4960 2013-02-21  Maciej W. Rozycki  <macro@codesourcery.com>
4962         * doc/invoke.texi (MIPS Options): Update documentation of the
4963         floating-point multiply-accumulate instruction restrictions.
4965 2013-02-21  Kostya Serebryany  <kcc@google.com>
4967         * config/i386/i386.c (ix86_asan_shadow_offset): Use 0x7fff8000 as
4968         asan_shadow_offset on x86_64 linux.
4970 2013-02-21  Richard Biener  <rguenther@suse.de>
4972         PR tree-optimization/56415
4973         Revert
4974         2013-02-11  Richard Biener  <rguenther@suse.de>
4976         PR tree-optimization/56273
4977         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
4978         first VRP run.
4980 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
4982         PR bootstrap/56258
4983         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
4984         instead of @itemx.
4986         PR inline-asm/56405
4987         * expr.c (expand_expr_real_1) <case TARGET_MEM_REF, MEM_REF>: Don't
4988         use movmisalign or extract_bit_field for EXPAND_MEMORY modifier.
4990 2013-02-20  Jan Hubicka  <jh@suse.cz>
4992         PR tree-optimization/56265
4993         * ipa-prop.c (ipa_make_edge_direct_to_target): Fixup callgraph when
4994         target is referenced for first time.
4996 2013-02-20  Richard Biener  <rguenther@suse.de>
4998         * tree-call-cdce.c (tree_call_cdce): Do not remove unused locals.
4999         * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
5000         * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
5001         * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do
5002         not return anything.
5003         (rename_ssa_copies): Do not remove unused locals.
5004         * tree-ssa-ccp.c (do_ssa_ccp): Likewise.
5005         * tree-ssanames.c (pass_release_ssa_names): Remove unused locals first.
5006         * passes.c (execute_function_todo): Do not schedule unused locals
5007         removal if cleanup_tree_cfg did something.
5008         * tree-ssa-live.c (remove_unused_locals): Dump statistics
5009         about the number of removed locals.
5011 2013-02-20  Richard Biener  <rguenther@suse.de>
5013         PR tree-optimization/56398
5014         * tree-vect-loop-manip.c (adjust_debug_stmts): Skip
5015         SSA default defs.
5017 2013-02-20  Martin Jambor  <mjambor@suse.cz>
5019         PR tree-optimization/55334
5020         * ipa-cp.c (initialize_node_lattices): Disable IPA-CP through and to
5021         restricted pointers to arrays.
5023 2013-02-20  Richard Biener  <rguenther@suse.de>
5024         Jakub Jelinek  <jakub@redhat.com>
5026         PR tree-optimization/56396
5027         * tree-ssa-ccp.c (n_const_val): New static variable.
5028         (get_value): Return NULL for SSA names we don't have a lattice
5029         entry for.
5030         (ccp_initialize): Initialize n_const_val.
5031         * tree-ssa-copy.c (n_copy_of): New static variable.
5032         (init_copy_prop): Initialize n_copy_of.
5033         (get_value): Return NULL_TREE for SSA names we don't have a
5034         lattice entry for.
5036 2013-02-20  Martin Jambor  <mjambor@suse.cz>
5038         * ipa-cp.c (initialize_node_lattices): Fix dumping condition.
5040 2013-02-20  Richard Biener  <rguenther@suse.de>
5042         * genpreds.c (write_lookup_constraint): Do not compare first
5043         letter of the constraint again.
5045 2013-02-20  Richard Biener  <rguenther@suse.de>
5047         * tree-ssa-loop-ivopts.c (alloc_use_cost_map): Use bitmap_count_bits
5048         and ceil_log2.
5049         (get_use_iv_cost): Terminate hashtable walk when coming across
5050         an empty entry.
5052 2013-02-20  Igor Zamyatin  <igor.zamyatin@intel.com>
5054         * config/i386/i386.c (initial_ix86_tune_features): Turn on fp
5055         reassociation for avx2 targets.
5057 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5059         * config/microblaze/microblaze.c: microblaze_has_clz = 0
5060         Add version check for v8.10.a to enable microblaze_has_clz
5061         * config/microblaze/microblaze.h: Add TARGET_HAS_CLZ as combined
5062         version and TARGET_PATTERN_COMPARE check
5063         * config/microblaze/microblaze.md: New clzsi2 instruction
5065 2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5067         * config/microblaze/microblaze.md (call_value_intern): Check symbol is
5068         function before branching.
5070 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
5072         * sel-sched-dump.c (dump_insn_rtx_flags): Explicitly set
5073         DUMP_INSN_RTX_UID.
5074         (dump_insn_rtx_1): Pass PATTERN (insn) to str_pattern_slim.
5076 2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
5078         PR middle-end/55889
5079         * sel-sched.c: Include ira.h.
5080         (implicit_clobber_conflict_p): New function.
5081         (moveup_expr): Use it.
5082         * Makefile.in (sel-sched.o): Depend on ira.h.
5084 2013-02-19  Richard Biener  <rguenther@suse.de>
5086         PR tree-optimization/56384
5087         * tree-ssa-sccvn.h (struct vn_phi_s): Add type member.
5088         (vn_hash_type): Split out from ...
5089         (vn_hash_constant_with_type): ... here.
5090         * tree-ssa-sccvn.c (vn_phi_compute_hash): Use vn_hash_type.
5091         (vn_phi_eq): Compare types from vn_phi_s structure.
5092         (vn_phi_lookup): Populate vn_phi_s type.
5093         (vn_phi_insert): Likewise.
5095 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
5097         PR tree-optimization/56350
5098         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
5099         if haven't found reduction or nested cycle operand, rather than
5100         asserting we must find it.
5102         PR tree-optimization/56381
5103         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
5104         to fold_build3.
5106 2013-02-18  Aldy Hernandez  <aldyh@redhat.com>
5107             Jakub Jelinek  <jakub@redhat.com>
5109         PR target/52555
5110         * genopinit.c (raw_optab_handler): Use this_fn_optabs.
5111         (swap_optab_enable): Same.
5112         (init_all_optabs): Use argument instead of global.
5113         * tree.h (struct tree_optimization_option): New field target_optabs.
5114         * expr.h (init_all_optabs): Add argument to prototype.
5115         (TREE_OPTIMIZATION_OPTABS): New.
5116         (save_optabs_if_changed): Protoize.
5117         * optabs.h: Declare this_fn_optabs.
5118         * optabs.c (save_optabs_if_changed): New.
5119         Declare this_fn_optabs.
5120         (init_optabs): Add argument to init_all_optabs() call.
5121         * function.c (invoke_set_current_function_hook): Handle per
5122         function optabs.
5123         * function.h (struct function): New field optabs.
5124         * config/mips/mips.c (mips_set_mips16_mode): Handle when
5125         optimization_current_node has changed.
5126         * target-globals.h (save_target_globals_default_opts): Protoize.
5127         * target-globals.c (save_target_globals_default_opts): New.
5129 2013-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5131         PR target/56347
5132         * config/pa/pa.c (pa_conditional_register_usage): On HP-UX, mark
5133         registers %fr12 and %fr12R as call used.
5135         PR target/56214
5136         * config/pa/predicates.md (base14_operand): Except for BLKmode, QImode
5137         and HImode, require all displacements to be an integer multiple of
5138         their mode size.
5139         * config/pa/pa.c (pa_legitimate_address_p): For REG+BASE addresses,
5140         only allow QImode and HImode when reload is in progress and strict is
5141         true.  Likewise for symbolic addresses.  Use base14_operand to check
5142         displacements in REG+BASE addresses.
5144 2013-02-18  Richard Biener  <rguenther@suse.de>
5146         PR tree-optimization/56366
5147         * tree-vect-loop.c (get_initial_def_for_induction): Properly
5148         handle sign-conversion of outer-loop initial induction value.
5150 2013-02-18  Richard Biener  <rguenther@suse.de>
5152         PR middle-end/56349
5153         * cfghooks.c (merge_blocks): If we merge a latch into another
5154         block adjust references to it.
5155         * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
5156         (verify_loop_structure): Verify that a recorded latch is in fact
5157         a latch.
5159 2013-02-18  Richard Biener  <rguenther@suse.de>
5161         PR tree-optimization/56321
5162         * tree-ssa-reassoc.c (propagate_op_to_single_use): Properly
5163         order SSA name release and virtual operand unlinking.
5165 2013-02-17  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5167         * config/microblaze/microblaze.md (save_stack_block): Define.
5168         (restore_stack_block): Likewise.
5170 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5172         * config/microblaze/linux.h (TARGET_SUPPORTS_PIC): Define as 1.
5173         * config/microblaze/microblaze.h (TARGET_SUPPORTS_PIC): Define as 1.
5174         * config/microblaze/microblaze.c (microblaze_option_override):
5175         Bail out early for PIC modes when target does not support PIC.
5177 2013-02-16  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5179         * config/microblaze/microblaze.c (microblaze_asm_trampoline_template):
5180         Replace with a microblaze version.
5181         (microblaze_trampoline_init): Adapt for microblaze.
5182         * config/microblaze/microblaze.h (TRAMPOLINE_SIZE): Adapt for
5183         microblaze.
5185 2013-02-16  Jakub Jelinek  <jakub@redhat.com>
5186             Dodji Seketeli  <dodji@redhat.com>
5188         PR asan/56330
5189         * asan.c (get_mem_refs_of_builtin_call): White space and style
5190         cleanup.
5191         (instrument_mem_region_access): Do not forget to always put
5192         instrumentation of the of 'base' and 'base + len' in a "if (len !=
5193         0) statement, even for cases where either 'base' or 'base + len'
5194         are not instrumented -- because they have been previously
5195         instrumented.  Simplify the logic by putting all the statements
5196         instrument 'base + len' inside a sequence, and then insert that
5197         sequence right before the current insertion point.  Then, to
5198         instrument 'base + len', just get an iterator on that statement.
5199         And do not forget to update the pointer to iterator the function
5200         received as argument.
5202 2013-02-15  Vladimir Makarov  <vmakarov@redhat.com>
5204         PR rtl-optimization/56348
5205         * lra-assigns.c (reload_pseudo_compare_func): Prefer bigger pseudos.
5207 2013-02-15  Steven Bosscher  <steven@gcc.gnu.org>
5209         * graph.c (start_graph_dump): Print dumpfile base as digraph label.
5210         (clean_graph_dump_file): Pass base to start_graph_dump.
5212 2013-02-14  Richard Henderson  <rth@redhat.com>
5214         PR target/55941
5215         * lower-subreg.c (simple_move): Check dest mode instead of src mode.
5217 2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
5219         * collect2-aix.h: Define F_LOADONLY.
5221 2013-02-14  Richard Biener  <rguenther@suse.de>
5223         PR lto/50494
5224         * varasm.c (output_constant_def_1): Get the decl representing
5225         the constant as argument.
5226         (output_constant_def): Wrap output_constant_def_1.
5227         (make_decl_rtl): Use output_constant_def_1 with the decl
5228         representing the constant.
5229         (build_constant_desc): Optionally re-use a decl already
5230         representing the constant.
5231         (tree_output_constant_def): Adjust.
5233 2013-02-14  Dodji Seketeli  <dodji@redhat.com>
5235         Fix an asan crash
5236         * asan.c (instrument_builtin_call):  Really put the length of the
5237         second source argument into src1_len.
5239 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
5241         * asan.c (create_cond_insert_point): Add create_then_fallthru_edge
5242         argument.  If it is false, don't create edge from then_bb to
5243         fallthru_bb.
5244         (insert_if_then_before_iter): Pass true to it.
5245         (build_check_stmt): Pass false to it.
5246         (transform_statements): Flush hash table only on extended basic
5247         block boundaries, rather than at the beginning of every bb.
5248         Don't flush hash table on nonfreeing_call_p calls.
5249         * tree-flow.h (nonfreeing_call_p): New prototype.
5250         * tree-ssa-phiopt.c (nonfreeing_call_p): No longer static.
5252 2013-02-13  David S. Miller  <davem@davemloft.net>
5254         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
5256 2013-02-13  Vladimir Makarov  <vmakarov@redhat.com>
5258         PR target/56184
5259         * ira.c (max_regno_before_ira): Move from ...
5260         (ira): ... here.
5261         (fix_reg_equiv_init): Use max_regno_before_ira instead of
5262         vec_safe_length.
5264 2013-02-13  Jakub Jelinek  <jakub@redhat.com>
5266         * config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
5268 2013-02-13  Richard Biener  <rguenther@suse.de>
5270         PR lto/56295
5271         * gimple-streamer-out.c (output_gimple_stmt): Undo wrapping
5272         globals in MEM_REFs.
5274 2013-02-13  Richard Biener  <rguenther@suse.de>
5276         * loop-init.c (loop_optimizer_init): Clear loop state when
5277         re-initializing preserved loops.
5278         * loop-unswitch.c (unswitch_single_loop): Return whether
5279         we unswitched the loop.  Do not verify loop state here.
5280         (unswitch_loops): When we unswitched a loop discover new
5281         loops.
5283 2013-02-13  Kostya Serebryany  <kcc@google.com>
5285         * config/i386/i386.c: Use 0x7fff8000 as asan_shadow_offset on x86_64
5286         linux.
5287         * sanitizer.def: Rename __asan_init to __asan_init_v1.
5289 2013-02-12  Dodji Seketeli  <dodji@redhat.com>
5291         Avoid instrumenting duplicated memory access in the same basic block
5292         * Makefile.in (asan.o): Add new dependency on hash-table.h
5293         * asan.c (struct asan_mem_ref, struct mem_ref_hasher): New types.
5294         (asan_mem_ref_init, asan_mem_ref_get_end, get_mem_ref_hash_table)
5295         (has_stmt_been_instrumented_p, empty_mem_ref_hash_table)
5296         (free_mem_ref_resources, has_mem_ref_been_instrumented)
5297         (has_stmt_been_instrumented_p, update_mem_ref_hash_table)
5298         (get_mem_ref_of_assignment): New functions.
5299         (get_mem_refs_of_builtin_call): Extract from
5300         instrument_builtin_call and tweak a little bit to make it fit with
5301         the new signature.
5302         (instrument_builtin_call): Use the new
5303         get_mem_refs_of_builtin_call.  Use gimple_call_builtin_p instead
5304         of is_gimple_builtin_call.
5305         (instrument_derefs, instrument_mem_region_access): Insert the
5306         instrumented memory reference into the hash table.
5307         (maybe_instrument_assignment): Renamed instrument_assignment into
5308         this, and change it to advance the iterator when instrumentation
5309         actually happened and return true in that case.  This makes it
5310         homogeneous with maybe_instrument_assignment, and thus give a
5311         chance to callers to be more 'regular'.
5312         (transform_statements): Clear the memory reference hash table
5313         whenever we enter a new BB, when we cross a function call, or when
5314         we are done transforming statements.  Use
5315         maybe_instrument_assignment instead of instrumentation.  No more
5316         need to special case maybe_instrument_assignment and advance the
5317         iterator after calling it; it's now handled just like
5318         maybe_instrument_call.  Update comment.
5320 2013-02-13  Richard Biener  <rguenther@suse.de>
5322         * config/mn10300/mn10300.c (mn10300_scan_for_setlb_lcc):
5323         Fix loop discovery code.
5325 2013-02-12  Vladimir Makarov  <vmakarov@redhat.com>
5327         PR inline-asm/56148
5328         * lra-constraints.c (process_alt_operands): Match early clobber
5329         operand with itself.  Check conflicts with earlyclobber only if
5330         the operand is not reloaded.  Prefer to reload conflicting operand
5331         if earlyclobber and matching operands are the same.
5333 2013-02-12  Richard Biener  <rguenther@suse.de>
5335         PR lto/56297
5336         * lto-streamer-out.c (write_symbol): Do not output symbols
5337         for hard register variables.
5339 2013-02-12  Georg-Johann Lay  <avr@gjlay.de>
5341         PR target/54222
5342         * config/avr/avr-dimode.md (umulsidi3, mulsidi3): New expanders.
5343         (umulsidi3_insn, mulsidi3_insn): New insns.
5345 2013-02-12  Christophe Lyon  <christophe.lyon@linaro.org>
5347         * config/arm/arm-protos.h (struct cpu_vec_costs): New struct type.
5348         (struct tune_params): Add vec_costs field.
5349         * config/arm/arm.c (arm_builtin_vectorization_cost)
5350         (arm_add_stmt_cost): New functions.
5351         (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST)
5352         (TARGET_VECTORIZE_ADD_STMT_COST): Define.
5353         (arm_default_vec_cost): New struct of type cpu_vec_costs.
5354         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
5355         (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune)
5356         (arm_cortex_a15_tune, arm_cortex_a5_tune, arm_cortex_a9_tune)
5357         (arm_v6m_tune, arm_fa726te_tune): Define new vec_costs field.
5359 2013-02-12  Richard Biener  <rguenther@suse.de>
5361         PR lto/56295
5362         * gimple-streamer-in.c (input_gimple_stmt): Strip MEM_REFs off
5363         decls again if possible.
5365 2013-02-12  Richard Biener  <rguenther@suse.de>
5367         PR middle-end/56288
5368         * tree-ssa.c (verify_ssa_name): Fix check, move
5369         SSA_NAME_IN_FREE_LIST check up.
5371 2013-02-12  Jakub Jelinek  <jakub@redhat.com>
5372             Steven Bosscher   <steven@gcc.gnu.org>
5374         PR rtl-optimization/56151
5375         * optabs.c (add_equal_note): Don't return 0 if target is a MEM,
5376         equal to op0 or op1, and last_insn pattern is CODE operation
5377         with MEM dest and one of the operands matches that MEM.
5379 2013-02-11  Sriraman Tallam  <tmsriramgoogle.com>
5381         * doc/extend.texi: Document Function Multiversioning and "default"
5382         parameter string to target attribute.
5383         * config/i386/i386.c (get_builtin_code_for_version): Return 0 if
5384         target attribute parameter is "default".
5385         (ix86_compare_version_priority): Remove checks for target attribute.
5386         (ix86_mangle_function_version_assembler_name): Change error to sorry.
5387         Remove check for target attribute equal to NULL. Add assert.
5388         (ix86_generate_version_dispatcher_body): Change error to sorry.
5390 2013-02-11  Iain Sandoe  <iain@codesourcery.com>
5391             Jack Howarth  <howarth@bromo.med.uc.edu>
5392             Patrick Marlier  <patrick.marlier@gmail.com>
5394         PR libitm/55693
5395         * config/darwin.h: Replace ENDFILE_SPEC with TM_DESTRUCTOR and
5396         define ENDFILE_SPEC as TM_DESTRUCTOR.
5397         * config/i386/darwin.h (ENDFILE_SPEC): Use TM_DESTRUCTOR.
5399 2013-02-11  Alexander Potapenko  <glider@google.com>
5400             Jack Howarth  <howarth@bromo.med.uc.edu>
5401             Jakub Jelinek  <jakub@redhat.com>
5403         PR sanitizer/55617
5404         * config/darwin.c (cdtor_record): Rename ctor_record.
5405         (sort_cdtor_records): Rename sort_ctor_records.
5406         (finalize_dtors): New routine to sort destructors by
5407         priority before use in assemble_integer.
5408         (machopic_asm_out_destructor): Use finalize_dtors if needed.
5410 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
5412         PR rtl-optimization/56275
5413         * simplify-rtx.c (avoid_constant_pool_reference): Check that
5414         offset is non-negative and less than cmode size before
5415         calling simplify_subreg.
5417 2013-02-11  Richard Biener  <rguenther@suse.de>
5419         PR tree-optimization/56264
5420         * cfgloop.h (fix_loop_structure): Adjust prototype.
5421         * loop-init.c (fix_loop_structure): Return the number of
5422         newly discovered loops.
5423         * tree-cfgcleanup.c (repair_loop_structures): When new loops
5424         are discovered, do a full loop-closed SSA rewrite.
5426 2013-02-11  Richard Biener  <rguenther@suse.de>
5428         PR tree-optimization/56273
5429         * tree-vrp.c (simplify_cond_using_ranges): Disable for the
5430         first VRP run.
5431         (check_array_ref): Fix missing newline in dumps.
5432         (search_for_addr_array): Likewise.
5434 2013-02-09  David Edelsohn  <dje.gcc@gmail.com>
5436         * config/rs6000/aix61.h (OS_MISSING_ALTIVEC): Undefine.
5438 2013-02-09  Jakub Jelinek  <jakub@redhat.com>
5440         PR target/56256
5441         * config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Define.
5443 2013-02-08  Vladimir Makarov  <vmakarov@redhat.com>
5445         PR rtl-optimization/56246
5446         * lra-constraints.c (simplify_operand_subreg): Try to reuse
5447         reload pseudo.
5448         * lra.c (lra): Clear lra_optional_reload_pseudos only when all
5449         constraints are satisfied.
5451 2013-02-08  Jeff Law  <law@redhat.com>
5453         PR debug/53948
5454         * emit-rtl.c (reg_is_parm_p): New function.
5455         * regs.h (reg_is_parm_p): New prototype.
5456         * ira-conflicts.c (ira_build_conflicts): Allow parameters in
5457         callee-clobbered registers.
5459 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
5461         PR target/56043
5462         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
5463         If there is no implicit builtin declaration, just return NULL.
5465 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
5467         * config/i386/sse.md (FMAMODEM): New mode iterator.
5468         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
5469         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
5471 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
5473         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
5474         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
5475         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
5477 2013-02-08  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
5479         * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
5480         (microblaze*-*-elf): Likewise.
5481         * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
5482         LINK_SPEC.
5483         * config/microblaze/microblaze-c.c: Add builtin defines for
5484         _LITTLE_ENDIAN and _BIG_ENDIAN.
5485         * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
5486         add to TARGET_DEFAULT flags.
5487         Expand ASM_SPEC and LINK_SPEC.
5488         Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
5489         * config/microblaze/microblaze.md: Update extendsidi2 and
5490         movdi_internal instructions to use low-order / high-order reg
5491         print_operands.
5492         * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
5493         options and inversemask / mask of LITTLE_ENDIAN.
5494         * config/microblaze/t-microblaze: Expand multilib options to
5495         include mlittle-endian (le) and update exceptions patterns.
5497 2013-02-08  Jakub Jelinek  <jakub@redhat.com>
5499         PR rtl-optimization/56195
5500         * lra-constraints.c (get_reload_reg): Don't reuse regs
5501         if they have smaller mode than requested, if they have
5502         wider mode than requested, try to return a SUBREG.
5504         PR tree-optimization/56250
5505         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
5506         if type is unsigned and code isn't MULT_EXPR.
5508 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
5510         PR tree-optimization/56064
5511         * fixed-value.c (fixed_from_double_int): Sign/zero extend payload
5512         bits according to mode.
5513         * fixed-value.h (fixed_from_double_int)
5514         (const_fixed_from_double_int): Adjust comments.
5516 2013-02-08  Richard Biener  <rguenther@suse.de>
5518         PR lto/56231
5519         * lto-streamer.h (struct data_in): Remove current_file, current_line
5520         and current_col members.
5521         * lto-streamer-out.c (lto_output_location): Stream changed bits
5522         en-block for efficiency.
5523         * lto-streamer-in.c (clear_line_info): Remove.
5524         (lto_input_location): Cache current file, line and column
5525         globally via local statics.  Read changed bits en-block.
5526         (input_function): Do not call clear_line_info.
5527         (lto_read_body): Likewise.
5528         (lto_input_toplevel_asms): Likewise.
5530 2013-02-08  Michael Matz  <matz@suse.de>
5532         PR tree-optimization/52448
5533         * tree-ssa-phiopt.c (struct name_to_bb): Add phase member.
5534         (nt_call_phase): New static.
5535         (add_or_mark_expr): Only mark accesses with newer phase than any
5536         call seen.
5537         (nonfreeing_call_p): New.
5538         (nt_init_block): Update nt_call_phase, mark blocks as visited.
5539         (nt_fini_block): Keep blocks marked as visited.
5540         (get_non_trapping): Initialize nt_call_phase, and reset aux pointer.
5542 2013-02-08  Richard Biener  <rguenther@suse.de>
5544         * ira.c (ira): Free broken dominator information.
5546 2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
5548         * config/i386/i386.c (ix86_spill_class): Use INTEGER_CLASS_P macro.
5550 2013-02-08  Marek Polacek  <polacek@redhat.com>
5552         * cfgloop.c (verify_loop_structure): Add more checking of headers.
5554 2013-02-08  Richard Biener  <rguenther@suse.de>
5556         PR middle-end/56181
5557         * cfgloop.h (flow_loops_find): Adjust.
5558         (bb_loop_header_p): Declare.
5559         * cfgloop.c (bb_loop_header_p): New function split out from ...
5560         (flow_loops_find): ... here.  Adjust function signature,
5561         support incremental loop structure update.
5562         (verify_loop_structure): Cleanup.  Verify a loop is a loop.
5563         * cfgloopmanip.c (fix_loop_structure): Move ...
5564         * loop-init.c (fix_loop_structure): ... here.
5565         (apply_loop_flags): Split out from ...
5566         (loop_optimizer_init): ... here.
5567         (fix_loop_structure): Use apply_loop_flags.  Use flow_loops_find
5568         in incremental mode, only remove dead loops here.
5570 2013-02-08  Georg-Johann Lay  <avr@gjlay.de>
5572         PR target/54222
5573         * config/avr/avr.md (unspec) <UNSPEC_ROUND>: Add.
5574         * config/avr/avr-fixed.md (ALL4QA, ALL124QA): New mode iterators.
5575         (round<mode>3, round<mode>3_const): New expanders for fixed-mode.
5576         (*round<mode>3.libgcc): New insns for fixed-modes.
5577         * config/avr/builtins.def (ABSxx): Use a non-NULL LIBNAME.
5578         (ROUNDxx, COUNTLSxx, BITSxx, xxBITS): New DEF_BUILTINs.
5579         (ROUNDFX, COUNTLSFX, ABSFX): New DEF_BUILTINs.
5580         * config/avr/stdfix.h (absFX, bitsFX, FXbits): Remove inline
5581         implementations.  Define to __builtin_avr_absFX,
5582         __builtin_avr_bitsFX, __builtin_avr_FXbits, respectively.
5583         (roundFX, countlsFX): Define to __builtin_avr_roundFX,
5584         __builtin_avr_countlsFX, respectively.
5585         * config/avr/avr-c.c (target.h): Include it.
5586         (enum avr_builtin_id): New enum.
5587         (avr_resolve_overloaded_builtin): New static function.
5588         (avr_register_target_pragmas): Use it to set
5589         targetm.resolve_overloaded_builtin.
5590         * config/avr/avr.c (avr_init_builtins): Supply myriads of local
5591         tree nodes used by DEF_BUILTIN.
5592         (avr_expand_builtin) <AVR_BUILTIN_ROUNDxx>: Sanity-check them.
5593         (avr_fold_builtin) <AVR_BUILTIN_BITSxx>: Fold to VIEW_COVERT_EXPR.
5594         <AVR_BUILTIN_xxBITS>: Same.
5596 2013-02-08  Richard Biener  <rguenther@suse.de>
5598         * cfgloop.c (verify_loop_structure): Properly handle
5599         a loop exiting to another loop header.
5600         * ira-int.h (ira_loops): Remove.
5601         * ira.c (ira_loops): Remove.
5602         (ira): Use loop_optimizer_init and loop_optimizer_finalize.
5603         (do_reload): Use loop_optimizer_finalize.
5604         * ira-build.c (create_loop_tree_nodes): Use get_loops and
5605         number_of_loops to access the loop tree.
5606         (more_one_region_p): Likewise.
5607         (finish_loop_tree_nodes): Likewise.
5608         (rebuild_regno_allocno_maps): Likewise.
5609         (mark_loops_for_removal): Likewise.
5610         (mark_all_loops_for_removal): Likewise.
5611         (remove_unnecessary_regions): Likewise.
5612         (ira_build): Likewise.
5613         * ira-emit.c (setup_entered_from_non_parent_p): Likewise.
5615 2013-02-08  Richard Biener  <rguenther@suse.de>
5617         * Makefile.in (tree-tailcall.o): Add $(CFGLOOP_H) dependency.
5618         * ipa-pure-const.c (analyze_function): Avoid calling
5619         mark_irreducible_loops twice.
5620         * tree-tailcall.c (tree_optimize_tail_calls_1): Mark loops for fixup.
5622 2013-02-07  David S. Miller  <davem@davemloft.net>
5624         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
5625         on 'reg'.
5626         * var-tracking.c (vt_add_function_parameter): Test the presence of
5627         HAVE_window_save properly and do not remap argument registers when
5628         we have a leaf function.
5630 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
5632         PR bootstrap/56227
5633         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
5634         instead of "ll".
5635         * config/i386/i386.c (ix86_print_operand): Ditto.
5637 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
5639         * lra-constraints.c (process_alt_operands): Fix recently added comment.
5641 2013-02-07  Vladimir Makarov  <vmakarov@redhat.com>
5643         PR rtl-optimization/56225
5644         * lra-constraints.c (process_alt_operands): Check that reload hard
5645         reg can hold value for strict_low_part.
5647 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
5649         PR debug/56154
5650         * dwarf2out.c (dwarf2_debug_hooks): Set end_function hook to
5651         dwarf2out_end_function.
5652         (in_first_function_p, maybe_at_text_label_p,
5653         first_loclabel_num_not_at_text_label): New variables.
5654         (dwarf2out_var_location): In the first function find out
5655         lowest loclabel_num N where .LVLN is known not to be equal to .Ltext0.
5656         (find_empty_loc_ranges_at_text_label, dwarf2out_end_function): New
5657         functions.
5659 2013-02-07  Eric Botcazou  <ebotcazou@adacore.com>
5661         PR rtl-optimization/56178
5662         * cse.c (cse_insn): Do not create a REG_EQUAL note if the source is a
5663         SUBREG of a register.  Tidy up related block of code.
5664         * fwprop.c (forward_propagate_and_simplify): Do not create a REG_EQUAL
5665         note if the source is a register or a SUBREG of a register.
5667 2013-02-07  Jakub Jelinek  <jakub@redhat.com>
5669         PR target/56228
5670         * config/rs6000/rs6000.md (ptrm): New mode attr.
5671         (call_indirect_aix<ptrsize>, call_indirect_aix<ptrsize>_nor11,
5672         call_value_indirect_aix<pttrsize>,
5673         call_value_indirect_aix<pttrsize>_nor11): Use <ptrm> instead of
5674         m in constraints.
5676 2013-02-07  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
5678         * collect2.c (main): Set aix64_flag for -G and -bsvr4 too, disable
5679         if -bnortl. Convert to strcmp and strncmp.
5681 2013-02-07  Alan Modra  <amodra@gmail.com>
5683         PR target/54009
5684         * config/rs6000/rs6000.c (mem_operand_gpr): Check that LO_SUM
5685         addresses won't wrap when offsetting.
5686         (rs6000_secondary_reload): Provide secondary reloads needed for
5687         wrapping LO_SUM addresses.
5689 2013-02-06  Thomas Schwinge  <thomas@codesourcery.com>
5691         * config/gnu.h (GNU_USER_TARGET_OS_CPP_BUILTINS): Never define
5692         MACH, just __MACH__.
5694 2013-02-06  Richard Biener  <rguenther@suse.de>
5696         * tracer.c (tracer): Mark loops with LOOPS_NEED_FIXUP
5697         instead of calling fix_loop_structure.
5699 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
5701         PR middle-end/56217
5702         * omp-low.c (use_pointer_for_field): Return false if
5703         lower_send_shared_vars doesn't generate any copy-out code.
5705 2013-02-06  Tom de Vries  <tom@codesourcery.com>
5707         PR rtl-optimization/56131
5708         * cfgrtl.c (delete_insn): Use NOTE_BASIC_BLOCK instead of BLOCK_FOR_INSN
5709         to get the bb of a NOTE_INSN_BASIC_BLOCK.  Handle the case that the bb
5710         of the label is NULL.  Add comment.
5712 2013-02-05  Jakub Jelinek  <jakub@redhat.com>
5714         * tree.h (struct tree_decl_with_vis): Remove thread_local field.
5716         PR sanitizer/55374
5717         * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Define.
5718         (STATIC_LIBTSAN_LIBS): Likewise.
5719         * gcc.c (ADD_STATIC_LIBTSAN_LIBS, LIBTSAN_EARLY_SPEC): Define.
5720         (LIBTSAN_SPEC): Add ADD_STATIC_LIBTSAN_LIBS, if LIBTSAN_EARLY_SPEC
5721         is defined, don't add anything else beyond that.
5722         (SANITIZER_EARLY_SPEC, SANITIZER_SPEC): Define.
5723         (LINK_COMMAND_SPEC): Use them.
5725         PR tree-optimization/56205
5726         * tree-stdarg.c (check_all_va_list_escapes): Return true if
5727         there are any PHI nodes that set non-va_list_escape_vars SSA_NAME
5728         and some va_list_escape_vars SSA_NAME appears in some PHI argument.
5730 2013-02-05  Richard Biener  <rguenther@suse.de>
5732         PR tree-optimization/53342
5733         PR tree-optimization/53185
5734         * tree-vectorizer.h (vect_check_strided_load): Remove.
5735         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do
5736         not disallow peeling for vectorized strided loads.
5737         (vect_check_strided_load): Make static and simplify.
5738         (vect_analyze_data_refs): Adjust.
5739         * tree-vect-stmts.c (vectorizable_load): Handle peeled loops
5740         correctly when vectorizing strided loads.
5742 2013-02-05  Richard Biener  <rguenther@suse.de>
5744         * doc/install.texi: Refer to ISL, not PPL.
5746 2013-02-05  Jan Hubicka  <jh@suse.cz>
5748         PR tree-optimization/55789
5749         * params.def (PARAM_EARLY_INLINER_MAX_ITERATIONS): Drop to 1.
5751 2013-02-05  Jan Hubicka  <jh@suse.cz>
5753         PR tree-optimization/55789
5754         * cgraphclones.c (cgraph_remove_node_and_inline_clones): Remove
5755         the dead call anyway.
5757 2013-02-05  Eric Botcazou  <ebotcazou@adacore.com>
5759         PR sanitizer/55374
5760         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Add missing guard.
5762 2013-02-04  Alexander Potapenko  <glider@google.com>
5763             Jack Howarth  <howarth@bromo.med.uc.edu>
5764             Jakub Jelinek  <jakub@redhat.com>
5766         PR sanitizer/55617
5767         * config/darwin.c (sort_ctor_records): Stabilized qsort
5768         on constructor priority by using original position.
5769         (finalize_ctors): New routine to sort constructors by
5770         priority before use in assemble_integer.
5771         (machopic_asm_out_constructor): Use finalize_ctors if needed.
5773 2013-02-04  Jakub Jelinek  <jakub@redhat.com>
5775         PR libstdc++/54314
5776         * config/i386/winnt.c (i386_pe_assemble_visibility): Don't warn
5777         about visibility on artificial decls.
5778         * config/sol2.c (solaris_assemble_visibility): Likewise.
5780 2013-02-04  Kai Tietz  <ktietz@redhat.com>
5782         PR target/56186
5783         * config/i386/i386.c (function_value_ms_64): Add additional valtype
5784         argument and improve checking of return-argument types for 16-byte
5785         modes.
5786         (ix86_function_value_1): Add additional valtype argument on call
5787         of function_value_64.
5788         (return_in_memory_ms_64): Sync 16-byte sized mode handling with
5789         handling infunction_value_64 function.
5791 2013-02-04  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
5793         * reload.c (subst_reloads): Fix DEBUG_RELOAD build issue.
5795 2013-02-04  Richard Biener  <rguenther@suse.de>
5797         PR tree-optimization/56188
5798         * tree-ssa-structalias.c (label_visit): Consider case with
5799         initially non-empty points-to set.
5800         (perform_var_substitution): Dump node mapping and clean up.
5802 2013-02-04  Richard Guenther  <rguenther@suse.de>
5804         PR lto/56168
5805         * lto-symtab.c (lto_symtab_merge_decls_1): Make non-builtin
5806         node prevail as last resort.
5807         (lto_symtab_merge_decls): Remove guard on LTRANS here.
5808         (lto_symtab_prevailing_decl): Builtins are their own prevailing decl.
5810 2013-02-04  Richard Biener  <rguenther@suse.de>
5812         PR tree-optimization/56113
5813         * tree-ssa-structalias.c (equiv_class_lookup, equiv_class_add):
5814         Merge into ...
5815         (equiv_class_lookup_or_add): ... this.
5816         (label_visit): Adjust and fix error in previous patch.
5817         (perform_var_substitution): Adjust.
5819 2013-02-03  Oleg Endo  <olegendo@gcc.gnu.org>
5821         * config/sh/divtab.c: Fix formatting and comments throughout the file.
5822         * config/sh/sh4-300.md: Likewise.
5823         * config/sh/sh4a.md: Likewise.
5824         * config/sh/constraints.md: Likewise.
5825         * config/sh/sh.md: Likewise.
5826         * config/sh/netbsd-elf.h: Likewise.
5827         * config/sh/predicates.md: Likewise.
5828         * config/sh/sh-protos.h: Likewise.
5829         * config/sh/ushmedia.h: Likewise.
5830         * config/sh/linux.h: Likewise.
5831         * config/sh/sh.c: Likewise.
5832         * config/sh/superh.h: Likewise.
5833         * config/sh/elf.h: Likewise.
5834         * config/sh/sh4.md: Likewise.
5835         * config/sh/sh.h: Likewise.
5837 2013-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
5839         * config/pa/constraints.md: Adjust unused letters.  Change "T"
5840         constraint to match_test floating_point_store_memory_operand().
5841         * config/pa/predicates.md (reg_plus_base_memory_operand): New.
5842         (base14_operand): New.
5843         (floating_point_store_memory_operand): New.
5844         (integer_store_memory_operand): Revise to use base14_operand and
5845         reg_plus_base_memory_operand.
5846         (move_dest_operand): Allow symbolic_memory_operands.
5847         (symbolic_memory_operand): Check for LO_SOM.
5848         (symbolic_operand): Change default case to break.
5849         * config/pa/pa.md: Remove unamed DFmode and SFmode patterns to force
5850         CONST_DOUBLE values to be reloaded by putting them into memory when
5851         the destination is a floating point register.
5852         (movdf): Remove code to handle CONST_DOUBLE.
5853         (movsf): Likewise.
5854         (reload_indf_r1): New.
5855         (reload_insf_r1): New.
5856         Consistently use "Q" and "T" constraints with integer and floating
5857         point move instructions, respectively.
5858         (movdi): Remove FAIL.
5859         Change predicate for source operand unamed DImode move from
5860         general_operand to move_src_operand.
5861         (umulsidi3): Change predicate for destination operand to
5862         register_operand.
5863         Likewise for similar unamed patterns.
5864         * config/pa/pa-protos.h (pa_legitimize_reload_address): Declare.
5865         * config/pa/pa.c (pa_symbolic_expression_p): Remove extra parenthesis.
5866         (hppa_legitimize_address): Simplify mask calculation.
5867         (pa_emit_move_sequence): Revised handling of secondary reloads from
5868         REG+D addresses for floating point loads and stores.  Directly handle
5869         loading CONST0_RTX (mode) to a floating point register.
5870         (pa_secondary_reload): Handle reloading DF and SFmode constant values
5871         to floating point registers.  Don't restrict secondary reloads to
5872         floating point registers to integer modes.  Revise some comments and
5873         cleanup some code.
5874         (TARGET_LEGITIMATE_ADDRESS_P): Define.
5875         (pa_legitimate_address_p): New.
5876         (pa_legitimize_reload_address): New.
5877         * config/pa/pa.h (STRICT_REG_OK_FOR_INDEX_P): New.
5878         (STRICT_REG_OK_FOR_BASE_P): New.
5879         (GO_IF_LEGITIMATE_ADDRESS): Delete.  Update some related comments.
5880         (LEGITIMIZE_RELOAD_ADDRESS): Revise to use pa_legitimize_reload_address.
5882 2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
5883             Andrew Dixie  <andrewd@gentrack.com>
5885         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
5886         flag set.
5888 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
5890         * expmed.c (extract_bit_field_1): Pass the full width of the
5891         structure to get_best_reg_extraction_insn.
5893 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
5895         PR target/54601
5896         * configure.ac (use_cxa_atexit): Add AIX.
5897         * configure: Regenerate.
5899         * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtcxa.o.
5901 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
5903         PR debug/54793
5904         * final.c (need_profile_function): New variable.
5905         (final_start_function): Drop ATTRIBUTE_UNUSED from first argument.
5906         If first of NOTE_INSN_BASIC_BLOCK or NOTE_INSN_FUNCTION_BEG
5907         is only preceeded by NOTE_INSN_VAR_LOCATION or NOTE_INSN_DELETED
5908         notes, targetm.asm_out.function_prologue doesn't emit anything,
5909         HAVE_prologue and profiler should be emitted before prologue,
5910         set need_profile_function instead of emitting it.
5911         (final_scan_insn): If need_profile_function, emit
5912         profile_function on the first NOTE_INSN_BASIC_BLOCK or
5913         NOTE_INSN_FUNCTION_BEG note.
5915 2013-02-01  Richard Henderson  <rth@redhat.com>
5917         * config/rs6000/rs6000.md (smulditi3): New.
5918         (umulditi3): New.
5920         * config/alpha/alpha.md (umulditi3): New.
5922 2013-02-01  David Edelsohn  <dje.gcc@gmail.com>
5924         * config/rs6000/xcoff.h (ASM_OUTPUT_ALIGNED_COMMON): Use floor_log2.
5925         (ASM_OUTPUT_ALIGNED_LOCAL): New.
5927 2013-02-01  Richard Biener  <rguenther@suse.de>
5929         PR tree-optimization/56113
5930         * tree-ssa-structalias.c (label_visit): Reduce work for
5931         single-predecessor nodes.
5933 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
5935         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
5936         range isn't testing for zero.
5938 2013-01-31  Steven Bosscher  <steven@gcc.gnu.org>
5940         PR middle-end/56113
5941         * fwprop.c (fwprop_init): Set up loops without CFG modifications.
5943 2013-01-31  Hiroyuki Ono  <hiroyuki.ono.jc@renesas.com>
5944             Nick Clifton  <nickc@redhat.com>
5946         * config/v850/constraints.md (Q): Define as a memory constraint.
5947         * config/v850/predicates.md (label_ref_operand): New predicate.
5948         (e3v5_shift_operand): New predicate.
5949         (ior_operator): New predicate.
5950         * config/v850/t-v850: Add e3v5 multilib.
5951         * config/v850/v850-protos.h (v850_adjust_insn_length): Prototype.
5952         (v850_gen_movdi): Prototype.
5953         * config/v850/v850.c: Add support for e3v5 architecture.
5954         Rename all uses of TARGET_V850E || TARGET_V850E2_ALL to
5955         TARGET_V850E_UP.
5956         (construct_save_jarl): Add e3v5 long JARL support.
5957         (v850_adjust_insn_length): New function.  Adjust length of call
5958         insns when using e3v5 instructions.
5959         (v850_gen_movdi): New function: Generate instructions to move a
5960         DImode value.
5961         * config/v850/v850.h (TARGET_CPU_v850e3v5): Define.
5962         (CPP_SPEC): Define __v850e3v5__ as appropriate.
5963         (TARGET_USE_FPU): Enable for e3v5.
5964         (CONST_OK_FOR_W): New macro.
5965         (ADJUST_INSN_LENGTH): Define.
5966         * config/v850/v850.md (UNSPEC_LOOP): Define.
5967         (attr cpu): Add v850e3v5.
5968         Rename all uses of TARGET_V850E2 to TARGET_V850E2V3_UP.
5969         (movdi): New pattern.
5970         (movdi_internal): New pattern.
5971         (cbranchsf4): Conditionalize on TARGET_USE_FPU.
5972         (cbranchdf4): Conditionalize on TARGET_USE_FPU.
5973         (cstoresf4): Likewise.
5974         (cstoredf4): Likewise.
5975         (insv): New pattern.
5976         (rotlso3_a): New pattern.
5977         (rotlsi3_b): New pattern
5978         (rotlsi3_v850e3v5): New pattern.
5979         (doloop_begin): New pattern.
5980         (fix_loop_counter): New pattern.
5981         (doloop_end): New pattern.
5982         (branch_normal): Add e3v5 long branch support.
5983         (branch_invert): Likewise.
5984         (branch_z_normal): Likewise.
5985         (branch_z_invert): Likewise.
5986         (branch_nz_normal): Likewise.
5987         (branch_nz_invert): Likewise.
5988         (call_internal_short): Add e3v5 register-indirect JARL support.
5989         (call_internal_long): Likewise.
5990         (call_value_internal_short): Likewise.
5991         (call_value_internal_long): Likewise.
5992         * config/v850/v850.opt (mv850e3v5, mv850e2v4): New options.
5993         (mloop): New option.
5994         * config.gcc: Add support for configuring v840e3v5 target.
5995         * doc/invoke.texi: Document new v850 specific command line options.
5997 2013-01-31  Paul Koning  <ni1d@arrl.net>
5999         PR debug/55059
6000         PR debug/54508
6001         * dwarf2out.c (prune_unused_types_mark): Mark all of parent's
6002         children if parent is a class.
6003         (prune_unused_types_prune): Don't add DW_AT_declaration.
6005 2013-01-31  Richard Biener  <rguenther@suse.de>
6007         PR tree-optimization/56157
6008         * tree-vect-slp.c (vect_get_slp_defs): More thoroughly try to
6009         match up operand with SLP child.
6011 2013-01-31  Jason Merrill  <jason@redhat.com>
6013         PR debug/54410
6014         * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
6015         parameters the first time.
6016         (gen_scheduled_generic_parms_dies): Check completeness here.
6018 2013-01-31  Richard Biener  <rguenther@suse.de>
6020         PR middle-end/53073
6021         * common.opt (faggressive-loop-optimizations): New flag,
6022         enabled by default.
6023         * doc/invoke.texi (faggressive-loop-optimizations): Document.
6024         * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Guard
6025         infer_loop_bounds_from_undefined by it.
6027 2013-01-31  Richard Biener  <rguenther@suse.de>
6029         PR tree-optimization/56150
6030         * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Do not
6031         visit virtual operands.
6032         (find_uses_to_rename_bb): Likewise.
6034 2013-01-31  Richard Biener  <rguenther@suse.de>
6036         PR tree-optimization/56150
6037         * tree-ssa-tail-merge.c (gimple_equal_p): Properly handle
6038         mixed store non-store stmts.
6040 2013-01-30  Jakub Jelinek  <jakub@redhat.com>
6042         PR sanitizer/55374
6043         * gcc.c (LIBASAN_SPEC): Define just to ADD_STATIC_LIBASAN_LIBS if
6044         LIBASAN_EARLY_SPEC is defined.
6045         (LIBASAN_EARLY_SPEC): Define to empty string if not already defined.
6046         (LINK_COMMAND_SPEC): Add LIBASAN_EARLY_SPEC for -fsanitize=address,
6047         before %o.
6048         * config/gnu-user.h (LIBASAN_EARLY_SPEC): Define.
6050         PR c++/55742
6051         * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Diagnose
6052         invalid args instead of ICEing on it.
6053         (ix86_valid_target_attribute_tree): Return error_mark_node if
6054         ix86_valid_target_attribute_inner_p failed.
6055         (ix86_valid_target_attribute_p): Return false only if
6056         ix86_valid_target_attribute_tree returned error_mark_node.  Allow
6057         target("default") attribute.
6058         (sorted_attr_string): Change argument from const char * to tree,
6059         merge in all target attribute arguments rather than just one.
6060         Formatting fix.  Use XNEWVEC instead of xmalloc and XDELETEVEC
6061         instead of free.  Avoid using strcat.
6062         (ix86_mangle_function_version_assembler_name): Mangle
6063         target("default") as if no target attribute is present.  Adjust
6064         sorted_attr_string caller.  Avoid leaking memory.  Use XNEWVEC
6065         instead of xmalloc and XDELETEVEC instead of free.
6066         (ix86_function_versions): Don't return true if one of the decls
6067         doesn't have target attribute.  If they don't and one of the decls
6068         is DECL_FUNCTION_VERSIONED, report an error.  Adjust
6069         sorted_attr_string caller.  Use XDELETEVEC instead of free.
6070         (ix86_supports_function_versions): Remove.
6071         (make_name): Fix up formatting.
6072         (make_dispatcher_decl): Remove resolver_name and its initialization.
6073         Avoid leaking memory.
6074         (is_function_default_version): Return true if there is
6075         target("default") attribute rather than no target attribute at all.
6076         (make_resolver_func): Avoid leaking memory.
6077         (ix86_generate_version_dispatcher_body): Likewise.
6078         (TARGET_OPTION_SUPPORTS_FUNCTION_VERSIONS): Remove.
6079         * target.def (supports_function_versions): Remove.
6080         * doc/tm.texi.in (SUPPORTS_FUNCTION_VERSIONS): Remove.
6081         * doc/tm.texi: Regenerated.
6083 2013-01-30  Vladimir Makarov  <vmakarov@redhat.com>
6085         PR rtl-optimization/56144
6086         * lra-constraints.c (get_reload_reg): Don't reuse reload pseudo
6087         for values with side effects.
6089 2013-01-30  Richard Biener  <rguenther@suse.de>
6091         * sparseset.h (sparseset_bit_p): Use gcc_checking_assert.
6092         (sparseset_pop): Likewise.
6093         * cfganal.c (compute_idf): Likewise.  Increase work-stack size
6094         to be able to use quick_push in the worker loop.
6096 2013-01-30  Marek Polacek  <polacek@redhat.com>
6098         * cfgcleanup.c (cleanup_cfg): Don't mark affected BBs.
6100 2013-01-30  Richard Biener  <rguenther@suse.de>
6102         PR lto/56147
6103         * lto-symtab.c (lto_symtab_merge_decls_1): Guard DECL_BUILT_IN check.
6105 2013-01-30  Georg-Johann Lay  <avr@gjlay.de>
6107         PR tree-optimization/56064
6108         * fixed-value.c (fixed_from_double_int): New function.
6109         * fixed-value.h (fixed_from_double_int): New prototype.
6110         (const_fixed_from_double_int): New static inline function.
6111         * fold-const.c (native_interpret_fixed): New static function.
6112         (native_interpret_expr) <FIXED_POINT_TYPE>: Use it.
6113         (can_native_interpret_type_p) <FIXED_POINT_TYPE>: Return true.
6114         (native_encode_fixed): New static function.
6115         (native_encode_expr) <FIXED_CST>: Use it.
6116         (native_interpret_int): Move double_int worker code to...
6117         * double-int.c (double_int::from_buffer): ...this new static method.
6118         * double-int.h (double_int::from_buffer): Prototype it.
6120 2013-01-30  Richard Biener  <rguenther@suse.de>
6122         * tree-ssa-structalias.c (final_solutions, final_solutions_obstack):
6123         New pointer-map and obstack.
6124         (init_alias_vars): Allocate pointer-map and obstack.
6125         (delete_points_to_sets): Free them.
6126         (find_what_var_points_to): Cache result.
6127         (find_what_p_points_to): Adjust for changed interface of
6128         find_what_var_points_to.
6129         (compute_points_to_sets): Likewise.
6130         (ipa_pta_execute): Likewise.
6132 2013-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6134         * configure.ac (HAVE_AS_SPARC_NOBITS): New test.
6135         * configure: Regenerate.
6136         * config.in: Regenerate.
6137         * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Emit
6138         #nobits/#progbits if supported.
6140 2013-01-29  Oleg Endo  <olegendo@gcc.gnu.org>
6142         PR target/56121
6143         * config/sh/sh.md (bclr_m2a, bset_m2a, bst_m2a, bld_m2a, bldsign_m2a,
6144         bld_reg, *bld_regqi, band_m2a, bandreg_m2a, bor_m2a, borreg_m2a,
6145         bxor_m2a, bxorreg_m2a): Add satisfies_constraint_K03 condition.
6147 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
6149         * config/arm/cortex-a7.md (cortex_a7_neon, cortex_a7_all): Remove.
6150         (cortex_a7_idiv): Use cortex_a7_both instead of cortex_a7_all.
6152 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
6154         * config/arm/arm.c (cortexa7_younger): Return true for TYPE_CALL.
6155         * config/arm/cortex-a7.md (cortex_a7_call): Update required units.
6157 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
6159         * config/arm/arm-protos.h (arm_mac_accumulator_is_result): New
6160         declaration.
6161         * config/arm/arm.c (arm_mac_accumulator_is_result): New function.
6162         * config/arm/cortex-a7.md: New bypasses using
6163         arm_mac_accumulator_is_result.
6165 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
6167         * config/arm/cortex-a7.md (cortex_a7_neon_mul):  New reservation.
6168         (cortex_a7_neon_mla): Likewise.
6169         (cortex_a7_fpfmad): New reservation.
6170         (cortex_a7_fpmacs): Use ffmas and update required units.
6171         (cortex_a7_fpmuld): Update required units and latency.
6172         (cortex_a7_fpmacd): Likewise.
6173         (cortex_a7_fdivs, cortex_a7_fdivd): Likewise.
6174         (cortex_a7_neon). Likewise.
6175         (bypass) Update participating units.
6177 2013-01-29  Greta Yorsh  <Greta.Yorsh@arm.com>
6179         * config/arm/arm.md (type): Add ffmas and ffmad to "type" attribute.
6180         * config/arm/vfp.md (fma,fmsub,fnmsub,fnmadd): Change type
6181         from fmac to ffma.
6182         * config/arm/vfp11.md (vfp_farith): Use ffmas.
6183         (vfp_fmul): Use ffmad.
6184         * config/arm/cortex-r4f.md (cortex_r4_fmacs): Use ffmas.
6185         (cortex_r4_fmacd): Use ffmad.
6186         * config/arm/cortex-m4-fpu.md (cortex_m4_fmacs): Use ffmas.
6187         * config/arm/cortex-a9.md (cortex_a9_fmacs):  Use ffmas.
6188         (cortex_a9_fmacd): Use ffmad.
6189         * config/arm/cortex-a8-neon.md (cortex_a8_vfp_macs): Use ffmas.
6190         (cortex_a8_vfp_macd): Use ffmad.
6191         * config/arm/cortex-a5.md (cortex_a5_fpmacs): Use ffmas.
6192         (cortex_a5_fpmacd): Use ffmad.
6193         * config/arm/cortex-a15-neon.md (cortex_a15_vfp_macs) Use ffmas.
6194         (cortex_a15_vfp_macd): Use ffmad.
6195         * config/arm/arm1020e.md (v10_fmul): Use ffmas and ffmad.
6197 2013-01-29  Jason Merrill  <jason@redhat.com>
6199         PR libstdc++/54314
6200         * varasm.c (default_assemble_visibility): Don't warn about
6201         visibility on artificial decls.
6203 2013-01-29  Richard Biener  <rguenther@suse.de>
6205         PR tree-optimization/56113
6206         * tree-ssa-structalias.c (equiv_class_lookup): Also return
6207         the bitmap leader.
6208         (label_visit): Free duplicate bitmaps and record the leader instead.
6209         (perform_var_substitution): Adjust.
6211 2013-01-29  Richard Biener  <rguenther@suse.de>
6213         PR tree-optimization/55270
6214         * tree-ssa-dom.c (eliminate_degenerate_phis): If we changed
6215         the CFG, schedule loops for fixup.
6217 2013-01-29  Nick Clifton  <nickc@redhat.com>
6219         * config/rl78/rl78.c (rl78_regno_mode_code_ok_for_base_p): Allow
6220         SP_REG.
6222 2013-01-28  Leif Ekblad  <leif@rdos.net>
6224         * config.gcc (i[34567]86-*-rdos*, x86_64-*-rdos*): New targets.
6225         * config/i386/i386.h (TARGET_RDOS): New macro.
6226         (DEFAULT_LARGE_SECTION_THRESHOLD): New macro.
6227         * config/i386/i386.c (ix86_option_override_internal): For 64bit
6228         TARGET_RDOS, set ix86_cmodel to CM_MEDIUM_PIC and flag_pic to 1.
6229         * config/i386/i386.opt (mlarge-data-threshold): Initialize to
6230         DEFAULT_LARGE_SECTION_THRESHOLD.
6231         * config/i386/i386.md (R14_REG, R15_REG): New constants.
6232         * config/i386/rdos.h: New file.
6233         * config/i386/rdos64.h: New file.
6235 2013-01-28  Bernd Schmidt  <bernds@codesourcery.com>
6237         PR other/54814
6238         * reload.c (find_valid_class_1): Use in_hard_reg_set_p instead of
6239         TEST_HARD_REG_BIT.
6241 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
6243         PR rtl-optimization/56117
6244         * sched-deps.c (sched_analyze_2) <case PREFETCH>: For use_cselib
6245         call cselib_lookup_from_insn on the MEM before calling
6246         add_insn_mem_dependence.
6248 2013-01-28  Richard Biener  <rguenther@suse.de>
6250         * tree-inline.c (remap_gimple_stmt): Do not assing a BLOCK
6251         to a stmt that didn't have one.
6252         (copy_phis_for_bb): Likewise for PHI arguments.
6253         (copy_debug_stmt): Likewise for debug stmts.
6255 2013-01-28  Richard Biener  <rguenther@suse.de>
6257         PR tree-optimization/56034
6258         * tree-loop-distribution.c (enum partition_kind): Add PKIND_REDUCTION.
6259         (partition_builtin_p): Adjust.
6260         (generate_code_for_partition): Handle PKIND_REDUCTION.  Assert
6261         it is the last partition.
6262         (rdg_flag_uses): Check SSA_NAME_IS_DEFAULT_DEF before looking
6263         up the vertex for the definition.
6264         (classify_partition): Classify whether a partition is a
6265         PKIND_REDUCTION, thus has uses outside of the loop.
6266         (ldist_gen): Inherit PKIND_REDUCTION when merging partitions.
6267         Merge all PKIND_REDUCTION partitions into the last partition.
6268         (tree_loop_distribution): Seed partitions from reductions as well.
6270 2013-01-28  Jakub Jelinek  <jakub@redhat.com>
6272         PR tree-optimization/56125
6273         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
6274         pow(x,c) into sqrt(x) * powi(x, n/2) or
6275         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
6276         optimizing for size.
6277         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
6278         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
6279         integer.
6281         PR tree-optimization/56094
6282         * gimplify.c (force_gimple_operand_1): Temporarily set input_location
6283         to UNKNOWN_LOCATION while gimplifying expr.
6285 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
6287         PR target/56114
6288         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
6289         operand 0 in movabs insn template for -masm=intel asm alternative.
6290         (*movabs<mode>_2): Ditto for operand 1.
6292 2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>
6294         PR target/54663
6295         * config.gcc (microblaze*-linux*): Add tmake_file to allow building
6296         of microblaze-c.o
6298 2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
6300         * config.gcc (microblaze*-*-*): Rename microblaze*-*-elf, update
6301         tm_file.
6303 2013-01-25  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
6305         * config/aarch64/aarch64.c (TARGET_FIXED_CONDITION_CODE_REGS):
6306         Undef to avoid warning.
6308 2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
6310         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
6311         * configure: Regenerate.
6313 2013-01-25  Jakub Jelinek  <jakub@redhat.com>
6315         PR tree-optimization/56098
6316         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
6317         for stmts with volatile ops.
6318         (cond_store_replacement): Don't optimize if assign has volatile ops.
6319         (cond_if_else_store_replacement_1): Don't optimize if either
6320         then_assign or else_assign have volatile ops.
6321         (hoist_adjacent_loads): Don't optimize if either def1 or def2 have
6322         volatile ops.
6324 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
6326         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
6328 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
6330         * doc/extend.texi (Example of asm with clobbered asm reg): Fix
6331         missing ':' in asm example.
6333 2013-01-25  Tejas Belagod  <tejas.belagod@arm.com>
6335         * config/aarch64/aarch64-simd-builtins.def: Separate sq<r>dmulh_lane
6336         entries into lane and laneq entries.
6337         * config/aarch64/aarch64-simd.md (aarch64_sq<r>dmulh_lane<mode>):
6338         Remove AdvSIMD scalar modes.
6339         (aarch64_sq<r>dmulh_laneq<mode>): New.
6340         (aarch64_sq<r>dmulh_lane<mode>): New RTL pattern for Scalar AdvSIMD
6341         modes.
6342         * config/aarch64/arm_neon.h: Fix all the vq<r>dmulh_lane* intrinsics'
6343         builtin implementations to relfect changes in RTL in aarch64-simd.md.
6344         * config/aarch64/iterators.md (VCOND): New.
6345         (VCONQ): New.
6347 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
6349         PR target/54222
6350         * config/avr/builtins.def (DEF_BUILTIN): Add LIBNAME argument.
6351         Add NULL LIBNAME argument to existing definitions.
6352         (ABSHR, ABSR, ABSLR, ABSLLR, ABSHK, ABSK, ABSLK, ABSLLK): New.
6353         * config/avr/avr-c.c (DEF_BUILTIN): Add LIBNAME argument.
6354         * config/avr/avr.c (DEF_BUILTIN): Same.
6355         (avr_init_builtins): Pass down LIBNAME to add_builtin_function.
6356         (avr_expand_builtin): Expand to a vanilla call if a libgcc
6357         implementation is available (DECL_ASSEMBLER_NAME is set).
6358         (avr_fold_absfx): New static function.
6359         (avr_fold_builtin): Use it to handle: AVR_BUILTIN_ABSHR,
6360         AVR_BUILTIN_ABSR, AVR_BUILTIN_ABSLR, AVR_BUILTIN_ABSLLR,
6361         AVR_BUILTIN_ABSHK, AVR_BUILTIN_ABSK, AVR_BUILTIN_ABSLK,
6362         AVR_BUILTIN_ABSLLK.
6363         * config/avr/stdfix.h (abshr, absr, abslr, absllr)
6364         (abshk, absk, abslk, absllk): Provide as static inline functions.
6366 2013-01-25  Marek Polacek  <polacek@redhat.com>
6368         PR tree-optimization/56035
6369         * cfgloopmanip.c (fix_loop_structure): Remove redundant condition.
6371 2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
6373         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
6374         (*movtf_internal_rex64): Add (!o,C) alternative
6375         (*movxf_internal_rex64): Ditto.
6376         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
6378 2013-01-24  Shenghou Ma  <minux.ma@gmail.com>
6380         * doc/invoke.texi: fix typo.
6381         * doc/objc.texi: fix typo.
6383 2013-01-24  Richard Sandiford  <rdsandiford@googlemail.com>
6385         * config/mips/mips.md (*and<mode>3_mips16): Use the "W" constraint
6386         for the first two alternatives.
6388 2013-01-24  Diego Novillo  <dnovillo@google.com>
6390         * Makefile.in (GGC): Remove.  Replace all instances with ggc-page.o.
6391         (ggc-zone.o): Remove.
6392         * configure.ac: Remove option --with-gc.
6393         * configure: Re-generate.
6394         * doc/install.texi: Remove documentation for --with-gc.
6395         * gengtype.c (write_enum_defn): Remove.  Update all users.
6396         (write_Types_process_field): Remove generation of gt_e_* argument.
6397         (output_type_enum): Remove.  Update all users.
6398         (write_enum_defn): Remove.  Update all users.
6399         (enum alloc_zone): Remove.  Update all users.
6400         (write_splay_tree_allocator_def): Remove generation of gt_e_* argument.
6401         * ggc-common.c (ggc_splay_alloc): Remove first argument.
6402         Update all callers.
6403         (struct ptr_data): Remove field TYPE.  Update all users.
6404         (gt_pch_note_object): Remove argument TYPE.  Update all users.
6405         * ggc-internal.h (ggc_pch_alloc_object): Remove last argument.
6406         Update all users.
6407         * ggc-none.c (ggc_alloc_typed_stat): Remove.
6408         (struct alloc_zone): Remove.
6409         (ggc_internal_alloc_zone_stat): Remove.
6410         (ggc_internal_cleared_alloc_zone_stat): Remove.
6411         * ggc-page.c (ggc_alloc_typed_stat): Remove.
6412         (ggc_pch_count_object): Remove last argument.  Update all users.
6413         (ggc_pch_alloc_object): Remove last argument.  Update all users.
6414         (struct alloc_zone): Remove.
6415         * ggc-zone.c: Remove.
6416         * ggc.h (gt_pch_note_object): Remove last argument.  Update all users.
6417         (struct alloc_zone): Remove.
6418         (ggc_alloc_typed_stat): Remove.
6419         (ggc_alloc_typed): Remove.
6420         (ggc_splay_alloc): Remove first argument.
6421         (rtl_zone): Remove.  Update all users.
6422         (tree_zone): Remove.  Update all users.
6423         (tree_id_zone): Remove.  Update all users.
6424         (ggc_internal_zone_alloc_stat): Remove.  Update all users.
6425         (ggc_internal_zone_cleared_alloc_stat): Remove.  Update all users.
6426         (ggc_internal_zone_vec_alloc_stat): Remove.  Update all users.
6427         * tree-ssanames.c: Remove references to zone allocator in comments.
6429 2013-01-24  Georg-Johann Lay  <avr@gjlay.de>
6431         * config/avr/avr.c (avr_out_fract): Make register numbers that
6432         might be outside of source operand signed.
6434 2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
6436         * config/i386/constraints.md (Yf): New constraint.
6437         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
6438         of f constraint to conditionaly disable x87 register preferences.
6439         (*movdf_internal): Ditto.
6440         (*movsf_internal): Ditto.
6442 2013-01-24  Steven Bosscher  <steven@gcc.gnu.org>
6444         PR inline-asm/55934
6445         * lra-assigns.c (assign_by_spills): Throw away the pattern of asms
6446         that have operands with impossible constraints.
6447         Add a FIXME for a speed-up opportunity.
6448         * lra-constraints.c (process_alt_operands): Verify that a class
6449         selected from constraints on asms is valid for the operand mode.
6450         (curr_insn_transform): Remove incorrect comment.
6452 2013-01-23  David Edelsohn  <dje.gcc@gmail.com>
6454         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Check that
6455         TOC operand is a valid symbol ref in the constant pool.
6457 2013-01-23  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
6459         * config/microblaze/linux.h: Add TARGET_OS_CPP_BUILTINS
6461 2013-01-23  Georg-Johann Lay  <avr@gjlay.de>
6463         PR target/54222
6464         * config/avr/stdfix.h: New file.
6465         * t-avr (stdfix-gcc.h): New rule to build it.
6466         (EXTRA_HEADERS): Set it to install stdfix.h, stdfix-gcc.h.
6468 2013-01-23  Kostya Serebryany  <kcc@google.com>
6470         * config/darwin.h: remove dependency on
6471         CoreFoundation (asan on Mac OS).
6473 2013-01-23  Jakub Jelinek  <jakub@redhat.com>
6475         PR target/49069
6476         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
6477         instead of cmpdi_operand for first comparison operand.
6478         Don't assert that comparison operands aren't both constants.
6480 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
6482         * doc/install.texi (Downloading the Source): Update references to
6483         downloading separate components.
6485 2013-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
6487         * doc/extend.texi (__int128): Improve grammar.
6489 2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
6491         PR target/56028
6492         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
6493         alternative to (o,r).
6494         (*movdi_internal_rex64): Remove (!o,n) alternative.
6495         (DImode immediate->memory splitter): Remove.
6496         (DImode immediate->memory peephole2): Remove.
6497         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
6498         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
6499         alternative to (!o,*r).
6500         (*movtf_internal_sse): New pattern.
6501         (*movxf_internal_rex64): New pattern.
6502         (*movxf_internal): Disable for TARGET_64BIT.
6503         (*movdf_internal_rex64): Remove (!o,F) alternative.
6505 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
6507         PR middle-end/56074
6508         * dumpfile.c (dump_loc): Only print loc if LOCATION_LOCUS (loc)
6509         isn't UNKNOWN_LOCATION nor BUILTINS_LOCATION.
6510         * tree-vect-loop-manip.c (find_loop_location): Also ignore
6511         stmt locations where LOCATION_LOCUS of the stmt location is
6512         UNKNOWN_LOCATION or BUILTINS_LOCATION.
6514         PR target/55686
6515         * config/i386/i386.md (UNSPEC_STOS): New.
6516         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
6517         *strsetqi_1): Add UNSPEC_STOS.
6519 2013-01-22  Paolo Carlini  <paolo.carlini@oracle.com>
6521         PR c++/56067
6522         * doc/invoke.texi: Remove left over -Wsynth example.
6524 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
6526         PR tree-optimization/56051
6527         * fold-const.c (fold_binary_loc): Don't fold
6528         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
6529         a narrowing conversion, or widening conversion from signed
6530         to unsigned.
6532 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
6534         PR rtl-optimization/56023
6535         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
6536         dependent on debug instruction.
6538 2013-01-21  Martin Jambor  <mjambor@suse.cz>
6540         PR middle-end/56022
6541         * function.c (allocate_struct_function): Call
6542         invoke_set_current_function_hook earlier.
6544 2013-01-21  Jakub Jelinek  <jakub@redhat.com>
6546         * reload1.c (init_reload): Only initialize reload_obstack
6547         during the first call.
6549 2013-01-21  Marek Polacek  <polacek@redhat.com>
6551         * cfgloop.c (verify_loop_structure): Fix up grammar.
6553 2013-01-21  Yi-Hsiu Hsu  <ahsu@marvell.com>
6555         * config/arm/marvell-pj4.md (pj4_shift_conds, pj4_alu_shift,
6556         pj4_alu_shift_conds, pj4_shift): Handle simple_alu_shift.
6558 2013-01-21  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6560         PR target/56058
6561         * config/arm/marvell-pj4.md: Update copyright year.
6562         Fix up use of alu to alu_reg and simple_alu_imm.
6564 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
6566         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
6568 2013-01-20  Vladimir Makarov  <vmakarov@redhat.com>
6570         PR target/55433
6571         * lra-constraints.c (curr_insn_transform): Don't reuse original
6572         insn for secondary memory move when memory mode should be different.
6574 2013-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6576         * config/pa/pa.md (atomic_loaddi, atomic_loaddi_1, atomic_storedi,
6577         atomic_storedi_1): New patterns.
6579 2013-01-20  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
6581         btver2 pipeline descriptions.
6582         * config/i386/i386.c: Enable CPU_BTVER2 to use btver2 pipeline
6583         descriptions.
6584         * config/i386/i386.md (btver2_decode): New type attributes.
6585         * config/i386/sse.md (btver2_decode, btver2_sse_attr): New
6586         type attributes.
6587         * config/i386/btver2.md: New file describing btver2 pipelines.
6589 2013-01-19  Andrew Pinski  <apinski@cavium.com>
6591         PR tree-optimization/52631
6592         * tree-ssa-sccvn (visit_use): Before looking up the original
6593         statement, try looking up the simplified expression.
6595 2013-01-19  Anthony Green  <green@moxielogic.com>
6597         * config/moxie/moxie.c (moxie_expand_prologue): Set
6598         current_function_static_stack_size.
6600 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
6602         PR tree-optimization/56029
6603         * tree-phinodes.c (reserve_phi_args_for_new_edge): Set
6604         gimple_phi_arg_location for the new arg to UNKNOWN_LOCATION.
6606 2013-01-18  Sharad Singhai  <singhai@google.com>
6608         PR tree-optimization/55995
6609         * dumpfile.c (dump_loc): Print location only if available.
6610         * tree-vectorizer.c (increase_alignment): Intialize vect_location.
6612 2013-01-18  Vladimir Makarov  <vmakarov@redhat.com>
6614         PR target/55433
6615         * lra-constraints.c (curr_insn_transform): Reuse original insn for
6616         secondary memory move.
6617         (inherit_reload_reg): Use rclass instead of cl for
6618         check_secondary_memory_needed_p.
6620 2013-01-18  Jakub Jelinek  <jakub@redhat.com>
6622         PR middle-end/56015
6623         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
6624         the case where writing real complex part of target modifies op1.
6626 2013-01-18  James Greenhalgh  <james.greenhalgh@arm.com>
6628         * config/aarch64/aarch64-simd.md
6629         (aarch64_vcond_internal<mode>): Handle unordered cases.
6630         * config/aarch64/iterators.md (v_cmp_result): New.
6632 2013-01-18  Yi-Hsiu Hsu  <ahsu@marvell.com>
6633             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
6635         * config/arm/marvell-pj4.md: New file.
6636         * config/arm/arm.c (arm_issue_rate): Add marvell_pj4.
6637         * config/arm/arm.md (generic_sched): Add marvell_pj4.
6638         (generic_vfp): Likewise.
6639         * config/arm/arm-cores.def: Add marvell-pj4.
6640         * config/arm/arm-tune.md: Regenerate.
6641         * config/arm/arm-tables.opt: Regenerate.
6642         * config/arm/bpabi.h (BE8_LINK_SPEC): Add marvell_pj4.
6643         * doc/invoke.texi: Document marvell-pj4.
6645 2013-01-18  Tejas Belagod  <tejas.belagod@arm.com>
6647         * config/aarch64/arm_neon.h: Map scalar types to standard types.
6649 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
6651         PR debug/54114
6652         PR debug/54402
6653         PR debug/49888
6654         * var-tracking.c (negative_power_of_two_p): New.
6655         (global_get_addr_cache, local_get_addr_cache): New.
6656         (get_addr_from_global_cache, get_addr_from_local_cache): New.
6657         (vt_canonicalize_addr): Rewrite using the above.  Adjust the
6658         heading comment.
6659         (vt_stack_offset_p): Remove.
6660         (vt_canon_true_dep): Always canonicalize loc's address.
6661         (clobber_overlapping_mems): Make sure we have a MEM.
6662         (local_get_addr_clear_given_value): New.
6663         (val_reset): Clear local cached entries.
6664         (compute_bb_dataflow): Create and release the local cache.
6665         Disable duplicate MEMs clobbering.
6666         (emit_notes_in_bb): Clobber MEMs likewise.
6667         (vt_emit_notes): Create and release the local cache.
6668         (vt_initialize, vt_finalize): Create and release the global
6669         cache, respectively.
6670         * alias.c (rtx_equal_for_memref_p): Compare operands of ENTRY_VALUEs.
6672 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
6674         PR libmudflap/53359
6675         * tree-mudflap.c (mudflap_finish_file): Skip deferred decls
6676         not found in the symtab.
6678 2013-01-18  Alexandre Oliva  <aoliva@redhat.com>
6680         PR debug/56006
6681         PR rtl-optimization/55547
6682         PR rtl-optimization/53827
6683         PR debug/53671
6684         PR debug/49888
6685         * alias.c (offset_overlap_p): New, factored out of...
6686         (memrefs_conflict_p): ... this.  Use absolute sizes.  Retain
6687         the conservative special case for symbolic constants.  Don't
6688         adjust zero sizes on alignment.
6690 2013-01-18  Bernd Schmidt  <bernds@codesourcery.com>
6692         PR rtl-optimization/52573
6693         * regrename.c (build_def_use): Ignore REG_DEAD notes if there is a
6694         REG_UNUSED for the same register.
6696 2013-01-17  Richard Biener  <rguenther@suse.de>
6697             Marek Polacek  <polacek@redhat.com>
6699         PR rtl-optimization/55833
6700         * loop-unswitch.c (unswitch_loops): Move loop verification...
6701         (unswitch_single_loop): ...here.  Call mark_irreducible_loops.
6702         * cfgloopmanip.c (fix_loop_placement): Add IRRED_INVALIDATED parameter.
6703         Set it to true when we're removing a loop from hierarchy tree in
6704         an irreducible region.
6705         (fix_bb_placements): Adjust caller.
6706         (fix_loop_placements): Likewise.
6708 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
6710         * config/avr/builtins.def (DEF_BUILTIN): Factor out
6711         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
6712         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
6713         Remove ID.  Adjust comments.
6714         * config/avr/avr-c.c (avr_builtin_name): Remove.
6715         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
6716         * config/avr/avr.c (avr_tolower): New static function.
6717         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
6718         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
6719         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
6720         default expansion.
6722 2013-01-17  Jan Hubicka  <jh@suse.cz>
6724         PR tree-optimization/55273
6725         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
6727 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
6729         PR target/55981
6730         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
6731         store through atomic_store<mode>_1.
6732         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
6734 2013-01-17  Martin Jambor  <mjambor@suse.cz>
6736         PR tree-optimizations/55264
6737         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
6738         for virtual methods.
6739         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
6740         virtual methods before inlining is over.
6741         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
6742         virtual functions.
6743         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
6744         non-virtual.
6746 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
6748         PR rtl-optimization/56005
6749         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
6750         pending reads for prefetch.
6752 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
6754         * config/aarch64/aarch64.md
6755         (*cstoresi_neg_uxtw): New pattern.
6756         (*cmovsi_insn_uxtw): New pattern.
6757         (*<optab>si3_uxtw): New pattern.
6758         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
6759         (*<optab>si3_insn_uxtw): New pattern.
6760         (*bswapsi2_uxtw): New pattern.
6762 2013-01-16  Richard Biener  <rguenther@suse.de>
6764         * tree-inline.c (tree_function_versioning): Remove set but
6765         never used variable.
6767 2013-01-16  Richard Biener  <rguenther@suse.de>
6769         PR tree-optimization/55964
6770         * tree-flow.h (rename_variables_in_loop): Remove.
6771         (rename_variables_in_bb): Likewise.
6772         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
6773         (copy_loop_before): Adjust and delete update-ssa status.
6774         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
6775         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
6776         (rename_variables_in_loop): Remove.
6777         (slpeel_update_phis_for_duplicate_loop): Likewise.
6778         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
6779         use available cfg machinery instead of duplicating it.
6780         Update PHI nodes and perform poor-mans SSA update here.
6781         (slpeel_tree_peel_loop_to_edge): Adjust.
6783 2013-01-16  Richard Biener  <rguenther@suse.de>
6785         PR tree-optimization/54767
6786         PR tree-optimization/53465
6787         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
6788         (vrp_visit_phi_node): For PHI arguments coming via backedges
6789         drop all symbolical range information.
6790         (execute_vrp): Compute backedges.
6792 2013-01-16  Richard Biener  <rguenther@suse.de>
6794         * doc/install.texi: Update CLooG and ISL requirements to
6795         0.18.0 and 0.11.1.
6797 2013-01-16  Christian Bruel  <christian.bruel@st.com>
6799         PR target/55301
6800         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
6801         (broken_move): Handle UNSPECV_SP_SWITCH_B.
6802         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
6804 2013-01-16  DJ Delorie  <dj@redhat.com>
6806         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
6807         (UNSPECV_SP_SWITCH_E): New.
6808         (sp_switch_1): Change to an unspec.
6809         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
6810         replace $r15.
6812 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
6814         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
6815         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
6816         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
6817         (expand_mem_thread_fence): Ditto.
6818         (expand_mem_signal_fence): Ditto.
6819         (expand_atomic_load): Ditto.
6820         (expand_atomic_store): Ditto.
6822 2013-01-16  Alexandre Oliva  <aoliva@redhat.com>
6824         PR rtl-optimization/55547
6825         PR rtl-optimization/53827
6826         PR debug/53671
6827         PR debug/49888
6828         * alias.c (memrefs_conflict_p): Set sizes to negative after
6829         AND adjustments.
6831 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6833         PR target/55940
6834         * function.c (thread_prologue_and_epilogue_insns): Always
6835         add crtl->drap_reg to set_up_by_prologue.set, even if
6836         stack_realign_drap is false.
6838 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
6840         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
6841         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
6842         *call): Fix indention.
6844 2013-01-15  Tom de Vries  <tom@codesourcery.com>
6846         PR target/55876
6847         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
6848         Update comment.
6850 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
6852         PR rtl-optimization/55153
6853         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
6855 2013-01-15  Martin Jambor  <mjambor@suse.cz>
6857         PR tree-optimization/55920
6858         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
6859         accesses as grp_to_be_debug_replaced.
6861 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6863         PR tree-optimization/55920
6864         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
6865         there is non-useless type conversion needed from debug rhs to lhs,
6866         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
6868 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
6869             Mikael Pettersson  <mikpe@it.uu.se>
6871         PR target/43961
6872         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
6873         Thumb.
6874         (ASM_OUTPUT_CASE_LABEL): Remove.
6875         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
6876         * final.c (shorten_branches): Update alignment of labels before
6877         jump tables if CASE_VECTOR_SHORTEN_MODE.
6879 2013-01-15  Richard Biener  <rguenther@suse.de>
6881         PR bootstrap/55961
6882         * system.h: Do not include gmp.h for building host tools.
6884 2013-01-15  Richard Biener  <rguenther@suse.de>
6886         PR middle-end/55882
6887         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
6888         account for bitpos when computing alignment.
6890 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
6892         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
6893         (ix86_target_macros_internal): Likewise.
6895         * config/i386/i386.c (m_CORE2I7): Removed.
6896         (m_CORE_HASWELL): New macro.
6897         (m_CORE_ALL): Likewise.
6898         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
6899         (initial_ix86_arch_features): Likewise.
6900         (processor_target_table): Initializations for Core avx2.
6901         (cpu_names): New names "core-avx2".
6902         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
6903         PROCESSOR_CORE_HASWELL.
6904         (ix86_issue_rate): New case.
6905         (ia32_multipass_dfa_lookahead): Likewise.
6906         (ix86_sched_init_global): Likewise.
6908         * config/i386/i386.h (TARGET_HASWELL): New macro.
6909         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
6910         (processor_type): New PROCESSOR_HASWELL.
6912 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
6914         PR tree-optimization/55955
6915         * tree-vect-loop.c (vectorizable_reduction): Give up early on
6916         *SHIFT_EXPR and *ROTATE_EXPR codes.
6918         PR tree-optimization/48766
6919         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
6920         -ftrapv disable -fwrapv.
6922 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6924         PR target/55974
6925         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
6926         etc. to 1 and not to __flash.
6927         Use LL suffix for __INT24_MAX__ with -mint8.
6928         Use ULL suffix for __UINT24_MAX__ with -mint8.
6930 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6932         * config/avr/avr-arch.h
6933         (struct base_arch_s): Use typedef avr_arch_t instead.
6934         (struct arch_info_s): Use typedef avr_arch_info_t instead.
6935         (struct mcu_type_s): Use typedef avr_mcu_t instead.
6936         * config/avr/avr.c: Same.
6937         * config/avr/avr-devices.c: Same.
6938         * config/avr/driver-avr.c: Same.
6939         * config/avr/gen-avr-mmcu-texi.c: Same.
6940         * config/avr/avr-mcus.def: Adjust comment.
6942 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
6944         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
6945         * config/aarch64/iterators.md (VALLDI): New.
6947 2013-01-14  Uros Bizjak  <ubizjak@gmail.com>
6948             Andi Kleen  <ak@linux.intel.com>
6950         PR target/55948
6951         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
6952         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
6953         memmodel flag.
6955 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
6957         * config/avr/avr-stdint.h: Remove trailing blanks.
6958         * config/avr/avr-log.h: Same.
6959         * config/avr/avr-arch.h: Same.
6960         * config/avr/avr-devices.c: Same.
6961         * config/avr/avr-dimode.md: Same.
6962         * config/avr/predicates.md: Same.
6963         * config/avr/avr-c.c: Same.  And fix typo.
6965         * config/avr/avr-protos.h: Same.  And:
6966         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
6967         (init_cumulative_args): Rename to avr_init_cumulative_args.
6968         (expand_prologue): Rename to avr_expand_prologue.
6969         (expand_epilogue): Rename to avr_expand_epilogue.
6970         (adjust_insn_length): Rename to avr_adjust_insn_length.
6971         (notice_update_cc): Rename to avr_notice_update_cc.
6972         (final_prescan_insn): Rename to avr_final_prescan_insn.
6973         * config/avr/avr.c: Same.
6974         * config/avr/avr.h: Same.
6975         * config/avr/avr.md: Remove trailing blanks.
6976         (prologue): Use avr_expand_prologue.
6977         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
6979 2013-01-14  Richard Biener  <rguenther@suse.de>
6981         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
6982         verify_location, collect_subblocks): New functions.
6983         (verify_gimple_in_cfg): Verify that locations only reference
6984         BLOCKs in the functions BLOCK tree.
6986 2013-01-14  Richard Biener  <rguenther@suse.de>
6988         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
6989         PHI argument.
6990         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
6991         unshare reference.
6992         (insert_out_of_ssa_copy_on_edge): Likewise.
6993         (rewrite_close_phi_out_of_ssa): Likewise.
6994         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
6995         debug expressions.
6996         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
6997         propagated constants.
6998         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
6999         can not be shared.
7001 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
7003         * config/avr/avr-modes.def: Add GPL copyright notice.
7005 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
7007         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
7008         MEMMODEL_MASK to determine memory model.
7009         (atomic_store<mode>): Ditto from operands[2].
7010         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
7012 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
7014         PR fortran/55935
7015         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
7016         (fold_gimple_assign): Don't call unshare_expr here.
7017         (fold_ctor_reference): Call unshare_expr.
7019 2013-01-13  Terry Guo  <terry.guo@arm.com>
7021         * Makefile.in (s-mlib): New argument MULTILIB_REUSE.
7022         * doc/fragments.texi: Document MULTILIB_REUSE.
7023         * gcc.c (multilib_reuse): New internal spec.
7024         (set_multilib_dir): Also search multilib from multilib_reuse.
7025         * genmultilib (tmpmultilib3): Refactor code.
7026         (tmpmultilib4): Ditto.
7027         (multilib_reuse): New multilib argument.
7029 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
7031         * Makefile.in: Update copyright.
7033 2013-01-12  Tom de Vries  <tom@codesourcery.com>
7035         PR middle-end/55890
7036         * calls.c (expand_call): Check if arg_nr is valid.
7038 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
7040         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
7041         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
7042         documentation.  Add missing '__' in front of
7043         __builtin_ia32_packssdw256.
7045 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7047         PR target/55719
7048         * config/s390/s390.c (s390_preferred_reload_class): Do not return
7049         NO_REGS for larl operands.
7050         (s390_reload_larl_operand): Use s390_load_address instead of
7051         emit_move_insn.
7053 2013-01-11  Richard Biener  <rguenther@suse.de>
7055         * tree-cfg.c (verify_node_sharing_1): Split out from ...
7056         (verify_node_sharing): ... here.
7057         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
7059 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
7061         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
7062         Substitute TREECHECKING.
7063         * configure: Regenerate.
7064         * Makefile.in (TREECHECKING): New.
7066 2013-01-11  Richard Guenther  <rguenther@suse.de>
7068         PR tree-optimization/44061
7069         * tree-vrp.c (extract_range_basic): Compute zero as
7070         value-range for __builtin_constant_p of function parameters.
7072 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
7074         Update copyright years.
7076 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
7078         PR rtl-optimization/55672
7079         * lra-eliminations.c (mark_not_eliminable): Permit addition with
7080         const to be eliminable.
7082 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
7084         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
7085         * configure: Regenerate.
7087 2013-01-10  Richard Biener  <rguenther@suse.de>
7089         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
7091 2013-01-10  Richard Biener  <rguenther@suse.de>
7093         PR bootstrap/55792
7094         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
7095         locations for virtual PHI arguments.
7096         (rewrite_update_phi_arguments): Likewise.
7098 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
7100         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
7101         on to assembler.
7103 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
7105         PR tree-optimization/55921
7106         * tree-complex.c (expand_complex_asm): New function.
7107         (expand_complex_operations_1): Call it for GIMPLE_ASM.
7109 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
7111         PR target/55718
7112         * config/s390/s390.c (s390_symref_operand_p)
7113         (s390_loadrelative_operand_p): Merge the two functions.
7114         (s390_check_qrst_address, print_operand_address): Add parameters
7115         to s390_loadrelative_operand_p invokation.
7116         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
7117         (s390_reload_larl_operand, s390_secondary_reload): Use
7118         s390_loadrelative_operand_p instead of s390_symref_operand_p.
7119         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
7121 2013-01-09  Mike Stump  <mikestump@comcast.net>
7123         * dse.c (record_store): Remove unnecessary assert.
7125 2013-01-09  Jan Hubicka  <jh@suse.cz>
7127         PR tree-optimization/55569
7128         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
7129         * cfgloop.h (scale_loop_profile): Likewise.
7131 2013-01-09  Jan Hubicka  <jh@suse.cz>
7133         PR lto/45375
7134         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
7135         functions.
7136         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
7138 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
7140         PR middle-end/55114
7141         * expr.h (maybe_emit_group_store): Declare.
7142         * expr.c (maybe_emit_group_store): New function.
7143         * builtins.c (expand_builtin_int_roundingfn): Call it.
7144         (expand_builtin_int_roundingfn_2): Likewise.
7146 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
7148         PR rtl-optimization/55829
7149         * lra-constraints.c (match_reload): Add code for absent output.
7150         (curr_insn_transform): Add code for reloads of matched inputs
7151         without output.
7153 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
7155         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
7156         attribute of movddup insn to DF.
7157         (*vec_interleave_lowv2df): Ditto.
7158         (vec_dupv2df): Ditto.
7160 2013-01-09  Jan Hubicka  <jh@suse.cz>
7162         PR tree-optimiation/55875
7163         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
7164         EVERY_ITERATION parameter.
7165         (number_of_iterations_exit): Check if exit is executed every iteration.
7166         (idx_infer_loop_bounds): Similarly here.
7167         (n_of_executions_at_most): Simplify
7168         to only test for cases where statement is dominated by the
7169         particular bound; handle correctly the "postdominance" test.
7170         (scev_probably_wraps_p): Use max loop iterations info
7171         as a global bound first.
7173 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
7174             Nick Clifton  <nickc@redhat.com>
7176         * config/v850/v850.md (cbranchsf4): New pattern.
7177         (cstoresf4): New pattern.
7178         (cbranchdf4): New pattern.
7179         (cstoredf4): New pattern.
7180         (movsicc): Disallow floating point comparisons.
7181         (cmpsf_le_insn): Fix order of operators.
7182         (cmpsf_lt_insn): Likewise.
7183         (cmpsf_eq_insn): Likewise.
7184         (cmpdf_le_insn): Likewise.
7185         (cmpdf_lt_insn): Likewise.
7186         (cmpdf_eq_insn): Likewise.
7187         (cmpsf_ge_insn): Use LE comparison.
7188         (cmpdf_ge_insn): Likewise.
7189         (cmpsf_gt_insn): Use LT comparison.
7190         (cmpdf_gt_insn): Likewise.
7191         (cmpsf_ne_insn): Delete pattern.
7192         (cmpdf_ne_insn): Delete pattern.
7193         * config/v850/v850.c (v850_gen_float_compare): Use
7194         gen_cmpdf_eq_insn for NE comparison.
7195         (v850_float_z_comparison_operator)
7196         (v850_float_nz_comparison_operator): Move from here ...
7197         * config/v850/predicates.md: ... to here.  Move GT and GE
7198         comparisons into v850_float_z_comparison_operator.
7199         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
7200         Delete prototype.
7201         (v850_float_nz_comparison_operator): Likewise.
7203 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7205         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
7206         with calls to gen_insvsi/gen_insvdi.
7208 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
7210         * config/i386/i386.c (initial_ix86_tune_features): Set up
7211         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
7213 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
7214             Jakub Jelinek  <jakub@redhat.com>
7216         PR tree-optimization/48189
7217         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
7218         If nitercst is 0, don't predict the exit edge.
7220 2013-01-08  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
7222         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
7223         in asm_fprintf with reg_names.
7224         (aarch64_print_operand_address): Likewise.
7225         (aarch64_return_addr): Likewise.
7226         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
7228 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7230         * config/pa/pa.h (VAL_U6_BITS_P): Define.
7231         (INT_U6_BITS): Likewise.
7232         * config/pa/predicates.md (uint6_operand): New predicate.
7233         (shift5_operand, shift6_operand): Likewise.
7234         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
7235         arith32_operand.
7236         (lshrdi3): Use shift6_operand.
7237         (shrpsi4, shrpdi4): New insn patterns.
7238         (extzv): Delete expander.
7239         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
7240         predicates in unamed zero extract patterns.  Tighten common constraint.
7241         (extv): Delete expander.
7242         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
7243         predicates in unamed sign extract patterns.  Tighten common constraint.
7244         (insv): Delete expander.
7245         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
7246         predicates in unamed insert patterns.  Tighten common constraint.
7247         Change uint32_operand predicate to uint6_operand predicate in unamed
7248         DImode pattern to insert constant values of type 1...1xxxx.
7250 2013-01-04  Jan Hubicka  <jh@suse.cz>
7252         PR tree-optimization/55823
7253         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
7254         issue.
7256 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
7257             Uros Bizjak  <ubizjak@gmail.com>
7259         PR rtl-optimization/55845
7260         * df-problems.c (can_move_insns_across): Stop scanning at
7261         volatile_insn_p source instruction or give up if
7262         across_from .. across_to range contains any volatile_insn_p
7263         instructions.
7265 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
7267         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
7268         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
7269         Declare.
7270         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7271         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
7273 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
7275         PR fortran/55341
7276         * asan.c (asan_clear_shadow): New function.
7277         (asan_emit_stack_protection): Use it.
7279 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
7281         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
7282         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
7283         with tab instead of space.
7285 2013-01-08  Nick Clifton  <nickc@redhat.com>
7287         * config/rl78/rl78.c (rl78_expand_prologue): Always select
7288         register bank 0 at the start of an interrupt handler.
7289         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
7290         MDBH registers.
7292 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
7294         * config/aarch64/aarch64-simd.md
7295         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
7296         (aarch64_simd_bsl): Likewise.
7297         (aarch64_vcond_internal<mode>): Likewise.
7298         (vcond<mode><mode>): Likewise.
7299         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
7300         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
7302 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
7304         * config/aarch64/aarch64-builtins.c
7305         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
7307 2013-01-08  Martin Jambor  <mjambor@suse.cz>
7309         PR debug/55579
7310         * tree-sra.c (analyze_access_subtree): Return true also after
7311         potentially creating a debug-only replacement.
7313 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
7315         PR middle-end/55890
7316         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
7318         PR tree-optimization/54120
7319         * tree-vrp.c (range_fits_type_p): Don't allow
7320         src_precision < precision from signed vr to unsigned_p
7321         if vr->min or vr->max is negative.
7322         (simplify_float_conversion_using_ranges): Test can_float_p
7323         against CODE_FOR_nothing.
7325 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
7326             Richard Biener  <rguenther@suse.de>
7328         PR middle-end/55851
7329         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
7330         types instead of just INTEGER_TYPE types.
7332 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
7334         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
7335         TF_SIZE): Define.
7337 2013-01-07  Steve Ellcey  <sellcey@mips.com>
7339         PR target/42661
7340         * config/mips/mips.opt: Change mad to mmad to match documentation.
7342 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
7344         PR target/55897
7345         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
7346         .progmemx.data now.
7348 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
7350         PR target/55897
7351         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
7352         (avr_addrspace_t): Add .section_name field.
7353         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
7354         array size.
7355         (avr_addrspace): Same.  Initialize .section_name.  Remove last
7356         NULL entry.  Put __memx into .progmemx.data.
7357         (progmem_section_prefix): Remove.
7358         (avr_asm_init_sections): No need to initialize progmem_section.
7359         (avr_asm_named_section): Use avr_addrspace[].section_name to get
7360         section name prefix.
7361         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
7362         retrieve the progmem section.
7363         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
7364         boundary to run over avr_addrspace[].
7365         (avr_register_target_pragmas): Ditto.
7367 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
7369         * varasm.c (output_constant_def_contents): For asan_protect_global
7370         protected strings, adjust DECL_ALIGN if needed, before testing for
7371         anchored symbols.
7372         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
7373         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
7374         normal decls.
7375         (output_object_block): For asan protected decls, emit asan padding
7376         after their contents.
7377         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
7378         (asan_finish_file): Test it here instead.
7380 2013-01-07  Nick Clifton  <nickc@redhat.com>
7381             Matthias Klose  <doko@debian.org>
7382             Doug Kwan  <dougkwan@google.com>
7383             H.J. Lu  <hongjiu.lu@intel.com>
7385         PR driver/55470
7386         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
7388         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
7390         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
7392         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
7394         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
7396 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
7398         PR target/54461
7399         * doc/install.texi (Cross-Compiler-Specific Options): Document
7400         --with-avrlibc.
7402 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
7404         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
7405         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
7406         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
7407         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
7408         vqmovun_high_s64): Fix source operand number and update copyright.
7410 2013-01-07  Richard Biener  <rguenther@suse.de>
7412         PR middle-end/55890
7413         * gimple.h (gimple_call_builtin_p): New overload.
7414         * gimple.c (validate_call): New function.
7415         (gimple_call_builtin_p): Likewise.
7416         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
7417         Use gimple_call_builtin_p.
7418         (find_func_clobbers): Likewise.
7419         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
7420         (strlen_optimize_stmt): Likewise.
7422 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
7424         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
7425         (vld1q_dup_*): Likewise.
7426         (vld1_*): Likewise.
7427         (vld1q_*): Likewise.
7428         (vld1_lane_*): Likewise.
7429         (vld1q_lane_*): Likewise.
7431 2013-01-07  Richard Biener  <rguenther@suse.de>
7433         * lto-streamer.h (LTO_minor_version): Bump to 2.
7435 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
7437         * config/aarch64/aarch64-protos.h
7438         (aarch64_const_double_zero_rtx_p): Rename to...
7439         (aarch64_float_const_zero_rtx_p): ...this.
7440         (aarch64_float_const_representable_p): New.
7441         (aarch64_output_simd_mov_immediate): Likewise.
7442         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
7443         move immediate case.
7444         * config/aarch64/aarch64.c
7445         (aarch64_const_double_zero_rtx_p): Rename to...
7446         (aarch64_float_const_zero_rtx_p): ...this.
7447         (aarch64_print_operand): Allow printing of new constants.
7448         (aarch64_valid_floating_const): New.
7449         (aarch64_legitimate_constant_p): Check for valid floating-point
7450         constants.
7451         (aarch64_simd_valid_immediate): Likewise.
7452         (aarch64_vect_float_const_representable_p): New.
7453         (aarch64_float_const_representable_p): Likewise.
7454         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
7455         (aarch64_output_simd_mov_immediate): New.
7456         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
7457         (*movdf_aarch64): Likewise.
7458         * config/aarch64/constraints.md (Ufc): New.
7459         (Y): call aarch64_float_const_zero_rtx.
7460         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
7462 2013-01-07  Richard Biener  <rguenther@suse.de>
7464         PR tree-optimization/55888
7465         PR tree-optimization/55862
7466         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
7467         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
7468         not if it is contained therein.
7470 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
7472         * config/avr/t-avr: Typo.
7474 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
7476         PR55243
7477         * config/avr/t-avr: Don't automatically rebuild
7478         $(srcdir)/config/avr/t-multilib
7479         $(srcdir)/config/avr/avr-tables.opt
7480         $(srcdir)/doc/avr-mmcu.texi
7481         (avr-mcus): New phony target to build them on request.
7482         (s-avr-mlib, s-avr-mmcu-texi): Remove.
7483         * avr/avr-mcus.def: Adjust comments.
7485 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
7487         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
7489 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
7491         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
7493 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
7495         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
7497 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
7499         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
7500         to generate profiling.
7501         * config/rs6000/aix64.h (LIB_SPEC): Same.
7503 2013-01-04  Andrew Pinski  <apinski@cavium.com>
7505         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
7506         New function.
7507         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
7509 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
7511         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
7512         unconditionally.
7513         (ix86_expand_move): Ditto.
7514         (ix86_zero_extend_to_Pmode): Ditto.
7515         (ix86_expand_call): Ditto.
7516         (ix86_expand_special_args_builtin): Ditto.
7517         (ix86_expand_builtin): Ditto.
7519 2013-01-04  Richard Biener  <rguenther@suse.de>
7521         PR tree-optimization/55862
7522         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
7523         translating them through PHI nodes.
7525 2013-01-04  Martin Jambor  <mjambor@suse.cz>
7527         PR tree-optimization/55755
7528         * tree-sra.c (sra_modify_assign): Do not check that an access has no
7529         children when trying to avoid producing a VIEW_CONVERT_EXPR.
7531 2013-01-04  Marek Polacek  <polacek@redhat.com>
7533         PR middle-end/55859
7534         * opts.c (default_options_optimization): Clarify error message.
7536 2013-01-04  Richard Biener  <rguenther@suse.de>
7538         PR middle-end/55863
7539         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
7540         reassociation.
7542 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7544         PR target/53789
7545         * config/pa/pa.md (movsi): Revert previous change.
7546         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
7547         references.
7549 2013-01-03  Richard Henderson  <rth@redhat.com>
7551         * config/i386/i386.c (ix86_expand_move): Always assign to op1
7552         after eliminating TLS symbols.
7554 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
7556         PR bootstrap/50167
7557         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
7558         * graphite-poly.c (debug_gmp_value): Likewise.
7560 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
7562         PR target/55712
7563         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
7564         selected code model, define __code_mode_small__, __code_model_medium__,
7565         __code_model_large__, __code_model_32__ or __code_model_kernel__.
7566         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
7567         xchg temporary register with %k.  Declare temporary register as
7568         early clobbered.
7569         [__x86_64__]: For medium and large code models, preserve %rbx register.
7571 2013-01-03  Richard Biener  <rguenther@suse.de>
7573         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
7574         (dump_subscript): Adjust.
7575         (finalize_ddr_dependent): Do not dump redundant info.
7576         (analyze_siv_subscript): Adjust.
7577         (subscript_dependence_tester): Likewise.
7578         (compute_affine_dependence): Likewise.
7580 2013-01-03  Richard Biener  <rguenther@suse.de>
7582         Revert
7583         2013-01-03  Richard Biener  <rguenther@suse.de>
7585         PR tree-optimization/55857
7586         * tree-vect-stmts.c (vectorizable_load): Do not setup
7587         re-alignment for invariant loads.
7589         2013-01-02  Richard Biener  <rguenther@suse.de>
7591         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
7592         invariant load do not generate a vector load from the scalar location.
7594 2013-01-03  Richard Biener  <rguenther@suse.de>
7596         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
7597         for not vectorizing.
7598         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
7599         not build INDIRECT_REFs, call get_name once only.
7600         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
7601         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
7603 2013-01-03  Richard Biener  <rguenther@suse.de>
7605         PR tree-optimization/55857
7606         * tree-vect-stmts.c (vectorizable_load): Do not setup
7607         re-alignment for invariant loads.
7609 2013-01-03  Richard Biener  <rguenther@suse.de>
7611         PR lto/55848
7612         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
7613         prefer a built-in decl.
7615 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
7617         * gcc.c (process_command): Update copyright notice dates.
7618         * gcov.c (print_version): Likewise.
7619         * gcov-dump.c (print_version): Likewise.
7621         PR rtl-optimization/55838
7622         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
7623         iv0.step, iv1.step and step.
7625 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
7626             Marc Glisse  <marc.glisse@inria.fr>
7628         PR tree-optimization/55832
7629         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
7630         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
7631         integer_{one,zero}_node.
7633 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
7635         PR debug/54402
7636         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
7637         * var-tracking.c (reverse_op): Don't add reverse ops to
7638         VALUEs that have already
7639         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
7641 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
7643         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
7645 2013-01-02  Teresa Johnson  <tejohnson@google.com>
7647         * dumpfile.c (dump_loc): Print filename with location.
7648         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
7649         new location_t parameter to emit complete unroll message with
7650         new dump framework.
7651         (canonicalize_loop_induction_variables): Compute loops location
7652         and pass to try_unroll_loop_completely.
7653         * loop-unroll.c (report_unroll_peel): New function.
7654         (peel_loops_completely): Use new dump format with location
7655         for main dumpfile message, and invoke report_unroll_peel on success.
7656         (decide_unrolling_and_peeling): Ditto.
7657         (decide_peel_once_rolling): Remove old dumpfile message subsumed
7658         by report_unroll_peel.
7659         (decide_peel_completely): Ditto.
7660         (decide_unroll_constant_iterations): Ditto.
7661         (decide_unroll_runtime_iterations): Ditto.
7662         (decide_peel_simple): Ditto.
7663         (decide_unroll_stupid): Ditto.
7664         * cfgloop.c (get_loop_location): New function.
7665         * cfgloop.h (get_loop_location): Declare.
7667 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
7669         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
7670         NULL.
7672 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7674         PR middle-end/55198
7675         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
7676         BLKmode objects when EXPAND_MEMORY is specified.
7678 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
7680         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
7681         in loop predicate.
7682         (fold_builtin_cpu): Do not share cpu model decls across statements.
7684 2013-01-02  Jason Merrill  <jason@redhat.com>
7686         PR c++/55804
7687         * tree.c (build_array_type_1): Revert earlier change.
7689 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
7691         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
7692         "cortex-a57".
7693         * config/aarch64/aarch64-tune.md: Re-generate.
7695 2013-01-02  Richard Biener  <rguenther@suse.de>
7697         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
7698         invariant load do not generate a vector load from the scalar location.
7700 2013-01-02  Richard Biener  <rguenther@suse.de>
7702         PR bootstrap/55784
7703         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
7704         * configure: Regenerate.
7706 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7708         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
7709         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
7710         (expand_builtin_int_roundingfn_2): Keep the original target around
7711         for the fallback case.
7713 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
7715         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
7716         to be clear for sign changes.
7718 2013-01-01  Jan Hubicka  <jh@suse.cz>
7720         * ipa-inline-analysis.c: Fix formatting.
7722 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
7724         PR tree-optimization/55831
7725         * tree-vect-loop.c (get_initial_def_for_induction): Use
7726         gsi_after_labels instead of gsi_start_bb.
7728 Copyright (C) 2013 Free Software Foundation, Inc.
7730 Copying and distribution of this file, with or without modification,
7731 are permitted in any medium without royalty provided the copyright
7732 notice and this notice are preserved.