OSDN Git Service

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