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