OSDN Git Service

5c44f16f32560564240885218534abb7f46da449
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2010-02-19  Jason Merrill  <jason@redhat.com>
2
3         PR target/40332
4         * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
5         * configure: Likewise.
6
7 2010-02-20  Alan Modra  <amodra@gmail.com>
8
9         PR middle-end/42344
10         * cgraph.h (cgraph_make_decl_local): Declare.
11         * cgraph.c (cgraph_make_decl_local): New function.
12         (cgraph_make_node_local): Use it.
13         * cgraphunit.c (cgraph_function_versioning): Likewise.
14         * ipa.c (function_and_variable_visibility): Likewise.
15
16 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
17
18         PR bootstrap/43121
19         * except.c (sjlj_emit_function_enter): Don't call
20         add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
21         directly.
22         * rtl.h (add_reg_br_prob_note): Remove prototype.
23
24 2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
25
26         PR 41779
27         * c-common.c (conversion_warning): Remove widening conversions
28         before checking the conversion of integers to reals.
29
30 2010-02-19  Mike Stump  <mikestump@comcast.net>
31
32         PR objc/43061
33         * cgraphunit.c (process_function_and_variable_attributes): Check
34         DECL_PRESERVE_P instead of looking up attribute "used".
35         * ipa-pure-const.c (check_decl): Likewise.
36         * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
37         * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
38         * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
39         instead of attribute "used".
40         * config/sol2-c.c (solaris_pragma_init): Likewise.
41         (solaris_pragma_fini): Likewise.
42
43 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
44
45         * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
46         Use XCNEW instead of xcalloc.
47         (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
48         XNEW instead of xmalloc.
49         (get_fields): Use XNEWVEC instead of xmalloc.
50
51         PR debug/43084
52         * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
53         populate vars array.
54         (create_new_general_access): For debug stmts just reset value.
55         (get_stmt_accesses): For accesses within debug stmts just record them
56         using add_access_to_acc_sites instead of preventing the peeling or
57         counting them as accesses.
58
59         PR middle-end/42233
60         * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
61
62 2010-02-19  Richard Guenther  <rguenther@suse.de>
63
64         PR tree-optimization/42916
65         * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
66         instructions.
67
68 2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
69
70         * configure.ac: Replace all uses of changequote in macro arguments
71         with proper quoting.
72
73 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
74
75         PR middle-end/42233
76         * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
77
78 2010-02-19  Richard Guenther  <rguenther@suse.de>
79
80         PR tree-optimization/42944
81         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
82         test for aliasing with errno.
83
84 2010-02-19  Jakub Jelinek  <jakub@redhat.com>
85
86         PR middle-end/42233
87         * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
88         do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
89         * dojump.c: Include output.h.
90         (inv): New inline function.
91         (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
92         do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
93         do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
94         do_jump_by_parts_equality, do_compare_and_jump): Add PROB
95         argument, pass it down to other calls.
96         (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
97         add REG_BR_PROB note to the conditional jump.
98         * cfgexpand.c (add_reg_br_prob_note): Removed.
99         (expand_gimple_cond): Don't call it, add the probability
100         as last argument to jumpif_1/jumpifnot_1.
101         * Makefile.in (dojump.o): Depend on output.h.
102         * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
103         callers.
104         * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
105         * stmt.c (do_jump_if_equal): Likewise.
106         * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
107         * loop-unswitch.c (compare_and_jump_seq): Likewise.
108         * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
109         Likewise.
110         * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
111         * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
112         jumpifnot_1 callers.
113         (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
114         callers.
115         (store_expr): Adjust jumpifnot caller.
116         (store_constructor): Adjust jumpif caller.
117
118         PR middle-end/42233
119         * gimplify.c (gimple_boolify): For __builtin_expect call
120         gimple_boolify also on its first argument.
121
122 2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
123
124         * configure.ac (gnu-unique-object): Wrap regexps using [] in
125         changequote block.
126         (__stack_chk_fail): Ditto.  Remove quadrigraphs.
127         * configure: Regenerated.
128
129 2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
130
131         * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
132         lang_hooks.types_compatible_p instead of comptypes.
133
134 2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
135
136         * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
137         (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
138         if __prefer_thumb__ is defined.
139
140 2010-02-18  Martin Jambor  <mjambor@suse.cz>
141
142         PR tree-optimization/43066
143         * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
144         array with zero-sized element type.
145
146 2010-02-18  Jakub Jelinek  <jakub@redhat.com>
147
148         * dwarf2out.c (add_var_loc_to_decl): Change last argument to
149         rtx, allocate struct var_loc_node here and return it to the
150         caller, and only if it is actually needed.
151         (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
152         move it earlier and return immediately if it returns NULL.
153
154 2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
155
156         * config/sparc/gas.h: New file.  Restore
157         TARGET_ASM_NAMED_SECTION to its ELF default.
158         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
159         check !HAVE_GNU_AS.
160         * config/sparc/sparc.c (sparc_elf_asm_named_section):
161         Likewise.  Add ATTRIBUTE_UNUSED to prototype.
162         * config.gcc (sparc*-*-linux*): Include sparc/gas.h
163         after sparc/sysv4.h.
164
165 2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
166
167         * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
168
169 2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
170
171         * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
172         patterns from predicated pattern.
173
174 2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
175
176         PR target/43103
177         * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
178         for insn mnemonic suffix.
179
180 2010-02-17  Richard Guenther  <rguenther@suse.de>
181
182         * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
183         to loop PHI nodes.
184
185 2010-02-17  Jakub Jelinek  <jakub@redhat.com>
186
187         PR debug/42918
188         * caller-save.c (save_call_clobbered_regs): If BB ends with
189         a DEBUG_INSN, move any notes in between last real insn and the last
190         DEBUG_INSN after the last DEBUG_INSN.
191
192 2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
193
194         * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
195         Fix return type.  Fix argument type.  Explain meaning of return value.
196
197 2010-02-16  Richard Guenther  <rguenther@suse.de>
198
199         PR tree-optimization/41043
200         * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
201         (vrp_visit_assignment_or_call): Do not ask SCEV for regular
202         statements ...
203         (vrp_visit_phi_node): ... but only for loop PHI nodes.
204
205 2010-02-16  Ira Rosen <irar@il.ibm.com>
206
207         PR tree-optimization/43074
208         * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
209         * tree-vect-loop.c (vect_analyze_loop_operations): Add
210         vectorizable cycles in hybrid SLP check.
211         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
212
213 2010-02-16  Richard Guenther  <rguenther@suse.de>
214
215         * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
216         (true_dependence): If memrefs_conflict_p computes must-alias
217         trust it.  Move TBAA check after offset-based disambiguation.
218         (canon_true_dependence): Likewise.
219
220 2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
221
222         * params.def (PARAM_MAX_VARTRACK_SIZE): New.
223         * doc/invoke.texi: Document it.
224         * var-tracking.c: Include toplev.h and params.h.
225         (vt_find_locations): Return bool indicating success.  Compute
226         hash sizes unconditionally.  Check new parameter, report.
227         (variable_tracking_main_1): Check vt_find_locations results and
228         retry.  Renamed from...
229         (variable_tracking_main): ... this.  New wrapper to preserve
230         flag_var_tracking_assignments.
231         * Makefile.in (var-tracking.o): Adjust dependencies.
232
233 2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
234             Jakub Jelinek <jakub@redhat.com>
235
236         PR target/42854
237         * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
238         if weak_import attribute is present.
239         * config/darwin.c (machopic_select_section): Likewise.
240
241 2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
242
243         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
244         (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
245         (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
246         (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
247
248         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument types.
249
250         * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
251         Fix argument types.
252
253         * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
254         Rewrite text to refer to the names.
255
256 2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
257
258         * config/i386/i386-builtin-types.def
259         (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
260         (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
261         (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
262         (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
263         * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
264         IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
265         IX86_BUILTIN_VPERMIL2PS256.
266         (MULTI_ARG_4_DF2_DI_I): Defined.
267         (MULTI_ARG_4_DF2_DI_I1): Defined.
268         (MULTI_ARG_4_SF2_SI_I): Defined.
269         (MULTI_ARG_4_SF2_SI_I1): Defined.
270         (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
271         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
272         __builtin_ia32_vpermil2ps256.
273         (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
274         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
275         MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
276         (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
277         MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
278         MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
279         CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
280         CODE_FOR_xop_vpermil2v8sf3.
281         * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
282         * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
283         * config/i386/xopintrin.h (_mm_permute2_pd): New.
284         (_mm256_permute2_pd): New.
285         (_mm_permute2_ps): New.
286         (_mm256_permute2_ps): New.
287
288 2010-02-15  Nick Clifton  <nickc@redhat.com>
289
290         * config/h8300/h8300.c: (h8300_push_pop): Use bool type for
291         boolean parameters.  Use emit_jump_insn when emitting a pop
292         instruction containing a return insn.
293         (push): Use 'true' rather than '1' as second parameter to F.
294         (h8300_expand_prologue): Likewise.
295         Use 'true' and 'false' for boolean parameters to h8300_push_pop.
296         (h8300_expand_epilogue): Likewise.
297
298 2010-02-15  Richard Guenther  <rguenther@suse.de>
299
300         PR middle-end/43068
301         * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
302         if that is zero.
303
304 2010-02-15  Nick Clifton  <nickc@redhat.com>
305
306         * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
307         delta.
308
309 2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
310
311         * intl.c (fake_ngettext): New function.
312         * intl.h (fake_ngettext): Declare.
313         (ngettext): Define macro.
314         * collect2.c (notice_translated): New function.
315         (main): Use notice_translated and ngettext.
316         * collect2.h (notice_translated): Declare.
317
318 2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
319
320         * reorg.c (delete_computation): Comment fixes.
321         * caller-save.c (setup_save_areas): Idem.
322         * sel-sched-dump.c (dump_lv_set): Idem.
323         * rtl.def: Idem.
324
325 2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
326
327         * config/s390/s390.c (s390_sched_init): New function.
328         (TARGET_SCHED_INIT): Target hook defined.
329
330 2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
331             Jack Howarth  <howarth@bromo.med.uc.edu>
332             Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
333
334         PR target/42982
335         Partial revert of unintended change in fix for PR41605.
336         * config/darwin.h: Fix typo.
337         * config/darwin9.h: Same.
338
339 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
340
341         * c-pch.c (pch_init): Clear v.
342
343 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
344
345         PR middle-end/42930
346         * graphite-scop-detection.c (graphite_can_represent_scev): Call
347         graphite_can_represent_init for MULT_EXPR.
348
349 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
350
351         PR middle-end/42914
352         PR middle-end/42530
353         * graphite-sese-to-poly.c (remove_phi): New.
354         (translate_scalar_reduction_to_array): Call remove_phi.
355
356 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
357
358         PR middle-end/42771
359         * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
360         * graphite-clast-to-gimple.h (gloog): Update declaration.
361         * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
362         * graphite-poly.h (struct poly_bb): Add missing comments.
363         (struct scop): Add poly_scop_p field.
364         (POLY_SCOP_P): New.
365         * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
366         * graphite.c (graphite_transform_loops): Build the polyhedral
367         representation for each scop before code generation.
368         * sese.c (rename_variables_in_operand): Removed.
369         (rename_variables_in_expr): Return the renamed expression.
370         (rename_sese_parameters): New.
371         * sese.h (rename_sese_parameters): Declared.
372
373 2010-02-11  Richard Guenther  <rguenther@suse.de>
374
375         PR tree-optimization/42998
376         * tree-ssa-pre.c (create_expression_by_pieces): Treat
377         POINTER_PLUS_EXPR properly.
378
379 2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
380             Changpeng Fang  <changpeng.fang@amd.com>
381
382         PR middle-end/40886
383         * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
384         the cost of an IV candidate when the IV is used in a test against zero.
385
386         * gcc.dg/tree-ssa/ivopts-3.c: New.
387
388 2010-02-11  Richard Guenther  <rguenther@suse.de>
389
390         PR lto/41664
391         * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
392         pointer-vs-decl case by swapping refs.  Handle some cases
393         of pointer-vs-decl disambiguations more conservatively.
394         * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
395         to false after expanding.
396
397 2010-02-11  Richard Guenther  <rguenther@suse.de>
398
399         PR driver/43021
400         * gcc.c (process_command): Handle LTO file@offset case more
401         appropriately.
402
403 2010-02-11  Jakub Jelinek  <jakub@redhat.com>
404
405         * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
406         modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
407         of DEBUG_INSNs.
408         (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
409
410         * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
411         if MEM's mode size isn't DWARF2_ADDR_SIZE.
412         (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
413         Optimize eq/ne comparisons when both arguments are known to be
414         zero-extended.
415         (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
416         Don't mask operands unnecessarily if they are known to be already
417         zero-extended.
418
419 2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
420
421         * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
422         instead of loop.
423
424 2010-02-10  Richard Guenther  <rguenther@suse.de>
425
426         PR tree-optimization/43017
427         * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
428         for wrapping signed arithmetic.
429
430 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
431
432         PR debug/43010
433         * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
434         if no debug info should be emitted for it.
435
436 2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
437
438         * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
439         note when flag_exceptions is set.
440
441 2010-02-10  Duncan Sands  <baldrick@free.fr>
442
443         * Makefile.in (PLUGIN_HEADERS): Add debug.h.
444
445 2010-02-10  Richard Guenther  <rguenther@suse.de>
446
447         PR c/43007
448         * tree.c (get_unwidened): Handle constants.
449         * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
450
451 2010-02-10  Martin Jambor  <mjambor@suse.cz>
452
453         PR lto/42985
454         * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
455         check for variable argument counts independently.
456
457 2010-02-10  Christian Bruel  <christian.bruel@st.com>
458
459         PR target/42841
460         * config/sh/sh.c (find_barrier): Increase length for non delayed
461         conditional branches.
462
463 2010-02-10  Christian Bruel  <christian.bruel@st.com>
464
465         * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
466
467 2010-02-10  Jakub Jelinek  <jakub@redhat.com>
468
469         * builtins.c (set_builtin_user_assembler_name): Also handle
470         ffs if int is smaller than word.
471
472 2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
473
474         PR middle-end/42973
475         * ira-conflicts.c (get_dup): Remove.
476         (process_reg_shuffles): Add new parameter.  Use it as an
477         additional guard for copy generation.
478         (add_insn_allocno_copies): Rewrite.
479
480 2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
481
482         * common.opt (fsched2-use-traces): Preserved for backward
483         compatibility.
484         * doc/invoke.texi: Remove the documentation about option
485         -fsched2-use-traces.
486         * sched-rgn.c (rest_of_handle_sched2): Remove usage of
487         flag_sched2_use_traces.
488         * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
489         the backward compatibility flag section.
490
491 2010-02-09  Richard Guenther  <rguenther@suse.de>
492
493         PR tree-optimization/43008
494         * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
495         make HEAP variables initialized from global memory if they
496         are not known builtin functions.
497         (find_func_aliases): Adjust.
498
499 2010-02-09  Richard Guenther  <rguenther@suse.de>
500
501         PR tree-optimization/43000
502         * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
503         arithmetic manually.
504
505 2010-02-08  Jakub Jelinek  <jakub@redhat.com>
506
507         PR tree-optimization/42931
508         * tree-loop-linear.c (try_interchange_loops): Don't call
509         double_int_mul if estimated_loop_iterations failed.
510
511 2010-02-08  Martin Jambor  <mjambor@suse.cz>
512
513         PR middle-end/42898
514         * tree-sra.c (build_accesses_from_assign): Do not mark in
515         should_scalarize_away_bitmap if stmt has volatile ops.
516         (sra_modify_assign): Do not process assigns piecemeal if if stmt
517         has volatile ops.
518
519 2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
520
521         * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
522
523 2010-02-07  Adam Nemet  <adambnmet@gmail.com>
524
525         * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
526         before the pattern.
527
528 2010-02-07  Andrew Pinski  <pinskia@gmail.com>
529
530         PR middle-end/42946
531         * df-core.c (df_finish_pass): Change type of saved_flags to int.
532
533 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
534
535         PR middle-end/42988
536         * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
537         to unknown_dependence.
538         (graphite_legal_transform_dr): Handle the unknown_dependence.
539         (graphite_carried_dependence_level_k): Same.
540
541 2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
542
543         * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
544
545 2010-02-07  Richard Guenther  <rguenther@suse.de>
546
547         PR middle-end/42991
548         * expr.c (get_inner_reference): Always initialize *pbitsize.
549
550 2010-02-07  Richard Guenther  <rguenther@suse.de>
551
552         PR middle-end/42956
553         * gimplify.c (gimple_fold_indirect_ref): Avoid generating
554         new ARRAY_REFs on variable size element or minimal index arrays.
555         Complete.
556         * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
557         gimple_fold_indirect_ref.
558
559 2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
560
561         PR target/42957
562         * arm.c (arm_override_options): Just return if the user has specified
563         an invalid fpu name.
564
565 2010-02-03  Jason Merrill  <jason@redhat.com>
566
567         PR c++/42870
568         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
569         i386_pe_maybe_record_exported_symbol.
570
571 2010-02-05  Steve Ellcey  <sje@cup.hp.com>
572
573         PR target/42924
574         * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
575         (pa_delegitimize_address): New function.
576
577 2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
578
579         * config/i386/msformat-c.c (ms_printf_length_specs): Set the
580         scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
581
582 2010-02-05  Richard Guenther  <rguenther@suse.de>
583
584         PR lto/42762
585         * lto-streamer-in.c (get_resolution): Deal with references
586         to undefined functions.
587
588 2010-02-05  Richard Guenther  <rguenther@suse.de>
589
590         * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
591         (fold_const_aggregate_ref): Likewise.
592         (ccp_fold_stmt): Substitute loads.
593         (maybe_fold_reference): Verify types before substituting.
594         Unshare properly.
595         (fold_gimple_assign): Unshare properly.
596         (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
597
598 2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
599
600         * config/rs6000/rs6000.c (rs6000_override_options): Invert check
601         for rs6000_gen_cell_microcode.
602
603 2010-02-04  Richard Guenther  <rguenther@suse.de>
604
605         PR rtl-optimization/42952
606         * dse.c (const_or_frame_p): Remove MEM handling.
607
608 2010-02-04  Nick Clifton  <nickc@redhat.com>
609
610         * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
611         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
612         (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
613         (mn10300_asm_output_mi_thunk): New function.
614         (mn10300_can_output_mu_thunk): New function.
615         * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
616         (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
617         (FUNCTION_ARG): Delete incorrect comment.
618
619 2010-02-03  Jason Merrill  <jason@redhat.com>
620
621         PR c++/40138
622         * fold-const.c (operand_equal_p): Handle erroneous types.
623
624 2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
625
626         * config/h8300/h8300.md (can_delay): Fix attibute condition.
627
628 2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
629
630         PR rtl-optimization/42941
631         * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
632         of xmalloc.
633
634 2010-02-03  Jason Merrill  <jason@redhat.com>
635
636         PR c++/35652
637         * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
638
639 2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
640
641         PR debug/42896
642         * cselib.h (struct cselib_val_struct): Add uid.  Rename value to
643         hash.
644         (cselib_reset_table): Renamed from...
645         (cselib_reset_table_with_next_value): ... this.
646         (cselib_get_next_uid): Renamed from...
647         (cselib_get_next_unknown_value): ... this.
648         * cselib.c (next_uid): Renamed from...
649         (next_unknown_value): ... this.
650         (cselib_clear_table): Adjust.
651         (cselib_reset_table): Adjust.  Renamed from...
652         (cselib_reset_table_with_next_value): ... this.
653         (cselib_get_next_uid): Adjust.  Renamed from...
654         (cselib_get_next_unknown_value): ... this.
655         (get_value_hash): Use hash.
656         (cselib_hash_rtx): Likewise.
657         (new_cselib_val): Adjust.  Set and dump uid.
658         (cselib_lookup_mem): Pass next_uid as hash.
659         (cselib_subst_to_values): Likewise.
660         (cselib_log_lookup): Dump uid.
661         (cselib_lookup): Pass next_uid as hash.  Adjust.
662         (cselib_process_insn): Adjust.
663         (cselib_init): Initialize next_uid.
664         (cselib_finish): Adjust.
665         (dump_cselib_table): Likewise.
666         * dse.c (canon_address): Dump value uid.
667         * print-rtl.c (print_rtx): Print value uid.
668         * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
669         (dvuid): New type.
670         (dv_uid): New function, sort of renamed from...
671         (dv_htab_hash): ... this, reimplemented in terms of it and...
672         (dv_uid2hash): ... this.  New.
673         (variable_htab_eq): Drop excess assertions.
674         (tie_break_pointers): Removed.
675         (canon_value_cmp): Compare uids.
676         (variable_post_merge_New_vals): Print uids.
677         (vt_add_function_parameters): Adjust.
678         (vt_initialize): Reset table.  Adjust.
679
680 2010-02-03  Richard Guenther  <rguenther@suse.de>
681
682         PR tree-optimization/42944
683         * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
684         (call_may_clobber_ref_p_1): Likewise.  Properly handle
685         malloc and calloc clobbering errno.
686
687 2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
688
689         * doc/invoke.texi: Fix name of sched1 dump.
690
691         * opts.c (decode_options): Set flag_tree_switch_conversion
692         only conditionally on optimize >= 2.
693
694         * gcse.c: Assorted comment fixes in pass description.
695
696 2010-02-03  Anthony Green  <green@moxielogic.com>
697
698         * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
699         nop padding in order to maintain alignment of storage location of
700         target function address.
701         (moxie_trampoline_init): Store target function address at newly
702         aligned location.
703         * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
704         to 32.
705         (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
706
707 2010-02-03  Richard Guenther  <rguenther@suse.de>
708
709         PR middle-end/42927
710         * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
711
712 2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
713
714         * config.gcc: Reenable check for obsolete targets.
715         Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
716         mips-sgi-irix6.[0-4]*.
717
718 2010-02-02  Nick Clifton  <nickc@redhat.com>
719
720         * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
721         constant size of 4 as being the same as 0.
722         * doc/invoke.texi (RX Options): Document that -mmax-constant-size
723         can take values in the range 0..4.
724
725 2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
726
727         PR java/41991
728         * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
729         as _darwin10_Unwind_FindEnclosingFunction().
730         * libgcc-libsystem.ver: New.
731
732 2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
733
734         PR target/41399
735         * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
736         implicitly set registers.
737
738 2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
739
740         * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
741         (arm_override_options): Allow automatic selection of the thread
742         pointer register if thumb2.
743         (legitimize_pic_address): Improve code sequences for Thumb2.
744         (arm_call_tls_get_addr): Likewise.
745         (legitimize_tls_address): Likewise.
746         * arm.md (pic_load_addr_arm): Delete.  Replace with ...
747         (pic_load_addr_32bit): ... this.  New named pattern.
748         * thumb2.md (pic_load_addr_thumb2): Delete.
749         (pic_load_dot_plus_four): Delete.
750         (tls_load_dot_plus_four): New named pattern.
751
752 2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
753
754         PR libgomp/29986
755         * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
756         Document fix for TLS bug.
757
758 2010-01-31  Richard Guenther  <rguenther@suse.de>
759
760         * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
761         conservatively correct.
762
763 2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
764
765         PR target/42850
766         Revert:
767         2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
768
769         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
770
771 2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
772
773         * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
774
775 2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
776
777         * config.gcc: Adjust order of makefile fragments for mingw targets.
778
779 2010-01-31  Richard Guenther  <rguenther@suse.de>
780
781         PR middle-end/42898
782         * gimplify.c (gimplify_init_constructor): For volatile LHS
783         initialize a temporary.
784
785 2010-01-31  Matthias Klose  <doko@ubuntu.com>
786
787         * configure.ac: Fix __stack_chk_fail check for cross builds configured
788         --with-headers
789         * configure: Regenerate.
790
791 2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
792
793         * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
794         the same alias set and their sizes different constantness.
795         (aliasing_component_refs_p): Revert 2009-10-24 change.
796
797 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
798
799         * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
800         unused.
801
802 2010-01-29  Richard Guenther  <rguenther@suse.de>
803
804         * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
805         Assert we successfully updated the call.
806
807 2010-01-29  Jakub Jelinek  <jakub@redhat.com>
808
809         PR rtl-optimization/42889
810         * df.h (df_set_bb_dirty_nonlr): New prototype.
811         * df-core.c (df_set_bb_dirty_nonlr): New function.
812         * df-scan.c (df_insn_rescan): Call it instead of
813         df_set_bb_dirty for DEBUG_INSNs.
814
815 2010-01-29  Richard Guenther  <rguenther@suse.de>
816
817         PR middle-end/37448
818         * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
819         quadratic behavior in most cases.
820
821 2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
822
823         PR target/42891
824         * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
825         in the call to gen_x86_movsicc_0_m1.
826
827 2010-01-28  Richard Guenther  <rguenther@suse.de>
828
829         PR tree-optimization/42871
830         * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
831
832 2010-01-28  Richard Guenther  <rguenther@suse.de>
833
834         * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
835         into call arguments.
836
837 2010-01-28  Richard Guenther  <rguenther@suse.de>
838
839         PR middle-end/42883
840         * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
841         the forwarder if the destination is an EH landing pad.
842
843 2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
844
845         * tree-parloops.c (transform_to_exit_first_loop): Update the basic
846         block list passed to gimple_duplicate_sese_tail.
847         (parallelize_loops): Avoid parallelization when the function
848         has_nonlocal_label.
849         Avoid parallelization when the preheader is IRREDUCIBLE.
850         Try to optimize when estimated_loop_iterations_int is unresolved.
851         Add the loop's location to the dump file.
852         * tree-cfg.c (add_phi_args_after_redirect): Remove.
853         (gimple_duplicate_sese_tail): Remove the check for the latch.
854         Redirect nexits to the exit block.
855         Remove handling of the incoming edges to the latch.
856         Redirect the backedge from the copied latch to the exit bb.
857
858 2010-01-28  Michael Matz  <matz@suse.de>
859
860         PR target/42881
861         * config/i386/i386.c (ix86_expand_vector_init_duplicate):
862         Wrap force_reg into a sequence, emit it before user.
863
864 2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
865
866         * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
867         (arm_rev): New.
868         (arm_legacy_rev): Likewise.
869         (thumb_legacy_rev): Likewise.
870
871 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
872
873         * dwarf2out.c (mem_loc_descriptor): Remove special casing of
874         CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
875         on MEM's address failed, try avoid_constant_pool_reference and
876         recurse if it returned something different.
877         (loc_descriptor): If for MEM mem_loc_descriptor failed on the
878         address, try avoid_constant_pool_reference and recurse if it
879         returned something different.
880         (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
881         address and avoid_constant_pool_reference returned something
882         different, don't set have_address.
883
884 2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
885
886         PR debug/42861
887         * var-tracking.c (val_store): Add modified argument, obey it.
888         Adjust callers.
889         (count_uses): Move down logging of main.
890         (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
891         don't need resolution.
892         (emit_notes_in_bb): Likewise.
893
894 2010-01-27  Richard Guenther  <rguenther@suse.de>
895
896         PR middle-end/42878
897         * tree-inline.c (remap_decl): Delay remapping of SSA name
898         default definitions until we need them.
899
900 2010-01-27  Jakub Jelinek  <jakub@redhat.com>
901
902         * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
903         (rs6000_delegitimize_address): New function.
904
905         * config/s390/s390.c (s390_delegitimize_address): Call
906         delegitimize_mem_from_attrs.
907
908         PR middle-end/42874
909         * tree-inline.c (cannot_copy_type_1): Removed.
910         (copy_forbidden): Don't forbid copying of functions containing
911         records/unions with variable length fields.
912
913 2010-01-27  Christian Bruel  <christian.bruel@st.com>
914
915         Revert:
916         PR target/42841
917         * config/sh/sh.c (find_barrier): Increase length for non delayed
918         conditional branches.
919
920 2010-01-27  Matthias Klose  <doko@ubuntu.com>
921
922         * configure.ac (gnu-unique-object): Fix ldd version check.
923         * configure: Regenerate.
924
925 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
926
927         * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
928         HAVE_GNU_AS value.
929         * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
930         Test for HAVE_GNU_AS value.
931
932 2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
933
934         * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
935         * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
936         INT64_TYPE): Define.
937         (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
938         (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
939         INT_LEAST64_TYPE): Define.
940         (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
941         UINT_LEAST64_TYPE): Define.
942         (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
943         INT_FAST64_TYPE): Define.
944         (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
945         UINT_FAST64_TYPE): Define.
946         (INTMAX_TYPE, UINTMAX_TYPE): Define.
947         (INTPTR_TYPE, UINTPTR_TYPE): Define.
948         (SIG_ATOMIC_TYPE): Define.
949
950 2010-01-26  Richard Guenther  <rguenther@suse.de>
951
952         * df-scan.c (df_scan_set_bb_info): Remove assert.
953         (df_insn_rescan_debug_internal): Merge asserts.
954         (df_install_ref): Likewise.
955         (df_mark_reg): Use bitmap_set_range.
956         (df_hard_reg_used_p): Remove assert.
957         (df_hard_reg_used_count): Likewise.
958
959 2010-01-26  Richard Guenther  <rguenther@suse.de>
960
961         PR rtl-optimization/42685
962         * web.c (web_main): Ignore DEBUG_INSNs.
963
964 2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
965
966         * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
967
968         (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
969         Fix types of fndecl and arglist parameters.
970
971 2010-01-26  Richard Guenther  <rguenther@suse.de>
972
973         PR middle-end/42806
974         * tree-eh.c (unsplit_eh): Skip debug insns.
975
976 2010-01-26  Richard Guenther  <rguenther@suse.de>
977
978         PR tree-optimization/42250
979         * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
980
981 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
982
983         PR fortran/42866
984         * omp-low.c (expand_omp_sections): Only use single_pred if
985         l2_bb is single_pred_p.
986
987 2010-01-25  Christian Bruel  <christian.bruel@st.com>
988
989         PR target/42841
990         * config/sh/sh.c (find_barrier): Increase length for non delayed
991         conditional branches.
992         (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
993
994 2010-01-24  David S. Miller  <davem@davemloft.net>
995
996         * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
997         define if not using GAS.
998         * config/sparc/sparc.c (sparc_elf_asm_named_section):
999         Likewise.  Delete SECTION_MERGE code, which is only applicable
1000         when using GAS.
1001
1002 2010-01-24  Mark Mitchell  <mark@codesourcery.com>
1003
1004         PR c++/42748
1005         * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
1006         mangling of va_list in system headers.
1007
1008 2010-01-23  Toon Moene  <toon@moene.org>
1009
1010         * tree-predcom.c (combine_chains): Return NULL, not false.
1011
1012 2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
1013
1014         * tree-loop-distribution.c (distribute_loop): Fix declaration and
1015         initialization of variable res to agree with return type.
1016
1017 2010-01-22  Steve Ellcey  <sje@cup.hp.com>
1018
1019         * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
1020         * tree-sra.c: Add include of expr.h.
1021
1022 2010-01-22  Jakub Jelinek  <jakub@redhat.com>
1023
1024         * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
1025         insert the debug stmt on the single non-EH edge from the stmt.
1026
1027 2010-01-22  Richard Henderson  <rth@redhat.com>
1028
1029         PR tree-opt/42833
1030         * tree-sra.c (sra_modify_assign): Delay re-gimplification of
1031         the RHS until after generate_subtree_copies has insertted its
1032         code before the current statement.
1033
1034 2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
1035
1036         * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
1037
1038         * gcc-plugin.h (plugin_init): Use "C" likage for c++.
1039
1040 2010-01-21  Martin Jambor  <mjambor@suse.cz>
1041
1042         PR tree-optimization/42585
1043         * tree-sra.c (struct access): New field grp_total_scalarization.
1044         (dump_access): Dump the new field.
1045         (should_scalarize_away_bitmap): New variable.
1046         (cannot_scalarize_away_bitmap): Likewise.
1047         (sra_initialize): Allocate new bitmaps.
1048         (sra_deinitialize): Free new bitmaps.
1049         (create_access_1): New function.
1050         (create_access): Parts moved to create_access_1.
1051         (type_consists_of_records_p): New function.
1052         (completely_scalarize_record): Likewise.
1053         (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
1054         (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
1055         (sort_and_splice_var_accesses): Hint groups with a total_scalarization
1056         access.
1057         (analyze_all_variable_accesses): Completely scalarize small eligible
1058         records.
1059
1060 2010-01-21  Martin Jambor  <mjambor@suse.cz>
1061
1062         * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
1063
1064 2010-01-21  Andrew Haley  <aph@redhat.com>
1065
1066         * gcc.c (process_command): Move lang_specific_driver before
1067         setting cc_libexec_prefix.
1068
1069 2010-01-21  Richard Guenther  <rguenther@suse.de>
1070
1071         PR middle-end/19988
1072         * fold-const.c (negate_expr_p): Pretend only negative
1073         real constants are easily negatable.
1074
1075 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
1076             Jason Merrill  <jason@redhat.com>
1077
1078         * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
1079         (TYPE_TRANSPARENT_AGGR): this, for union and record.
1080         * calls.c (initialize argument_information): Handle it.
1081         * c-common.c (handle_transparent_union_attribute): Use new name.
1082         * c-decl.c (finish_struct): Ditto.
1083         * c-typeck.c (type_lists_compatible_p): Ditto.
1084         (convert_for_assignment): Use new name and also handle record.
1085         * function.c (aggregate_value_p): Handle it.
1086         (pass_by_reference): Ditto.
1087         (assign_parm_data_types): Ditto.
1088         * print-tree.c (print_node): Ditto.
1089         * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
1090         * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
1091         * tree.c (first_field): New fn.
1092
1093 2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
1094
1095         PR target/42818
1096         * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
1097         even when linking statically, for now.
1098
1099 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
1100
1101         PR debug/42715
1102         * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
1103         without a cselib val.
1104         (count_uses): Accept MO_VAL_SET with no val on stores.
1105         (add_stores): Likewise.
1106
1107 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1108
1109         * var-tracking.c (check_value_val): Add a compile time assertion.
1110         (dv_is_decl_p): Simplify.
1111         (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
1112         gcc_assert if ENABLE_CHECKING.
1113
1114 2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
1115
1116         PR debug/42782
1117         * var-tracking.c: Include tree-flow.h.
1118         (mem_dies_at_call): New.
1119         (dataflow_set_preserve_mem_locs): Use it.
1120         (dataflow_set_remove_mem_locs): Likewise.
1121         (dump_var): Renamed from dump_variable.  Adjust all callers.
1122         (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
1123         * Makefile.in (var-tracking.o): Adjust deps.
1124
1125 2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
1126
1127         * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
1128
1129 2010-01-20  Richard Guenther  <rguenther@suse.de>
1130
1131         PR tree-optimization/42717
1132         * tree-ssa-dce.c (get_live_post_dom): Remove.
1133         (forward_edge_to_pdom): Take an arbitrary edge to copy
1134         degenerate PHI args from.
1135         (remove_dead_stmt): Use the first post-dominator even if it
1136         does not contain live statements as redirection destination.
1137
1138 2010-01-20  Richard Guenther  <rguenther@suse.de>
1139
1140         * tree-inline.c (estimate_num_insns): Handle EH builtins.
1141
1142 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1143
1144         * sel-sched.c (create_speculation_check): Remove set but not used
1145         variable twin.
1146         (try_transformation_cache): Remove set but not used variable ds.
1147         (calculate_privileged_insns): Remove set but not used variables
1148         cur_insn and min_spec_insn.
1149         (find_best_expr): Remove set but not used variable avail_n.
1150         * tree-predcom.c (base_names_in_chain_on): Remove set but not used
1151         variable e.
1152         * cgraphunit.c (assemble_thunk): Remove set but not used variable
1153         false_label.
1154         * haifa-sched.c (remove_notes): Remove set but not used variable prev.
1155         * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
1156         new_scop_exit_edge.
1157
1158 2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
1159
1160         PR bootstrap/42786
1161         * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
1162         cpu types.  Add support for *-sse3 cpu types.
1163         (x86_64-*-*): Ditto.
1164
1165 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1166
1167         PR middle-end/42803
1168         * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
1169         argument, call initializer_constant_valid_p_1 instead of
1170         initializer_constant_valid_p, pass CACHE to it, return NULL
1171         immediately if first call returns NULL.
1172         (initializer_constant_valid_p_1): New function.
1173         (initializer_constant_valid_p): Use it.
1174
1175 2010-01-20  Thomas Quinot  <quinot@adacore.com>
1176
1177         * tree.def (PLACEHOLDER_EXPR): Fix comment.
1178
1179 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1180
1181         * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
1182         of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
1183         (loc_list_from_tree): Don't handle unsigned division.  Handle
1184         signed modulo using DW_OP_{over,over,div,mul,minus}.
1185         * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
1186         modulo instead of signed.
1187
1188 2010-01-20  DJ Delorie  <dj@redhat.com>
1189
1190         * config/h8300/h8300.c (F): Add "in_epilogue" flag.
1191         (Fpa): Pass it
1192         (h8300_emit_stack_adjustment): Propogate it.
1193         (push): Pass it.
1194         (h8300_expand_prologue): Likewise.
1195         (h8300_expand_epilogue): Likewise.
1196
1197 2010-01-19  Michael Matz  <matz@suse.de>
1198
1199         PR tree-optimization/41783
1200         * tree-data-ref.c (toplevel): Include flags.h.
1201         (dump_data_dependence_relation):  Also dump the inputs if the
1202         result will be unknown.
1203         (split_constant_offset_1): Look through some conversions.
1204         * tree-predcom.c (determine_roots_comp): Restart a new chain if
1205         the offset from last element is too large.
1206         (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
1207         (reassociate_to_the_same_stmt): Handle vector registers.
1208         * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
1209         (e.g. conversions).
1210         * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
1211         wide_prolog_niters argument, emit widening instructions.
1212         (vect_do_peeling_for_alignment): Adjust caller, use widened
1213         variant of the iteration cound.
1214         * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
1215
1216 2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1217
1218         PR target/38697
1219         * config/arm/neon-testgen.m (emit_automatics): New parameter
1220         features. Adjust for Fixed_return_reg feature.
1221         (test_intrinsic): Call emit_automatics with new feature.
1222         * config/arm/neon.ml: Update copyright years.
1223         (features): New Fixed_return_reg feature.
1224         (ops): Update feature for Vget_low.
1225
1226 2010-01-19  Jakub Jelinek  <jakub@redhat.com>
1227
1228         PR tree-optimization/42719
1229         * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
1230         stmt uses.
1231
1232         PR debug/42728
1233         * fwprop.c (all_uses_available_at): Return false if def_set dest
1234         is a REG that is used in def_insn.
1235
1236 2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
1237
1238         * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
1239
1240         (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
1241         Add argument names.
1242
1243         (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
1244
1245         * target.h (struct gcc_target) <secondary_reload>: Change type
1246         of last argument to secondary_reload_info *.
1247
1248 2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
1249
1250         PR target/42774
1251         * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
1252         memory references with unaligned offsets.  Remove CQImode handling.
1253         (unaligned_memory_operand): Return 1 for memory references with
1254         unaligned offsets.  Remove CQImode handling.
1255
1256 2010-01-18  Richard Guenther  <rguenther@suse.de>
1257
1258         PR middle-end/39954
1259         * cfgexpand.c (expand_call_stmt): TER pointer arguments in
1260         builtin calls.
1261
1262 2010-01-18  Richard Guenther  <rguenther@suse.de>
1263
1264         PR tree-optimization/42781
1265         * tree-ssa-structalias.c (find_what_var_points_to): Skip
1266         restrict processing only if the original variable was artificial.
1267
1268 2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
1269
1270         * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
1271         find number of popped argument bytes.
1272
1273         (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
1274         Fix the text that describes the return value for invalid insns.
1275
1276         (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
1277
1278         (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
1279         Clarify what 'cost of the -dependence' is.  Fix quoting.
1280
1281         * toplev.c (default_get_pch_validity): Rename argument to "sz".
1282         * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
1283
1284 2010-01-17  Jakub Jelinek  <jakub@redhat.com>
1285
1286         * dwarf2out.c (mem_loc_descriptor): Don't ICE on
1287         {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
1288
1289 2010-01-17  Richard Guenther  <rguenther@suse.de>
1290
1291         PR middle-end/42248
1292         * function.c (split_complex_args): Take a VEC to modify.
1293         (assign_parms_augmented_arg_list): Build a VEC instead of
1294         a chain of PARM_DECLs.
1295         (assign_parms_unsplit_complex): Take a VEC of arguments.
1296         Do not fixup unmodified parms.
1297         (assign_parms): Deal with the VEC.
1298         (gimplify_parameters): Likewise.
1299
1300 2010-01-17  Richard Guenther  <rguenther@suse.de>
1301
1302         * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
1303         node existence check.
1304         * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
1305         * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
1306         * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
1307         * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
1308         (gimple_execute_on_growing_pred): Likewise.
1309
1310 2010-01-17  Richard Guenther  <rguenther@suse.de>
1311
1312         PR tree-optimization/42773
1313         * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
1314         (compute_antic_aux): Likewise.
1315         (compute_partial_antic_aux): Likewise.
1316
1317 2010-01-17  Jie Zhang  <jie.zhang@analog.com>
1318
1319         PR debug/42767
1320         * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
1321         and US_TRUNCATE.
1322
1323 2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
1324
1325         * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
1326         appearance.
1327
1328         (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
1329         Fix markup for strict argument.
1330
1331         (TARGET_SCHED_REORDER2): Fix argument types.
1332
1333         (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
1334         (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
1335
1336         (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
1337         (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
1338
1339         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
1340         Add argument name.
1341
1342         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
1343         (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
1344         (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
1345         (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
1346         (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
1347
1348         (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
1349
1350         (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
1351
1352         (TARGET_ASM_RELOC_RW_MASK): Add return type.
1353         (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
1354
1355         (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
1356
1357         (TARGET_ASM_FILE_START): Put @findex before paragraph start.
1358         Use prototype.
1359
1360         (TARGET_ASM_NAMED_SECTION): Fix argument list.
1361
1362         (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
1363         (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
1364
1365         (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
1366
1367         (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
1368
1369         (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
1370         referring to it.  Fix language.
1371
1372         (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
1373
1374         (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
1375
1376         (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
1377
1378         (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
1379
1380         (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
1381         '@var{stream}.  Remove stray 'and'.
1382
1383         (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
1384
1385         (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
1386
1387         (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
1388
1389         (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
1390         misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
1391
1392         (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
1393         Fix description of return value.
1394         Rename argument "sz" to "len."
1395
1396         (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
1397         Clarify meaning of 'true' return value.
1398
1399         (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
1400
1401         (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
1402         rep_mode versus mode_rep.
1403
1404         (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
1405
1406         (TARGET_BUILTIN_DECL): Fix name.
1407
1408         (TARGET_COMMUTATIVE_P): Fix type of first argument.
1409
1410         (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
1411
1412         (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
1413
1414         (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
1415
1416         (TARGET_RELAXED_ORDERING): Use @deftypevr.
1417
1418         (TARGET_GET_DRAP_RTX): Note that this is a hook.
1419         Clarify language.
1420
1421         (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
1422         Rename argument tm_fn to md_fn.
1423
1424         (TARGET_OPTION_PRINT): Fix argument list.
1425
1426 2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
1427
1428         PR target/42664
1429         * config/i386/i386.c (ix86_fixup_binary_operands):
1430         Revert FMA4 fixup of operands.
1431
1432 2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1433
1434         PR gcc/42525
1435         * Makefile.in (write_entries_to_file, install-plugin):
1436         Use \012 instead of \n with tr.
1437
1438 2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
1439
1440         * configure.ac (HAVE_AS_REF): New C macro.
1441         * configure: Regenerate.
1442         * config.in: Likewise.
1443         * collect2.c (main): Only postpone SCAN_DWEH to the second pass
1444         if HAVE_AS_REF.
1445         * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
1446         if HAVE_AS_REF.
1447
1448 2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
1449
1450         * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
1451
1452         (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
1453
1454         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
1455
1456         (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
1457
1458         (TARGET_IN_SMALL_DATA_P): Fix argument type.
1459
1460         (TARGET_BINDS_LOCAL_P): Fix argument type.
1461
1462         (TARGET_ASM_FILE_END): Use prototype.
1463
1464         (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
1465
1466         (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
1467
1468         (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
1469
1470         (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
1471
1472         (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
1473         (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
1474
1475         (TARGET_PCH_VALID_P): Put 'const char *' in braces.
1476         (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
1477
1478         (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
1479         (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
1480         (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
1481         (TARGET_ADDR_SPACE_CONVERT): Likewise.
1482
1483         (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
1484
1485         (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
1486
1487         (TARGET_INIT_BUILTINS): Use prototype.
1488
1489         (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
1490         Put 'const char *' in braces.  Fix parameter types.
1491         (TARGET_INVALID_CONVERSION): Fix parameter types.
1492         (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
1493         (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
1494
1495         (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
1496         Fix argument type.
1497
1498         (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
1499
1500         (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
1501
1502 2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
1503
1504         * doc/tm.texi (TARGET_HELP): Fix return type.
1505
1506         (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
1507         in braces.  Fix argument types.
1508
1509         (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
1510
1511         (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
1512
1513         (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
1514
1515         (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
1516         (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
1517
1518         (TARGET_MANGLE_TYPE): Fix argument types.
1519
1520         (TARGET_IRA_COVER_CLASSES): Use prototype.
1521
1522         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
1523
1524         (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
1525
1526         (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
1527
1528         (TARGET_MUST_PASS_IN_STACK): Fix argument type.
1529
1530         (TARGET_CALLEE_COPIES): Fix argument types.
1531
1532         (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
1533
1534         (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
1535
1536         (TARGET_FUNCTION_VALUE): Fix argument types.
1537
1538         (TARGET_RETURN_IN_MSB): Fix argument type.
1539
1540         (TARGET_RETURN_IN_MEMORY): Fix argument types.
1541
1542         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
1543
1544         (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
1545
1546         (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
1547         agree with return type.
1548
1549         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
1550
1551 2010-01-15  Jing Yu  <jingyu@google.com>
1552
1553         PR rtl-optimization/42691
1554         * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
1555         a pseudo to a constant and are merged, and adjust comments.
1556
1557 2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
1558
1559         * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
1560
1561 2010-01-15  Richard Guenther  <rguenther@suse.de>
1562
1563         PR middle-end/42739
1564         * tree-cfgcleanup.c (remove_forwarder_block): Move destination
1565         labels of computed or non-local gotos to the destination.
1566         * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
1567         landing pad label is the first label.
1568
1569 2010-01-15  Richard Guenther  <rguenther@suse.de>
1570
1571         * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
1572
1573 2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
1574
1575         PR target/42747
1576         * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
1577         to allow generation of the xssqrtdp instruction on power7.
1578         (sqrtdf2_fpr): Ditto.
1579
1580 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1581
1582         PR middle-end/42674
1583         * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
1584         functions with noreturn attribute.
1585
1586         PR c++/42608
1587         * varasm.c (declare_weak): Add weak attribute to decl if it
1588         doesn't have one already.
1589         (assemble_external): Only add decls to weak_decls if they also
1590         have weak attribute.
1591
1592 2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
1593
1594         * var-tracking.c (var_reg_delete): Don't delete the association
1595         between REGs and values or one-part variables if the register
1596         isn't clobbered.
1597
1598 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1599
1600         PR debug/42657
1601         * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
1602         because its first operand is a non-localized variable.
1603
1604 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1605
1606         PR tree-optimization/42706
1607         * tree-sra.c (encountered_recursive_call): New variable.
1608         (encountered_unchangable_recursive_call): Likewise.
1609         (sra_initialize): Initialize both new variables.
1610         (callsite_has_enough_arguments_p): New function.
1611         (scan_function): Call decl and flags check only for IPA-SRA, check
1612         whether there is a recursive call and whether it has enough arguments.
1613         (all_callers_have_enough_arguments_p): New function.
1614         (convert_callers): Look for recursive calls only when
1615         encountered_recursive_call is set.
1616         (ipa_early_sra): Bail out either if
1617         !all_callers_have_enough_arguments_p or
1618         encountered_unchangable_recursive_call.
1619
1620 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1621
1622         * sel-sched.c: Add 2010 to copyright years.
1623         * sel-sched-ir.c: Likewise.
1624         * sel-sched-ir.h: Likewise.
1625
1626 2010-01-14  Martin Jambor  <mjambor@suse.cz>
1627
1628         PR tree-optimization/42714
1629         * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
1630         constructors specially.
1631
1632 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1633
1634         * config/i386/drivers-i386.c (detect_caches_intel):
1635         Add l2sizekb parameter and fill in.
1636         (host_detect_local_cpu): Add l2sizekb, fill in.
1637         Add Atom small cache heuristic.
1638
1639 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1640
1641         * config/i386/drivers-i386.c (detect_caches_cpuid4):
1642         Add level3 parameter and fill in.
1643         (detect_caches_intel): Handle level3 cache.
1644
1645 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1646
1647         * config/i386/drivers-i386.c (host_detect_local_cpu):
1648         Fix core duo detection.
1649
1650 2010-01-14  Andi Kleen  <ak@linux.intel.com>
1651
1652         * config/i386/drivers-i386.c (host_detect_local_cpu):
1653         Fix Atom detection.
1654
1655 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1656
1657         * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
1658         (rs6000_variable_issue_1): this.  Use...
1659         (rs6000_variable_issue): here.  Reimplement.  Print debug info.
1660
1661 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1662
1663         * sel-sched-ir.c (sel_restore_other_notes): Rename to
1664         sel_restore_notes.  Update all callers.  Call reemit_notes
1665         for all insns.
1666
1667 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1668
1669         PR rtl-optimization/42246
1670         * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
1671         loops.
1672
1673 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1674
1675         * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
1676         all successors is the same as number of successors in current region.
1677
1678 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1679
1680         * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
1681         to rename is not separable.  Otherwise check that its LHS is not NULL.
1682
1683 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1684
1685         * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
1686
1687 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1688
1689         * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
1690         available registers when failed to discover LHS register class.
1691         Fix indentation.  Update comment.
1692
1693 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1694             Alexander Monakov  <amonakov@ispras.ru>
1695
1696         PR rtl-optimization/42389
1697         * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
1698         to can_issue_more.
1699         (advance_state_on_fence): Likewise.
1700         (sel_target_adjust_priority): Print debug output only when
1701         sched_verbose >= 4, not 2.
1702         (get_expr_cost): Do not issue all unique insns on the next cycle.
1703         (fill_insns): Initialize can_issue_more from the value saved
1704         with the fence.
1705         * sel-sched-ir.c (flist_add): New parameter issue_more.
1706         Init FENCE_ISSUE_MORE with it.
1707         (merge_fences): Likewise.
1708         (init_fences): Update call to flist_add.
1709         (add_to_fences, add_clean_fence_to_fences)
1710         (add_dirty_fence_to_fences): Likewise.
1711         (move_fence_to_fences): Update call to merge_fences.
1712         (invoke_reorder_hooks): Do not reset can_issue_more on insns from
1713         sched groups.
1714         * sel-sched-ir.h (struct _fence): New field issue_more.
1715         (FENCE_ISSUE_MORE): New accessor macro.
1716
1717 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1718
1719         PR rtl-optimization/42388
1720         * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
1721         that have no predecessors nor successors.  Do not call move_bb_info
1722         for empty blocks outside of current region.
1723
1724 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1725
1726         PR rtl-optimization/42294
1727         * sel-sched-ir.h (struct _sel_insn_data): Update comment.
1728         * sel-sched.c (move_exprs_to_boundary): Transitively add all
1729         originators' originators.
1730
1731 2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
1732
1733         PR rtl-optimization/39453
1734         PR rtl-optimization/42246
1735         * sel-sched-ir.c (considered_for_pipelining_p): Do not test
1736         for pipelining_p.
1737         (sel_add_loop_preheaders): Add preheader to last_added_blocks.
1738
1739 2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
1740             Alexander Monakov  <amonakov@ispras.ru>
1741
1742         PR middle-end/42245
1743         * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
1744         (maybe_tidy_empty_bb): ... here.  Make static.  Add new
1745         argument.  Update all callers.
1746         (tidy_control_flow): ... and here.  Recompute topological order
1747         of basic blocks in region if necessary.
1748         (sel_redirect_edge_and_branch): Change return type.  Return true
1749         if topological order might have been invalidated.
1750         (purge_empty_blocks): Export and move from...
1751         * sel-sched.c (purge_empty_blocks): ... here.
1752         * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
1753         (maybe_tidy_empty_bb): Delete prototype.
1754         (purge_empty_blocks): Declare.
1755
1756 2010-01-14  Andrey Belevantsev <abel@ispras.ru>
1757
1758         PR rtl-optimization/42249
1759         * sel-sched.c (try_replace_dest_reg): When chosen register
1760         and original register is the same, do not bail out early, but
1761         still check all original insns for validity of replacing destination
1762         register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
1763         in this case.
1764
1765 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1766
1767         PR c/42721
1768         Port from no-undefined-overflow branch:
1769         2009-03-09  Richard Guenther  <rguenther@suse.de>
1770
1771         * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
1772
1773 2010-01-14  Richard Guenther  <rguenther@suse.de>
1774
1775         PR lto/42665
1776         * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
1777
1778 2010-01-14  Ira Rosen  <irar@il.ibm.com>
1779
1780         PR tree-optimization/42709
1781         * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
1782         as scalar type in creation of constant vector operand.
1783
1784 2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1785
1786         PR testsuite/42414
1787         * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
1788         (check-parallel-%): Match `testsuite' directory component only
1789         at the end.
1790
1791 2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
1792
1793         PR translation/39521
1794         * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
1795         strings with _().
1796
1797 2010-01-13  Richard Guenther  <rguenther@suse.de>
1798
1799         PR tree-optimization/42730
1800         * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
1801         offset zero.
1802
1803 2010-01-13  Steve Ellcey  <sje@cup.hp.com>
1804
1805         PR target/pr42542
1806         * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
1807         for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
1808         them signed.
1809
1810 2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
1811
1812         * config/bfin/libgcc-bfin.ver: Regenerate based on current
1813         libgcc-std.ver.  Add entries for ___smulsi3_highpart and
1814         ___umulsi3_highpart.
1815
1816         * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
1817         rather than schedule_insns if the pass is enabled.
1818
1819 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1820
1821         PR tree-optimization/42704
1822         * tree-sra.c (sra_modify_assign): Do not delete assignments to
1823         SSA_NAMEs.
1824
1825 2010-01-13  Martin Jambor  <mjambor@suse.cz>
1826
1827         PR tree-optimization/42703
1828         * tree-sra.c (analyze_access_subtree): Check that we can build a
1829         reference to the original data within the aggregate.
1830
1831 2010-01-13  Richard Guenther  <rguenther@suse.de>
1832
1833         PR tree-optimization/42705
1834         * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1835
1836 2010-01-13  Richard Guenther  <rguenther@suse.de>
1837
1838         PR middle-end/42716
1839         * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
1840
1841 2010-01-13  Jakub Jelinek  <jakub@redhat.com>
1842
1843         PR debug/41371
1844         * var-tracking.c (values_to_unmark): New variable.
1845         (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
1846         values_to_unmark vector.  Moved body to...
1847         (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
1848         instead queue it into values_to_unmark vector.
1849         (vt_find_locations): Free values_to_unmark vector.
1850
1851 2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
1852
1853         * config/s390/s390.c (override_options): Set
1854         default of max-pending-list-length to 256
1855
1856 2010-01-13  Richard Guenther  <rguenther@suse.de>
1857
1858         PR lto/42678
1859         * tree-pass.h (PROP_gimple_lcx): New.
1860         * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
1861         * passes.c (init_optimization_passes): Move pass_lower_complex_O0
1862         before the final cleanup_eh.
1863         (dump_properties): Dump PROP_gimple_lcx.
1864         * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
1865         (tree_lower_complex_O0): Remove.
1866         (gate_no_optimization): Run if PROP_gimple_lcx is not set.
1867         (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
1868         tree_lower_complex, schedule TODO_update_ssa.
1869         * lto-streamer-out.c (output_function): Stream the functions
1870         properties.
1871         * lto-streamer-in.c (input_function): Likewise.
1872         (lto_read_body): Do not override them here.
1873
1874 2010-01-12  Joseph Myers  <joseph@codesourcery.com>
1875
1876         PR c/42708
1877         * c-typeck.c (build_c_cast): Fold value cast to union type before
1878         wrapping it in a CONSTRUCTOR.
1879
1880 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1881
1882         PR rtl-optimization/42699
1883         * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
1884         involved.
1885
1886 2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1887
1888         * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1889         SUBTARGET_WARN_UNUSED_SPEC): Move ...
1890         config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
1891         SUBTARGET_WARN_UNUSED_SPEC): ... here
1892         * config/mips/iris5.h (LIBGCC_SPEC): Define.
1893
1894 2010-01-12  Julian Brown  <julian@codesourcery.com>
1895
1896         * config/arm/neon-schedgen.ml (Utils): Don't try to
1897         open missing module.
1898         (find_with_result): New.
1899
1900 2010-01-12  Jakub Jelinek  <jakub@redhat.com>
1901
1902         PR debug/42662
1903         * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
1904         sharing when canonicalizing ({lt,ge}u (plus a b) b).
1905
1906         PR tree-optimization/42645
1907         * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
1908         (remap_ssa_name): If processing_debug_stmt and name wasn't found in
1909         decl_map, set processing_debug_stmt to -1 and return name without
1910         any remapping.
1911
1912 2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
1913
1914         * doc/install.texi (Specific#x-x-cygwin): Document minimum required
1915         binutils version, and reword target configuration description.
1916
1917 2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
1918
1919         * config/avr/avr.h (LINKER_NAME): Remove.
1920
1921 2010-01-11  Janis Johnson  <janis187@us.ibm.com>
1922
1923         PR target/42416
1924         * config/rs6000/rs6000.c (rs6000_override_options): On targets
1925         that support VSX, warn for -mno-altivec if vsx is not disabled,
1926         and disable vsx.
1927
1928 2010-01-11  Joseph Myers  <joseph@codesourcery.com>
1929             Shujing Zhao  <pearly.zhao@oracle.com>
1930
1931         PR translation/42469
1932         * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
1933         fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
1934         character between option name and help text.
1935         * c.opt (imultilib): Likewise.
1936
1937 2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
1938
1939         * lto-streamer-out.c (output_unreferenced_globals): Output static
1940         variables.
1941
1942 2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
1943
1944         PR rtl-optimization/42621
1945         * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
1946         optimizing for size.
1947         (duplicate_computed_gotos): Remove now-redundant check.
1948
1949 2010-01-10  Steve Ellcey  <sje@cup.hp.com>
1950
1951         PR target/37454
1952         * configure.ac: Save and restore LDFLAGS and LIBS
1953         * configure: Regenerate.
1954
1955 2010-01-10  Richard Guenther  <rguenther@suse.de>
1956
1957         PR middle-end/42667
1958         * builtins.c (fold_builtin_strlen): Add type argument and
1959         convert the resulting length to it.
1960         (fold_builtin_1): Adjust.
1961
1962 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
1963
1964         * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
1965         sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
1966         1 insn.
1967         (num_insns_constant_wide): Adjust for that change.
1968
1969 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1970
1971         PR debug/42631
1972         * web.c (union_defs): Add used argument, to combine uses of
1973         uninitialized regs.
1974         (entry_register): Adjust type and tests of used argument.
1975         (web_main): Widen used for new use.  Pass it to union_defs.
1976         * df.h (union_defs): Adjust prototype.
1977
1978 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1979
1980         PR debug/42630
1981         * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
1982         uses in new incoming argument.  Free body.
1983         (reset_debug_uses_in_loop): New.
1984         (analyze_insn_to_expand_var): Call the latter if the former found
1985         anything.  Fix whitespace.  Reject invalid dest overlaps before
1986         going through all insns in the loop.
1987
1988 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1989
1990         PR debug/42629
1991         * haifa-sched.c (dying_use_p): Debug insns don't count.
1992
1993 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
1994
1995         PR middle-end/42363
1996         * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
1997         * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
1998         (verify_gimple_call): Reject LHS in noreturn calls.
1999
2000 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
2001
2002         PR debug/42604
2003         PR debug/42395
2004         * tree-vect-loop-manip.c (adjust_info): New type.
2005         (adjust_vec): New pointer to vector.
2006         (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
2007         (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
2008         (slpeel_update_phis_for_duplicate_loop): Use them.
2009         (slpeel_update_phi_nodes_for_guard1): Likewise.
2010         (slpeel_update_phi_nodes_for_guard2): Likewise.
2011         (slpeel_tree_peel_loop_to_edge): Likewise.
2012         (vect_update_ivs_after_vectorizer): Likewise.
2013
2014 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
2015
2016         * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
2017         (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
2018
2019 2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
2020
2021         * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
2022         bogus uninitialized warning.
2023
2024 2010-01-09  Richard Guenther  <rguenther@suse.de>
2025
2026         PR middle-end/42512
2027         * tree-scalar-evolution.c (interpret_loop_phi): Make sure
2028         the evolution is compatible with the initial condition.
2029
2030 2010-01-09  Jakub Jelinek  <jakub@redhat.com>
2031
2032         * gcc.c (process_command): Update copyright notice dates.
2033         * gcov.c (print_version): Likewise.
2034         * gcov-dump.c (print_version): Likewise.
2035         * mips-tfile.c (main): Likewise.
2036         * mips-tdump.c (main): Likewise.
2037
2038 2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
2039
2040         PR target/41885
2041         * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
2042         (rotlhi3): Delete.
2043         (rotlhi3_8): Delete.
2044         (rotlsi3): Delete.
2045         (rotlsi3_8): Delete.
2046         (rotlsi3_16): Delete.
2047         (rotlsi3_24): Delete.
2048         (rotl<mode>3): New.
2049         (*rotw<mode>3): New.
2050         (*rotb<mode>3): New.
2051         * config/avr/avr.c (avr_rotate_bytes): New function.
2052         * config/avr/avr-proto.h (avr_rotate_bytes): New function.
2053
2054 2010-01-08  Steve Ellcey  <sje@cup.hp.com>
2055
2056         PR target/37454
2057         * configure.ac: Modify -rdynamic check.
2058         * configure: Regenerate.
2059
2060 2010-01-08  DJ Delorie  <dj@redhat.com>
2061
2062         * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
2063         register popping order.
2064
2065 2010-01-08  Richard Guenther  <rguenther@suse.de>
2066
2067         PR lto/42528
2068         * c.opt (fsigned-char): Also let LTO handle this option.
2069         (funsigned-char): Likewise.
2070
2071 2010-01-07  Richard Guenther  <rguenther@suse.de>
2072
2073         * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
2074         (gimple_op): Likewise.
2075         (gimple_op_ptr): Likewise.
2076         (gimple_assign_set_lhs): Remove gcc_assert.
2077         (gimple_assign_set_rhs1): Likewise.
2078         (gimple_assign_set_rhs2): Likewise.
2079         (gimple_call_set_lhs): Likewise.
2080         (gimple_call_set_fn): Likewise.
2081         (gimple_call_set_fndecl): Likewise.
2082         (gimple_call_fndecl): Likewise.
2083         (gimple_call_return_type): Likewise.
2084         (gimple_call_set_chain): Likewise.
2085         (gimple_call_num_args): Likewise.
2086         (gimple_call_set_arg): Likewise.
2087         (gimple_cond_set_code): Likewise.
2088         (gimple_cond_set_lhs): Likewise.
2089         (gimple_cond_set_rhs): Likewise.
2090         (gimple_cond_set_true_label): Likewise.
2091         (gimple_cond_set_false_label): Likewise.
2092         (gimple_label_set_label): Likewise.
2093         (gimple_goto_set_dest): Likewise.
2094         (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
2095         (gimple_debug_bind_get_value): Likewise.
2096         (gimple_debug_bind_get_value_ptr): Likewise.
2097         (gimple_debug_bind_set_var): Likewise.
2098         (gimple_debug_bind_set_value): Likewise.
2099         (gimple_debug_bind_reset_value): Likewise.
2100         (gimple_debug_bind_has_value_p): Likewise.
2101         (gimple_return_retval_ptr): Remove gcc_assert.
2102         (gimple_return_retval): Likewise.
2103         (gimple_return_set_retval): Likewise.
2104         * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
2105         (safe_referenced_var_iterator): Remove.
2106         (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
2107         * tree-flow-inline.h (gimple_nonlocal_all): Remove.
2108         (fill_referenced_var_vec): Remove.
2109         (first_readonly_imm_use): Remove redundant gcc_assert.
2110         (phi_arg_index_from_use): Combine gcc_asserts.
2111         (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
2112         (first_imm_use_stmt): Remove redundant gcc_assert.
2113         * tree-cfg.c (verify_gimple_call): Verify function and chain
2114         operands.  Verify arguments.
2115         (verify_types_in_gimple_stmt): Verify condition code and labels.
2116
2117 2010-01-07  Richard Guenther  <rguenther@suse.de>
2118
2119         PR tree-optimization/42641
2120         * sese.c (rename_map_elt_info): Use the SSA name version, do
2121         not hash pointers.
2122
2123 2010-01-07  Jakub Jelinek  <jakub@redhat.com>
2124
2125         PR tree-optimization/42625
2126         * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
2127         TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
2128
2129 2010-01-07  Duncan Sands  <baldrick@free.fr>
2130
2131         * Makefile.in (PLUGIN_HEADERS): Add version.h.
2132
2133 2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
2134
2135         PR target/42511
2136         * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
2137         note itself is not function_invariant_p.
2138
2139 2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
2140
2141         * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
2142         Do not add the DF_NOTE problem.
2143         * store-motion.c (execute_rtl_store_motion): Likewise.
2144
2145 2010-01-07  Martin Jambor  <mjambor@suse.cz>
2146
2147         PR tree-optimization/42157
2148         * tree-sra.c (compare_access_positions): Stabilize sort if both
2149         accesses have integer types, return zero immediately if they are the
2150         same.
2151
2152 2010-01-06  Richard Henderson  <rth@redhat.com>
2153
2154         PR middle-end/41883
2155         * haifa-sched.c (add_to_note_list): Merge into ...
2156         (concat_note_lists): ... here, and ...
2157         (unlink_other_notes, rm_other_notes): Merge into...
2158         (remove_notes): ... here.  Create REG_SAVE_NOTEs for
2159         NOTE_INSN_EPILOGUE_BEG.
2160
2161 2010-01-06  Richard Guenther  <rguenther@suse.de>
2162
2163         * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
2164         not inline regular functions into always-inline functions.
2165
2166 2010-01-06  Nick Clifton  <nickc@redhat.com>
2167
2168         * config/rx/rx.h (enum rx_cpu_type): Add RX200.
2169         (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
2170         used together.
2171         (OVERRIDE_OPTIONS): Delete.
2172         (OPTIMIZATION_OPTIONS): Define.
2173         (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
2174         * config/rx/rx.c (rx_handle_option): Issue an error message if
2175         -mcpu=rx200 and -fpu are used together.
2176         (rx_set_optimization_options): New function.  Issue an error
2177         message if an optimization attribute attempts to reset the FPU/
2178         math optimization pairing.
2179         * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
2180         * config/rx/rx.opt: Set the default to 32-bit doubles.
2181         * config/rx/t-rx: Add multilibs for -nofpu option.
2182         * doc/invoke.texi: Update documentation of RX options.
2183
2184 2010-01-06  Richard Guenther  <rguenther@suse.de>
2185
2186         * tree-ssa-pre.c (name_to_id): New global.
2187         (alloc_expression_id): Simplify SSA name handling.
2188         (lookup_expression_id): Likewise.
2189         (init_pre): Zero name_to_id.
2190         (fini_pre): Free it.
2191
2192 2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
2193
2194         * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
2195
2196 2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
2197
2198         PR target/42542
2199         * config/i386/sse.md (smaxv2di3): New.
2200         (umaxv2di3): Likewise.
2201         (sminv2di3): Likewise.
2202         (uminv2di3): Likewise.
2203
2204 2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
2205
2206         PR target/42564
2207         * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
2208         * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
2209         (legitimize_tls_address): Likewise.
2210         (sparc_tls_referenced_p): Likewise.
2211         * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
2212         and adjust calls to legitimize_pic_address.
2213         (legitimate_constant_p) Use sparc_tls_referenced_p.
2214         (legitimate_pic_operand_p): Likewise.
2215         (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
2216         (sparc_tls_symbol_ref_1): Delete.
2217         (sparc_tls_referenced_p): Make static, recognize specific patterns.
2218         (legitimize_tls_address): Make static, handle CONST patterns.
2219         (legitimize_pic_address): Make static, remove unused parameter and
2220         adjust recursive calls.
2221         (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
2222         and adjust call to legitimize_pic_address.
2223         (sparc_output_mi_thunk): Likewise.
2224
2225 2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
2226             H.J. Lu  <hongjiu.lu@intel.com>
2227
2228         PR target/42542
2229         * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
2230         for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
2231         operands to make them signed.
2232
2233         Revert:
2234         2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2235
2236         PR target/42542
2237         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
2238         GTU to GT for V4SI and V2DI.
2239
2240         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
2241         (umin<mode>3): Removed.
2242         (uminv8hi3): New.
2243         (uminv4si3): Likewise.
2244
2245 2010-01-05  Martin Jambor  <mjambor@suse.cz>
2246
2247         PR tree-optimization/42462
2248         * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
2249         current_function_decl to helper functions and macros.
2250
2251 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2252
2253         PR bootstrap/41771
2254         * flags.h: Don't include real.h.
2255         (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
2256         HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
2257         * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
2258         HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
2259         * dominance.c: Update copyright.
2260         * gimple.c (walk_gimple_op): Remove inline.
2261         * tree-ssa-reassoc.c: Include real.h.
2262         * Makefile.in (FLAGS_H): Remove $(REAL_H).
2263         (tree-ssa-reassoc.o): Depend on $(REAL_H).
2264
2265 2010-01-05  Nick Clifton  <nickc@redhat.com>
2266
2267         * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
2268         register to push into the stack frame when the accumulator has to
2269         be saved during interrupts.
2270
2271 2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
2272
2273         * doc/invoke.texi: Remove the documentation about option
2274         -Wunreachable-code.
2275         * common.opt (Wunreachable-code):  Preserved for backward
2276         compatibility.
2277         * tree-cfg.c: Remove the implementation of -Wunreachable-code.
2278         * opts.c (common_handle_option): Add OPT_Wunreachable_code to
2279         the backward compatibility flag section.
2280
2281 2010-01-05  Richard Guenther  <rguenther@suse.de>
2282
2283         * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
2284
2285 2010-01-05  Jakub Jelinek  <jakub@redhat.com>
2286
2287         PR other/42611
2288         * cfgexpand.c (expand_one_var): Diagnose too large variables.
2289
2290         PR tree-optimization/42508
2291         * tree-sra.c (convert_callers): Check for recursive call
2292         by comparing cgraph nodes instead of decls.
2293         (modify_function): Call ipa_modify_formal_parameters also
2294         on all same_body aliases.
2295
2296         * cgraphunit.c (cgraph_materialize_all_clones): Compare
2297         cgraph nodes when checking for same_body aliases.
2298
2299 2010-01-05  Richard Guenther  <rguenther@suse.de>
2300
2301         * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
2302         allocation and lookup.
2303         (get_or_alloc_expr_for_constant): Likewise.
2304         (phi_translate): Sink allocation.
2305
2306 2010-01-04  Richard Guenther  <rguenther@suse.de>
2307
2308         * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
2309         a new entry only if needed.
2310         * tree-ssa-dom.c (lookup_avail_expr): Likewise.
2311         * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
2312         hashtable lookup.
2313         * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
2314         the result array.
2315         (phi_translate): Handle CONSTANTs early.
2316
2317 2010-01-04  Martin Jambor  <mjambor@suse.cz>
2318
2319         PR tree-optimization/42398
2320         * tree-sra.c (struct access): Removed flag grp_different_types.
2321         (dump_access): Do not dump the removed flag.
2322         (sort_and_splice_var_accesses): Do not set the removed flag.
2323         (sra_modify_expr): Check for type compatibility directly.
2324
2325 2010-01-04  Martin Jambor  <mjambor@suse.cz>
2326
2327         PR tree-optimization/42366
2328         * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
2329         edges with variable number of parameters.
2330         * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
2331         flag instead of asserting it.
2332         (ipa_read_node_info): Read uses_analysis_done flag.
2333
2334 2010-01-04  Richard Guenther  <rguenther@suse.de>
2335
2336         * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
2337         iterative_hash_* as intended.
2338         (vn_reference_compute_hash): Likewise.  Simplify hashing
2339         SSA names.
2340         (vn_reference_lookup_2): Likewise.
2341         (vn_nary_op_compute_hash): Likewise.
2342         (vn_phi_compute_hash): Likewise.
2343         (expressions_equal_p): Remove strange code.
2344         * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
2345         (pre_expr_hash): Likewise.  Simplify hashing SSA names.
2346         (bitmap_insert_into_set_1): Take value-id as parameter.
2347         (add_to_value): Pass it.
2348         (bitmap_insert_into_set): Likewise.
2349         (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
2350
2351 2010-01-04  Jakub Jelinek  <jakub@redhat.com>
2352
2353         PR driver/42442
2354         * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
2355         (do_self_spec): For switches with SWITCH_IGNORE set set also
2356         SWITCH_IGNORE_PERMANENTLY.
2357         (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
2358         of SWITCH_IGNORE.
2359
2360 2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
2361
2362         * lto-streamer-out.c (output_unreferenced_globals): Output the full
2363         tree of an unreferenced global var.
2364
2365 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2366
2367         PR target/42542
2368         * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
2369         GTU to GT for V4SI and V2DI.
2370
2371         * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
2372         (umin<mode>3): Removed.
2373         (uminv8hi3): New.
2374         (uminv4si3): Likewise.
2375
2376 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2377
2378         PR lto/42581
2379         * collect2.c (main): Turn on trace in collect2 if -v is passed
2380         to gcc with LTO.
2381
2382 2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
2383
2384         * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
2385         description of expression operand.
2386
2387 2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
2388
2389         * configure.ac: Add install-html to target_list for Make-hooks.
2390         * configure: Regenerate.
2391         * fortran/Make-lang.in (F95_HTMLFILES): New.
2392         (fortran.html): Use it.
2393         (fortran.install-html): New.
2394         * Makefile.in (install-html): Add lang.install-html.
2395         * java/Make-lang.in (JAVA_HTMLFILES): New.
2396         (java.html): Use it.
2397         (java.install-html): New.
2398         * objc/Make-lang.in (objc.install-html): New.
2399         * objcp/Make-lang.in (obj-c++.install-html): New.
2400         * cp/Make-lang.in (c++.install-html): New.
2401         * ada/gcc-interface/Make-lang.in (ada.install-html): New.
2402         * lto/Make-lang.in (lto.install-html): New.
2403
2404 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2405
2406         PR lto/42520
2407         * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
2408
2409 2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
2410
2411         PR rtl-optimization/41862
2412         * store-motion.c (store_killed_in_insn, compute_store_table,
2413         remove_reachable_equiv_notes, replace_store_insn,
2414         build_store_vectors): Ignore all DEBUG_INSNs.
2415
2416 2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
2417
2418         PR lto/41564
2419         * common.opt: Add dumpdir.
2420
2421         * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
2422         isn't specified.
2423         (option_map): Add --dumpdir.
2424
2425         * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
2426
2427         * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
2428
2429         * opts.c (decode_options): Try dump_dir_name first if
2430         dump_base_name isn't an absolute path.
2431         (common_handle_option): Handle OPT_dumpdir.
2432
2433         * toplev.c (dump_dir_name): New.
2434         (print_switch_values): Also ignore -dumpdir.
2435
2436         * toplev.h (dump_dir_name): New.
2437
2438 2010-01-03  Richard Guenther  <rguenther@suse.de>
2439
2440         PR tree-optimization/42589
2441         * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
2442         double-word expansion of bswap32.
2443
2444 2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
2445
2446         * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
2447         with BLOCK_FOR_INSN.
2448         * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
2449         * ifcvt.c (noce_get_alt_condition, noce_try_abs,
2450         noce_process_if_block): Likewise.
2451         * gcse.c (compute_local_properties, insert_expr_in_table,
2452         insert_set_in_table, canon_list_insert, find_avail_set,
2453         pre_insert_copy_insn): Likewise.
2454
2455         * basic-block.h (BLOCK_NUM): Move from here...
2456         * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
2457
2458 2010-01-03  Richard Guenther  <rguenther@suse.de>
2459
2460         PR tree-optimization/42438
2461         * tree-ssa-pre.c (struct bb_bitmap_sets): Add
2462         contains_may_not_return_call flag.
2463         (BB_MAY_NOTRETURN): New.
2464         (valid_in_sets): Trapping nary operations are not valid
2465         in blocks that may not return.
2466         (insert_into_preds_of_block): Remove check for trapping expressions.
2467         (compute_avail): Compute also BB_MAY_NOTRETURN.
2468
2469 2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
2470
2471         * doc/invoke.texi: Add 2010 to copyright years.
2472
2473 2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
2474
2475         * config/sparc/sparc.c: Fix formatting nits.
2476
2477 2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
2478             Alexander Monakov  <amonakov@ispras.ru>
2479
2480         * doc/invoke.texi (Optimize Options): Reword introduction a bit.
2481
2482 2010-01-02  Richard Guenther  <rguenther@suse.de>
2483
2484         PR middle-end/42577
2485         * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
2486         (simplify_switch_using_ranges): Mark to be removed edges
2487         as non-executable.
2488
2489 2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2490
2491         * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
2492
2493         * collect2.c (scan_libraries): Add missing argument in call to
2494         scan_prog_file.
2495
2496 2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
2497
2498         PR target/42448
2499         * config/alpha/predicates.md (aligned_memory_operand): Return false
2500         for CQImode.
2501         (unaligned_memory_operand): Return true for CQImode.
2502         * config/alpha/alpha.c (get_aligned_mem): Assert that location
2503         doesn not cross aligned SImode word boundary.
2504
2505 2010-01-02  Anatoly Sokolov  <aesok@post.ru>
2506
2507         * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
2508         Remove.
2509         * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
2510         avr_change_section, avr_reg_class_from_letter) : Remove declaration.
2511
2512 2010-01-02  Richard Guenther  <rguenther@suse.de>
2513
2514         PR lto/41597
2515         * toplev.c (compile_file): Emit LTO marker properly.  Change
2516         it to __gnu_lto_v1.
2517         * collect2.c (scan_prog_file): Adjust for changed LTO marker.
2518
2519 2010-01-01  Richard Guenther  <rguenther@suse.de>
2520
2521         PR debug/42455
2522         * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
2523
2524 2010-01-01  Richard Guenther  <rguenther@suse.de>
2525
2526         PR c/42570
2527         * c-decl.c (grokdeclarator): For zero-size arrays force
2528         structural equality checks as layout_type does.
2529
2530 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2531
2532         * builtins.c: Update copyright to 2010.
2533
2534 2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
2535
2536         PR lto/42531
2537         * lto-streamer-out.c (produce_asm): Revert the last change.
2538         (copy_function): Likewise.
2539
2540         * lto-streamer.c (lto_get_section_name): Skip any leading
2541         asterisk in name.
2542
2543 2010-01-01  Richard Guenther  <rguenther@suse.de>
2544
2545         PR middle-end/42559
2546         * builtins.c (get_object_alignment): Do not use DECL_ALIGN
2547         for LABEL_DECLs.
2548
2549 \f
2550 Copyright (C) 2010 Free Software Foundation, Inc.
2551
2552 Copying and distribution of this file, with or without modification,
2553 are permitted in any medium without royalty provided the copyright
2554 notice and this notice are preserved.