OSDN Git Service

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