OSDN Git Service

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