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