OSDN Git Service

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