OSDN Git Service

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