OSDN Git Service

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