OSDN Git Service

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