OSDN Git Service

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