d7816844a51d67ed00d37d709c9c4832d87be770
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2013-01-17  Georg-Johann Lay  <avr@gjlay.de>
2
3         * config/avr/builtins.def (DEF_BUILTIN): Factor out
4         "__builtin_avr_" from NAME, turn NAME to an uppercase identifier.
5         Factor out 'CODE_FOR_' from ICODE, use 'nothing' instead of '-1'.
6         Remove ID.  Adjust comments.
7         * config/avr/avr-c.c (avr_builtin_name): Remove.
8         (avr_cpu_cpp_builtins): Use DEF_BUILTIN instead of for-loop.
9         * config/avr/avr.c (avr_tolower): New static function.
10         (DEF_BUILTIN): Remove parameter ID.  Prefix ICODE by 'CODE_FOR_'.
11         Stringify NAME, prefix it with "__builtin_avr_" and lowercase it.
12         (avr_expand_builtin): Assert insn_code != CODE_FOR_nothing for
13         default expansion.
14
15 2013-01-17  Jan Hubicka  <jh@suse.cz>
16
17         PR tree-optimization/55273
18         * loop-iv.c (iv_number_of_iterations): Consider zero iteration case.
19
20 2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
21
22         PR target/55981
23         * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
24         store through atomic_store<mode>_1.
25         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
26
27 2013-01-17  Martin Jambor  <mjambor@suse.cz>
28
29         PR tree-optimizations/55264
30         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
31         for virtual methods.
32         * ipa.c (symtab_remove_unreachable_nodes): Never return true for
33         virtual methods before inlining is over.
34         * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
35         virtual functions.
36         * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
37         non-virtual.
38
39 2013-01-16  Vladimir Makarov  <vmakarov@redhat.com>
40
41         PR rtl-optimization/56005
42         * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
43         pending reads for prefetch.
44
45 2013-01-16  Ian Bolton  <ian.bolton@arm.com>
46
47         * gcc/config/aarch64/aarch64.md
48         (*cstoresi_neg_uxtw): New pattern.
49         (*cmovsi_insn_uxtw): New pattern.
50         (*<optab>si3_uxtw): New pattern.
51         (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
52         (*<optab>si3_insn_uxtw): New pattern.
53         (*bswapsi2_uxtw): New pattern.
54
55 2013-01-16  Richard Biener  <rguenther@suse.de>
56
57         * tree-inline.c (tree_function_versioning): Remove set but
58         never used variable.
59
60 2013-01-16  Richard Biener  <rguenther@suse.de>
61
62         PR tree-optimization/55964
63         * tree-flow.h (rename_variables_in_loop): Remove.
64         (rename_variables_in_bb): Likewise.
65         * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
66         (copy_loop_before): Adjust and delete update-ssa status.
67         * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
68         (rename_variables_in_bb): Likewise.  Properly walk over predecessors.
69         (rename_variables_in_loop): Remove.
70         (slpeel_update_phis_for_duplicate_loop): Likewise.
71         (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
72         use available cfg machinery instead of duplicating it.
73         Update PHI nodes and perform poor-mans SSA update here.
74         (slpeel_tree_peel_loop_to_edge): Adjust.
75
76 2013-01-16  Richard Biener  <rguenther@suse.de>
77
78         PR tree-optimization/54767
79         PR tree-optimization/53465
80         * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
81         (vrp_visit_phi_node): For PHI arguments coming via backedges
82         drop all symbolical range information.
83         (execute_vrp): Compute backedges.
84
85 2013-01-16  Richard Biener  <rguenther@suse.de>
86
87         * doc/install.texi: Update CLooG and ISL requirements to
88         0.18.0 and 0.11.1.
89
90 2013-01-16  Christian Bruel  <christian.bruel@st.com>
91
92         PR target/55301
93         * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
94         (broken_move): Handle UNSPECV_SP_SWITCH_B.
95         * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
96
97 2013-01-16  DJ Delorie  <dj@redhat.com>
98
99         * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
100         (UNSPECV_SP_SWITCH_E): New.
101         (sp_switch_1): Change to an unspec.
102         (sp_switch_2): Change to an unspec.  Don't use post-inc when we
103         replace $r15.
104
105 2013-01-16  Uros Bizjak  <ubizjak@gmail.com>
106
107         * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
108         with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
109         * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
110         (expand_mem_thread_fence): Ditto.
111         (expand_mem_signal_fence): Ditto.
112         (expand_atomic_load): Ditto.
113         (expand_atomic_store): Ditto.
114
115 2013-01-16  Alexandre Oliva <aoliva@redhat.com>
116
117         PR rtl-optimization/55547
118         PR rtl-optimization/53827
119         PR debug/53671
120         PR debug/49888
121         * alias.c (memrefs_conflict_p): Set sizes to negative after
122         AND adjustments.
123
124 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
125
126         PR target/55940
127         * function.c (thread_prologue_and_epilogue_insns): Always
128         add crtl->drap_reg to set_up_by_prologue.set, even if
129         stack_realign_drap is false.
130
131 2013-01-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
132
133         * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
134         and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
135         *call): Fix indention.
136
137 2013-01-15  Tom de Vries  <tom@codesourcery.com>
138
139         PR target/55876
140         * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
141         Update comment.
142
143 2013-01-15  Vladimir Makarov  <vmakarov@redhat.com>
144
145         PR rtl-optimization/55153
146         * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
147
148 2013-01-15  Martin Jambor  <mjambor@suse.cz>
149
150         PR tree-optimization/55920
151         * tree-sra.c (analyze_access_subtree): Do not mark non-removable
152         accesses as grp_to_be_debug_replaced.
153
154 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
155
156         PR tree-optimization/55920
157         * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
158         there is non-useless type conversion needed from debug rhs to lhs,
159         use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
160
161 2013-01-15  Joseph Myers  <joseph@codesourcery.com>
162             Mikael Pettersson  <mikpe@it.uu.se>
163
164         PR target/43961
165         * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
166         Thumb.
167         (ASM_OUTPUT_CASE_LABEL): Remove.
168         (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
169         * final.c (shorten_branches): Update alignment of labels before
170         jump tables if CASE_VECTOR_SHORTEN_MODE.
171
172 2013-01-15  Richard Biener  <rguenther@suse.de>
173
174         PR bootstrap/55961
175         * system.h: Do not include gmp.h for building host tools.
176
177 2013-01-15  Richard Biener  <rguenther@suse.de>
178
179         PR middle-end/55882
180         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
181         account for bitpos when computing alignment.
182
183 2013-01-15  Vladimir Yakovlev  <vladimir.b.yakovlev@intel.com>
184
185         * config/i386/i386-c.c (ix86_target_macros_internal): New case.
186         (ix86_target_macros_internal): Likewise.
187
188         * config/i386/i386.c (m_CORE2I7): Removed.
189         (m_CORE_HASWELL): New macro.
190         (m_CORE_ALL): Likewise.
191         (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
192         (initial_ix86_arch_features): Likewise.
193         (processor_target_table): Initializations for Core avx2.
194         (cpu_names): New names "core-avx2".
195         (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
196         PROCESSOR_CORE_HASWELL.
197         (ix86_issue_rate): New case.
198         (ia32_multipass_dfa_lookahead): Likewise.
199         (ix86_sched_init_global): Likewise.
200
201         * config/i386/i386.h (TARGET_HASWELL): New macro.
202         (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
203         (processor_type): New PROCESSOR_HASWELL.
204
205 2013-01-15  Jakub Jelinek  <jakub@redhat.com>
206
207         PR tree-optimization/55955
208         * tree-vect-loop.c (vectorizable_reduction): Give up early on
209         *SHIFT_EXPR and *ROTATE_EXPR codes.
210
211         PR tree-optimization/48766
212         * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
213         -ftrapv disable -fwrapv.
214
215 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
216
217         PR target/55974
218         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
219         etc. to 1 and not to __flash.
220         Use LL suffix for __INT24_MAX__ with -mint8.
221         Use ULL suffix for __UINT24_MAX__ with -mint8.
222
223 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
224
225         * config/avr/avr-arch.h
226         (struct base_arch_s): Use typedef avr_arch_t instead.
227         (struct arch_info_s): Use typedef avr_arch_info_t instead.
228         (struct mcu_type_s): Use typedef avr_mcu_t instead.
229         * config/avr/avr.c: Same.
230         * config/avr/avr-devices.c: Same.
231         * config/avr/driver-avr.c: Same.
232         * config/avr/gen-avr-mmcu-texi.c: Same.
233         * config/avr/avr-mcus.def: Adjust comment.
234
235 2013-01-14  Tejas Belagod  <tejas.belagod@arm.com>
236
237         * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
238         * config/aarch64/iterators.md (VALLDI): New.
239
240 2012-01-14  Uros Bizjak  <ubizjak@gmail.com>
241             Andi Kleen  <ak@linux.intel.com>
242
243         PR target/55948
244         * config/i386/sync.md (atomic_store<mode>_1): New pattern.
245         (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
246         memmodel flag.
247
248 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
249
250         * config/avr/avr-stdint.h: Remove trailing blanks.
251         * config/avr/avr-log.h: Same.
252         * config/avr/avr-arch.h: Same.
253         * config/avr/avr-devices.c: Same.
254         * config/avr/avr-dimode.md: Same.
255         * config/avr/predicates.md: Same.
256         * config/avr/avr-c.c: Same.  And fix typo.
257
258         * config/avr/avr-protos.h: Same.  And:
259         (function_arg_regno_p): Rename to avr_function_arg_regno_p.
260         (init_cumulative_args): Rename to avr_init_cumulative_args.
261         (expand_prologue): Rename to avr_expand_prologue.
262         (expand_epilogue): Rename to avr_expand_epilogue.
263         (adjust_insn_length): Rename to avr_adjust_insn_length.
264         (notice_update_cc): Rename to avr_notice_update_cc.
265         (final_prescan_insn): Rename to avr_final_prescan_insn.
266         * config/avr/avr.c: Same.
267         * config/avr/avr.h: Same.
268         * config/avr/avr.md: Remove trailing blanks.
269         (prologue): Use avr_expand_prologue.
270         (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
271
272 2013-01-14  Richard Biener  <rguenther@suse.de>
273
274         * tree-cfg.c (verify_expr_location, verify_expr_location_1,
275         verify_location, collect_subblocks): New functions.
276         (verify_gimple_in_cfg): Verify that locations only reference
277         BLOCKs in the functions BLOCK tree.
278
279 2013-01-14  Richard Biener  <rguenther@suse.de>
280
281         * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
282         PHI argument.
283         * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
284         unshare reference.
285         (insert_out_of_ssa_copy_on_edge): Likewise.
286         (rewrite_close_phi_out_of_ssa): Likewise.
287         * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
288         debug expressions.
289         * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
290         propagated constants.
291         * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
292         can not be shared.
293
294 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
295
296         * config/avr/avr-modes.def: Add GPL copyright notice.
297
298 2013-01-13  Uros Bizjak  <ubizjak@gmail.com>
299
300         * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
301         MEMMODEL_MASK to determine memory model.
302         (atomic_store<mode>): Ditto from operands[2].
303         * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
304
305 2013-01-13  Jakub Jelinek  <jakub@redhat.com>
306
307         PR fortran/55935
308         * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
309         (fold_gimple_assign): Don't call unshare_expr here.
310         (fold_ctor_reference): Call unshare_expr.
311
312 2013-01-13  Terry Guo  <terry.guo@arm.com>
313
314         * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
315         * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
316         * gcc/gcc.c (multilib_reuse): New internal spec.
317         (set_multilib_dir): Also search multilib from multilib_reuse.
318         * gcc/genmultilib (tmpmultilib3): Refactor code.
319         (tmpmultilib4): Ditto.
320         (multilib_reuse): New multilib argument.
321
322 2013-01-13  Richard Sandiford  <rdsandiford@googlemail.com>
323
324         * Makefile.in: Update copyright.
325
326 2013-01-12  Tom de Vries  <tom@codesourcery.com>
327
328         PR middle-end/55890
329         * calls.c (expand_call): Check if arg_nr is valid.
330
331 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
332
333         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
334         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
335         documentation.  Add missing '__' in front of
336         __builtin_ia32_packssdw256.
337
338 2013-01-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
339
340         PR target/55719
341         * config/s390/s390.c (s390_preferred_reload_class): Do not return
342         NO_REGS for larl operands.
343         (s390_reload_larl_operand): Use s390_load_address instead of
344         emit_move_insn.
345
346 2013-01-11  Richard Biener  <rguenther@suse.de>
347
348         * tree-cfg.c (verify_node_sharing_1): Split out from ...
349         (verify_node_sharing): ... here.
350         (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
351
352 2013-01-11  Eric Botcazou  <ebotcazou@adacore.com>
353
354         * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
355         Substitute TREECHECKING.
356         * configure: Regenerate.
357         * Makefile.in (TREECHECKING): New.
358
359 2012-01-11  Richard Guenther  <rguenther@suse.de>
360
361         PR tree-optimization/44061
362         * tree-vrp.c (extract_range_basic): Compute zero as
363         value-range for __builtin_constant_p of function parameters.
364
365 2013-01-10  Richard Sandiford  <rdsandiford@googlemail.com>
366
367         Update copyright years.
368
369 2013-01-10  Vladimir Makarov  <vmakarov@redhat.com>
370
371         PR rtl-optimization/55672
372         * lra-eliminations.c (mark_not_eliminable): Permit addition with
373         const to be eliminable.
374
375 2013-01-10  David Edelsohn  <dje.gcc@gmail.com>
376
377         * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
378         * configure: Regenerate.
379
380 2013-01-10  Richard Biener  <rguenther@suse.de>
381
382         * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
383
384 2013-01-10  Richard Biener  <rguenther@suse.de>
385
386         PR bootstrap/55792
387         * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
388         locations for virtual PHI arguments.
389         (rewrite_update_phi_arguments): Likewise.
390
391 2013-01-10  Joel Sherrill  <joel.sherrill@OARcorp.com>
392
393         * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
394         on to assembler.
395
396 2013-01-10  Jakub Jelinek  <jakub@redhat.com>
397
398         PR tree-optimization/55921
399         * tree-complex.c (expand_complex_asm): New function.
400         (expand_complex_operations_1): Call it for GIMPLE_ASM.
401
402 2013-01-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
403
404         PR target/55718
405         * config/s390/s390.c (s390_symref_operand_p)
406         (s390_loadrelative_operand_p): Merge the two functions.
407         (s390_check_qrst_address, print_operand_address): Add parameters
408         to s390_loadrelative_operand_p invokation.
409         (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
410         (s390_reload_larl_operand, s390_secondary_reload): Use
411         s390_loadrelative_operand_p instead of s390_symref_operand_p.
412         (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
413
414 2013-01-09  Mike Stump  <mikestump@comcast.net>
415
416         * dse.c (record_store): Remove unnecessary assert.
417
418 2013-01-09  Jan Hubicka  <jh@suse.cz>
419
420         PR tree-optimization/55569
421         * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
422         * cfgloop.h (scale_loop_profile): Likewise.
423
424 2013-01-09  Jan Hubicka  <jh@suse.cz>
425
426         PR lto/45375
427         * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
428         functions.
429         * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
430
431 2013-01-09  Richard Sandiford  <rdsandiford@googlemail.com>
432
433         PR middle-end/55114
434         * expr.h (maybe_emit_group_store): Declare.
435         * expr.c (maybe_emit_group_store): New function.
436         * builtins.c (expand_builtin_int_roundingfn): Call it.
437         (expand_builtin_int_roundingfn_2): Likewise.
438
439 2013-01-09  Vladimir Makarov  <vmakarov@redhat.com>
440
441         PR rtl-optimization/55829
442         * lra-constraints.c (match_reload): Add code for absent output.
443         (curr_insn_transform): Add code for reloads of matched inputs
444         without output.
445
446 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
447
448         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
449         attribute of movddup insn to DF.
450         (*vec_interleave_lowv2df): Ditto.
451         (vec_dupv2df): Ditto.
452
453 2013-01-09  Jan Hubicka  <jh@suse.cz>
454
455         PR tree-optimiation/55875
456         * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
457         EVERY_ITERATION parameter.
458         (number_of_iterations_exit): Check if exit is executed every iteration.
459         (idx_infer_loop_bounds): Similarly here.
460         (n_of_executions_at_most): Simplify
461         to only test for cases where statement is dominated by the
462         particular bound; handle correctly the "postdominance" test.
463         (scev_probably_wraps_p): Use max loop iterations info
464         as a global bound first.
465
466 2013-01-09  Nguyen Duy Dat  <dat.nguyen.yn@rvc.renesas.com>
467             Nick Clifton  <nickc@redhat.com>
468
469         * config/v850/v850.md (cbranchsf4): New pattern.
470         (cstoresf4): New pattern.
471         (cbranchdf4): New pattern.
472         (cstoredf4): New pattern.
473         (movsicc): Disallow floating point comparisons.
474         (cmpsf_le_insn): Fix order of operators.
475         (cmpsf_lt_insn): Likewise.
476         (cmpsf_eq_insn): Likewise.
477         (cmpdf_le_insn): Likewise.
478         (cmpdf_lt_insn): Likewise.
479         (cmpdf_eq_insn): Likewise.
480         (cmpsf_ge_insn): Use LE comparison.
481         (cmpdf_ge_insn): Likewise.
482         (cmpsf_gt_insn): Use LT comparison.
483         (cmpdf_gt_insn): Likewise.
484         (cmpsf_ne_insn): Delete pattern.
485         (cmpdf_ne_insn): Delete pattern.
486         * config/v850/v850.c (v850_gen_float_compare): Use
487         gen_cmpdf_eq_insn for NE comparison.
488         (v850_float_z_comparison_operator)
489         (v850_float_nz_comparison_operator): Move from here ...
490         * config/v850/predicates.md: ... to here.  Move GT and GE
491         comparisons into v850_float_z_comparison_operator.
492         * config/v850/v850-protos.h (v850_float_z_comparison_operator):
493         Delete prototype.
494         (v850_float_nz_comparison_operator): Likewise.
495
496 2013-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
497
498         * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
499         with calls to gen_insvsi/gen_insvdi.
500
501 2013-01-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
502
503         * config/i386/i386.c (initial_ix86_tune_features): Set up
504         X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
505
506 2013-01-09  Steven Bosscher  <steven@gcc.gnu.org>
507             Jakub Jelinek  <jakub@redhat.com>
508
509         PR tree-optimization/48189
510         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
511         If nitercst is 0, don't predict the exit edge.
512
513 2013-01-08   Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
514
515         * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
516         in asm_fprintf with reg_names.
517         (aarch64_print_operand_address): Likewise.
518         (aarch64_return_addr): Likewise.
519         * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
520
521 2013-01-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
522
523         * config/pa/pa.h (VAL_U6_BITS_P): Define.
524         (INT_U6_BITS): Likewise.
525         * config/pa/predicates.md (uint6_operand): New predicate.
526         (shift5_operand, shift6_operand): Likewise.
527         * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
528         arith32_operand.
529         (lshrdi3): Use shift6_operand.
530         (shrpsi4, shrpdi4): New insn patterns.
531         (extzv): Delete expander.
532         (extzvsi, extzvdi): New expanders.  Use uint5_operand and uint6_operand
533         predicates in unamed zero extract patterns.  Tighten common constraint.
534         (extv): Delete expander.
535         (extvsi, extvdi): New expanders.  Use uint5_operand and uint6_operand
536         predicates in unamed sign extract patterns.  Tighten common constraint.
537         (insv): Delete expander.
538         (insvsi, insvdi): New expanders.  Use uint5_operand and uint6_operand
539         predicates in unamed insert patterns.  Tighten common constraint.
540         Change uint32_operand predicate to uint6_operand predicate in unamed
541         DImode pattern to insert constant values of type 1...1xxxx.
542
543 2013-01-04  Jan Hubicka  <jh@suse.cz>
544
545         PR tree-optimization/55823
546         * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
547         issue.
548
549 2012-01-08  Jakub Jelinek  <jakub@redhat.com>
550             Uros Bizjak  <ubizjak@gmail.com>
551
552         PR rtl-optimization/55845
553         * df-problems.c (can_move_insns_across): Stop scanning at
554         volatile_insn_p source instruction or give up if
555         across_from .. across_to range contains any volatile_insn_p
556         instructions.
557
558 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
559
560         * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
561         * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
562         Declare.
563         * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
564         aarch64_simd_make_constant, aarch64_expand_vector_init): New.
565
566 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
567
568         PR fortran/55341
569         * asan.c (asan_clear_shadow): New function.
570         (asan_emit_stack_protection): Use it.
571
572 2013-01-08  Tejas Belagod  <tejas.belagod@arm.com>
573
574         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
575         aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
576         with tab instead of space.
577
578 2013-01-08  Nick Clifton  <nickc@redhat.com>
579
580         * config/rl78/rl78.c (rl78_expand_prologue): Always select
581         register bank 0 at the start of an interrupt handler.
582         * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
583         MDBH registers.
584
585 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
586
587         * config/aarch64/aarch64-simd.md
588         (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
589         (aarch64_simd_bsl): Likewise.
590         (aarch64_vcond_internal<mode>): Likewise.
591         (vcond<mode><mode>): Likewise.
592         (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
593         * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
594
595 2013-01-08  James Greenhalgh  <james.greenhalgh@arm.com>
596
597         * config/aarch64/aarch64-builtins.c
598         (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
599
600 2013-01-08  Martin Jambor  <mjambor@suse.cz>
601
602         PR debug/55579
603         * tree-sra.c (analyze_access_subtree): Return true also after
604         potentially creating a debug-only replacement.
605
606 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
607
608         PR middle-end/55890
609         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
610
611         PR tree-optimization/54120
612         * tree-vrp.c (range_fits_type_p): Don't allow
613         src_precision < precision from signed vr to unsigned_p
614         if vr->min or vr->max is negative.
615         (simplify_float_conversion_using_ranges): Test can_float_p
616         against CODE_FOR_nothing.
617
618 2013-01-08  Jakub Jelinek  <jakub@redhat.com>
619             Richard Biener  <rguenther@suse.de>
620
621         PR middle-end/55851
622         * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
623         types instead of just INTEGER_TYPE types.
624
625 2013-01-07  Mark Kettenis  <kettenis@openbsd.org>
626
627         * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
628         TF_SIZE): Define.
629
630 2013-01-07  Steve Ellcey  <sellcey@mips.com>
631
632         PR target/42661
633         * config/mips/mips.opt: Change mad to mmad to match documentation.
634
635 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
636
637         PR target/55897
638         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
639         .progmemx.data now.
640
641 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
642
643         PR target/55897
644         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
645         (avr_addrspace_t): Add .section_name field.
646         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
647         array size.
648         (avr_addrspace): Same.  Initialize .section_name.  Remove last
649         NULL entry.  Put __memx into .progmemx.data.
650         (progmem_section_prefix): Remove.
651         (avr_asm_init_sections): No need to initialize progmem_section.
652         (avr_asm_named_section): Use avr_addrspace[].section_name to get
653         section name prefix.
654         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
655         retrieve the progmem section.
656         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
657         boundary to run over avr_addrspace[].
658         (avr_register_target_pragmas): Ditto.
659
660 2013-01-06  Jakub Jelinek  <jakub@redhat.com>
661
662         * varasm.c (output_constant_def_contents): For asan_protect_global
663         protected strings, adjust DECL_ALIGN if needed, before testing for
664         anchored symbols.
665         (place_block_symbol): Adjust size for asan protected STRING_CSTs if
666         TREE_CONSTANT_POOL_ADDRESS_P.  Increase alignment for asan protected
667         normal decls.
668         (output_object_block): For asan protected decls, emit asan padding
669         after their contents.
670         * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
671         (asan_finish_file): Test it here instead.
672
673 2013-01-07   Nick Clifton  <nickc@redhat.com>
674              Matthias Klose <doko@debian.org>
675              Doug Kwan  <dougkwan@google.com>
676              H.J. Lu  <hongjiu.lu@intel.com>
677
678         PR driver/55470
679         * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
680
681         * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
682
683         * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
684
685         * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
686
687         * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
688
689 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
690
691         PR target/54461
692         * doc/install.texi (Cross-Compiler-Specific Options): Document
693         --with-avrlibc.
694
695 2013-01-07  Tejas Belagod  <tejas.belagod@arm.com>
696
697         * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
698         vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
699         vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
700         vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
701         vqmovun_high_s64): Fix source operand number and update copyright.
702
703 2013-01-07  Richard Biener  <rguenther@suse.de>
704
705         PR middle-end/55890
706         * gimple.h (gimple_call_builtin_p): New overload.
707         * gimple.c (validate_call): New function.
708         (gimple_call_builtin_p): Likewise.
709         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
710         Use gimple_call_builtin_p.
711         (find_func_clobbers): Likewise.
712         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
713         (strlen_optimize_stmt): Likewise.
714
715 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
716
717         * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
718         (vld1q_dup_*): Likewise.
719         (vld1_*): Likewise.
720         (vld1q_*): Likewise.
721         (vld1_lane_*): Likewise.
722         (vld1q_lane_*): Likewise.
723
724 2013-01-07  Richard Biener  <rguenther@suse.de>
725
726         * lto-streamer.h (LTO_minor_version): Bump to 2.
727
728 2013-01-07  James Greenhalgh  <james.greenhalgh@arm.com>
729
730         * config/aarch64/aarch64-protos.h
731         (aarch64_const_double_zero_rtx_p): Rename to...
732         (aarch64_float_const_zero_rtx_p): ...this.
733         (aarch64_float_const_representable_p): New.
734         (aarch64_output_simd_mov_immediate): Likewise.
735         * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
736         move immediate case.
737         * config/aarch64/aarch64.c
738         (aarch64_const_double_zero_rtx_p): Rename to...
739         (aarch64_float_const_zero_rtx_p): ...this.
740         (aarch64_print_operand): Allow printing of new constants.
741         (aarch64_valid_floating_const): New.
742         (aarch64_legitimate_constant_p): Check for valid floating-point
743         constants.
744         (aarch64_simd_valid_immediate): Likewise.
745         (aarch64_vect_float_const_representable_p): New.
746         (aarch64_float_const_representable_p): Likewise.
747         (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
748         (aarch64_output_simd_mov_immediate): New.
749         * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
750         (*movdf_aarch64): Likewise.
751         * config/aarch64/constraints.md (Ufc): New.
752         (Y): call aarch64_float_const_zero_rtx.
753         * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
754
755 2013-01-07  Richard Biener  <rguenther@suse.de>
756
757         PR tree-optimization/55888
758         PR tree-optimization/55862
759         * tree-ssa-pre.c (phi_translate_1): Revert previous change.
760         (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
761         not if it is contained therein.
762
763 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
764
765         * config/avr/t-avr: Typo.
766
767 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
768
769         PR55243
770         * config/avr/t-avr: Don't automatically rebuild
771         $(srcdir)/config/avr/t-multilib
772         $(srcdir)/config/avr/avr-tables.opt
773         $(srcdir)/doc/avr-mmcu.texi
774         (avr-mcus): New phony target to build them on request.
775         (s-avr-mlib, s-avr-mmcu-texi): Remove.
776         * avr/avr-mcus.def: Adjust comments.
777
778 2013-01-07  Uros Bizjak  <ubizjak@gmail.com>
779
780         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
781
782 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
783
784         * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
785
786 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
787
788         * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
789
790 2013-01-05  David Edelsohn  <dje.gcc@gmail.com>
791
792         * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
793         to generate profiling.
794         * config/rs6000/aix64.h (LIB_SPEC): Same.
795
796 2013-01-04  Andrew Pinski  <apinski@cavium.com>
797
798         * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
799         New function.
800         (TARGET_FIXED_CONDITION_CODE_REGS): Define.
801
802 2013-01-04  Uros Bizjak  <ubizjak@gmail.com>
803
804         * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
805         unconditionally.
806         (ix86_expand_move): Ditto.
807         (ix86_zero_extend_to_Pmode): Ditto.
808         (ix86_expand_call): Ditto.
809         (ix86_expand_special_args_builtin): Ditto.
810         (ix86_expand_builtin): Ditto.
811
812 2013-01-04  Richard Biener  <rguenther@suse.de>
813
814         PR tree-optimization/55862
815         * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
816         translating them through PHI nodes.
817
818 2013-01-04  Martin Jambor  <mjambor@suse.cz>
819
820         PR tree-optimization/55755
821         * tree-sra.c (sra_modify_assign): Do not check that an access has no
822         children when trying to avoid producing a VIEW_CONVERT_EXPR.
823
824 2013-01-04  Marek Polacek  <polacek@redhat.com>
825
826         PR middle-end/55859
827         * opts.c (default_options_optimization): Clarify error message.
828
829 2013-01-04  Richard Biener  <rguenther@suse.de>
830
831         PR middle-end/55863
832         * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
833         reassociation.
834
835 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
836
837         PR target/53789
838         * config/pa/pa.md (movsi): Revert previous change.
839         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
840         references.
841
842 2013-01-03  Richard Henderson  <rth@redhat.com>
843
844         * config/i386/i386.c (ix86_expand_move): Always assign to op1
845         after eliminating TLS symbols.
846
847 2013-01-03  Marc Glisse  <marc.glisse@inria.fr>
848
849         PR bootstrap/50167
850         * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
851         * graphite-poly.c (debug_gmp_value): Likewise.
852
853 2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
854
855         PR target/55712
856         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
857         selected code model, define __code_mode_small__, __code_model_medium__,
858         __code_model_large__, __code_model_32__ or __code_model_kernel__.
859         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
860         xchg temporary register with %k.  Declare temporary register as
861         early clobbered.
862         [__x86_64__]: For medium and large code models, preserve %rbx register.
863
864 2013-01-03  Richard Biener  <rguenther@suse.de>
865
866         * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
867         (dump_subscript): Adjust.
868         (finalize_ddr_dependent): Do not dump redundant info.
869         (analyze_siv_subscript): Adjust.
870         (subscript_dependence_tester): Likewise.
871         (compute_affine_dependence): Likewise.
872
873 2013-01-03  Richard Biener  <rguenther@suse.de>
874
875         Revert
876         2013-01-03  Richard Biener  <rguenther@suse.de>
877
878         PR tree-optimization/55857
879         * tree-vect-stmts.c (vectorizable_load): Do not setup
880         re-alignment for invariant loads.
881
882         2013-01-02  Richard Biener  <rguenther@suse.de>
883
884         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
885         invariant load do not generate a vector load from the scalar location.
886
887 2013-01-03  Richard Biener  <rguenther@suse.de>
888
889         * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
890         for not vectorizing.
891         * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
892         not build INDIRECT_REFs, call get_name once only.
893         (vect_create_data_ref_ptr): Likewise.  Dump base object kind
894         based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
895
896 2013-01-03  Richard Biener  <rguenther@suse.de>
897
898         PR tree-optimization/55857
899         * tree-vect-stmts.c (vectorizable_load): Do not setup
900         re-alignment for invariant loads.
901
902 2013-01-03  Richard Biener  <rguenther@suse.de>
903
904         PR lto/55848
905         * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
906         prefer a built-in decl.
907
908 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
909
910         * gcc.c (process_command): Update copyright notice dates.
911         * gcov.c (print_version): Likewise.
912         * gcov-dump.c (print_version): Likewise.
913
914         PR rtl-optimization/55838
915         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
916         iv0.step, iv1.step and step.
917
918 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
919             Marc Glisse  <marc.glisse@inria.fr>
920
921         PR tree-optimization/55832
922         * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
923         ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
924         integer_{one,zero}_node.
925
926 2013-01-03  Jakub Jelinek  <jakub@redhat.com>
927
928         PR debug/54402
929         * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
930         * var-tracking.c (reverse_op): Don't add reverse ops to
931         VALUEs that have already
932         PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
933
934 2013-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
935
936         * doc/contrib.texi: Note years as release manager for Mark Mitchell.
937
938 2013-01-02  Teresa Johnson  <tejohnson@google.com>
939
940         * dumpfile.c (dump_loc): Print filename with location.
941         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
942         new location_t parameter to emit complete unroll message with
943         new dump framework.
944         (canonicalize_loop_induction_variables): Compute loops location
945         and pass to try_unroll_loop_completely.
946         * loop-unroll.c (report_unroll_peel): New function.
947         (peel_loops_completely): Use new dump format with location
948         for main dumpfile message, and invoke report_unroll_peel on success.
949         (decide_unrolling_and_peeling): Ditto.
950         (decide_peel_once_rolling): Remove old dumpfile message subsumed
951         by report_unroll_peel.
952         (decide_peel_completely): Ditto.
953         (decide_unroll_constant_iterations): Ditto.
954         (decide_unroll_runtime_iterations): Ditto.
955         (decide_peel_simple): Ditto.
956         (decide_unroll_stupid): Ditto.
957         * cfgloop.c (get_loop_location): New function.
958         * cfgloop.h (get_loop_location): Declare.
959
960 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
961
962         * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
963         NULL.
964
965 2013-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
966
967         PR middle-end/55198
968         * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
969         BLKmode objects when EXPAND_MEMORY is specified.
970
971 2013-01-02  Sriraman Tallam  <tmsriram@google.com>
972
973         * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
974         in loop predicate.
975         (fold_builtin_cpu): Do not share cpu model decls across statements.
976
977 2013-01-02  Jason Merrill  <jason@redhat.com>
978
979         PR c++/55804
980         * tree.c (build_array_type_1): Revert earlier change.
981
982 2013-01-02  Yufeng Zhang  <yufeng.zhang@arm.com>
983
984         * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
985         "cortex-a57".
986         * config/aarch64/aarch64-tune.md: Re-generate.
987
988 2013-01-02  Richard Biener  <rguenther@suse.de>
989
990         * tree-vect-stmts.c (vectorizable_load): When vectorizing an
991         invariant load do not generate a vector load from the scalar location.
992
993 2013-01-02  Richard Biener  <rguenther@suse.de>
994
995         PR bootstrap/55784
996         * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
997         * configure: Regenerate.
998
999 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1000
1001         * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
1002         (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
1003         (expand_builtin_int_roundingfn_2): Keep the original target around
1004         for the fallback case.
1005
1006 2013-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
1007
1008         * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
1009         to be clear for sign changes.
1010
1011 2013-01-01  Jan Hubicka  <jh@suse.cz>
1012
1013         * ipa-inline-analysis.c: Fix formatting.
1014
1015 2013-01-01  Jakub Jelinek  <jakub@redhat.com>
1016
1017         PR tree-optimization/55831
1018         * tree-vect-loop.c (get_initial_def_for_induction): Use
1019         gsi_after_labels instead of gsi_start_bb.
1020 \f
1021 Copyright (C) 2013 Free Software Foundation, Inc.
1022
1023 Copying and distribution of this file, with or without modification,
1024 are permitted in any medium without royalty provided the copyright
1025 notice and this notice are preserved.