OSDN Git Service

2010-01-15 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-01-15  Richard Guenther  <rguenther@suse.de>
2
3         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
4
5 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
6
7         PR target/42747
8         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
9         to allow generation of the xssqrtdp instruction on power7.
10         (sqrtdf2_fpr): Ditto.
11
12 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
13
14         PR middle-end/42674
15         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
16         functions with noreturn attribute.
17
18         PR c++/42608
19         * varasm.c (declare_weak): Add weak attribute to decl if it
20         doesn't have one already.
21         (assemble_external): Only add decls to weak_decls if they also
22         have weak attribute.
23
24 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
25
26         * var-tracking.c (var_reg_delete): Don't delete the association
27         between REGs and values or one-part variables if the register
28         isn't clobbered.
29
30 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
31
32         PR debug/42657
33         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
34         because its first operand is a non-localized variable.
35
36 2010-01-14  Martin Jambor  <mjambor@suse.cz>
37
38         PR tree-optimization/42706
39         * tree-sra.c (encountered_recursive_call): New variable.
40         (encountered_unchangable_recursive_call): Likewise.
41         (sra_initialize): Initialize both new variables.
42         (callsite_has_enough_arguments_p): New function.
43         (scan_function): Call decl and flags check only for IPA-SRA, check
44         whether there is a recursive call and whether it has enough arguments.
45         (all_callers_have_enough_arguments_p): New function.
46         (convert_callers): Look for recursive calls only when
47         encountered_recursive_call is set.
48         (ipa_early_sra): Bail out either if
49         !all_callers_have_enough_arguments_p or
50         encountered_unchangable_recursive_call.
51
52 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
53
54         * sel-sched.c: Add 2010 to copyright years.
55         * sel-sched-ir.c: Likewise.
56         * sel-sched-ir.h: Likewise.
57
58 2010-01-14  Martin Jambor  <mjambor@suse.cz>
59
60         PR tree-optimization/42714
61         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
62         constructors specially.
63
64 2010-01-14  Andi Kleen  <ak@linux.intel.com>
65
66         * config/i386/drivers-i386.c (detect_caches_intel):
67         Add l2sizekb parameter and fill in.
68         (host_detect_local_cpu): Add l2sizekb, fill in.
69         Add Atom small cache heuristic.
70
71 2010-01-14  Andi Kleen  <ak@linux.intel.com>
72
73         * config/i386/drivers-i386.c (detect_caches_cpuid4):
74         Add level3 parameter and fill in.
75         (detect_caches_intel): Handle level3 cache.
76
77 2010-01-14  Andi Kleen  <ak@linux.intel.com>
78
79         * config/i386/drivers-i386.c (host_detect_local_cpu):
80         Fix core duo detection.
81
82 2010-01-14  Andi Kleen  <ak@linux.intel.com>
83
84         * config/i386/drivers-i386.c (host_detect_local_cpu):
85         Fix Atom detection.
86
87 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
88
89         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
90         (rs6000_variable_issue_1): this.  Use...
91         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
92
93 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
94
95         * sel-sched-ir.c (sel_restore_other_notes): Rename to
96         sel_restore_notes.  Update all callers.  Call reemit_notes
97         for all insns.
98
99 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
100
101         PR rtl-optimization/42246
102         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
103         loops.
104
105 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
106
107         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
108         all successors is the same as number of successors in current region.
109
110 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
111
112         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
113         to rename is not separable.  Otherwise check that its LHS is not NULL.
114
115 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
116
117         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
118
119 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
120
121         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
122         available registers when failed to discover LHS register class.
123         Fix indentation.  Update comment.
124
125 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
126             Alexander Monakov  <amonakov@ispras.ru>
127
128         PR rtl-optimization/42389
129         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
130         to can_issue_more.
131         (advance_state_on_fence): Likewise.
132         (sel_target_adjust_priority): Print debug output only when
133         sched_verbose >= 4, not 2.
134         (get_expr_cost): Do not issue all unique insns on the next cycle.
135         (fill_insns): Initialize can_issue_more from the value saved
136         with the fence.
137         * sel-sched-ir.c (flist_add): New parameter issue_more.
138         Init FENCE_ISSUE_MORE with it.
139         (merge_fences): Likewise.
140         (init_fences): Update call to flist_add.
141         (add_to_fences, add_clean_fence_to_fences)
142         (add_dirty_fence_to_fences): Likewise.
143         (move_fence_to_fences): Update call to merge_fences.
144         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
145         sched groups.
146         * sel-sched-ir.h (struct _fence): New field issue_more.
147         (FENCE_ISSUE_MORE): New accessor macro.
148
149 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
150
151         PR rtl-optimization/42388
152         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
153         that have no predecessors nor successors.  Do not call move_bb_info
154         for empty blocks outside of current region.
155
156 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
157
158         PR rtl-optimization/42294
159         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
160         * sel-sched.c (move_exprs_to_boundary): Transitively add all
161         originators' originators.
162
163 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
164
165         PR rtl-optimization/39453
166         PR rtl-optimization/42246
167         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
168         for pipelining_p.
169         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
170
171 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
172             Alexander Monakov  <amonakov@ispras.ru>
173
174         PR middle-end/42245
175         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
176         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
177         argument.  Update all callers.
178         (tidy_control_flow): ... and here.  Recompute topological order
179         of basic blocks in region if necessary.
180         (sel_redirect_edge_and_branch): Change return type.  Return true
181         if topological order might have been invalidated.
182         (purge_empty_blocks): Export and move from...
183         * sel-sched.c (purge_empty_blocks): ... here.
184         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
185         (maybe_tidy_empty_bb): Delete prototype.
186         (purge_empty_blocks): Declare.
187
188 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
189
190         PR rtl-optimization/42249
191         * sel-sched.c (try_replace_dest_reg): When chosen register
192         and original register is the same, do not bail out early, but
193         still check all original insns for validity of replacing destination
194         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
195         in this case.
196
197 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
198
199         PR c/42721
200         Port from no-undefined-overflow branch:
201         2009-03-09  Richard Guenther  <rguenther@suse.de>
202
203         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
204
205 2010-01-14  Richard Guenther  <rguenther@suse.de>
206
207         PR lto/42665
208         * gimple.c (iterative_hash_gimple_type): Avoid hashing
209         error_mark_node.
210
211 2010-01-14  Ira Rosen  <irar@il.ibm.com>
212
213         PR tree-optimization/42709
214         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
215         as scalar type in creation of constant vector operand.
216
217 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
218
219         PR testsuite/42414
220         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
221         (check-parallel-%): Match `testsuite' directory component only
222         at the end.
223
224 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
225
226         PR translation/39521
227         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
228         strings with _().
229
230 2010-01-13  Richard Guenther  <rguenther@suse.de>
231
232         PR tree-optimization/42730
233         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
234         offset zero.
235
236 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
237
238         PR target/pr42542
239         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
240         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
241         them signed.
242
243 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
244
245         * config/bfin/libgcc-bfin.ver: Regenerate based on current
246         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
247         ___umulsi3_highpart.
248
249         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
250         rather than schedule_insns if the pass is enabled.
251
252 2010-01-13  Martin Jambor  <mjambor@suse.cz>
253
254         PR tree-optimization/42704
255         * tree-sra.c (sra_modify_assign): Do not delete assignments to
256         SSA_NAMEs.
257
258 2010-01-13  Martin Jambor  <mjambor@suse.cz>
259
260         PR tree-optimization/42703
261         * tree-sra.c (analyze_access_subtree): Check that we can build a
262         reference to the original data within the aggregate.
263
264 2010-01-13  Richard Guenther  <rguenther@suse.de>
265
266         PR tree-optimization/42705
267         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after
268         labels.
269
270 2010-01-13  Richard Guenther  <rguenther@suse.de>
271
272         PR middle-end/42716
273         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
274
275 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
276
277         PR debug/41371
278         * var-tracking.c (values_to_unmark): New variable.
279         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
280         values_to_unmark vector.  Moved body to...
281         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
282         instead queue it into values_to_unmark vector.
283         (vt_find_locations): Free values_to_unmark vector.
284
285 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
286
287         * config/s390/s390.c (override_options): Set
288         default of max-pending-list-length to 256
289
290 2010-01-13  Richard Guenther  <rguenther@suse.de>
291
292         PR lto/42678
293         * tree-pass.h (PROP_gimple_lcx): New.
294         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
295         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
296         before the final cleanup_eh.
297         (dump_properties): Dump PROP_gimple_lcx.
298         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
299         (tree_lower_complex_O0): Remove.
300         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
301         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
302         tree_lower_complex, schedule TODO_update_ssa.
303         * lto-streamer-out.c (output_function): Stream the functions
304         properties.
305         * lto-streamer-in.c (input_function): Likewise.
306         (lto_read_body): Do not override them here.
307
308 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
309
310         PR c/42708
311         * c-typeck.c (build_c_cast): Fold value cast to union type before
312         wrapping it in a CONSTRUCTOR.
313
314 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
315
316         PR rtl-optimization/42699
317         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
318         involved.
319
320 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
321
322         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
323         SUBTARGET_WARN_UNUSED_SPEC): Move ...
324         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
325         SUBTARGET_WARN_UNUSED_SPEC): ... here
326         * config/mips/iris5.h (LIBGCC_SPEC): Define.
327
328 2010-01-12  Julian Brown  <julian@codesourcery.com>
329
330         * config/arm/neon-schedgen.ml (Utils): Don't try to
331         open missing module.
332         (find_with_result): New.
333
334 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
335
336         PR debug/42662
337         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
338         sharing when canonicalizing ({lt,ge}u (plus a b) b).
339
340         PR tree-optimization/42645
341         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
342         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
343         decl_map, set processing_debug_stmt to -1 and return name without
344         any remapping.
345
346 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
347
348         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
349         binutils version, and reword target configuration description.
350
351 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
352
353         * config/avr/avr.h (LINKER_NAME): Remove.
354
355 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
356
357         PR target/42416
358         * config/rs6000/rs6000.c (rs6000_override_options): On targets
359         that support VSX, warn for -mno-altivec if vsx is not disabled,
360         and disable vsx.
361
362 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
363             Shujing Zhao  <pearly.zhao@oracle.com>
364
365         PR translation/42469
366         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
367         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
368         character between option name and help text.
369         * c.opt (imultilib): Likewise.
370
371 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
372
373         * lto-streamer-out.c (output_unreferenced_globals): Output static
374         variables.
375
376 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
377
378         PR rtl-optimization/42621
379         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
380         optimizing for size.
381         (duplicate_computed_gotos): Remove now-redundant check.
382
383 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
384
385         PR target/37454
386         * configure.ac: Save and restore LDFLAGS and LIBS
387         * configure: Regenerate.
388
389 2010-01-10  Richard Guenther  <rguenther@suse.de>
390
391         PR middle-end/42667
392         * builtins.c (fold_builtin_strlen): Add type argument and
393         convert the resulting length to it.
394         (fold_builtin_1): Adjust.
395
396 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
397
398         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
399         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
400         1 insn.
401         (num_insns_constant_wide): Adjust for that change.
402
403 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
404
405         PR debug/42631
406         * web.c (union_defs): Add used argument, to combine uses of
407         uninitialized regs.
408         (entry_register): Adjust type and tests of used argument.
409         (web_main): Widen used for new use.  Pass it to union_defs.
410         * df.h (union_defs): Adjust prototype.
411
412 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
413
414         PR debug/42630
415         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
416         uses in new incoming argument.  Free body.
417         (reset_debug_uses_in_loop): New.
418         (analyze_insn_to_expand_var): Call the latter if the former found
419         anything.  Fix whitespace.  Reject invalid dest overlaps before
420         going through all insns in the loop.
421
422 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
423
424         PR debug/42629
425         * haifa-sched.c (dying_use_p): Debug insns don't count.
426
427 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
428
429         PR middle-end/42363
430         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
431         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
432         (verify_gimple_call): Reject LHS in noreturn calls.
433
434 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
435
436         PR debug/42604
437         PR debug/42395
438         * tree-vect-loop-manip.c (adjust_info): New type.
439         (adjust_vec): New pointer to vector.
440         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
441         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
442         (slpeel_update_phis_for_duplicate_loop): Use them.
443         (slpeel_update_phi_nodes_for_guard1): Likewise.
444         (slpeel_update_phi_nodes_for_guard2): Likewise.
445         (slpeel_tree_peel_loop_to_edge): Likewise.
446         (vect_update_ivs_after_vectorizer): Likewise.
447
448 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
449
450         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
451         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
452
453 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
454
455         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
456         bogus uninitialized warning.
457
458 2010-01-09  Richard Guenther  <rguenther@suse.de>
459
460         PR middle-end/42512
461         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
462         the evolution is compatible with the initial condition.
463
464 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
465
466         * gcc.c (process_command): Update copyright notice dates.
467         * gcov.c (print_version): Likewise.
468         * gcov-dump.c (print_version): Likewise.
469         * mips-tfile.c (main): Likewise.
470         * mips-tdump.c (main): Likewise.
471
472 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
473
474         PR target/41885
475         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
476         (rotlhi3): Delete.
477         (rotlhi3_8): Delete.
478         (rotlsi3): Delete.
479         (rotlsi3_8): Delete.
480         (rotlsi3_16): Delete.
481         (rotlsi3_24): Delete.
482         (rotl<mode>3): New.
483         (*rotw<mode>3): New.
484         (*rotb<mode>3): New.
485         * config/avr/avr.c (avr_rotate_bytes): New function.
486         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
487
488 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
489
490         PR target/37454
491         * configure.ac: Modify -rdynamic check.
492         * configure: Regenerate.
493
494 2010-01-08  DJ Delorie  <dj@redhat.com>
495
496         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
497         register popping order.
498
499 2010-01-08  Richard Guenther  <rguenther@suse.de>
500
501         PR lto/42528
502         * c.opt (fsigned-char): Also let LTO handle this option.
503         (funsigned-char): Likewise.
504
505 2010-01-07  Richard Guenther  <rguenther@suse.de>
506
507         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
508         (gimple_op): Likewise.
509         (gimple_op_ptr): Likewise.
510         (gimple_assign_set_lhs): Remove gcc_assert.
511         (gimple_assign_set_rhs1): Likewise.
512         (gimple_assign_set_rhs2): Likewise.
513         (gimple_call_set_lhs): Likewise.
514         (gimple_call_set_fn): Likewise.
515         (gimple_call_set_fndecl): Likewise.
516         (gimple_call_fndecl): Likewise.
517         (gimple_call_return_type): Likewise.
518         (gimple_call_set_chain): Likewise.
519         (gimple_call_num_args): Likewise.
520         (gimple_call_set_arg): Likewise.
521         (gimple_cond_set_code): Likewise.
522         (gimple_cond_set_lhs): Likewise.
523         (gimple_cond_set_rhs): Likewise.
524         (gimple_cond_set_true_label): Likewise.
525         (gimple_cond_set_false_label): Likewise.
526         (gimple_label_set_label): Likewise.
527         (gimple_goto_set_dest): Likewise.
528         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
529         (gimple_debug_bind_get_value): Likewise.
530         (gimple_debug_bind_get_value_ptr): Likewise.
531         (gimple_debug_bind_set_var): Likewise.
532         (gimple_debug_bind_set_value): Likewise.
533         (gimple_debug_bind_reset_value): Likewise.
534         (gimple_debug_bind_has_value_p): Likewise.
535         (gimple_return_retval_ptr): Remove gcc_assert.
536         (gimple_return_retval): Likewise.
537         (gimple_return_set_retval): Likewise.
538         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
539         (safe_referenced_var_iterator): Remove.
540         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
541         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
542         (fill_referenced_var_vec): Remove.
543         (first_readonly_imm_use): Remove redundant gcc_assert.
544         (phi_arg_index_from_use): Combine gcc_asserts.
545         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
546         (first_imm_use_stmt): Remove redundant gcc_assert.
547         * tree-cfg.c (verify_gimple_call): Verify function and chain
548         operands.  Verify arguments.
549         (verify_types_in_gimple_stmt): Verify condition code and labels.
550
551 2010-01-07  Richard Guenther  <rguenther@suse.de>
552
553         PR tree-optimization/42641
554         * sese.c (rename_map_elt_info): Use the SSA name version, do
555         not hash pointers.
556
557 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
558
559         PR tree-optimization/42625
560         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
561         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body
562         aliases.
563
564 2010-01-07  Duncan Sands  <baldrick@free.fr>
565
566         * Makefile.in (PLUGIN_HEADERS): Add version.h.
567
568 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
569
570         PR target/42511
571         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
572         note itself is not function_invariant_p.
573
574 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
575
576         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
577         Do not add the DF_NOTE problem.
578         * store-motion.c (execute_rtl_store_motion): Likewise.
579
580 2010-01-07  Martin Jambor  <mjambor@suse.cz>
581
582         PR tree-optimization/42157
583         * tree-sra.c (compare_access_positions): Stabilize sort if both
584         accesses have integer types, return zero immediately if they are the
585         same.
586
587 2010-01-06  Richard Henderson  <rth@redhat.com>
588
589         PR middle-end/41883
590         * haifa-sched.c (add_to_note_list): Merge into ...
591         (concat_note_lists): ... here, and ...
592         (unlink_other_notes, rm_other_notes): Merge into...
593         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
594         NOTE_INSN_EPILOGUE_BEG.
595
596 2010-01-06  Richard Guenther  <rguenther@suse.de>
597
598         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
599         not inline regular functions into always-inline functions.
600
601 2010-01-06  Nick Clifton  <nickc@redhat.com>
602
603         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
604         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
605         used together.
606         (OVERRIDE_OPTIONS): Delete.
607         (OPTIMIZATION_OPTIONS): Define.
608         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
609         * config/rx/rx.c (rx_handle_option): Issue an error message if
610         -mcpu=rx200 and -fpu are used together.
611         (rx_set_optimization_options): New function.  Issue an error
612         message if an optimization attribute attempts to reset the FPU/
613         math optimization pairing.
614         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
615         * config/rx/rx.opt: Set the default to 32-bit doubles.
616         * config/rx/t-rx: Add multilibs for -nofpu option.
617         * doc/invoke.texi: Update documentation of RX options.
618
619 2010-01-06  Richard Guenther  <rguenther@suse.de>
620
621         * tree-ssa-pre.c (name_to_id): New global.
622         (alloc_expression_id): Simplify SSA name handling.
623         (lookup_expression_id): Likewise.
624         (init_pre): Zero name_to_id.
625         (fini_pre): Free it.
626
627 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
628
629         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
630
631 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
632
633         PR target/42542
634         * config/i386/sse.md (smaxv2di3): New.
635         (umaxv2di3): Likewise.
636         (sminv2di3): Likewise.
637         (uminv2di3): Likewise.
638
639 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
640
641         PR target/42564
642         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
643         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
644         (legitimize_tls_address): Likewise.
645         (sparc_tls_referenced_p): Likewise.
646         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
647         and adjust calls to legitimize_pic_address.
648         (legitimate_constant_p) Use sparc_tls_referenced_p.
649         (legitimate_pic_operand_p): Likewise.
650         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
651         (sparc_tls_symbol_ref_1): Delete.
652         (sparc_tls_referenced_p): Make static, recognize specific patterns.
653         (legitimize_tls_address): Make static, handle CONST patterns.
654         (legitimize_pic_address): Make static, remove unused parameter and
655         adjust recursive calls.
656         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
657         and adjust call to legitimize_pic_address.
658         (sparc_output_mi_thunk): Likewise.
659
660 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
661             H.J. Lu  <hongjiu.lu@intel.com>
662
663         PR target/42542
664         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
665         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
666         operands to make them signed.
667
668         Revert:
669         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
670
671         PR target/42542
672         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
673         GTU to GT for V4SI and V2DI.
674
675         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
676         (umin<mode>3): Removed.
677         (uminv8hi3): New.
678         (uminv4si3): Likewise.
679
680 2010-01-05  Martin Jambor  <mjambor@suse.cz>
681
682         PR tree-optimization/42462
683         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
684         current_function_decl to helper functions and macros.
685
686 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
687
688         PR bootstrap/41771
689         * flags.h: Don't include real.h.
690         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
691         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
692         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
693         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
694         * dominance.c: Update copyright.
695         * gimple.c (walk_gimple_op): Remove inline.
696         * tree-ssa-reassoc.c: Include real.h.
697         * Makefile.in (FLAGS_H): Remove $(REAL_H).
698         (tree-ssa-reassoc.o): Depend on $(REAL_H).
699
700 2010-01-05  Nick Clifton  <nickc@redhat.com>
701
702         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
703         register to push into the stack frame when the accumulator has to
704         be saved during interrupts.
705
706 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
707
708         * doc/invoke.texi: Remove the documentation about option
709         -Wunreachable-code.
710         * common.opt (Wunreachable-code):  Preserved for backward
711         compatibility.
712         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
713         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
714         the backward compatibility flag section.
715
716 2010-01-05  Richard Guenther  <rguenther@suse.de>
717
718         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
719
720 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
721
722         PR other/42611
723         * cfgexpand.c (expand_one_var): Diagnose too large variables.
724
725         PR tree-optimization/42508
726         * tree-sra.c (convert_callers): Check for recursive call
727         by comparing cgraph nodes instead of decls.
728         (modify_function): Call ipa_modify_formal_parameters also
729         on all same_body aliases.
730
731         * cgraphunit.c (cgraph_materialize_all_clones): Compare
732         cgraph nodes when checking for same_body aliases.
733
734 2010-01-05  Richard Guenther  <rguenther@suse.de>
735
736         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
737         allocation and lookup.
738         (get_or_alloc_expr_for_constant): Likewise.
739         (phi_translate): Sink allocation.
740
741 2010-01-04  Richard Guenther  <rguenther@suse.de>
742
743         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
744         a new entry only if needed.
745         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
746         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
747         hashtable lookup.
748         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
749         the result array.
750         (phi_translate): Handle CONSTANTs early.
751
752 2010-01-04  Martin Jambor  <mjambor@suse.cz>
753
754         PR tree-optimization/42398
755         * tree-sra.c (struct access): Removed flag grp_different_types.
756         (dump_access): Do not dump the removed flag.
757         (sort_and_splice_var_accesses): Do not set the removed flag.
758         (sra_modify_expr): Check for type compatibility directly.
759
760 2010-01-04  Martin Jambor  <mjambor@suse.cz>
761
762         PR tree-optimization/42366
763         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
764         edges with variable number of parameters.
765         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
766         flag instead of asserting it.
767         (ipa_read_node_info): Read uses_analysis_done flag.
768
769 2010-01-04  Richard Guenther  <rguenther@suse.de>
770
771         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
772         iterative_hash_* as intended.
773         (vn_reference_compute_hash): Likewise.  Simplify hashing
774         SSA names.
775         (vn_reference_lookup_2): Likewise.
776         (vn_nary_op_compute_hash): Likewise.
777         (vn_phi_compute_hash): Likewise.
778         (expressions_equal_p): Remove strange code.
779         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
780         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
781         (bitmap_insert_into_set_1): Take value-id as parameter.
782         (add_to_value): Pass it.
783         (bitmap_insert_into_set): Likewise.
784         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
785
786 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
787
788         PR driver/42442
789         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
790         (do_self_spec): For switches with SWITCH_IGNORE set set also
791         SWITCH_IGNORE_PERMANENTLY.
792         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
793         of SWITCH_IGNORE.
794
795 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
796
797         * lto-streamer-out.c (output_unreferenced_globals): Output the full
798         tree of an unreferenced global var.
799
800 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
801
802         PR target/42542
803         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
804         GTU to GT for V4SI and V2DI.
805
806         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
807         (umin<mode>3): Removed.
808         (uminv8hi3): New.
809         (uminv4si3): Likewise.
810
811 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
812
813         PR lto/42581
814         * collect2.c (main): Turn on trace in collect2 if -v is passed
815         to gcc with LTO.
816
817 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
818
819         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
820         description of expression operand.
821
822 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
823
824         * configure.ac: Add install-html to target_list for Make-hooks.
825         * configure: Regenerate.
826         * fortran/Make-lang.in (F95_HTMLFILES): New.
827         (fortran.html): Use it.
828         (fortran.install-html): New.
829         * Makefile.in (install-html): Add lang.install-html.
830         * java/Make-lang.in (JAVA_HTMLFILES): New.
831         (java.html): Use it.
832         (java.install-html): New.
833         * objc/Make-lang.in (objc.install-html): New.
834         * objcp/Make-lang.in (obj-c++.install-html): New.
835         * cp/Make-lang.in (c++.install-html): New.
836         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
837         * lto/Make-lang.in (lto.install-html): New.
838
839 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
840
841         PR lto/42520
842         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
843
844 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
845
846         PR rtl-optimization/41862
847         * store-motion.c (store_killed_in_insn, compute_store_table,
848         remove_reachable_equiv_notes, replace_store_insn,
849         build_store_vectors): Ignore all DEBUG_INSNs.
850
851 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
852
853         PR lto/41564
854         * common.opt: Add dumpdir.
855
856         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
857         isn't specified.
858         (option_map): Add --dumpdir.
859
860         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
861
862         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
863
864         * opts.c (decode_options): Try dump_dir_name first if
865         dump_base_name isn't an absolute path.
866         (common_handle_option): Handle OPT_dumpdir.
867
868         * toplev.c (dump_dir_name): New.
869         (print_switch_values): Also ignore -dumpdir.
870
871         * toplev.h (dump_dir_name): New.
872
873 2010-01-03  Richard Guenther  <rguenther@suse.de>
874
875         PR tree-optimization/42589
876         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
877         double-word expansion of bswap32.
878
879 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
880
881         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
882         with BLOCK_FOR_INSN.
883         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
884         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
885         noce_process_if_block): Likewise.
886         * gcse.c (compute_local_properties, insert_expr_in_table,
887         insert_set_in_table, canon_list_insert, find_avail_set,
888         pre_insert_copy_insn): Likewise.
889
890         * basic-block.h (BLOCK_NUM): Move from here...
891         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
892
893 2010-01-03  Richard Guenther  <rguenther@suse.de>
894
895         PR tree-optimization/42438
896         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
897         contains_may_not_return_call flag.
898         (BB_MAY_NOTRETURN): New.
899         (valid_in_sets): Trapping nary operations are not valid
900         in blocks that may not return.
901         (insert_into_preds_of_block): Remove check for trapping
902         expressions.
903         (compute_avail): Compute also BB_MAY_NOTRETURN.
904
905 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
906
907         * doc/invoke.texi: Add 2010 to copyright years.
908
909 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
910
911         * config/sparc/sparc.c: Fix formatting nits.
912
913 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
914             Alexander Monakov  <amonakov@ispras.ru>
915
916         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
917
918 2010-01-02  Richard Guenther  <rguenther@suse.de>
919
920         PR middle-end/42577
921         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
922         (simplify_switch_using_ranges): Mark to be removed edges
923         as non-executable.
924
925 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
926
927         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
928
929         * collect2.c (scan_libraries): Add missing argument in call to
930         scan_prog_file.
931
932 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
933
934         PR target/42448
935         * config/alpha/predicates.md (aligned_memory_operand): Return false
936         for CQImode.
937         (unaligned_memory_operand): Return true for CQImode.
938         * config/alpha/alpha.c (get_aligned_mem): Assert that location
939         doesn not cross aligned SImode word boundary.
940
941 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
942
943         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
944         Remove.
945         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
946         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
947
948 2010-01-02  Richard Guenther  <rguenther@suse.de>
949
950         PR lto/41597
951         * toplev.c (compile_file): Emit LTO marker properly.  Change
952         it to __gnu_lto_v1.
953         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
954
955 2010-01-01  Richard Guenther  <rguenther@suse.de>
956
957         PR debug/42455
958         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
959
960 2010-01-01  Richard Guenther  <rguenther@suse.de>
961
962         PR c/42570
963         * c-decl.c (grokdeclarator): For zero-size arrays force
964         structural equality checks as layout_type does.
965
966 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
967
968         * builtins.c: Update copyright to 2010.
969
970 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
971
972         PR lto/42531
973         * lto-streamer-out.c (produce_asm): Revert the last change.
974         (copy_function): Likewise.
975
976         * lto-streamer.c (lto_get_section_name): Skip any leading
977         asterisk in name.
978
979 2010-01-01  Richard Guenther  <rguenther@suse.de>
980
981         PR middle-end/42559
982         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
983         for LABEL_DECLs.
984
985 \f
986 Copyright (C) 2010 Free Software Foundation, Inc.
987
988 Copying and distribution of this file, with or without modification,
989 are permitted in any medium without royalty provided the copyright
990 notice and this notice are preserved.