re PR tree-optimization/42508 (wrong code with "-O1 -fipa-sra")
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
2
3         PR tree-optimization/42508
4         * tree-sra.c (convert_callers): Check for recursive call
5         by comparing cgraph nodes instead of decls.
6         (modify_function): Call ipa_modify_formal_parameters also
7         on all same_body aliases.
8
9         * cgraphunit.c (cgraph_materialize_all_clones): Compare
10         cgraph nodes when checking for same_body aliases.
11
12 2010-01-05  Richard Guenther  <rguenther@suse.de>
13
14         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
15         allocation and lookup.
16         (get_or_alloc_expr_for_constant): Likewise.
17         (phi_translate): Sink allocation.
18
19 2010-01-04  Richard Guenther  <rguenther@suse.de>
20
21         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
22         a new entry only if needed.
23         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
24         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
25         hashtable lookup.
26         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
27         the result array.
28         (phi_translate): Handle CONSTANTs early.
29
30 2010-01-04  Martin Jambor  <mjambor@suse.cz>
31
32         PR tree-optimization/42398
33         * tree-sra.c (struct access): Removed flag grp_different_types.
34         (dump_access): Do not dump the removed flag.
35         (sort_and_splice_var_accesses): Do not set the removed flag.
36         (sra_modify_expr): Check for type compatibility directly.
37
38 2010-01-04  Martin Jambor  <mjambor@suse.cz>
39
40         PR tree-optimization/42366
41         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
42         edges with variable number of parameters.
43         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
44         flag instead of asserting it.
45         (ipa_read_node_info): Read uses_analysis_done flag.
46
47 2010-01-04  Richard Guenther  <rguenther@suse.de>
48
49         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
50         iterative_hash_* as intended.
51         (vn_reference_compute_hash): Likewise.  Simplify hashing
52         SSA names.
53         (vn_reference_lookup_2): Likewise.
54         (vn_nary_op_compute_hash): Likewise.
55         (vn_phi_compute_hash): Likewise.
56         (expressions_equal_p): Remove strange code.
57         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
58         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
59         (bitmap_insert_into_set_1): Take value-id as parameter.
60         (add_to_value): Pass it.
61         (bitmap_insert_into_set): Likewise.
62         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
63
64 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
65
66         PR driver/42442
67         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
68         (do_self_spec): For switches with SWITCH_IGNORE set set also
69         SWITCH_IGNORE_PERMANENTLY.
70         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
71         of SWITCH_IGNORE.
72
73 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
74
75         * lto-streamer-out.c (output_unreferenced_globals): Output the full
76         tree of an unreferenced global var.
77
78 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
79
80         PR target/42542
81         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
82         GTU to GT for V4SI and V2DI.
83
84         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
85         (umin<mode>3): Removed.
86         (uminv8hi3): New.
87         (uminv4si3): Likewise.
88
89 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
90
91         PR lto/42581
92         * collect2.c (main): Turn on trace in collect2 if -v is passed
93         to gcc with LTO.
94
95 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
96
97         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
98         description of expression operand.
99
100 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
101
102         * configure.ac: Add install-html to target_list for Make-hooks.
103         * configure: Regenerate.
104         * fortran/Make-lang.in (F95_HTMLFILES): New.
105         (fortran.html): Use it.
106         (fortran.install-html): New.
107         * Makefile.in (install-html): Add lang.install-html.
108         * java/Make-lang.in (JAVA_HTMLFILES): New.
109         (java.html): Use it.
110         (java.install-html): New.
111         * objc/Make-lang.in (objc.install-html): New.
112         * objcp/Make-lang.in (obj-c++.install-html): New.
113         * cp/Make-lang.in (c++.install-html): New.
114         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
115         * lto/Make-lang.in (lto.install-html): New.
116
117 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
118
119         PR lto/42520
120         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
121
122 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
123
124         PR rtl-optimization/41862
125         * store-motion.c (store_killed_in_insn, compute_store_table,
126         remove_reachable_equiv_notes, replace_store_insn,
127         build_store_vectors): Ignore all DEBUG_INSNs.
128
129 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
130
131         PR lto/41564
132         * common.opt: Add dumpdir.
133
134         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
135         isn't specified.
136         (option_map): Add --dumpdir.
137
138         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
139
140         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
141
142         * opts.c (decode_options): Try dump_dir_name first if
143         dump_base_name isn't an absolute path.
144         (common_handle_option): Handle OPT_dumpdir.
145
146         * toplev.c (dump_dir_name): New.
147         (print_switch_values): Also ignore -dumpdir.
148
149         * toplev.h (dump_dir_name): New.
150
151 2010-01-03  Richard Guenther  <rguenther@suse.de>
152
153         PR tree-optimization/42589
154         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
155         double-word expansion of bswap32.
156
157 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
158
159         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
160         with BLOCK_FOR_INSN.
161         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
162         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
163         noce_process_if_block): Likewise.
164         * gcse.c (compute_local_properties, insert_expr_in_table,
165         insert_set_in_table, canon_list_insert, find_avail_set,
166         pre_insert_copy_insn): Likewise.
167
168         * basic-block.h (BLOCK_NUM): Move from here...
169         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
170
171 2010-01-03  Richard Guenther  <rguenther@suse.de>
172
173         PR tree-optimization/42438
174         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
175         contains_may_not_return_call flag.
176         (BB_MAY_NOTRETURN): New.
177         (valid_in_sets): Trapping nary operations are not valid
178         in blocks that may not return.
179         (insert_into_preds_of_block): Remove check for trapping
180         expressions.
181         (compute_avail): Compute also BB_MAY_NOTRETURN.
182
183 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
184
185         * doc/invoke.texi: Add 2010 to copyright years.
186
187 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
188
189         * config/sparc/sparc.c: Fix formatting nits.
190
191 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
192             Alexander Monakov  <amonakov@ispras.ru>
193
194         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
195
196 2010-01-02  Richard Guenther  <rguenther@suse.de>
197
198         PR middle-end/42577
199         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
200         (simplify_switch_using_ranges): Mark to be removed edges
201         as non-executable.
202
203 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
204
205         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
206
207         * collect2.c (scan_libraries): Add missing argument in call to
208         scan_prog_file.
209
210 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
211
212         PR target/42448
213         * config/alpha/predicates.md (aligned_memory_operand): Return false
214         for CQImode.
215         (unaligned_memory_operand): Return true for CQImode.
216         * config/alpha/alpha.c (get_aligned_mem): Assert that location
217         doesn not cross aligned SImode word boundary.
218
219 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
220
221         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
222         Remove.
223         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
224         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
225
226 2010-01-02  Richard Guenther  <rguenther@suse.de>
227
228         PR lto/41597
229         * toplev.c (compile_file): Emit LTO marker properly.  Change
230         it to __gnu_lto_v1.
231         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
232
233 2010-01-01  Richard Guenther  <rguenther@suse.de>
234
235         PR debug/42455
236         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
237
238 2010-01-01  Richard Guenther  <rguenther@suse.de>
239
240         PR c/42570
241         * c-decl.c (grokdeclarator): For zero-size arrays force
242         structural equality checks as layout_type does.
243
244 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
245
246         * builtins.c: Update copyright to 2010.
247
248 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
249
250         PR lto/42531
251         * lto-streamer-out.c (produce_asm): Revert the last change.
252         (copy_function): Likewise.
253
254         * lto-streamer.c (lto_get_section_name): Skip any leading
255         asterisk in name.
256
257 2010-01-01  Richard Guenther  <rguenther@suse.de>
258
259         PR middle-end/42559
260         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
261         for LABEL_DECLs.
262
263 \f
264 Copyright (C) 2010 Free Software Foundation, Inc.
265
266 Copying and distribution of this file, with or without modification,
267 are permitted in any medium without royalty provided the copyright
268 notice and this notice are preserved.