OSDN Git Service

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