OSDN Git Service

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