OSDN Git Service

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