re PR tree-optimization/42157 (ICE building stage 1 libgcc: SEGV in compare_access_po...
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2010-01-07  Martin Jambor  <mjambor@suse.cz>
2
3         PR tree-optimization/42157
4         * tree-sra.c (compare_access_positions): Stabilize sort if both
5         accesses have integer types, return zero immediately if they are the
6         same.
7
8 2010-01-06  Richard Henderson  <rth@redhat.com>
9
10         PR middle-end/41883
11         * haifa-sched.c (add_to_note_list): Merge into ...
12         (concat_note_lists): ... here, and ...
13         (unlink_other_notes, rm_other_notes): Merge into...
14         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
15         NOTE_INSN_EPILOGUE_BEG.  
16
17 2010-01-06  Richard Guenther  <rguenther@suse.de>
18
19         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
20         not inline regular functions into always-inline functions.
21
22 2010-01-06  Nick Clifton  <nickc@redhat.com>
23
24         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
25         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
26         used together.
27         (OVERRIDE_OPTIONS): Delete.
28         (OPTIMIZATION_OPTIONS): Define.
29         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
30         * config/rx/rx.c (rx_handle_option): Issue an error message if
31         -mcpu=rx200 and -fpu are used together.
32         (rx_set_optimization_options): New function.  Issue an error
33         message if an optimization attribute attempts to reset the FPU/
34         math optimization pairing.
35         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
36         * config/rx/rx.opt: Set the default to 32-bit doubles.
37         * config/rx/t-rx: Add multilibs for -nofpu option.
38         * doc/invoke.texi: Update documentation of RX options.
39
40 2010-01-06  Richard Guenther  <rguenther@suse.de>
41
42         * tree-ssa-pre.c (name_to_id): New global.
43         (alloc_expression_id): Simplify SSA name handling.
44         (lookup_expression_id): Likewise.
45         (init_pre): Zero name_to_id.
46         (fini_pre): Free it.
47
48 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
49
50         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
51
52 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
53
54         PR target/42542
55         * config/i386/sse.md (smaxv2di3): New.
56         (umaxv2di3): Likewise.
57         (sminv2di3): Likewise.
58         (uminv2di3): Likewise.
59
60 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
61
62         PR target/42564
63         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
64         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
65         (legitimize_tls_address): Likewise.
66         (sparc_tls_referenced_p): Likewise.
67         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
68         and adjust calls to legitimize_pic_address.
69         (legitimate_constant_p) Use sparc_tls_referenced_p.
70         (legitimate_pic_operand_p): Likewise.
71         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
72         (sparc_tls_symbol_ref_1): Delete.
73         (sparc_tls_referenced_p): Make static, recognize specific patterns.
74         (legitimize_tls_address): Make static, handle CONST patterns.
75         (legitimize_pic_address): Make static, remove unused parameter and
76         adjust recursive calls.
77         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
78         and adjust call to legitimize_pic_address.
79         (sparc_output_mi_thunk): Likewise.
80
81 2010-01-05  Paolo Bonzini  <bonzinI@gnu.rg>
82             H.J. Lu  <hongjiu.lu@intel.com>
83
84         PR target/42542
85         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
86         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
87         operands to make them signed.
88
89         Revert:
90         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
91
92         PR target/42542
93         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
94         GTU to GT for V4SI and V2DI.
95
96         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
97         (umin<mode>3): Removed.
98         (uminv8hi3): New.
99         (uminv4si3): Likewise.
100
101 2010-01-05  Martin Jambor  <mjambor@suse.cz>
102
103         PR tree-optimization/42462
104         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
105         current_function_decl to helper functions and macros.
106
107 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
108
109         PR bootstrap/41771
110         * flags.h: Don't include real.h.
111         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
112         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
113         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
114         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
115         * dominance.c: Update copyright.
116         * gimple.c (walk_gimple_op): Remove inline.
117         * tree-ssa-reassoc.c: Include real.h.
118         * Makefile.in (FLAGS_H): Remove $(REAL_H).
119         (tree-ssa-reassoc.o): Depend on $(REAL_H).
120
121 2010-01-05  Nick Clifton  <nickc@redhat.com>
122
123         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
124         register to push into the stack frame when the accumulator has to
125         be saved during interrupts.
126
127 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
128
129         * doc/invoke.texi: Remove the documentation about option
130         -Wunreachable-code.
131         * common.opt (Wunreachable-code):  Preserved for backward
132         compatibility.
133         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
134         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
135         the backward compatibility flag section.
136
137 2010-01-05  Richard Guenther  <rguenther@suse.de>
138
139         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
140
141 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
142
143         PR other/42611
144         * cfgexpand.c (expand_one_var): Diagnose too large variables.
145
146         PR tree-optimization/42508
147         * tree-sra.c (convert_callers): Check for recursive call
148         by comparing cgraph nodes instead of decls.
149         (modify_function): Call ipa_modify_formal_parameters also
150         on all same_body aliases.
151
152         * cgraphunit.c (cgraph_materialize_all_clones): Compare
153         cgraph nodes when checking for same_body aliases.
154
155 2010-01-05  Richard Guenther  <rguenther@suse.de>
156
157         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
158         allocation and lookup.
159         (get_or_alloc_expr_for_constant): Likewise.
160         (phi_translate): Sink allocation.
161
162 2010-01-04  Richard Guenther  <rguenther@suse.de>
163
164         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
165         a new entry only if needed.
166         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
167         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
168         hashtable lookup.
169         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
170         the result array.
171         (phi_translate): Handle CONSTANTs early.
172
173 2010-01-04  Martin Jambor  <mjambor@suse.cz>
174
175         PR tree-optimization/42398
176         * tree-sra.c (struct access): Removed flag grp_different_types.
177         (dump_access): Do not dump the removed flag.
178         (sort_and_splice_var_accesses): Do not set the removed flag.
179         (sra_modify_expr): Check for type compatibility directly.
180
181 2010-01-04  Martin Jambor  <mjambor@suse.cz>
182
183         PR tree-optimization/42366
184         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
185         edges with variable number of parameters.
186         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
187         flag instead of asserting it.
188         (ipa_read_node_info): Read uses_analysis_done flag.
189
190 2010-01-04  Richard Guenther  <rguenther@suse.de>
191
192         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
193         iterative_hash_* as intended.
194         (vn_reference_compute_hash): Likewise.  Simplify hashing
195         SSA names.
196         (vn_reference_lookup_2): Likewise.
197         (vn_nary_op_compute_hash): Likewise.
198         (vn_phi_compute_hash): Likewise.
199         (expressions_equal_p): Remove strange code.
200         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
201         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
202         (bitmap_insert_into_set_1): Take value-id as parameter.
203         (add_to_value): Pass it.
204         (bitmap_insert_into_set): Likewise.
205         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
206
207 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
208
209         PR driver/42442
210         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
211         (do_self_spec): For switches with SWITCH_IGNORE set set also
212         SWITCH_IGNORE_PERMANENTLY.
213         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
214         of SWITCH_IGNORE.
215
216 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
217
218         * lto-streamer-out.c (output_unreferenced_globals): Output the full
219         tree of an unreferenced global var.
220
221 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
222
223         PR target/42542
224         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
225         GTU to GT for V4SI and V2DI.
226
227         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
228         (umin<mode>3): Removed.
229         (uminv8hi3): New.
230         (uminv4si3): Likewise.
231
232 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
233
234         PR lto/42581
235         * collect2.c (main): Turn on trace in collect2 if -v is passed
236         to gcc with LTO.
237
238 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
239
240         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
241         description of expression operand.
242
243 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
244
245         * configure.ac: Add install-html to target_list for Make-hooks.
246         * configure: Regenerate.
247         * fortran/Make-lang.in (F95_HTMLFILES): New.
248         (fortran.html): Use it.
249         (fortran.install-html): New.
250         * Makefile.in (install-html): Add lang.install-html.
251         * java/Make-lang.in (JAVA_HTMLFILES): New.
252         (java.html): Use it.
253         (java.install-html): New.
254         * objc/Make-lang.in (objc.install-html): New.
255         * objcp/Make-lang.in (obj-c++.install-html): New.
256         * cp/Make-lang.in (c++.install-html): New.
257         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
258         * lto/Make-lang.in (lto.install-html): New.
259
260 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
261
262         PR lto/42520
263         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
264
265 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
266
267         PR rtl-optimization/41862
268         * store-motion.c (store_killed_in_insn, compute_store_table,
269         remove_reachable_equiv_notes, replace_store_insn,
270         build_store_vectors): Ignore all DEBUG_INSNs.
271
272 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
273
274         PR lto/41564
275         * common.opt: Add dumpdir.
276
277         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
278         isn't specified.
279         (option_map): Add --dumpdir.
280
281         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
282
283         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
284
285         * opts.c (decode_options): Try dump_dir_name first if
286         dump_base_name isn't an absolute path.
287         (common_handle_option): Handle OPT_dumpdir.
288
289         * toplev.c (dump_dir_name): New.
290         (print_switch_values): Also ignore -dumpdir.
291
292         * toplev.h (dump_dir_name): New.
293
294 2010-01-03  Richard Guenther  <rguenther@suse.de>
295
296         PR tree-optimization/42589
297         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
298         double-word expansion of bswap32.
299
300 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
301
302         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
303         with BLOCK_FOR_INSN.
304         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
305         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
306         noce_process_if_block): Likewise.
307         * gcse.c (compute_local_properties, insert_expr_in_table,
308         insert_set_in_table, canon_list_insert, find_avail_set,
309         pre_insert_copy_insn): Likewise.
310
311         * basic-block.h (BLOCK_NUM): Move from here...
312         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
313
314 2010-01-03  Richard Guenther  <rguenther@suse.de>
315
316         PR tree-optimization/42438
317         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
318         contains_may_not_return_call flag.
319         (BB_MAY_NOTRETURN): New.
320         (valid_in_sets): Trapping nary operations are not valid
321         in blocks that may not return.
322         (insert_into_preds_of_block): Remove check for trapping
323         expressions.
324         (compute_avail): Compute also BB_MAY_NOTRETURN.
325
326 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
327
328         * doc/invoke.texi: Add 2010 to copyright years.
329
330 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
331
332         * config/sparc/sparc.c: Fix formatting nits.
333
334 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
335             Alexander Monakov  <amonakov@ispras.ru>
336
337         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
338
339 2010-01-02  Richard Guenther  <rguenther@suse.de>
340
341         PR middle-end/42577
342         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
343         (simplify_switch_using_ranges): Mark to be removed edges
344         as non-executable.
345
346 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
347
348         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
349
350         * collect2.c (scan_libraries): Add missing argument in call to
351         scan_prog_file.
352
353 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
354
355         PR target/42448
356         * config/alpha/predicates.md (aligned_memory_operand): Return false
357         for CQImode.
358         (unaligned_memory_operand): Return true for CQImode.
359         * config/alpha/alpha.c (get_aligned_mem): Assert that location
360         doesn not cross aligned SImode word boundary.
361
362 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
363
364         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
365         Remove.
366         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
367         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
368
369 2010-01-02  Richard Guenther  <rguenther@suse.de>
370
371         PR lto/41597
372         * toplev.c (compile_file): Emit LTO marker properly.  Change
373         it to __gnu_lto_v1.
374         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
375
376 2010-01-01  Richard Guenther  <rguenther@suse.de>
377
378         PR debug/42455
379         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
380
381 2010-01-01  Richard Guenther  <rguenther@suse.de>
382
383         PR c/42570
384         * c-decl.c (grokdeclarator): For zero-size arrays force
385         structural equality checks as layout_type does.
386
387 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
388
389         * builtins.c: Update copyright to 2010.
390
391 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
392
393         PR lto/42531
394         * lto-streamer-out.c (produce_asm): Revert the last change.
395         (copy_function): Likewise.
396
397         * lto-streamer.c (lto_get_section_name): Skip any leading
398         asterisk in name.
399
400 2010-01-01  Richard Guenther  <rguenther@suse.de>
401
402         PR middle-end/42559
403         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
404         for LABEL_DECLs.
405
406 \f
407 Copyright (C) 2010 Free Software Foundation, Inc.
408
409 Copying and distribution of this file, with or without modification,
410 are permitted in any medium without royalty provided the copyright
411 notice and this notice are preserved.