OSDN Git Service

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