OSDN Git Service

378707ea03f8468319bfbf06b4178bcf78dea55a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2012-01-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
2
3         * config/arm/arm-cores.def (cortex-a15): Use cortex_a15_tune for
4         tuning parameters.
5         * config/arm/arm.c (arm_cortex_a15_tune): New static variable.
6
7 2012-01-09  Richard Guenther  <rguenther@suse.de>
8
9         * tree-streamer-out.c (write_ts_optimization): Fix spelling.
10
11 2012-01-08  Jan Hubicka  <jh@suse.cz>
12
13         PR tree-optimize/51680
14         * ipa-inline-analyss.c (evaluate_properties_for_edge): Fix condition
15         on when known_vals needs to be computed; cleanup.
16
17 2012-01-08  Jan Hubicka  <jh@suse.cz>
18
19         PR tree-optimize/51694
20         * ipa-cp.c (ipa_get_indirect_edge_target): Add bounds checks.
21
22 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
23
24         * doc/cpp.texi (Predefined Macros): __STRICT_ANSI__ is defined
25         for -std=c++98 and -std=c++11 too.
26
27 2012-01-08  Chung-Lin Tang  <cltang@codesourcery.com>
28
29         * cfgloop.c (cancel_loop): Add free() of bbs array.
30
31 2012-01-07  Jan Hubicka  <jh@suse.cz>
32
33         PR tree-optimization/51600
34         * ipa-inline-analysis.c (estimate_edge_devirt_benefit): Disable code
35         that benefits small functions.
36
37 2012-01-07  Jan Hubicka  <jh@suse.cz>
38
39         * ipa-inline.c (want_inline_small_function_p): Fix formating.
40
41 2012-01-07  Jan Hubicka  <jh@suse.cz>
42
43         PR tree-optimization/51680
44         * ipa-inline.c (want_inline_small_function_p): Be more lax on functions
45         whose inlining reduce unit size.
46
47 2012-01-07  Alexandre Oliva  <aoliva@redhat.com>
48
49         PR bootstrap/51725
50         * cselib.c (new_elt_loc_list): Promote addr_list to canonical node.
51         Add canonical node to containing_mem chain after the non-canonical
52         one, even if there weren't any locs to propagate.
53         (remove_useless_values): Keep only canonical values.
54         (add_mem_for_addr, cselib_lookup_mem): Canonicalize addr.
55         (cselib_invalidate_mem): Likewise.  Ensure v is canonical, and
56         canonicalize mem_chain elements that are not discarded.
57
58 2012-01-06  Jakub Jelinek  <jakub@redhat.com>
59
60         PR target/47333
61         * cgraphunit.c (cgraph_optimize): Call output_weakrefs
62         before emitting functions.
63
64         PR gcov-profile/50127
65         * bb-reorder.c (partition_hot_cold_basic_blocks): Call
66         clear_aux_for_blocks.
67
68 2012-01-06  Alexandre Oliva  <aoliva@redhat.com>
69
70         PR debug/51746
71         * cselib.c (cselib_hash_rtx): Hash incoming VALUEs too.
72
73 2012-01-06  Arnaud Charlet  <charlet@adacore.com>
74
75         * c-decl.c (ext_block): Moved up.
76         (collect_all_refs, for_each_global_decl): Take ext_block into account.
77
78 2012-01-06  Han Shen  <shenhan@google.com>
79
80         Translate built-in include paths for sysroot.
81         * Makefile.in (gcc_gxx_include_dir_add_sysroot): New.
82         (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT.
83
84         * cppdefault.c (cpp_include_defaults): Replace hard coded "0" with
85         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field.
86
87         * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroot to
88         control whether sysroot should be prepended to gxx include dir.
89
90         * configure: Regenerate.
91
92 2012-01-06  Torvald Riegel  <triegel@redhat.com>
93
94         PR rtl-optimization/51771
95         * builtin-attrs.def (ATTR_RETURNS_TWICE, ATTR_TM_NOTHROW_RT_LIST):
96         New.
97         * gtm-builtins.def (BUILT_IN_TM_START): Add returns-twice attrib.
98
99 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
100
101         PR tree-optimization/51315
102         * tree-sra.c (tree_non_aligned_mem_for_access_p): New predicate.
103         (build_accesses_from_assign): Use it instead of tree_non_aligned_mem_p.
104
105 2012-01-05  Uros Bizjak  <ubizjak@gmail.com>
106
107         PR target/51681
108         * config/ia64/ia64.c (expand_vec_perm_shrp): Use correct operands
109         for shrp pattern.  Correctly handle and fixup shift variable.
110         Return false when shift > nelt for BYTES_BIG_ENDIAN target.
111
112 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
113
114         PR debug/51762
115         * calls.c (emit_call_1): For noreturn calls force a REG_ARGS_SIZE
116         note when !ACCUMULATE_OUTGOING_ARGS.
117
118 2012-01-05  Eric Botcazou  <ebotcazou@adacore.com>
119
120         * tree-vrp.c (extract_range_from_binary_expr_1): Remove duplicated
121         condition.
122         (extract_range_from_unary_expr_1): Avoid useless computations.
123
124 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
125
126         PR rtl-optimization/51767
127         * cfgrtl.c (force_nonfallthru_and_redirect): Force addition
128         of jump_block and add an extra edge for degenerated asm gotos.
129
130         PR middle-end/51768
131         * stmt.c (check_unique_operand_names): Don't ICE during error
132         reporting if i is from labels chain.
133
134         PR middle-end/44777
135         * profile.c (branch_prob): Split bbs that have exit edge
136         and need a fake entry edge too.
137
138 2012-01-05  Jan Hubicka  <jh@suse.cz>
139
140         PR middle-end/49710
141         * cfgloopmanip.c (remove_path): Walk loop hiearchy upwards when
142         unlooping loops.
143
144 2012-01-05  Richard Guenther  <rguenther@suse.de>
145
146         PR lto/50490
147         * tree-streamer-out.c (write_ts_optimization): New function.
148         (streamer_write_tree_body): Call it.
149         * tree-streamer-in.c (lto_input_ts_optimization): New function.
150         (streamer_read_tree_body): Call it.
151         * lto-streamer-out.c (lto_is_streamable): Handle OPTIMIZATION_NODE.
152
153 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
154
155         PR middle-end/51761
156         * gimple.h (struct gimplify_ctx): Add in_cleanup_point_expr field.
157         * gimplify.c (gimplify_cleanup_point_expr): Save and set
158         in_cleanup_point_expr before gimplify_stmt call and restore it
159         afterwards.
160         (gimplify_target_expr): Don't add {CLOBBER} cleanup if
161         in_cleanup_point_expr is false.
162
163 2012-01-05  Richard Guenther  <rguenther@suse.de>
164
165         PR middle-end/51764
166         * common.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move
167         to c.opt.
168         * toplev.c (process_options): Reject combining mudflap and LTO.
169         * tree-nomudflap.c (nogo): Use sorry instead of internal_error.
170
171 2012-01-05  Richard Guenther  <rguenther@suse.de>
172
173         PR tree-optimization/51760
174         * tree-ssa-ccp.c (likely_value): Drop UNDEFINED to CONSTANT,
175         not VARYING.
176         (bit_value_unop): Handle UNDEFINED operands.
177         (bit_value_binop): Likewise.
178
179 2012-01-05  Georg-Johann Lay  <avr@gjlay.de>
180
181         * config/avr/avr.c (avr_replace_prefix): Remove.
182         (avr_asm_named_section): Use ACONCAT instead of avr_replace_prefix.
183         (avr_asm_function_rodata_section): Ditto.
184         (avr_asm_select_section): Ditto.
185
186 2012-01-05  Marcus Shawcroft  <marcus.shawcroft@arm.com>
187
188         * reload.c (find_reloads): Adjust LABEL_NUSES on REG_LABEL_OPERAND
189         insertion.
190
191 2012-01-05  Jakub Jelinek  <jakub@redhat.com>
192
193         PR bootstrap/51648
194         * tree-cfg.c (need_fake_edge_p): Return true also for noreturn
195         calls that have any non-fake successor edges.
196
197         PR debug/51746
198         * var-tracking.c (add_stores): For COND_EXEC allow oval to be NULL.
199
200 2012-01-04  Eric Botcazou  <ebotcazou@adacore.com>
201
202         PR tree-optimization/51624
203         * tree-sra.c (build_ref_for_model): When replicating a chain of
204         COMPONENT_REFs, stop as soon as the offset would become negative.
205
206 2012-01-04  Jakub Jelinek  <jakub@redhat.com>
207
208         PR debug/51695
209         * dwarf2out.c (output_loc_list): For now drop >= 64KB expressions
210         in .debug_loc on the floor.
211
212 2012-01-04  Andrew Pinski  <apinski@cavium.com>
213
214         * doc/invoke.texi (-march=@var{arch}): Add octeon+ and octeon2.
215
216 2012-01-04  Andrew Pinski  <apinski@cavium.com>
217             Adam Nemet  <anemet@caviumnetworks.com>
218
219         * config/mips/mips.md (size): Add SI and DI.
220         (SIZE): New mode attribute.
221         (U): New code attribute.
222         * config/mips/mips-dsp.md (mips_lbux): Use gen_mips_lbux_extsi.
223         (mips_lbux_<mode>): Delete.
224         (mips_l<SHORT:size><u>x_ext<GPR:mode>_<P:mode>): New pattern.
225         (mips_lhx): Use gen_mips_lhx_extsi.
226         (mips_lhx_<mode>): Delete.
227         (mips_lwx): Delete.
228         (mips_l<size>x): New expand.
229         (mips_lwx_<mode>): Delete.
230         (mips_l<GPR:size>x_<P:mode>): New pattern.
231         (*mips_lw<u>x_<P:mode>_ext): Likewise.
232         * config/mips/mips-ftypes.def: Add DI f(POINTER, SI) function type.
233         * config/mips/mips.c (mips_lx_address_p): New function.
234         (mips_rtx_costs <case MEM>): Call mips_lx_address_p.
235         (dsp64): New availability predicate.
236         (mips_builtins): Add an entry for __builtin_mips_ldx.
237         * config/mips/mips.h (ISA_HAS_LBX): New define.
238         (ISA_HAS_LBUX): Likewise.
239         (ISA_HAS_LHX): Likewise.
240         (ISA_HAS_LHUX): Likewise.
241         (ISA_HAS_LWX): Likewise.
242         (ISA_HAS_LWUX): Likewise.
243         (ISA_HAS_LDX): Likewise.
244         * doc/extend.texi (__builtin_mips_ldx): Document.
245
246 2012-01-04  Tristan Gingold  <gingold@adacore.com>
247
248         * config/vms/xm-vms.h (HOST_LONG_FORMAT, HOST_PTR_PRINTF): Define
249         when long pointers are used.
250         * config.build (*-*-*vms*): Handle all OpenVMS targets.
251         (alpha64-dec-*vms*, alpha*-dec-*vms*)
252         (ia64-hp-*vms*): Remove.
253         * config/vms/xm-vms64.h: Delete.
254
255 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
256
257         PR middle-end/51472
258         * trans-mem.c (expand_assign_tm): Handle TM_MEMMOVE loads correctly.
259
260 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
261
262         * opts.c (finish_options): Remove duplicate sorry.
263
264 2012-01-04  Aldy Hernandez  <aldyh@redhat.com>
265
266         PR middle-end/51696
267         * trans-mem.c (diagnose_tm_1): Display indirect calls with no name
268         correctly.
269
270 2012-01-04  Richard Guenther  <rguenther@suse.de>
271
272         PR middle-end/51750
273         * tree.c (size_low_cst): New function.
274         * tree.h (size_low_cst): Declare.
275         * fold-const.c (fold_comparison): Use it to extract the low
276         part of the POINTER_PLUS_EXPR offset.
277
278 2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
279
280         Fix clearing ZERO_REG
281         * config/avr/avr.md (cc): Add alternative "ldi".
282         (movqi_insn): Use it in cc attribute.
283         * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
284         (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
285         (output_reload_insisf): Use ZERO_REG to pre-clear register.
286
287 2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
288
289         * configure: Regenerate.
290
291 2012-01-04  Richard Guenther  <rguenther@suse.de>
292
293         PR tree-optimization/49651
294         * tree-ssa-structalias.c (type_can_have_subvars): New function.
295         (var_can_have_subvars): Use it.
296         (get_constraint_for_1): Only consider subfields if there can be any.
297
298 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
299
300         PR bootstrap/51725
301         * cselib.c (new_elt_loc_list): When moving locs from one cselib_val
302         to its new canonical_cselib_val and the cselib_val was in
303         first_containing_mem chain, but the canonical_cselib_val was not,
304         add the latter into the chain.
305         (cselib_invalidate_mem): Compare canonical_cselib_val of
306         addr_list chain elt with v.
307
308         PR pch/51722
309         * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
310         dwarf2out_undef): Allocate e.info using ggc_strdup instead
311         of xstrdup.
312         (output_macinfo_op): Don't ggc_strdup fd->filename.
313         (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
314         then ggc_strdup it.  Don't free inc->info or cur->info.
315         (output_macinfo): Don't free ref->info or file->info.
316
317 2012-01-03  Ira Rosen  <irar@il.ibm.com>
318
319         PR tree-optimization/51269
320         * tree-vect-loop-manip.c (set_prologue_iterations): Make
321         first_niters a pointer.
322         (slpeel_tree_peel_loop_to_edge): Likewise.
323         (vect_do_peeling_for_loop_bound): Update call to
324         slpeel_tree_peel_loop_to_edge.
325         (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
326         here.  Remove it from the parameters list.
327         (vect_do_peeling_for_alignment): Update calls and compute
328         wide_prolog_niters.
329
330 2012-01-03  Richard Guenther  <rguenther@suse.de>
331
332         PR tree-optimization/51070
333         * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
334         Properly handle calls.
335
336 2012-01-03  Richard Guenther  <rguenther@suse.de>
337
338         PR tree-optimization/51692
339         * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
340         the LHS of allocation stmts.
341
342 2012-01-03  Olivier Hainque  <hainque@adacore.com>
343
344         * system.h: Prior to #define, #undef fopen and freopen unconditionally.
345
346 2012-01-03  Olivier Hainque  <hainque@adacore.com>
347
348         * collect2.c (main): In AIX specific computations for vector
349         insertions, use CONST_CAST2 to cast from char ** to const char **.
350
351 2012-01-03  Richard Guenther  <rguenther@suse.de>
352
353         PR debug/51650
354         * dwarf2out.c (dwarf2out_finish): Always create a DIE for
355         the context of a limbo DIE when it does not already exist.
356
357 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
358
359         PR tree-optimization/51719
360         * value-prof.c (gimple_ic): When indirect call isn't noreturn,
361         but direct call is, clear direct call's lhs and don't add fallthrough
362         edge from dcall_bb to join_bb and PHIs.
363
364 2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
365
366         * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
367         the instructions emitted by the pattern.
368         ("*TDC_insn_<mode>"): Add comment.
369
370 2012-01-03  Richard Guenther  <rguenther@suse.de>
371
372         PR middle-end/51730
373         * fold-const.c (fold_comparison): Properly canonicalize
374         tree offset and HOST_WIDE_INT bit position.
375
376 2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
377
378         * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
379         operands for extzv pattern.
380
381 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
382
383         PR bootstrap/51725
384         * cselib.c (add_mem_for_addr): Call canonical_cselib_val
385         on mem_elt first.
386
387 2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
388
389         * doc/invoke.texi (-flto and related options): Copy-edit.
390
391 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
392
393         * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
394
395 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
396
397         * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
398         New patterns.
399
400 2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
401
402         * expr.h (move_by_pieces_ninsns): Declare.
403         * expr.c (move_by_pieces_ninsns): Make external.
404         * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
405         (mips_store_by_pieces_p): Likewise.
406         * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
407         (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
408         * config/mips/mips.c (mips_move_by_pieces_p): New function.
409         (mips_store_by_pieces_p): Likewise.
410
411 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
412
413         * passes.c (register_one_dump_file): Free full_name.
414
415         * reload1.c (reload): Don't allocate reg_max_ref_width here.
416         (calculate_elim_costs_all_insns): Free offsets_at and
417         offsets_known_at at the end and clear the pointers.
418
419 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
420
421         * config/avr/avr.opt (-mbranch-cost): Fix double definition of
422         this option introduced in r180739.
423
424 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
425
426         PR target/51345
427         * config.gcc (tm_file target=avr]): Add avr/avr-multilib.h
428         (tmake_file target=avr): Add avr/t-multilib.
429
430         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use AVR_HAVE_8BIT_SP
431         to built-in define __AVR_HAVE_8BIT_SP__, __AVR_HAVE_16BIT_SP__.
432         * config/avr/genmultilib.awk: New file.
433         * config/avr/t-multilib: New auto-generated file.
434         * config/avr/multilib.h: New auto-generated file.
435         * config/avr/t-avr (AVR_MCUS): New variable.
436         (genopt.sh): Use it.
437         (s-mlib): Depend on t-multilib.
438         (t-multilib, multilib.h): New dependencies.
439         (s-avr-mlib): New rule to build t-multilib, multilib.h from AVR_MCUS.
440         (MULTILIB_OPTIONS): Remove.
441         (MULTILIB_MATCHES): Remove.
442         (MULTILIB_DIRNAMES): Remove.
443         (MULTILIB_EXCEPTIONS): Remove:
444         * config/avr/genopt.sh: Don't use hard coded file name;
445         pass AVR_MCUS from t-avr instead.
446
447 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
448
449         * config/avr/avr.c (avr_out_ashrpsi3): Fix "case 31" to "case 23".
450
451 2012-01-02  Georg-Johann Lay  <avr@gjlay.de>
452
453         Implement light-weight DImode support.
454         * config/avr/avr-dimode.md: New file.
455         * config/avr/avr.md: Include it.
456         (adjust_len): Add plus64, compare64.
457         (HIDI): Remove code iterator.
458         (code_stdname): New code attribute.
459         (rotx, rotsmode): Remove DI.
460         (rotl<mode>3, *rotw<mode>, *rotb<mode>): Use HISI instead of HIDI
461         as code iterator.
462         * config/avr/avr-protos.h (avr_have_dimode): New.
463         (avr_out_plus64, avr_out_compare64): New.
464         * config/avr/avr.c (avr_out_compare): Handle DImode.
465         (avr_have_dimode): New variable definition and initialization.
466         (avr_out_compare64, avr_out_plus64): New functions.
467         (avr_out_plus_1): Use simplify_unary_operation to negate xval.
468         (adjust_insn_length): Handle ADJUST_LEN_COMPARE64, ADJUST_LEN_PLUS64.
469         (avr_compare_pattern): Skip DImode comparisons.
470
471 2012-01-02  Revital Eres  <revital.eres@linaro.org>
472
473         * ddg.c (def_has_ccmode_p): New function.
474         (add_cross_iteration_register_deps,
475         create_ddg_dep_from_intra_loop_link): Call it.
476
477 2012-01-02  Richard Guenther  <rguenther@suse.de>
478
479         PR other/51679
480         * invoke.texi (fassociative-math): Remove spurious paranthesis.
481
482 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
483
484         * gcc.c (process_command): Update copyright notice dates.
485         * gcov.c (print_version): Likewise.
486         * gcov-dump.c (print_version): Likewise.
487         * mips-tfile.c (main): Likewise.
488         * mips-tdump.c (main): Likewise.
489
490 2012-01-01  Ira Rosen  <irar@il.ibm.com>
491
492         PR tree-optimization/51704
493         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
494         a use is inside the basic block or loop before accessing its vect info.
495
496 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
497
498         PR rtl-optimization/51069
499         * cfgloopmanip.c (remove_path): Removing path making irreducible
500         region unconditional makes BB part of the region.
501
502 2012-01-01  Jakub Jelinek  <jakub@redhat.com>
503
504         PR tree-optimization/51683
505         * tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
506         calls with side-effects.
507         * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
508 \f
509 Copyright (C) 2012 Free Software Foundation, Inc.
510
511 Copying and distribution of this file, with or without modification,
512 are permitted in any medium without royalty provided the copyright
513 notice and this notice are preserved.