OSDN Git Service

PR bootstrap/39454
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2009-03-14  Jakub Jelinek  <jakub@redhat.com>
2
3         PR bootstrap/39454
4         * cse.c (fold_rtx): Don't modify original const_arg1 when
5         canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
6         separate variable instead.
7         * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
8         from out of range shift counts.
9         (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
10
11 2008-03-13  Catherine Moore  <clm@codesourcery.com>
12
13         *  gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
14         diagnostic.h with $(DIAGNOSTIC_H).
15
16 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
17
18         PR target/39431
19         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
20         predicate.
21         * config/i386/sync.md (sync_compare_and_swap<mode>,
22         sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
23         if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
24         into a register.
25         (sync_double_compare_and_swapdi_pic,
26         sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
27         cmpxchg8b_pic_memory_operand instead of just memory_operand.
28
29 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
30
31         PR target/39445
32         * config/i386/i386.c (ix86_expand_push): Don't set memory
33         alignment.
34
35 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
36
37         PR target/39327
38         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
39         (avx_addsubv4df3): Likewise.
40         (*avx_addsubv4sf3): Likewise.
41         (sse3_addsubv4sf3): Likewise.
42
43 2009-03-12  H.J. Lu  <hongjiu.lu@intel.com>
44
45         PR target/38824
46         * config/i386/i386.md: Compare REGNO on the new peephole2
47         patterns.
48
49 2009-03-12  Vladimir Makarov  <vmakarov@redhat.com>
50
51         PR debug/39432
52         * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
53         * ira-conflicts.c (ira_build_conflicts): Prohibit call used
54         registers for allocnos created from user-defined variables.
55
56 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
57
58         PR target/39181
59         * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
60         of non-integer mode as well.
61
62 2009-03-11  Adam Nemet  <anemet@caviumnetworks.com>
63
64         * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
65         for functions for which the parameter types are unknown.
66
67 2009-03-11  Jakub Jelinek  <jakub@redhat.com>
68
69         PR target/39137
70         * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT
71         macro.
72         * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
73         * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
74         * config/i386/i386.c (ix86_local_alignment): For
75         -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
76         long long variables on the stack to avoid dynamic realignment.
77         Allow the first argument to be a decl rather than type.
78         * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
79
80 2009-03-11  Nick Clifton  <nickc@redhat.com>
81
82         PR target/5362
83         * config/mcore/mcore.opt: Remove deprecated m4align and m8align
84         options.
85         Add description to mno-lsim option.
86         * config/mcore/mcore.h: Remove comment about deprecated m4align
87         option.
88         (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
89         * doc/invoke.texi: Add description of mno-lsim and
90         mstack-increment options.
91
92         * config/fr30/fr30.opt: Document the -mno-lsim option.
93         * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
94         and -mno-lsim options.
95
96 2009-03-11  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
97
98         * fold-const.c (fold_comparison): Only call fold_inf_compare
99         if the mode supports infinities.
100
101 2009-03-11  Jason Merrill  <jason@redhat.com>
102
103         PR debug/39086
104         * tree-nrv.c (tree_nrv): Don't do this optimization if the front
105         end already did.  Notice GIMPLE_CALL modifications of the result.
106         Don't copy debug information from an ignored decl or a decl from
107         another function.
108
109 2009-03-10  Richard Guenther  <rguenther@suse.de>
110             Nathan Froyd  <froydnj@codesourcery.com>
111
112         PR middle-end/37850
113         * libgcc2.c (__mulMODE3): Use explicit assignments to form the
114         result.
115         (__divMODE3): Likewise.
116
117 2009-03-09  Jakub Jelinek  <jakub@redhat.com>
118
119         PR tree-optimization/39394
120         * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
121         DECL_SIZE_UNIT of variable length FIELD_DECLs.
122
123 2009-03-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
124
125         * recog.c (verfiy_changes): Disallow renaming of hard regs in
126         inline asms for register asm ("") declarations.
127
128 2009-03-09  Eric Botcazou  <ebotcazou@adacore.com>
129
130         * fold-const.c (fold_unary): Fix comment.
131
132 2009-03-07  Jan Hubicka  <jh@suse.cz>
133
134         PR target/39361
135         * tree-inline.c (setup_one_parameter): Do replacement of const argument
136         by constant in SSA form.
137
138 2009-03-07  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
139
140         PR middle-end/38028
141         * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
142         determine alignment passed to assign_stack_local.
143         (assign_parms_unsplit_complex): Likewise.
144         * except.c (sjlj_build_landing_pads): Likewise.
145
146 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
147
148         PR middle-end/39360
149         * tree-flow.h (add_referenced_var): Return bool instead of void.
150         * tree-dfa.c (add_referenced_var): Return result of
151         referenced_var_check_and_insert call.
152         * tree-inline.c (expand_call_inline): Call add_referenced_var instead
153         of referenced_var_check_and_insert.
154
155         PR debug/39372
156         * dwarf2out.c (add_abstract_origin_attribute): Return
157         origin_die.
158         (gen_variable_die): Emit DW_AT_location on abstract static variable's
159         DIE, don't emit it if abstract origin already has it.
160         * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
161         BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
162
163 2009-03-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
164
165         * genpreds.c: (needs_variable): Fix parentheses at variable name
166         detection.
167         (write_tm_constrs_h): Indent generated code.
168
169 2009-03-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
170
171         * doc/extend.texi (Function Attributes): Add documentation
172         for isr attributes.
173
174 2009-03-06  Jakub Jelinek  <jakub@redhat.com>
175
176         PR debug/39387
177         * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
178         take locus from its DECL_SOURCE_LOCATION instead of input_location.
179
180 2009-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
181
182         * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
183         the loop as bad.
184
185 2009-03-05  Jakub Jelinek  <jakub@redhat.com>
186
187         PR debug/39379
188         * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
189         with blocks containing IMPORTED_DECLs in BLOCK_VARS.
190
191 2009-03-05  Uros Bizjak  <ubizjak@gmail.com>
192
193         * config/i386/i386.md (R8_REG, R9_REG): New constants.
194         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
195         constants instead of magic numbers.
196         (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
197         (QI_REG_P): Ditto.
198         * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
199         (x86_64_ms_abi_int_parameter_registers): Ditto.
200         (x86_64_int_return_registers): Ditto.
201         (ix86_maybe_switch_abi): Ditto.
202         (ix86_expand_call): Ditto for clobbered_registers array.
203         (ix86_hard_regno_mode_ok): Ditto.
204         (x86_extended_QIreg_mentioned_p): Ditto.
205
206 2009-03-05  J"orn Rennecke  <joern.rennecke@arc.com>
207
208         PR tree-optimization/39349
209         * cse.c (cse_insn): Fix loop to stop at VOIDmode.
210
211         * combine.c (gen_lowpart_for_combine): Use omode when generating
212         clobber.
213
214 2009-03-04  J"orn Rennecke  <joern.rennecke@arc.com>
215
216         PR rtl-optimization/39235
217         * loop-iv.c (get_simple_loop_desc): Use XCNEW.
218
219 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
220
221         * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
222
223 2009-03-04  Richard Guenther  <rguenther@suse.de>
224
225         PR tree-optimization/39362
226         * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
227         that occur in abnormal PHIs should be varying.
228
229 2009-03-04  Zdenek Dvorak  <ook@ucw.cz>
230
231         * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
232         Extend comments.
233         (simple_iv):  Take loop as an argument instead of statement.
234         * tree-scalar-evolution.h (simple_iv): Declaration changed.
235         * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
236         to simple_iv.
237         * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
238         Ditto.
239         * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
240         * matrix-reorg.c (analyze_transpose): Ditto.
241         * tree-data-ref.c (dr_analyze_innermost): Ditto.
242         * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
243         * tree-predcom.c (ref_at_iteration): Ditto.
244         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
245
246 2009-03-04  Richard Guenther  <rguenther@suse.de>
247
248         PR tree-optimization/39358
249         * tree-ssa-structalias.c (do_sd_constraint): Fix check for
250         escaped_id and callused_id.
251         (solve_graph): Likewise.
252
253 2009-03-04  Richard Guenther  <rguenther@suse.de>
254
255         PR tree-optimization/39339
256         * tree-sra.c (try_instantiate_multiple_fields): Make it
257         no longer ICE on the above.
258
259 2009-03-03  Joseph Myers  <joseph@codesourcery.com>
260
261         * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
262         that fits within Pmode.
263
264 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
265
266         PR middle-end/10109
267         * tm.texi (LIBCALL_VALUE): Update description.
268
269 2009-03-03  Steve Ellcey  <sje@cup.hp.com>
270
271         PR middle-end/34443
272         * doc/extend.texi (section): Update description.
273
274 2009-03-03  H.J. Lu  <hongjiu.lu@intel.com>
275
276         PR middle-end/39345
277         * tree-inline.c (remapped_type): New.
278         (can_be_nonlocal): Call remapped_type instead of remap_type.
279
280 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
281
282         PR fortran/39354
283         * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
284         TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
285
286 2009-03-03  Richard Guenther  <rguenther@suse.de>
287
288         PR middle-end/39272
289         * tree.c (tree_nonartificial_location): New function.
290         * tree.h (tree_nonartificial_location): Declare.
291         * builtins.c (expand_builtin_memory_chk): Provide location
292         of the call location for artificial function pieces.
293         (maybe_emit_chk_warning): Likewise.
294         (maybe_emit_sprintf_chk_warning): Likewise.
295         (maybe_emit_free_warning): Likewise.
296         * expr.c (expand_expr_real_1): Likewise.
297
298 2009-03-03  Jakub Jelinek  <jakub@redhat.com>
299
300         PR tree-optimization/39343
301         * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
302         COMPONENT_REF t has ARRAY_TYPE.
303
304 2009-03-02  Sebastian Pop  <sebastian.pop@amd.com>
305
306         PR middle-end/39335
307         * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
308         when the type precision of the induction variable should be
309         larger than the type precision of nit.
310         (gen_parallel_loop): Update use of canonicalize_loop_ivs.
311         * graphite.c (graphite_loop_normal_form): Same.
312         * tree-flow.h (canonicalize_loop_ivs): Update declaration.
313
314 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
315
316         * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
317         (*call_1_rex64_ms_sysv): Use named constants instead of magic
318         numbers to describe clobbered registers.
319         (*call_value_0_rex64_ms_sysv): Ditto.
320         * config/i386/mmx.md (mmx_emms): Ditto.
321         (mmx_femms): Ditto.
322
323 2009-03-02  Richard Sandiford  <rdsandiford@googlemail.com>
324
325         * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
326         of ABI_64.
327
328 2009-03-02  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
329
330         * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
331         (spu_section_type_flags): New function.
332
333 2009-03-02  Uros Bizjak  <ubizjak@gmail.com>
334
335         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
336         reg_class_contents of FLOAT_REGS into a temporary.
337
338 2009-03-02  Richard Guenther  <rguenther@suse.de>
339             Ira Rosen  <irar@il.ibm.com>
340
341         PR tree-optimization/39318
342         * tree-vect-transform.c (vectorizable_call): Transfer the EH region
343         information to the vectorized statement.
344
345 2009-03-01  Uros Bizjak  <ubizjak@gmail.com>
346
347         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
348         variable.  Use defined names instead of magic constants for REX SSE
349         registers.
350
351 2009-03-01  Richard Guenther  <rguenther@suse.de>
352
353         PR tree-optimization/39331
354         * omp-low.c (lower_send_shared_vars): Do not receive new
355         values for the reference of DECL_BY_REFERENCE parms or results.
356
357 2009-03-01  Jan Hubicka  <jh@suse.cz>
358
359         PR debug/39267
360         * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
361         BLOCK_NONLOCALIZED_VAR): New macros.
362         (tree_block): Add nonlocalized_vars.
363         * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
364         gen_decl_die): Add origin argument.  Allow generation of die with
365         origin at hand only.
366         (gen_member_die, gen_type_die_with_usage, force_decl_die,
367         declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
368         of gen_*.
369         (gen_block_die): Fix checking for unused blocks.
370         (process_scope_var): Break out from .... ; work with origins only.
371         (decls_for_scope) ... here; process nonlocalized list.
372         (dwarf2out_ignore_block): Look for nonlocalized vars.
373         * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
374         vars.
375         (dump_scope_block): Dump them.
376         * tree-inline.c (remap_decls): Handle nonlocalized vars.
377         (remap_block): Likewise.
378         (can_be_nonlocal): New predicate.
379         (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
380
381 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
382
383         * configure: Regenerate.
384
385 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
386
387         * optc-gen.awk: No need to duplicate option flags twice.
388         Reuse help texts for duplicate options which do not have
389         any.
390
391         * gcc.c (display_help): Document --version.
392
393         * gcc.c (main): If print_help_list and verbose_flag, ensure
394         driver output comes before subprocess output.
395
396         * optc-gen.awk: Assign all remaining fields to help string,
397         space-separated, for multi-line help in *.opt.
398
399         * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
400         -Wno-pedantic-ms-format is for MinGW targets only.
401
402         * doc/options.texi (Option file format): Fix bad indentation,
403         restoring dropped sentence.
404
405 2009-02-28  Jan Hubicka  <jh@suse.cz>
406
407         * tree-inline.c (tree_function_versioning): Output debug info.
408
409 2009-02-28  Jan Hubicka  <jh@suse.cz>
410
411         PR debug/39267
412         * tree-inline.c (setup_one_parameter): Do not copy propagate
413         arguments when not optimizing.
414
415 2009-02-28  H.J. Lu  <hongjiu.lu@intel.com>
416
417         PR target/39327
418         * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
419         (avx_addsubv4df3): Likewise.
420         (*avx_addsubv4sf3): Likewise.
421         (sse3_addsubv4sf3): Likewise.
422         (*avx_addsubv2df3): Likewise.
423         (sse3_addsubv2df3): Likewise.
424         (avx_unpckhps256): Correct item selectors.
425         (avx_unpcklps256): Likewise.
426         (avx_unpckhpd256): Likewise.
427         (avx_unpcklpd256): Likewise.
428
429 2009-02-28  Jan Hubicka  <jh@suse.cz>
430
431         * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
432         static vars.
433         (copy_arguments_for_versioning): If var is declared don't declare it.
434         (tree_function_versioning): First setup substitutions and then copy
435         args.
436
437 2009-02-27  Jan Hubicka  <jh@suse.cz>
438
439         PR debug/39267
440         * cgraph.h (varpool_output_debug_info): Remove.
441         * cgraphunit.c (varpool_output_debug_info): Remove.
442         * dwarf2out.c (deferred_locations_struct): New struct
443         (deferred_locations): New type.
444         (deferred_locations_list): New static var.
445         (deffer_location): New function.
446         (gen_variable_die): Use it.
447         (decls_for_scope): Output info on local static vars.
448         (dwarf2out_finish): Process deferred locations.
449         * varpool.c (varpool_output_debug_info): Remove.
450
451 2009-02-27  Jan Hubicka  <jh@suse.cz>
452
453         PR debug/39267
454         * tree.h (TREE_PROTECTED): Fix comment.
455         (BLOCK_HANDLER_BLOCK): Remove.
456         (struct tree_block): Remove handler_block add body_block.
457         (inlined_function_outer_scope_p): New.
458         (is_body_block): Remove.
459         * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
460         * dwarf2out.c (is_inlined_entry_point): Remove.
461         (add_high_low_attributes): Use inlined_function_outer_scope_p.
462         (gen_block_die): Use is_inlined_entry_point check.  Remove body block
463         code.
464         * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
465         * gimplify.c (gimplify_expr): Gimplify body blocks.
466         * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
467         block with multiple subblocks.
468         (dump_scope_block): Prettier output; dump more flags and info.
469         (dump_scope_blocks): New.
470         (remove_unused_locals): Use dump_scope_blocks.
471         * tree-flow.h (dump_scope_blocks): Declare.
472         * tree-cfg.c (execute_build_cfg): Dump scope blocks.
473         * stmt.c (is_body_block): Remove.
474         * tree-inline.c (remap_block): Copy BODY_BLOCK info.
475         * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
476
477 2009-02-27  Sebastian Pop  <sebastian.pop@amd.com>
478
479         PR middle-end/39308
480         * graphite.c (graphite_loop_normal_form): Do not call 
481         number_of_iterations_exit from a gcc_assert.
482
483 2009-02-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
484
485         * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
486         jumps if COND is NULL.
487         (find_cond_jump): New function.
488         (s390_z10_optimize_cmp): Handling for reg-reg compares added.
489         * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
490
491 2009-02-26  Uros Bizjak  <ubizjak@gmail.com>
492
493         * config/alpha/alpha.h (alpha_expand_mov): Return false if
494         force_const_mem returns NULL_RTX.
495
496 2009-02-26  Jan Hubicka  <jh@suse.cz>
497
498         PR debug/39267
499         * cgraph.h (varpool_output_debug_info): Remove.
500         * cgraphunit.c (varpool_output_debug_info): Remove.
501         * dwarf2out.c (deferred_locations_struct): New struct
502         (deferred_locations): New type.
503         (deferred_locations_list): New static var.
504         (deffer_location): New function.
505         (gen_variable_die): Use it.
506         (decls_for_scope): Output info on local static vars.
507         (dwarf2out_finish): Process deferred locations.
508         * varpool.c (varpool_output_debug_info): Remove.
509
510 2009-02-25  H.J. Lu  <hongjiu.lu@intel.com>
511
512         PR rtl-optimization/39241
513         * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
514         to subreg_offset_representable_p.
515
516 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
517
518         * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
519         execute function prototype.  Get f and nregs from max_reg_num
520         and get_insns.  Remove the first backward pass as it's dead,
521         guard the forward pass by flag_expensive_optimizations.
522         (rest_of_handle_regmove): Delete.
523         (pass_regmove): Replace it with regmove_optimize.
524
525 2009-02-25  Martin Jambor  <mjambor@suse.cz>
526
527         PR tree-optimization/39259
528         * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
529         calls_alloca function flags.
530         (copy_bb): Set calls_setjmp and alls_alloca function flags if such
531         calls are detected.
532
533 2009-02-25  Paolo Bonzini  <bonzini@gnu.org>
534
535         * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
536         flags_set_1_rtx, flags_set_1_set): Delete.
537         (regmove_optimize): Do not call mark_flags_life_zones.
538
539 2009-02-24  Julian Brown  <julian@codesourcery.com>
540
541         PR target/35965
542         * config/arm/arm.c (require_pic_register): Only set
543         cfun->machine->pic_reg once per function.
544
545 2009-02-24  Sandra Loosemore  <sandra@codesourcery.com>
546
547         * doc/invoke.texi (Link Options): Document an easier way to pass
548         options that take arguments to the GNU linker using -Xlinker and -Wl.
549
550 2009-02-24  Steve Ellcey  <sje@cup.hp.com>
551
552         PR target/33785
553         * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
554
555 2009-02-24  Richard Guenther  <rguenther@suse.de>
556
557         PR debug/39285
558         * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
559
560 2009-02-24  Richard Guenther  <rguenther@suse.de>
561             Zdenek Dvorak  <ook@ucw.cz>
562
563         PR tree-optimization/39233
564         * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
565         from converting them to a generic type.
566
567 2009-02-23  Sebastian Pop  <sebastian.pop@amd.com>
568
569         PR tree-optimization/39260
570         * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
571         contains a condition with a real type.
572         (build_scop_conditions_1): Conditions are always last_stmt of a bb.
573
574 2009-02-23  Jason Merrill  <jason@redhat.com>
575
576         PR c++/38880
577         * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
578         narrowing_initializer_constant_valid_p.
579         (narrowing_initializer_constant_valid_p): Don't return 
580         null_pointer_node for adding a pointer to itself.
581
582 2009-02-23  Jan Hubicka  <jh@suse.cz>
583
584         PR c/12245
585         * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
586         resizing.
587
588 2009-02-23  Jan Hubicka  <jh@suse.cz>
589
590         PR tree-optimization/37709
591         * tree.c (block_ultimate_origin): Move here from dwarf2out.
592         * tree.h (block_ultimate_origin): Declare.
593         * dwarf2out.c (block_ultimate_origin): Move to tree.c
594         * tree-ssa-live.c (remove_unused_scope_block_p):
595         Eliminate blocks containig no instructions nor live variables nor
596         nested blocks.
597         (dump_scope_block): New function.
598         (remove_unused_locals): Enable removal of dead blocks by default;
599         enable dumping at TDF_DETAILS.
600
601 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
602
603         * config/i386/i386.c (classify_argument): Don't allow COImode
604         and OImode.
605         (function_arg_advance_32): Don't allow OImode.
606         (function_arg_32): Likewise.
607         (function_value_32): Likewise.
608         (return_in_memory_32): Likewise.
609         (function_arg_64): Remove OImode comment.
610
611 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
612
613         PR target/39261
614         * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
615         ix86_expand_vector_set for V4DImode in 64bit mode only.
616         (ix86_expand_vector_init_one_var): Likewise.
617
618 2009-02-21  Sebastian Pop  <sebastian.pop@amd.com>
619
620         * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
621
622 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
623
624         PR bootstrap/39257
625         * loop-iv.c: Revert last change.
626         * emit-rtl.c: Likewise.
627
628 2009-02-21  H.J. Lu  <hongjiu.lu@intel.com>
629
630         PR target/39256
631         * config/i386/i386.c (type_natural_mode): Remove an extra
632         space in the warning message.
633         (function_value_32): Handle 32-byte vector modes.
634         (return_in_memory_32): Likewise.
635
636 2009-02-21  Richard Sandiford  <rdsandiford@googlemail.com>
637
638         * loop-iv.c (truncate_value): New function.
639         (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
640         of lowpart_subreg.
641         (lowpart_subreg): Move to...
642         * emit-rtl.c: ...here.
643
644 2009-02-21  Danny Smith  <dannysmith@users.sourceforge.net>
645
646         * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
647         accidental and undocumented change at revision 140860.
648
649 2009-02-21  Joseph Myers  <joseph@codesourcery.com>
650
651         * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
652         take gimple_seq * arguments.
653         (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
654         types_compatible_p langhook.
655
656 2009-02-20  Mark Mitchell  <mark@codesourcery.com>
657             Joseph Myers  <joseph@codesourcery.com>
658
659         * config/arm/arm.c (arm_builtin_va_list): New function.
660         (arm_expand_builtin_va_start): Likewise.
661         (arm_gimplify_va_arg_expr): Likewise.
662         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
663         (TARGET_BUILD_BUILTIN_VA_START): Likewise.
664         (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
665         (va_list_type): New variable.
666         (arm_mangle_type): Mangle va_list_type appropriately.
667
668 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
669
670         PR middle-end/39157
671         * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
672         * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
673         * params.def (loop-invariant-max-bbs-in-loop): New parameter.
674         * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
675         parameter to 1000 for -O1 by default.
676         * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
677         parameter.
678         * loop-invariant.c: Include params.h.
679         (move_loop_invariants): Don't call move_single_loop_invariants on
680         very large loops.
681
682 2009-02-20  Jaka Mocnik  <jaka@xlab.si>
683
684         * calls.c (emit_library_call_value_1): Use slot_offset instead of
685         offset when calculating bounds for indexing stack_usage_map.  Fixes
686         a buffer overflow with certain target setups.
687
688 2009-02-20  Jakub Jelinek  <jakub@redhat.com>
689
690         PR target/39240
691         * calls.c (expand_call): Clear try_tail_call if caller and callee
692         disagree in promotion of function return value.
693
694 2009-02-19  Jakub Jelinek  <jakub@redhat.com>
695
696         PR target/39175
697         * c-common.c (c_determine_visibility): If visibility changed and
698         DECL_RTL has been already set, call make_decl_rtl to update symbol
699         flags.
700
701 2009-02-19  H.J. Lu  <hongjiu.lu@intel.com>
702
703         PR c++/39188
704         * varasm.c (assemble_variable): Don't check DECL_NAME when
705         globalizing a variable.
706
707 2009-02-19  Joseph Myers  <joseph@codesourcery.com>
708
709         PR c/38483
710         * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
711         expression before any __builtin_trap call.
712         * c-typeck.c (build_function_call): Convert and check function
713         arguments before generating a call to a trap.  Evaluate the
714         function arguments before the trap.
715
716 2009-02-19  Uros Bizjak  <ubizjak@gmail.com>
717
718         PR target/39228
719         * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
720         (UNSPEC_FXAM_MEM): New unspec.
721         (fxam<mode>2_i387_with_temp): New insn and split pattern.
722         (isinf<mode>2): Use MODEF mode iterator.  Force operand[1] through
723         memory using fxam<mode>2_i387_with_temp to remove excess precision.
724
725 2009-02-19  Richard Guenther  <rguenther@suse.de>
726
727         PR tree-optimization/39207
728         PR tree-optimization/39074
729         * tree-ssa-structalias.c (storedanything_id, var_storedanything,
730         storedanything_tree): New.
731         (do_ds_constraint): Simplify ANYTHING shortcutting.  Update
732         the STOREDANYTHING solution if the lhs solution contains ANYTHING.
733         (build_succ_graph): Add edges from STOREDANYTHING to all
734         non-direct nodes.
735         (init_base_vars): Initialize STOREDANYTHING.
736         (compute_points_to_sets): Free substitution info after
737         building the succ graph.
738         (ipa_pta_execute): Likewise.
739
740         * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
741         field.
742         (do_ds_constraint): Do not add to special var or non-pointer
743         field solutions.
744         (type_could_have_pointers): Split out from ...
745         (could_have_pointers): ... here.  For arrays use the element type.
746         (create_variable_info_for): Initialize may_have_pointers.
747         (new_var_info): Likewise.
748         (handle_lhs_call): Make the HEAP variable unknown-sized.
749         (intra_create_variable_infos): Use a type with pointers for
750         PARM_NOALIAS, make it unknown-sized.
751
752 2009-02-18  H.J. Lu  <hongjiu.lu@intel.com>
753
754         PR target/39224
755         * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
756
757 2009-02-18  Jason Merrill  <jason@redhat.com>
758
759         PR target/39179
760         * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
761         value if DECL_EXTERNAL.
762         * tree-sra.c (sra_walk_gimple_assign): Likewise.
763         * target.h (gcc_target::binds_local_p): Clarify "module".
764         * tree.h (TREE_PUBLIC): Clarify "module".
765
766 2009-02-17  Xuepeng Guo  <xuepeng.guo@intel.com>
767
768         PR target/38891
769         * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
770         initialization for MS_ABI prior to the hunk of !TARGET_MMX.
771
772 2009-02-17  H.J. Lu  <hongjiu.lu@intel.com>
773
774         PR target/39082
775         * c.opt (Wabi): Support C and ObjC.
776         (Wpsabi): New.
777
778         * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
779
780         * config/i386/i386.c (classify_argument): Warn once about the ABI
781         change when passing union with long double.
782
783         * doc/invoke.texi: Update -Wabi for warning psABI changes.
784
785 2009-02-18  Joseph Myers  <joseph@codesourcery.com>
786
787         PR c/35447
788         * c-parser.c (c_parser_compound_statement): Always enter and leave
789         a scope.
790
791 2009-02-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
792
793         PR target/34587
794         * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
795
796 2009-02-18  Jakub Jelinek  <jakub@redhat.com>
797
798         PR tree-optimization/36922
799         * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
800         * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
801         Likewise.
802
803 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
804
805         * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
806         to 0 for EABI64.
807
808 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
809
810         * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
811
812 2009-02-17  Richard Sandiford  <rdsandiford@googlemail.com>
813
814         * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
815         tree sharing.
816
817 2009-02-17  Ruan Beihong  <ruanbeihong@gmail.com>
818             Richard Sandiford  <rdsandiford@googlemail.com>
819
820         * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
821         * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
822         (loongson_biadd): ...this.
823
824 2009-02-17  Richard Guenther  <rguenther@suse.de>
825
826         PR tree-optimization/39202
827         * tree-ssa-structalias.c (do_structure_copy): Before collapsing
828         a var make sure to follow existing collapses.
829
830 2009-02-17  Richard Guenther  <rguenther@suse.de>
831
832         PR middle-end/39214
833         * langhooks.c (lhd_print_error_function): Check for NULL block.
834
835 2009-02-17  Richard Guenther  <rguenther@suse.de>
836
837         PR tree-optimization/39204
838         * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
839         of the PHI arg.
840
841 2009-02-17  Uros Bizjak  <ubizjak@gmail.com>
842
843         * config/soft-fp/double.h: Update from glibc CVS.
844
845 2009-02-17  Richard Guenther  <rguenther@suse.de>
846
847         PR tree-optimization/39207
848         * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
849         strict-aliasing warnings for pointers pointing to NULL.
850
851 2009-02-16  Joseph Myers  <joseph@codesourcery.com>
852
853         PR c/35446
854         * c-parser.c (c_parser_braced_init): Call pop_init_level when
855         skipping until next close brace.
856
857 2009-02-16  H.J. Lu  <hongjiu.lu@intel.com>
858
859         PR target/37049
860         * config/i386/i386.c (ix86_expand_push): Set memory alignment
861         to function argument boundary.
862
863 2009-02-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
864
865         * config/picochip/picochip.md (lea_add): Allow any nonimmediate
866         in the lea_add. Reload eventually constraints it properly.
867         * config/picochip/constraints.md : Remove the target constraint
868         "b", since it is not needed anymore.
869
870 2009-02-16  Jakub Jelinek  <jakub@redhat.com>
871
872         * gthr-dce.h: Uglify function parameter and local variable names.
873         * gthr-gnat.h: Likewise.
874         * gthr-mipssde.h: Likewise.
875         * gthr-nks.h: Likewise.
876         * gthr-posix95.h: Likewise.
877         * gthr-posix.h: Likewise.
878         * gthr-rtems.h: Likewise.
879         * gthr-single.h: Likewise.
880         * gthr-solaris.h: Likewise.
881         * gthr-tpf.h: Likewise.
882         * gthr-vxworks.h: Likewise.
883         * gthr-win32.h: Likewise.
884
885 2009-02-15  H.J. Lu  <hongjiu.lu@intel.com>
886
887         PR target/39196
888         * config/i386/i386.md: Restrict the new peephole2 to move
889         between MMX/SSE registers.
890
891 2009-02-15  Richard Guenther  <rguenther@suse.de>
892
893         Revert
894         2009-02-13  Richard Guenther  <rguenther@suse.de>
895
896         * configure.ac: Enable LFS.
897         * configure: Re-generate.
898         * config.in: Likewise.
899
900 2009-02-13  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
901
902         * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
903         spu_srqwbyte, spu_srqwbytebc): Define.
904         * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
905         spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
906         * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
907         "shrqby_<mode>"): New insn-and-split patterns.
908         * config/spu/spu.c (expand_builtin_args): Determine and return
909         number of operands using spu_builtin_description data.
910         (spu_expand_builtin_1): Use it.
911
912 2009-02-13  Steve Ellcey  <sje@cup.hp.com>
913
914         PR target/38056
915         * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
916         TARGET_CONST_GP.
917
918 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
919
920         PR target/39149
921         * config/i386/i386.c (override_options): Correct warning
922         messages for -malign-loops, -malign-jumps and -malign-functions.
923
924 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
925
926         PR target/39152
927         * config/i386/i386.md: Restrict the new peephole2 to move
928         between the general purpose registers.
929
930 2009-02-13  H.J. Lu  <hongjiu.lu@intel.com>
931
932         PR target/39162
933         * config/i386/i386.c (type_natural_mode): Add a new argument.
934         Return the original mode and warn ABI change if vector size is 32byte.
935         (function_arg_advance): Updated.
936         (function_arg): Likewise.
937         (ix86_function_value): Likewise.
938         (ix86_return_in_memory): Likewise.
939         (ix86_sol10_return_in_memory): Likewise.
940         (ix86_gimplify_va_arg): Likewise.
941         (function_arg_32): Don't warn ABX ABI change here.
942         (function_arg_64): Likewise.
943
944 2009-02-13  Bernd Schmidt  <bernd.schmidt@analog.com>
945
946         * loop-iv.c (implies_p): In the final case, test that operands 0
947         of the two comparisons match.
948
949         * config/bfin/bfin.c (find_prev_insn_start): New function.
950         (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
951         (find_next_insn_start): Move.
952
953 2009-02-13  Richard Guenther  <rguenther@suse.de>
954
955         * configure.ac: Enable LFS.
956         * configure: Re-generate.
957         * config.in: Likewise.
958
959 2009-02-13  Joseph Myers  <joseph@codesourcery.com>
960
961         PR c/35444
962         * c-parser.c (c_parser_parms_list_declarator): Discard pending
963         sizes on syntax error after some arguments have been parsed.
964
965 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
966
967         * doc/invoke.texi (-fira): Remove.
968
969 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
970
971         * caller-save.c: Replace regclass.c with reginfo.c in comments.
972         * recog.c: Likewise.
973         * rtl.h: Likewise.
974
975 2009-02-12  Uros Bizjak  <ubizjak@gmail.com>
976
977         * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
978         (umul_ppmm): Likewise.
979         (count_leading_zeros): Likewise.
980         (count_trailing_zeros): Likewise.
981         (UMUL_TIME): Likewise.
982
983 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
984
985         * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
986         soft-fp/t-softfp to tmake_file.
987
988         * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
989         (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
990         (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
991         IA64_BUILTIN_INFQ]: New.
992         (ia64_init_builtins): Initialize __builtin_infq,
993         __builtin_fabsq and __builtin_copysignq if not HPUX.
994         (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
995         IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
996
997         * config/ia64/lib1funcs.asm (__divtf3): Define only if
998         SHARED is defined.
999         (__fixtfti): Likewise.
1000         (__fixunstfti): Likewise.
1001         (__floattitf): Likewise.
1002
1003         * config/ia64/libgcc-glibc.ver: New.
1004         * config/ia64/t-fprules-softfp: Likewise.
1005         * config/ia64/sfp-machine.h: Likewise.
1006
1007         * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
1008         (LIBGCC2_TF_CEXT): Likewise.
1009         (TF_SIZE): Likewise.
1010         (TARGET_INIT_LIBFUNCS): Likewise.
1011
1012         * config/ia64/t-glibc (SHLINB_MAPFILES):
1013         Add $(srcdir)/config/ia64/libgcc-glibc.ver.
1014
1015 2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
1016
1017         * config/i386/i386.c (construct_container): Rewrite processing
1018         BLKmode with X86_64_SSE_CLASS.
1019
1020 2009-02-12  Paolo Bonzini  <bonzini@gnu.org>
1021
1022         PR target/39152
1023         * config/i386/i386.md: Replace simplify_replace_rtx with
1024         replace_rtx in the new peephole2.
1025
1026 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
1027
1028         * doc/invoke.texi (Optimize Options): Stop claiming inlining and
1029         loop unrolling do not happen at -O2.
1030
1031 2009-02-12  Michael Matz  <matz@suse.de>
1032
1033         * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
1034
1035 2009-02-12  Jakub Jelinek  <jakub@redhat.com>
1036
1037         * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
1038         for -g3.
1039
1040 2009-02-12  Ben Elliston  <bje@au.ibm.com>
1041
1042         * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
1043         patterns when updating the back chain.  Missed in the 2009-02-10
1044         change.
1045
1046 2009-02-11  Janis Johnson  <janis187@us.ibm.com>
1047
1048         * doc/extend.texi (Decimal Floating Types): Update identifier of
1049         draft TR and list of missing support.
1050
1051 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
1052
1053         PR middle-end/39154
1054         * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
1055         bit to variable length decl's flags, add it also to its
1056         pointer replacement variable.
1057
1058 2009-02-11  Uros Bizjak  <ubizjak@gmail.com>
1059             Jakub Jelinek  <jakub@redhat.com>
1060
1061         PR target/39118
1062         * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1063         (memory_blockage): New expander.
1064         (*memory_blockage): New insn pattern.
1065         * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1066         instead of general blockage at the end of function prologue when
1067         frame pointer is used to access red zone area.  Do not emit blockage
1068         when profiling, it is emitted in generic code.
1069         (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1070         function epilogue when frame pointer is used to access red zone area.
1071
1072 2009-02-11  Paolo Bonzini  <bonzini@gnu.org>
1073
1074         PR target/38824
1075         * config/i386/i386.md: Add two new peephole2 to avoid mov followed
1076         by arithmetic with memory operands.
1077         * config/i386/predicates.md (commutative_operator): New.
1078
1079 2009-02-10  Janis Johnson  <janis187@us.ibm.com>
1080
1081         * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
1082         bulleted lists.
1083
1084 2009-02-10  Eric Botcazou  <ebotcazou@adacore.com>
1085
1086         * alias.h (record_alias_subset): Declare.
1087         * alias.c (record_alias_subset): Make global.
1088
1089 2009-02-10  Nick Clifton  <nickc@redhat.com>
1090
1091         * tree-parloops.c: Change license to GPLv3.
1092         * ipa-struct-reorg.c: Change license to GPLv3.
1093         * ipa-struct-reorg.h: Change license to GPLv3.
1094
1095 2009-02-10  Steve Ellcey  <sje@cup.hp.com>
1096
1097         PR c/39084
1098         * c-decl.c (start_struct): Return NULL on error.
1099
1100 2009-02-10  Jakub Jelinek  <jakub@redhat.com>
1101
1102         PR middle-end/39124
1103         * cfgloopmanip.c (remove_path): Call remove_bbs after
1104         cancel_loop_tree, not before it.
1105
1106         PR target/39139
1107         * function.h (struct function): Add has_local_explicit_reg_vars bit.
1108         * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
1109         VAR_DECLs were seen.
1110         * tree-ssa-live.c (remove_unused_locals): Recompute
1111         cfun->has_local_explicit_reg_vars.
1112         * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
1113         copies or clearings if cfun->has_local_explicit_reg_vars.
1114
1115 2009-02-10  Uros Bizjak  <ubizjak@gmail.com>
1116
1117         PR target/39118
1118         * config/i386/i386.c (expand_prologue): Emit blockage at the end
1119         of function prologue when frame pointer is used to access
1120         red zone area.
1121
1122 2009-02-10  Richard Guenther  <rguenther@suse.de>
1123
1124         PR middle-end/39127
1125         * gimplify.c (gimple_regimplify_operands): Always look if
1126         we need to create a temporary.
1127
1128 2009-02-10  Richard Guenther  <rguenther@suse.de>
1129
1130         PR tree-optimization/39132
1131         * tree-loop-distribution.c (todo): New global var.
1132         (generate_memset_zero): Trigger TODO_rebuild_alias.
1133         (tree_loop_distribution): Return todo.
1134
1135 2009-02-10  H.J. Lu  <hongjiu.lu@intel.com>
1136
1137         PR target/39119
1138         * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
1139         (x86_64_reg_class_name): Removed.
1140         (classify_argument): Return 0 if bytes > 32.  Return 0 if the
1141         first one isn't X86_64_SSE_CLASS or any other ones aren't
1142         X86_64_SSEUP_CLASS when size > 16bytes.  Don't turn
1143         X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
1144         is X86_64_SSEUP_CLASS.  Set AVX modes to 1 X86_64_SSE_CLASS
1145         and 3 X86_64_SSEUP_CLASS.
1146         (construct_container): Remove X86_64_AVX_CLASS.  Handle 4
1147         registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
1148
1149 2009-02-10  Ben Elliston  <bje@au.ibm.com>
1150
1151         * config/rs6000/rs6000.md (allocate_stack): Always use an update
1152         form instruction to update the stack back chain word, even if the
1153         user has disabled the generation of update instructions.
1154         (movdi_<mode>_update_stack): New.
1155         (movsi_update_stack): Likewise.
1156         * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
1157         always use an update form instruction to update the stack back
1158         chain word.
1159
1160 2009-02-09  Sebastian Pop  <sebastian.pop@amd.com>
1161
1162         PR middle-end/38953
1163         * graphite.c (if_region_set_false_region): After moving a region in
1164         the false branch of a condition, remove the empty dummy basic block.
1165         (gloog): Remove wrong fix for PR38953.
1166
1167 2009-02-09  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1168
1169         * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
1170         generation due to implicit sign extension.
1171
1172 2009-02-09  Eric Botcazou  <ebotcazou@adacore.com>
1173
1174         PR middle-end/38981
1175         * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
1176         at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
1177
1178 2009-02-09  Richard Guenther  <rguenther@suse.de>
1179
1180         PR middle-end/35202
1181         * convert.c (convert_to_real): Disable (float)fn((double)x)
1182         to fnf(x) conversion if errno differences may occur and
1183         -fmath-errno is set.
1184
1185 2009-02-07  Anatoly Sokolov  <aesok@post.ru>
1186
1187         * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
1188         * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1189         * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1190
1191 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1192
1193         PR c/35434
1194         * c-common.c (handle_alias_attribute): Disallow attribute for
1195         anything not a FUNCTION_DECL or VAR_DECL.
1196
1197 2009-02-06  Janis Johnson  <janis187@us.ibm.com>
1198
1199         PR c/39035
1200         * real.c (do_compare): Special-case compare of zero against
1201         decimal float value.
1202
1203 2009-02-06  Joseph Myers  <joseph@codesourcery.com>
1204
1205         PR c/36432
1206         * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
1207         as indicating flexible array members unless the field itself is
1208         being declarared as the incomplete array.
1209
1210 2009-02-06  Jan Hubicka  <jh@suse.cz>
1211
1212         PR tree-optimization/38844
1213         * ipa-inline.c (try_inline): Stop inlining recursion when edge
1214         is already inlined.
1215
1216 2009-02-06  Richard Guenther  <rguenther@suse.de>
1217
1218         PR middle-end/38977
1219         * tree-cfg.c (need_fake_edge_p): Force a fake edge for
1220         fork because we may expand it as __gcov_fork.
1221
1222 2009-02-06  Nick Clifton  <nickc@redhat.com>
1223
1224         * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
1225
1226 2009-02-06  Paolo Bonzini  <bonzini@gnu.org>
1227
1228         PR tree-optimization/35659
1229         * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
1230         vn_phi_eq): Shortcut if hashcode does not match.
1231         (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
1232         NULL operands.
1233         * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
1234         and avoid iterative_hash_expr.
1235         (FOR_EACH_VALUE_ID_IN_SET): New.
1236         (value_id_compare): Remove.
1237         (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
1238         sort expressions by value id.
1239
1240 2009-02-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1241
1242         PR target/38991
1243         * config/sh/predicates.md (general_movsrc_operand): Don't check
1244         the subreg of system registers here.
1245
1246 2009-02-05  Jakub Jelinek  <jakub@redhat.com>
1247
1248         PR c++/39106
1249         * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
1250         on the copied decl.
1251
1252 2009-02-05  Paolo Bonzini  <bonzini@gnu.org>
1253
1254         PR rtl-optimization/39110
1255         * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
1256         addresses, not aligned ones.
1257
1258 2009-02-05  Daniel Berlin  <dberlin@dberlin.org>
1259             Richard Guenther  <rguenther@suse.de>
1260
1261         PR tree-optimization/39100
1262         * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1263         comment says and add edges.
1264
1265 2009-02-05  Joseph Myers  <joseph@codesourcery.com>
1266
1267         PR c/35435
1268         * c-common.c (handle_tls_model_attribute): Ignore attribute for
1269         non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1270
1271 2009-02-04  Tobias Grosser  <grosser@fim.uni-passau.de> 
1272
1273         * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
1274         sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
1275         register_bb_in_sese, new_sese, free_sese): Moved.
1276         (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
1277         outermost_loop_in_scop, build_scop_iteration_domain,
1278         expand_scalar_variables_ssa_name, get_vdef_before_scop,
1279         limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
1280         Use loop_in_sese_p instead of loop_in_scop_p.
1281         (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
1282         (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
1283         (scopdet_basic_block_info): Fix bug in scop detection.
1284         (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
1285         eq_loop_to_cloog_loop): Remove.
1286         (nb_loops_around_loop_in_scop, nb_loop
1287         ref_nb_loops): Moved here...
1288         * graphite.h (ref_nb_loops): ... from here.
1289         (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
1290         (loop_domain_dim, loop_iteration_vector_dim): Remove.
1291         (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
1292         * testsuite/gcc.dg/graphite/scop-19.c: New
1293
1294 2009-02-04  Paolo Bonzini  <bonzini@gnu.org>
1295             Hans-Peter Nilsson  <hp@axis.com>
1296
1297         PR rtl-optimization/37889
1298         * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
1299         Move offset handling from PLUS to before the switch.  Use new
1300         arguments when considering SYMBOL_REFs too.
1301         (rtx_addr_can_trap_p): Pass dummy offset and size.
1302         (enum may_trap_p_flags): Remove.
1303         (may_trap_p_1): Pass size from MEM_SIZE.
1304
1305         PR rtl-optimization/38921
1306         * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
1307         * rtl.h (may_trap_after_code_motion_p): Delete prototype.
1308         * rtlanal.c (may_trap_after_code_motion_p): Delete.
1309         (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
1310
1311 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
1312
1313         AVX Programming Reference (January, 2009)
1314         * config/i386/sse.md (*vpclmulqdq): New.
1315
1316 2009-02-04  Jakub Jelinek  <jakub@redhat.com>
1317
1318         PR tree-optimization/38977
1319         PR gcov-profile/38292
1320         * calls.c (special_function_p): Disregard __builtin_ prefix.
1321
1322 2009-02-04  Hariharan Sandanagobalane  <hariharan@picochip.com>
1323
1324         * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
1325         non-indexable addresses even before reload.
1326
1327 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1328
1329         PR c/29129
1330         * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
1331         as having variable size.  Do not give an error for unnamed
1332         parameters with [*] declarators.  Give a warning for type names
1333         with [*] declarators and mark them as variable size.
1334         * c-parser.c (c_parser_sizeof_expression): Do not give an error
1335         for sizeof applied to [*] type names.
1336
1337 2009-02-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1338
1339         PR C++/36607
1340         * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1341
1342 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1343
1344         * gcc.c (process_command): Update copyright notice dates.
1345         * gcov.c (print_version): Likewise.
1346         * gcov-dump.c (print_version): Likewise.
1347         * mips-tfile.c (main): Likewise.
1348         * mips-tdump.c (main): Likewise.
1349
1350 2009-02-03  Joseph Myers  <joseph@codesourcery.com>
1351
1352         PR c/35433
1353         * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1354         for composite type involving a zero-length array type.
1355
1356 2009-02-03  Jakub Jelinek  <jakub@redhat.com>
1357
1358         PR target/35318
1359         * function.c (match_asm_constraints_1): Skip over
1360         initial optional % in the constraint.
1361
1362         PR inline-asm/39059
1363         * c-parser.c (c_parser_postfix_expression): If fixed point is not
1364         supported, don't accept FIXED_CSTs.
1365         * c-decl.c (finish_declspecs): Error if fixed point is not supported
1366         and _Sat is used without _Fract/_Accum.  Set specs->type to
1367         integer_type_node for cts_fract/cts_accum if fixed point is not
1368         supported.
1369
1370 2009-02-02  Catherine Moore  <clm@codesourcery.com>
1371
1372         * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
1373
1374 2009-02-02  Richard Sandiford  <rdsandiford@googlemail.com>
1375
1376         * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1377         (ABI_HAS_64BIT_SYMBOLS): Use it.
1378         (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1379
1380 2009-02-02  Paul Brook  <paul@codesourcery.com>
1381
1382         * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1383
1384 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
1385
1386         PR inline-asm/39058
1387         * recog.h (asm_operand_ok): Add constraints argument.
1388         * recog.c (asm_operand_ok): Likewise.  If it is set, for digits
1389         recurse on matching constraint.
1390         (check_asm_operands): Pass constraints as 3rd argument to
1391         asm_operand_ok.  Don't look up matching constraint here.
1392         * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1393         to asm_operand_ok.
1394
1395 2009-02-02  Ben Elliston  <bje@au.ibm.com>
1396
1397         * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1398         TARGET_NARROW_VOLATILE_BITFIELD macro names.
1399
1400 2009-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1401
1402         * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1403         information.  Remove some obsolete information.  Reorganize.
1404
1405         * config/pa/fptr.c: Revert license to GPL 2.
1406         * config/pa/milli64.S: Likewise.
1407
1408 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1409
1410         PR target/38904
1411         * mkmap-flat.awk (END):  Use pe_dll command-line arg to pass
1412         LIBRARY name in, instead of hard-coding it.
1413         * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*):  Add an
1414         extra target make frag to tmake_files according to EH model.
1415         (i[34567]86-*-mingw* | x86_64-*-mingw*):  Likewise.
1416         * config/i386/t-dw2-eh, config/i386/t-sjlj-eh:  Add new target
1417         frags that define makefile variable EH_MODEL appropriately.
1418         * config/i386/cygming.h (DWARF2_UNWIND_INFO):  Add comment.
1419         * config/i386/cygwin.h (LIBGCC_EH_EXTN):  Define to nothing or
1420         to "-sjlj" according to type of EH configured.
1421         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1422         * config/i386/mingw32.h (LIBGCC_EH_EXTN):  Define to "_dw2" or
1423         to "_sjlj" according to type of EH configured.
1424         (LIBGCC_SONAME):  Concatenate it to shared library base name.
1425         * config/i386/t-cygming (SHLIB_SONAME):  Use EH_MODEL.
1426         (SHLIB_LINK):  Add missing semicolon to if-else construct.
1427         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1428         string value of "pe_dll" command-line option.
1429         * config/i386/t-cygwin (SHLIB_EH_EXTENSION):  New helper.
1430         (SHLIB_SONAME):  Use it when overriding t-cygming default.
1431         (SHLIB_IMPLIB):  Override t-cygming default.
1432         (SHLIB_MKMAP_OPTS):  Pass library name to mkmap-flat.awk as
1433         string value of "pe_dll" command-line option.
1434
1435 2009-01-31  Dave Korn  <dave.korn.cygwin@gmail.com>
1436
1437         PR target/38952
1438         * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
1439         (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
1440
1441 2009-01-31  Richard Guenther  <rguenther@suse.de>
1442
1443         PR tree-optimization/38937
1444         * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1445         computing the transitive closure.
1446
1447 2009-01-30  Richard Guenther  <rguenther@suse.de>
1448
1449         PR tree-optimization/39041
1450         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1451         Propagate variable indices only if the types match for this stmt.
1452
1453 2009-01-30  Jakub Jelinek  <jakub@redhat.com>
1454
1455         PR target/39013
1456         * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1457         inline but never defined.
1458
1459 2009-01-30  Wolfgang Gellerich  <gellerich@de.ibm.com>
1460
1461         * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1462         (*insv_h_di_reg_extimm): New insn.
1463         (*insv_l<mode>_reg_extimm): New insn.
1464
1465 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1466
1467         * config/picochip/picochip.c (flag_conserve_stack): set
1468         PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1469         fconserve-stack. Reduce call-overhead used by inliner.
1470
1471 2009-01-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
1472
1473         PR/38157
1474         * common.opt (flag_conserve_stack): Initialised to zero.
1475
1476 2009-01-30  Kai Tietz  <kai.tietz@onevision.com>
1477
1478         PR/39002
1479         * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1480         (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1481         method.
1482
1483 2009-01-29  H.J. Lu  <hongjiu.lu@intel.com>
1484
1485         * ira-color.c (allocno_reload_assign): Update comments.
1486         * regmove.c (regmove_optimize): Likewise.
1487
1488         * ra.h: Removed.
1489
1490 2009-01-29  Robert Millan  <rmh@aybabtu.com>
1491
1492         * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1493         * gcc/config/i386/kopensolaris-gnu.h: New file.  Undefine
1494         `MD_UNWIND_SUPPORT'.
1495         * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1496
1497 2009-01-29  Kazu Hirata  <kazu@codesourcery.com>
1498
1499         PR tree-optimization/39007
1500         * tree-loop-distribution.c (generate_builtin): Use
1501         recompute_dominator to compute the immediate dominator of the
1502         basic block just after the loop.
1503
1504 2009-01-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1505
1506         * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1507         (ASM_OUTPUT_DWARF_PCREL): Define.
1508
1509 2009-01-29  Vladimir Makarov  <vmakarov@redhat.com>
1510
1511         * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1512         * doc/passes.texi: Remove entries about regclass, local-alloc, and
1513         global.  Modify entries about regmove and IRA.
1514
1515         * ra-conflict.c: Remove the file.
1516
1517         * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1518
1519         * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1520         (pass_regclass_init): Rename to pass_reginfo_init.
1521
1522         * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1523
1524         * toplev.h (flag_ira): Remove.
1525
1526         * caller-save.c (setup_save_areas): Remove flag_ira.
1527
1528         * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
1529
1530         * global.c: Remove the file.
1531
1532         * opts.c: (decode_options): Remove flag_ira.
1533
1534         * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1535
1536         * regmove.c: Modify file description.
1537         (find_use_as_address, try_auto_increment): Define them only if
1538         AUTO_INC_DEC is defined.
1539         (replacement_quality, replace_in_call_usage, fixup_match_1,
1540         stable_and_no_regs_but_for_p): Remove.
1541         (reg_set_in_bb): Make it static.
1542         (regmove_optimize): Remove flag_ira and code which worked for
1543         !flag_ira.
1544
1545         * local-alloc.c: Remove the file.
1546
1547         * common.opt (fira): Remove.
1548
1549         * ira.c: Include except.h.
1550         (eliminable_regset): Move from global.c.
1551         (mark_elimination): Ditto.  Remove flag_ira.
1552         (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1553         equiv_mem_modified, validate_equiv_mem_from_store,
1554         validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1555         contains_replace_regs, memref_referenced_p, memref_used_between_p,
1556         no_equiv, recorded_label_ref): Move from local-alloc.c.
1557         (update_equiv_regs): Ditto.  Make it static.
1558         (print_insn_chain, print_insn_chains): Move it from global.c.
1559         (pseudo_for_reload_consideration_p): Ditto.  Remove flag_ira.
1560         (build_insn_chain): Ditto.  Make it static.
1561         (ra_init_live_subregs): Move from ra-conflict.c.  Make it static.
1562         Rename to init_live_subregs.
1563         (gate_ira): Remove flag_ira.
1564
1565         * regclass.c: Rename reginfo.c.  Change file description.
1566         (FORBIDDEN_INC_DEC_CLASSES): Remove.
1567         (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
1568         (init_reg_sets_1): Remove code for evaluation of
1569         reg_class_superclasses and losing_caller_save_reg_set.
1570         (init_regs): Remove init_reg_autoinc.
1571         (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1572         ok_for_base_p_nonstrict): Remove.
1573         (regclass_init): Rename to reginfo_init.  Don't initialize init_cost.
1574         (pass_regclass_init): Rename to pass_reginfo_init.  Modify
1575         corresponding entries.
1576         (dump_regclass, record_operand_costs, scan_one_insn,
1577         init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1578         record_address_regs, auto_inc_dec_reg_p): Remove.
1579         (gt-regclass.h): Rename to gt-reginfo.h.
1580
1581         * rtl.h (dump_global_regs, retry_global_alloc,
1582         build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
1583
1584         * Makefile.in (RA_H): Remove.
1585         (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1586         Rename regclass.o to reginfo.o.
1587         (regclass.o): Rename to reginfo.o.  Rename gt-regclass.h to
1588         gt-reginfo.h.
1589         (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1590         (GTFILES): Rename regclass.c to reginfo.c.
1591
1592         * passes.c (init_optimization_passes): Remove pass_local_alloc and
1593         pass_global_alloc.  Rename pass_regclass_init to pass_reginfo_init.
1594
1595         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1596         count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1597         Remove flag_ira.
1598         (finish_spills): Ditto.  Remove code for !flag_ira.
1599         
1600 2009-01-29  Kenneth Zadeck  <zadeck@naturalbridge.com>
1601
1602         PR middle-end/35854
1603         * doc/invoke.texi (rtl debug options): Complete rewrite.
1604         * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1605         to auto_inc_dec".
1606         * mode-switching.c (pass_mode_switching): Rename pass from
1607         "mode-sw" to "mode_sw".
1608         * except.c (pass_convert_to_eh_ranges): Rename pass from
1609         "eh-ranges" to "eh_ranges".
1610         * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1611         to "subreg1".
1612                 
1613         
1614 2009-01-29  Andrey Belevantsev  <abel@ispras.ru>
1615             Alexander Monakov  <amonakov@ispras.ru>
1616
1617         PR middle-end/38857
1618         * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1619         register.
1620         (move_exprs_to_boundary): Change return type and pass through
1621         should_move from move_op.  Relax assert.  Update usage ...
1622         (schedule_expr_on_boundary): ... here.  Use should_move instead of
1623         cant_move.
1624         (move_op_orig_expr_found): Indicate that insn was disconnected from
1625         stream.
1626         (code_motion_process_successors): Do not call after_merge_succs
1627         callback if original expression was not found when traversing any of
1628         the branches.
1629         (code_motion_path_driver): Change return type.  Update prototype.
1630         (move_op): Update comment.  Add a new parameter (should_move).  Update
1631         prototype.  Set *should_move based on indication provided by
1632         move_op_orig_expr_found.
1633
1634 2009-01-28  Pat Haugen  <pthaugen@us.ibm.com>
1635
1636         * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1637         * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1638         * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1639         * config/rs6000/rs6000.c (rs6000_override_options): Default
1640         avoid-indexed-addresses on for Power6, off for everything else.
1641         (avoiding_indexed_address_p): New function.
1642         (rs6000_legitimize_address): Use it.
1643         (rs6000_legitimate_address): Likewise.
1644         * config/rs6000/rs6000.md (movXX_updateX): Likewise
1645
1646 2009-01-28  Kazu Hirata  <kazu@codesourcery.com>
1647
1648         PR tree-optimization/38997
1649         * tree-loop-distribution.c (generate_memset_zero): Use
1650         POINTER_PLUS_EXPR for a pointer addition.
1651
1652 2009-01-28  Andreas Krebbel  <krebbel1@de.ibm.com>
1653
1654         * config/s390/s390.md (bswap<mode>2): New pattern added.
1655
1656 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1657
1658         * config/s390/s390.md (*tls_load_31): Added type attribute.
1659
1660 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1661
1662         * config/s390/s390.md: Fix a few comments.
1663
1664 2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
1665
1666         * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1667         (*tm<mode>_full): Fixed z10prop attribute.
1668         (*tst<mode>_extimm): Fixed z10prop attribute.
1669         (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1670         (*tstqiCCT_cconly): Fixed z10prop attribute.
1671         (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1672         (*movsi_larl): Fixed z10prop attribute.
1673         (*movsi_zarch): Fixed z10prop attribute.
1674         (*movsi_eas): Fixed z10prop attribute.
1675         (*movhi): Fixed z10prop attribute.
1676         (*movqi): Fixed z10prop attribute.
1677         (*movstrictqi): Fixed z10prop attribute.
1678         (*mov<mode>): Fixed z10prop attribute.
1679         (*movcc): Fixed z10prop attribute.
1680         (*sethighpartdi_64): Fixed z10prop attribute.
1681         (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1682         (*negdi2_sign_cc): Fixed z10prop attribute.
1683         (*negdi2_sign): Fixed z10prop attribute.
1684         (*absdi2_sign_cc): Fixed z10prop attribute.
1685         (*absdi2_sign): Fixed z10prop attribute.
1686         (*negabsdi2_sign_cc): Fixed z10prop attribute.
1687         (*negabsdi2_sign): Fixed z10prop attribute.
1688         (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1689         (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1690         (doloop_si64): Fixed z10prop attribute.
1691         (doloop_si31): Fixed z10prop attribute.
1692         (doloop_long): Fixed z10prop attribute.
1693         (indirect_jump): Fixed z10prop attribute.
1694         (nop): Fixed z10prop attribute.
1695         (main_base_64): Fixed z10prop attribute.
1696         (reload_base_64): Fixed z10prop attribute.
1697
1698 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR rtl-optimization/38740
1701         * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1702         if !optimize.
1703         * config/mips/mips.c (mips_reorg): Likewise.
1704
1705 2009-01-28  Richard Guenther  <rguenther@suse.de>
1706
1707         PR tree-optimization/38926
1708         * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1709         with the correct value id to a value.
1710         (do_regular_insertion): Use the value number of edoubleprime
1711         for the value number of the expr.
1712
1713         Revert
1714         2008-08-21  Richard Guenther  <rguenther@suse.de>
1715
1716         * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1717         a PHI ask VN if it is already available.
1718         * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1719         * tree-ssa-sccvn.c (vn_phi_lookup): Export.
1720
1721 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
1722
1723         PR middle-end/38934
1724         * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
1725         set to varying whenever max has TREE_OVERFLOW set, similarly
1726         for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
1727
1728 2009-01-28  Richard Guenther  <rguenther@suse.de>
1729
1730         PR middle-end/38908
1731         * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
1732         uninitialized aggregate uses in call arguments.
1733
1734 2009-01-28  Paolo Bonzini  <bonzini@gnu.org>
1735
1736         PR tree-optimization/38984
1737         * tree-ssa-structalias.c (get_constraints_for_1): Do not use
1738         the nothing_id variable if -fno-delete-null-pointer-checks.
1739
1740 2009-01-28  Uros Bizjak  <ubizjak@gmail.com>
1741
1742         PR target/38988
1743         * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
1744         (set_got_offset_rex64): Ditto.
1745
1746 2009-01-27  H.J. Lu  <hongjiu.lu@intel.com>
1747
1748         PR target/38941
1749         * doc/extend.texi: Improve local variable with asm reg.
1750
1751 2009-01-27  Adam Nemet  <anemet@caviumnetworks.com>
1752
1753         * c.opt (Wpacked-bitfield-compat): Change init value to -1.
1754         * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
1755         was not supplied then set warn_packed_bitfield_compat to the
1756         default value of 1.
1757         * stor-layout.c (place_field): Check warn_packed_bitfield_compat
1758         against 1.
1759
1760 2009-01-27  Richard Guenther  <rguenther@suse.de>
1761
1762         PR tree-optimization/38503
1763         * cfgexpand.c (expand_gimple_basic_block): Ignore
1764         GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
1765         * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
1766         variables that cannot have TBAA applied.
1767         (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
1768         statements.
1769
1770 2009-01-27  Uros Bizjak  <ubizjak@gmail.com>
1771
1772         PR middle-end/38969
1773         * calls.c (initialize_argument_information): Do not wrap complex
1774         arguments in SAVE_EXPR.
1775
1776 2009-01-26  Andreas Tobler  <a.tobler@schweiz.org>
1777
1778         * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
1779         (INSTALL_LIBGCC): Revert typo commit.
1780
1781 2009-01-26  Richard Guenther  <rguenther@suse.de>
1782
1783         PR tree-optimization/38745
1784         * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
1785         from special handling.
1786
1787 2009-01-26  Richard Guenther  <rguenther@suse.de>
1788
1789         PR tree-optimization/38745
1790         * tree-ssa.c (execute_update_addresses_taken): Do not include
1791         variables that cannot possibly be a register in not_reg_needs.
1792         Do not clear TREE_ADDRESSABLE on vars that may not become
1793         registers.
1794         * tree-ssa.c (update_alias_info_1): Include those in the set
1795         of addressable vars.
1796
1797 2009-01-26  Richard Guenther  <rguenther@suse.de>
1798
1799         PR middle-end/38851
1800         * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
1801         * tree-ssa-dse.c: Include langhooks.h
1802         (execute_simple_dse): Remove stores with zero size.
1803
1804 2009-01-24  Jakub Jelinek  <jakub@redhat.com>
1805
1806         PR c/38957
1807         * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
1808         as PLUS_EXPR.
1809
1810 2009-01-24  Julian Brown  <julian@codesourcery.com>
1811
1812         * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
1813         config/arm/linux-atomic.c.
1814         * config/arm/linux-atomic.c: New.
1815
1816 2009-01-24  Eric Botcazou  <ebotcazou@adacore.com>
1817
1818         * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
1819         * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
1820         * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1821
1822 2009-01-24  H.J. Lu  <hongjiu.lu@intel.com>
1823
1824         PR c/38938
1825         * c-opts.c (c_common_handle_option): Update warn_pointer_sign
1826         properly.
1827
1828 2009-01-24  Sebastian Pop  <sebastian.pop@amd.com>
1829
1830         PR tree-optimization/38953
1831         * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
1832         (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
1833         (gloog): Split the exit of the scop when the scop exit is a loop exit.
1834         (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
1835         changed the CFG.
1836
1837 2009-01-24  Paul Brook  <paul@codesourcery.com>
1838
1839         * config/arm/neon.md (neon_type): Move to arm.md.
1840         (neon_mov<VSTRUCT>): Add neon_type attribute.
1841         * config/arm/arm.md (neon_type): Move to here.
1842         (conds): Add "unconditioal" and use as default for NEON insns.
1843
1844 2009-01-24  Ben Elliston  <bje@au.ibm.com>
1845
1846         * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
1847         void *' warning from -Wc++-compat.
1848         * Makefile.in (dominance.o-warn): Remove.
1849
1850 2009-01-23  Paolo Bonzini  <bonzini@gnu.org>
1851
1852         PR tree-optimization/38932
1853         * fold-const.c (fold_unary_ignore_overflow): New.
1854         * tree.h (fold_unary_ignore_overflow): Declare.
1855         * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
1856         * tree-ssa-sccvn.c (visit_reference_op_load,
1857         simplify_unary_expression): Likewise.
1858
1859 2009-01-22  Adam Nemet  <anemet@caviumnetworks.com>
1860
1861         * c-decl.c (finish_struct): Move code to set DECL_PACKED after
1862         DECL_BIT_FIELD is alreay known.  Also inherit packed for bitfields
1863         regardless of their type.
1864         * c-common.c (handle_packed_attribute): Don't ignore packed on
1865         bitfields.
1866         * c.opt (Wpacked-bitfield-compat): New warning option.
1867         * stor-layout.c (place_field): Warn if offset of a field changed.
1868         * doc/extend.texi (packed): Mention the ABI change.
1869         * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
1870         (Warning Options): Add it to the list.
1871
1872 2009-01-22  H.J. Lu  <hongjiu.lu@intel.com>
1873
1874         * c-opts.c (c_common_post_options): Fix a typo in comments.
1875
1876 2009-01-22  Steve Ellcey  <sje@cup.hp.com>
1877
1878         PR middle-end/38615
1879         * gimplify.c (gimplify_init_constructor): Fix promotion of const
1880         variables to static.
1881         * doc/invoke.texi (-fmerge-all-constants): Update description.
1882
1883 2009-01-22  Uros Bizjak  <ubizjak@gmail.com>
1884
1885         PR target/38931
1886         * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
1887         (*movdi_1_rex64): Use type "mmx" for alternative 5.
1888
1889 2009-01-22  Richard Earnshaw  <rearnsha@arm.com>
1890
1891         * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
1892         a word boundary.
1893         (LOCAL_ALIGNMENT): Similarly.
1894
1895 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
1896             Joseph Myers  <joseph@codesourcery.com>
1897
1898         * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
1899         * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
1900         * config/arm/arm-tune.md: Regenerate.
1901         * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
1902         -march=iwmmxt2.
1903
1904 2009-01-22  Mark Shinwell  <shinwell@codesourcery.com>
1905
1906         * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
1907         version number to five.
1908
1909 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
1910
1911         PR c++/38930
1912         * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
1913         * c-common.c (set_underlying_type): Likewise.
1914         (is_typedef_decl ): Likewise
1915         * tree.h: Likewise
1916         (set_underlying_type): Likewise.
1917         (is_typedef_type): Likewise.
1918
1919 2009-01-21  Vladimir Makarov  <vmakarov@redhat.com>
1920
1921         PR middle-end/38587
1922         * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
1923         crossing setjmps.
1924
1925 2009-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
1926
1927         PR bootstrap/37660
1928         * config/i386/cygwin.h (SHARED_LIBGCC_SPEC):  New helper macro.
1929         (LIBGCC_SPEC):  Don't define.
1930         (REAL_LIBGCC_SPEC):  Define instead, using SHARED_LIBGCC_SPEC.
1931
1932 2009-01-21  Uros Bizjak  <ubizjak@gmail.com>
1933
1934         PR rtl-optimization/38879
1935         * alias.c (base_alias_check): Unaligned access via AND address can
1936         alias all surrounding object types except those with sizes equal
1937         or wider than the size of unaligned access.
1938
1939 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
1940
1941         PR c++/26693
1942         * c-decl.c: (clone_underlying_type): Move this ...
1943         * c-common.c (set_underlying_type): ... here.
1944         Also, make sure the function properly sets TYPE_STUB_DECL() on
1945         the newly created typedef variant type.
1946         (is_typedef_decl ): New entry point.
1947         * tree.h: Added a new member member_types_needing_access_check to
1948         struct tree_decl_non_common.
1949         (set_underlying_type): New entry point.
1950         (is_typedef_type): Likewise.
1951
1952 2009-01-21  Bingfeng Mei  <bmei@broadcom.com>
1953
1954         * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
1955         Check whether two instructions have memory references that
1956         belong to conflicting alias sets.  walk_mems_1 and walk_mems_2
1957         are helper functions for traversing.
1958         * alias.h (insn_alias_sets_confilict_p): New prototypes.
1959         * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
1960         not to draw dependency edge for instructions with non-conflicting
1961         alias sets.
1962
1963 2009-01-20  Joseph Myers  <joseph@codesourcery.com>
1964
1965         PR other/38758
1966         * longlong.h: Update copyright years.  Use soft-fp license notice.
1967         Sync __clz_tab declaration with glibc.
1968
1969 2009-01-20  Steve Ellcey  <sje@cup.hp.com>
1970
1971         PR target/30687
1972         * doc/extend.texi (syscall_linkage): New.
1973         (version_id): Modify.
1974
1975 2009-01-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1976             Richard Guenther  <rguenther@suse.de>
1977
1978         PR tree-optimization/38747
1979         PR tree-optimization/38748
1980         * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
1981         conversion if the base address is an indirect reference and the
1982         aliasing sets could cause issues.
1983
1984 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
1985
1986         * common.opt (fgraphite, fgraphite-identity): Add comment for 
1987         explaining why these options are not documented.
1988
1989 2009-01-20  Sebastian Pop  <sebastian.pop@amd.com>
1990
1991         * graphite.c (stmt_simple_for_scop_p): Also handle cases when
1992         gimple_call_lhs is NULL.
1993
1994 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
1995
1996         PR target/38868
1997         * emit-rtl.c (adjust_address_1): Make sure memref is never
1998         overwritten.
1999
2000 2009-01-20  Ben Elliston  <bje@au.ibm.com>
2001
2002         * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2003         const qualifier from arg parameter. Remove unnecessary cast to char *.
2004         * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2005         const qualifier from arg 2.
2006
2007 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
2008
2009         * config/darwin.h: Add static-libgfortran to LINK_SPEC.
2010
2011 2009-01-19  Vladimir Makarov  <vmakarov@redhat.com>
2012
2013         PR c/38869
2014         * rtl.h (reinit_regs): New prototype.
2015         * regclass.c: Include ira.h.
2016         (reinit_regs): New.
2017         * Makefile.in (regclass.o): Add ira.h.
2018         * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
2019
2020 2009-01-18  H.J. Lu  <hongjiu.lu@intel.com>
2021
2022         PR target/38736
2023         * c-common.c (handle_aligned_attribute): Use
2024         ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
2025         default alignment value.
2026
2027         * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
2028
2029         * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
2030         * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
2031
2032         * doc/extend.texi: Update __attribute__ ((aligned)).  Document
2033         __BIGGEST_ALIGNMENT__.
2034
2035         * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
2036
2037 2009-01-18  Richard Guenther  <rguenther@suse.de>
2038
2039         PR tree-optimization/38819
2040         * tree-flow.h (operation_could_trap_helper_p): Declare.
2041         * tree-eh.c (operation_could_trap_helper_p): Export.
2042         * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
2043         * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
2044         * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
2045         are about to insert a possibly trapping instruction and fail
2046         in this case.
2047
2048 2009-01-18  Andreas Schwab  <schwab@suse.de>
2049
2050         * doc/install.texi (Configuration): Remove obsolete paragraph
2051         about use of --with-gnu-ld with --with-gnu-as.
2052
2053 2009-01-18  Kazu Hirata  <kazu@codesourcery.com>
2054
2055         * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
2056         doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
2057         Follow spelling conventions.
2058
2059 2009-01-18  Ben Elliston  <bje@au.ibm.com>
2060
2061         * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
2062         C++ warning about implicit conversion from void * to struct
2063         bitmap_head_def *.
2064         (bitmap_obstack_free): Likewise for bitmap_element *.
2065         * Makefile.in (bitmap.o-warn): Remove.
2066
2067 2009-01-17  Dave Korn  <dave.korn.cygwin@gmail.com>
2068
2069         * Makefile.in (BACKENDLIBS):  Reorder to match dependencies.
2070
2071 2009-01-17  Sebastian Pop  <sebastian.pop@amd.com>
2072             Tobias Grosser  <tobi.grosser@amd.com>
2073
2074         * graphite.c (graphite_trans_scop_block): Do not block single
2075         nested loops.
2076
2077 2009-01-16  Alexandre Oliva  <aoliva@redhat.com>
2078
2079         * ebitmap.h (ebitmap_iter_init): Initialize all fields.
2080         * ipa-struct-reorg.c (gen_struct_type): Replace known-true
2081         test with assertion.
2082
2083 2009-01-16  Richard Guenther  <rguenther@suse.de>
2084
2085         PR tree-optimization/38835
2086         PR middle-end/36227
2087         * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
2088         and INT + PTR -> (INT)(PTR p+ INT) folding.
2089         * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
2090
2091 2009-01-16  Adam Nemet  <anemet@caviumnetworks.com>
2092
2093         PR target/38554
2094         * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
2095         the subreg from a lowpart subreg if it is also casting the value.
2096
2097 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2098             Tobias Grosser  <tobi.grosser@amd.com>
2099
2100         * graphite.c (compare_prefix_loops): New.
2101         (build_scop_canonical_schedules): Rewritten.
2102         (graphite_transform_loops): Move build_scop_canonical_schedules
2103         after build_scop_iteration_domain.
2104
2105 2009-01-16  Sebastian Pop  <sebastian.pop@amd.com>
2106             Tobias Grosser  <tobi.grosser@amd.com>
2107
2108         * graphite.c (add_conditions_to_domain): Add the loops to 
2109         the dimension of the iteration domain.  Do copy the domain
2110         only when it exists.
2111         (build_scop_conditions_1): Do not call add_conditions_to_domain.
2112         (add_conditions_to_constraints): New.
2113         (can_generate_code_stmt, can_generate_code): Removed.
2114         (gloog): Do not call can_generate_code.
2115         (graphite_transform_loops): Call add_conditions_to_constraints
2116         after building the iteration domain.
2117
2118 2009-01-16  Jakub Jelinek  <jakub@redhat.com>
2119
2120         PR tree-optimization/38789
2121         * tree-ssa-threadedge.c
2122         (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
2123         __builtin_constant_p.
2124
2125 2009-01-16  Kenneth Zadeck  <zadeck@naturalbridge.com>
2126
2127         * dce.c (delete_unmarked_insns): Reversed the order that insns are
2128         examined before deleting them.
2129         
2130 2009-01-16  Richard Earnshaw  <rearnsha@arm.com>
2131
2132         * function.c (aggregate_value_p): Correctly extract the function
2133         type from CALL_EXPR_FN lookup.
2134
2135 2009-01-16  Hariharan Sandanagobalane  <hariharan@picochip.com>
2136
2137         * config/picochip/picochip.c (picochip_override_options): Revert
2138         CFI asm flag disable commited previously.
2139
2140 2009-01-15  Sebastian Pop  <sebastian.pop@amd.com>
2141             Tobias Grosser  <tobi.grosser@amd.com>
2142             Jan Sjodin  <jan.sjodin@amd.com>
2143
2144         * graphite.c (scan_tree_for_params): On substractions negate
2145         all the coefficients of the term.
2146         (clast_to_gcc_expression_red): New.  Handle reduction expressions
2147         of more than two operands.
2148         (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
2149         (get_vdef_before_scop): Handle also the case of default definitions.
2150
2151 2009-01-15  Richard Sandiford  <rdsandiford@googlemail.com>
2152
2153         * caller-save.c (add_used_regs_1, add_used_regs): New functions.
2154         (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
2155         Also use them when walking CALL_INSN_FUNCTION_USAGE.
2156
2157 2009-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2158             Joey Ye  <joey.ye@intel.com>
2159
2160         PR middle-end/37843
2161         * cfgexpand.c (expand_stack_alignment): Don't update stack
2162         boundary nor check incoming stack boundary here.
2163         (gimple_expand_cfg): Update stack boundary and check incoming
2164         stack boundary here.
2165
2166 2009-01-15  Kenneth Zadeck  <zadeck@naturalbridge.com>
2167
2168         * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
2169         
2170 2009-01-14  Jakub Jelinek  <jakub@redhat.com>
2171
2172         PR rtl-optimization/38245
2173         * calls.c (expand_call): Add stack arguments to
2174         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2175         ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
2176         in regs and partially in memory or BLKmode arguments.
2177         (emit_library_call_value_1): Add stack arguments to
2178         CALL_INSN_FUNCTION_USAGE even for pure calls (when
2179         ACCUMULATE_OUTGOING_ARGS).
2180         * dce.c: Include tm_p.h.
2181         (find_call_stack_args): New function.
2182         (deletable_insn_p): Call it for CALL_P insns.  Add ARG_STORES
2183         argument.
2184         (mark_insn): Call find_call_stack_args for CALL_Ps.
2185         (prescan_insns_for_dce): Walk insns backwards in bb rather than
2186         forwards.  Allocate and free arg_stores bitmap if needed, pass it
2187         down to deletable_insn_p, don't mark stores set in arg_stores
2188         bitmap, clear the bitmap at the beginning of each bb.
2189         * Makefile.in (dce.o): Depend on $(TM_P_H).
2190
2191 2009-01-14  Michael Meissner  <gnu@the-meissners.org>
2192
2193         PR target/22599
2194         * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
2195         to make sure the insn is a conditional test (bug 22599).  Reformat a
2196         few long lines.
2197
2198 2009-01-14  Sebastian Pop  <sebastian.pop@amd.com>
2199
2200         PR middle-end/38431
2201         * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
2202         (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
2203         (gloog): Do not call cleanup_tree_cfg.
2204         (graphite_transform_loops): Call cleanup_tree_cfg after all 
2205         scops have been code generated.
2206
2207 2009-01-14  Basile Starynkevitch  <basile@starynkevitch.net>
2208         * doc/gty.texi (Invoking the garbage collector): Added new node
2209         and section documenting ggc_collect.
2210
2211 2009-01-14  Richard Guenther  <rguenther@suse.de>
2212
2213         PR tree-optimization/38826
2214         PR middle-end/38477
2215         * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
2216         initialization notes only if we actually emitted a warning.
2217         (intra_create_variable_infos): Add constraints for a result decl
2218         that is passed by hidden reference.
2219         (build_pred_graph): Mark all related variables non-direct on
2220         address-taking.
2221
2222 2009-01-14  Nick Clifton  <nickc@redhat.com>
2223
2224         * ira-conflicts.c: Include addresses.h for the definition of
2225         base_reg_class.
2226         (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
2227         * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
2228
2229 2009-01-13  Vladimir Makarov  <vmakarov@redhat.com>
2230
2231         PR target/38811
2232         * Makefile.in (ira-lives.o): Add except.h.
2233
2234         * ira-lives.c: Include except.h.
2235         (process_bb_node_lives): Process can_throw_internal.
2236
2237 2009-01-13  Jakub Jelinek  <jakub@redhat.com>
2238
2239         PR rtl-optimization/38774
2240         * combine.c (simplify_set): When undoing cc_use change, don't do
2241         PUT_CODE on the newly created comparison, but instead put back the
2242         old comparison.
2243
2244 2009-01-13  Joseph Myers  <joseph@codesourcery.com>
2245
2246         * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
2247         values.  Remove duplicate arm8 entry.
2248
2249 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2250
2251         PR tree-optimization/38786
2252         * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
2253         the SSA_NAME case of expand_scalar_variables_expr.
2254         Set the type of an expression to the type of its assign statement.
2255         (expand_scalar_variables_expr): Also gather the scalar computation
2256         used to index the memory access.  Do not pass loop_p.
2257         Fix comment.  Stop recursion on tcc_constant or tcc_declaration.
2258         (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
2259         the gimple_stmt_iterator where it inserts new code.
2260         Do not pass loop_p.
2261         (copy_bb_and_scalar_dependences): Do not pass loop_p.
2262         (translate_clast): Update call to copy_bb_and_scalar_dependences.
2263
2264 2009-01-13  Sebastian Pop  <sebastian.pop@amd.com>
2265
2266         * graphite.h (debug_value): Removed.
2267         * graphite.c (debug_value): Removed.
2268
2269 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2270
2271         * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
2272         ldrd/strd with two 32-bit instructions.
2273
2274 2009-01-13  Richard Earnshaw  <rearnsha@arm.com>
2275
2276         * config/arm/arm.c (struct processors): Pass for speed down into
2277         cost helper functions.
2278         (const_ok_for_op): Handle COMPARE and inequality nodes.
2279         (arm_rtx_costs_1): Rewrite.
2280         (arm_size_rtx_costs): Update prototype.
2281         (arm_rtx_costs): Pass speed down to helper functions.
2282         (arm_slowmul_rtx_costs): Rework cost calculations.
2283         (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
2284         (arm_9e_rtx_costs): Likewise.
2285
2286 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
2287
2288         * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
2289         relocations of local symbols wider than UNITS_PER_WORD are not valid.
2290         (alpha_legitimize_address): Do not split local symbols wider than
2291         UNITS_PER_WORD into HIGH/LO_SUM parts.
2292
2293 2009-01-13  Danny Smith  <dannysmith@users.sourceforge.net>
2294
2295         PR bootstrap/38580
2296         * gcc.c (process_command): Replace call to execvp with calls
2297         to pex_one and exit.
2298
2299 2009-01-03  Anatoly Sokolov  <aesok@post.ru>
2300
2301         PR target/29141
2302         * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
2303         * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
2304         variant for devices with 3-byte PC.
2305         (__tablejump_elpm__) : New.
2306
2307 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2308
2309         PR c/32041
2310         * c-parser.c (c_parser_postfix_expression): Allow `->' in
2311         offsetof member-designator, handle it as `[0].'.
2312
2313 2009-01-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2314
2315         * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
2316         function when not using named sections on targets with named sections
2317         if branch distance is less than 262132.
2318
2319 2009-01-12  Richard Earnshaw  <rearnsha@arm.com>
2320
2321         * combine.c (combine_instructions):  Recompute
2322         optimize_this_for_speed_p  for each BB in the main combine loop.
2323
2324 2009-01-12  Tomas Bily  <tbily@suse.cz>
2325
2326         PR middlend/38385
2327         * tree-loop-distribution.c (prop_phis): New function.
2328         (generate_builtin): Call prop_phis.
2329         * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
2330
2331 2009-01-12  Jakub Jelinek  <jakub@redhat.com>
2332
2333         PR tree-optimization/38807
2334         * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
2335         gimple_visited_p unless stmt is GIMPLE_ASSIGN.
2336
2337 2009-01-11  Adam Nemet  <anemet@caviumnetworks.com>
2338
2339         * expmed.c (store_bit_field_1): Properly truncate the paradoxical
2340         subreg of op0 to the original op0.
2341
2342 2009-01-11  Laurent GUERBY  <laurent@guerby.net>
2343
2344         * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
2345         
2346 2009-01-11  Markus Schoepflin  <markus.schoepflin@comsoft.de>
2347
2348         PR debug/7055
2349         * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2350         starting with digits.
2351
2352 2009-01-10  Jakub Jelinek  <jakub@redhat.com>
2353
2354         PR target/38695
2355         * config/arm/arm.c (arm_is_long_call_p): Don't call
2356         arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2357
2358 2009-01-09  Steven Bosscher  <steven@gcc.gnu.org>
2359
2360         * regrename.c (regrename_optimize): Fix dumping.
2361         (find_oldest_value_reg): Preserve REG_POINTER.
2362         (copy_hardreg_forward_1): Likewise.
2363
2364 2009-01-09  Diego Novillo  <dnovillo@google.com>
2365
2366         * gimple.h (struct gimple_statement_base) <uid>: Document
2367         the restrictions on its use.
2368         (gimple_uid): Tidy.
2369         (gimple_set_uid): Tidy.
2370
2371 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2372
2373         * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2374         zero guard even if align_bytes != 0 and count is smaller than
2375         size_needed.
2376
2377 2009-01-09  Vladimir Makarov  <vmakarov@redhat.com>
2378
2379         PR rtl-optimization/38495
2380         * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
2381         (add_range_and_copies_from_move_list): Print all added ranges.
2382         Add ranges to memory optimized destination.
2383
2384 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2385
2386         PR target/38686
2387         PR target/38708
2388         * config/i386/i386.c (override_options): Reject
2389         -mstringop-strategy=rep_8byte with -m32.
2390         (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2391         to 1.  Do count comparison against epilogue_size_needed at compile
2392         time even when count_exp was constant forced into register.  For
2393         size_needed don't jump to epilogue, instead just avoid aligning
2394         and invoke the body algorithm.  If need_zero_guard, add zero guard
2395         even if count is non-zero, but smaller than size_needed + number of
2396         bytes that could be stored for alignment.
2397         (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2398         to 1.  If need_zero_guard, add zero guard even if count is non-zero,
2399         but smaller than size_needed + number of bytes that could be stored
2400         for alignment.  Compare size_needed with epilogue_size_needed instead
2401         of desired_align - align, don't adjust size_needed, pass
2402         epilogue_size_needed to the epilogue expanders.
2403
2404         PR c/35742
2405         * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
2406
2407 2009-01-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2408
2409         * pa.c (last_address): Change to unsigned.
2410         (update_total_code_bytes): Change argument to unsigned.  Don't
2411         check if insn addresses are set.
2412         (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2413         addresses are not set.
2414         (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2415
2416 2009-01-09  Nick Clifton  <nickc@redhat.com>
2417
2418         * config/sh/symbian.c: Replace uses of DECL_INLINE with
2419         DECL_DECLARED_INLINE_P.
2420
2421 2009-01-09  Jakub Jelinek  <jakub@redhat.com>
2422
2423         PR middle-end/38347
2424         * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2425         GET_MODE (op0) in operand_subword_force calls.
2426
2427         PR middle-end/38771
2428         * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2429         fold_convert arg0 operands to TREE_TYPE (op0) first.
2430
2431 2009-01-08  Vladimir Makarov  <vmakarov@redhat.com>
2432
2433         * params.def (ira-max-conflict-table-size): Decrease default value
2434         to 1000.
2435
2436 2009-01-08  Jakub Jelinek  <jakub@redhat.com>
2437
2438         PR tree-optimization/37031
2439         * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2440         on parameter_set.
2441         (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2442         allocate it using gc instead of heap, use VEC_quick_push instead of
2443         VEC_safe_push.
2444         * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2445         instead of heap, use VEC_quick_push instead of VEC_safe_push.
2446         * tree-data-ref.h (struct access_matrix): Change matrix to gc
2447         allocated vector from heap allocated.
2448         * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2449         * tree-loop-linear.c (linear_transform_loops): Allocate nest
2450         vector only after perfect_loop_nest_depth call.
2451
2452 2009-01-08  Sebastian Pop  <sebastian.pop@amd.com>
2453             Jan Sjodin  <jan.sjodin@amd.com>
2454
2455         PR tree-optimization/38559
2456         * graphite.c (debug_value, copy_constraint,
2457         swap_constraint_variables, scale_constraint_variable, ): New.
2458         (get_lower_bound, get_upper_bound): Removed.
2459         (graphite_trans_bb_strip_mine): Clean up this code that works
2460         only for constant number of iterations.  Fully copy upper and
2461         lower bound constraints, not only the constant part of them.
2462         * graphite.h (debug_value): Declared.
2463
2464 2009-01-08  Ira Rosen  <irar@il.ibm.com>
2465
2466         PR tree-optimization/37194
2467         * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2468         Don't add the cost of cost model guard in prologue to scalar 
2469         outside cost in case of known number of iterations.
2470
2471 2009-01-07  Nathan Froyd  <froydnj@codesourcery.com>
2472             Alan Modra  <amodra@bigpond.net.au>
2473
2474         * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2475         non-word-aligned REG+CONST addressing.
2476
2477 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2478
2479         PR target/38706
2480         * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2481         free_after_compilation when outputting a thunk.
2482         (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2483         Do not call free_after_compilation here.
2484
2485 2009-01-07  Uros Bizjak  <ubizjak@gmail.com>
2486
2487         * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
2488         (ix86_valid_target_attribute_inner_p): Ditto.
2489
2490 2009-01-07  Jan Sjodin  <jan.sjodin@amd.com>
2491
2492         PR tree-optimization/38492
2493         PR tree-optimization/38498
2494         * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2495         * tree-chrec.h (scev_is_linear_expression): Declared.
2496         * graphite.c (graphite_cannot_represent_loop_niter): New.
2497         (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2498         (graphite_loop_normal_form): Use gcc_assert.
2499         (scan_tree_for_params): Use CASE_CONVERT.
2500         (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2501         (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2502         Use gcc_assert.  Discard scops that contain unhandled cases.
2503         (build_scop_conditions): Return a boolean status for unhandled cases.
2504         (strip_mine_profitable_p): Print the loop number, not its depth.
2505         (is_interchange_valid): Pass the depth of the loop nest, don't
2506         recompute it wrongly.
2507         (graphite_trans_bb_block): Same.
2508         (graphite_trans_bb_block): Print tentative of loop blocking.
2509         (graphite_trans_scop_block): Do not print that the loop has been
2510         blocked.
2511         (graphite_transform_loops): Do not handle scops that contain condition
2512         scalar phi nodes.
2513
2514 2009-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2515
2516         AVX Programming Reference (December, 2008)
2517         * config/i386/avxintrin.h (_mm256_stream_si256): New.
2518         (_mm256_stream_pd): Likewise.
2519         (_mm256_stream_ps): Likewise.
2520
2521         * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2522         IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2523         (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2524         (bdesc_special_args): Add __builtin_ia32_movntdq256,
2525         __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2526         (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2527         (ix86_expand_special_args_builtin): Likewise.
2528
2529         * config/i386/sse.md (AVXMODEDI): New.
2530         (avx_movnt<mode>): Likewise.
2531         (avx_movnt<mode>): Likewise.
2532         (<sse>_movnt<mode>): Remove AVX support.
2533         (sse2_movntv2di): Likewise.
2534
2535 2009-01-07  Richard Guenther  <rguenther@suse.de>
2536
2537         PR middle-end/38751
2538         * fold-const.c (extract_muldiv): Remove obsolete comment.
2539         (fold_plusminus_mult_expr): Undo MINUS_EXPR
2540         to PLUS_EXPR canonicalization for the canonicalization.
2541
2542 2009-01-07  Gerald Pfeifer  <gerald@pfeifer.com>
2543
2544         * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2545         hosted cross-compilers generating less efficient code.
2546
2547 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2548
2549         * function.h (rtl_data): Add a dbr_scheduled_p field.
2550         * reorg.c (dbr_schedule): Set it.
2551         (gate_handle_delay_slots): Check it.
2552         * config/mips/mips.c (mips_base_delayed_branch): Delete.
2553         (mips_reorg): Check flag_delayed_branch instead of
2554         mips_base_delayed_branch.
2555         (mips_override_options): Don't set mips_base_delayed_branch
2556         or flag_delayed_branch.
2557
2558 2009-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2559
2560         PR rtl-optimization/38426.
2561         * ira.c (ira): Set current_function_is_leaf earlier.
2562
2563 2009-01-06  Jakub Jelinek  <jakub@redhat.com>
2564
2565         PR rtl-optimization/38722
2566         * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2567         too early, only set a flag and modify after last possible
2568         undo_all point.
2569
2570 2009-01-06  Janis Johnson  <janis187@us.ibm.com>
2571
2572         PR c/34252
2573         * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2574         * real.c (decimal_single_format): Correct values of emin and emax.
2575         (decimal_double_format): Ditto.
2576         (decimal_quad_format): Ditto.
2577         * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2578         computation of DECnn_MIN and DECnn_MAX for corrected values of
2579         emin and emax.  Define __DECnn_SUBNORMAL_MIN__ instead of
2580         __DECnn_MIN__, and adjust its computation for the corrected value
2581         of emin.
2582
2583 2009-01-06  Jan Hubicka  <jh@suse.cz>
2584
2585         PR target/38744
2586         * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
2587
2588 2009-01-06  Gerald Pfeifer  <gerald@pfeifer.com>
2589
2590         * doc/contrib.texi (Contributors): Slightly adjust the end note.
2591         Add Robert Clark to the list of testers.
2592
2593 2009-01-06  Jan Hubicka  <jh@suse.cz>
2594             Kai Tietz  <kai.tietz@onevision.com>
2595
2596         * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2597         * config/i386/i386.c (ix86_expand_call): Add clobbers.
2598
2599 2009-01-06  Jan Hubicka  <jh@suse.cz>
2600             Kai Tietz  <kai.tietz@onevision.com>
2601
2602         * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2603         for w64 ABI.
2604         * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
2605         (ix86_nsaved_regs): Count only general purpose regs.
2606         (ix86_nsaved_sseregs): New.
2607         (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2608         to 16 for w64; compute padding and size of sse reg save area.
2609         (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2610         general purpose regs.
2611         (ix86_emit_save_sse_regs_using_mov): New.
2612         (ix86_expand_prologue): Save SSE regs if needed.
2613         (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2614         (ix86_emit_restore_sse_regs_using_mov): New.
2615         (ix86_expand_epilogue): Save SSE regs if needed.
2616
2617 2009-01-06  Jan Hubicka  <jh@suse.cz>
2618             Kai Tietz  <kai.tietz@onevision.com>
2619
2620         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2621         * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2622         functions when accumulate outgoing args is off.
2623
2624 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2625
2626         PR bootstrap/38742
2627         * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2628         before using pseudos_have_intersected_live_ranges_p.
2629
2630         * ira-int.h (ira_assert): Always define.
2631
2632 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2633
2634         AVX Programming Reference (December, 2008)
2635         * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2636         (_mm256_permute2_pd): Likewise.
2637         (_mm_permute2_ps): Likewise.
2638         (_mm256_permute2_ps): Likewise.
2639         * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2640         * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2641
2642         * config/i386/i386.c (ix86_builtins): Remove
2643         IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2644         IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2645         (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2646         V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2647         and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2648         (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2649         __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2650         __builtin_ia32_vpermil2ps256.
2651         (ix86_init_mmx_sse_builtins): Updated.
2652         (ix86_expand_args_builtin): Likewise.
2653
2654 2009-01-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2655
2656         * pa.c (output_call): Relocate non-jump insns in the delay slot of
2657         long absolute calls when generating PA 2.0 code.
2658
2659 2009-01-05  Vladimir Makarov  <vmakarov@redhat.com>
2660
2661         PR rtl-optimization/38583
2662         * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2663
2664         * params.def (ira-max-conflict-table-size): New.
2665
2666         * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2667         
2668         * ira.h (ira_conflicts_p): New external definition.
2669         
2670         * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2671         table.  Report this.  Return result of building.
2672         (ira_build_conflicts): Use ira_conflicts_p.  Check result of
2673         building conflict table.
2674
2675         * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
2676         (ira_color): Use ira_conflicts_p.
2677         
2678         * global.c: Include ira.h.
2679         (pseudo_for_reload_consideration_p, build_insn_chain): Use
2680         ira_conflicts_p.
2681
2682         * Makefile.in (global.o): Add ira.h.
2683         
2684         * ira-build.c (mark_all_loops_for_removal,
2685         propagate_some_info_from_allocno): New.
2686         (remove_unnecessary_allocnos): Call
2687         propagate_some_info_from_allocno.
2688         (remove_low_level_allocnos): New.
2689         (remove_unnecessary_regions): Add parameter.  Call
2690         mark_all_loops_for_removal and remove_low_level_allocnos.  Pass
2691         parameter to remove_unnecessary_regions.
2692         (ira_build): Remove all regions but root if the conflict table was
2693         not built.  Update conflict hard regs for allocnos crossing calls.
2694
2695         * ira.c (ira_conflicts_p): New global.
2696         (ira): Define and use ira_conflicts_p.
2697
2698         * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2699         count_spilled_pseudo, find_reg, alter_reg, finish_spills,
2700         emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
2701         
2702 2009-01-06  Ben Elliston  <bje@au.ibm.com>
2703
2704         * gengtype-lex.l (YY_NO_INPUT): Define.
2705
2706 2009-01-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2707
2708         PR c/34911
2709         * c-common.c (handle_vector_size_attribute): Also reject
2710         BOOLEAN_TYPE types.
2711
2712 2009-01-05  Sebastian Pop  <sebastian.pop@amd.com>
2713
2714         PR tree-optimization/38492
2715         * graphite.c (rename_map_elt, debug_rename_elt,
2716         debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2717         rename_map_elt_info, eq_rename_map_elts,
2718         get_new_name_from_old_name, bb_in_sese_p): Moved around.
2719         (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2720         (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2721         (sese_build_livein_liveouts): New.
2722         (new_sese, free_sese): New.
2723         (new_scop): Call new_sese.
2724         (free_scop): Call free_sese.
2725         (rename_variables_from_edge, rename_phis_end_scop): Removed.
2726         (register_old_new_names): Renamed register_old_and_new_names.
2727         (register_scop_liveout_renames, add_loop_exit_phis,
2728         insert_loop_close_phis, struct igp,
2729         default_liveout_before_guard, add_guard_exit_phis,
2730         insert_guard_phis, copy_renames): New.
2731         (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
2732         (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
2733         (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
2734         (scop_adjust_phis_for_liveouts): New.
2735         (gloog): Call scop_adjust_phis_for_liveouts.
2736
2737         * graphite.h (struct sese): Documented.  Added fields liveout,
2738         num_ver and livein.
2739         (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
2740         (new_sese, free_sese, sese_build_livein_liveouts): Declared.
2741         (struct scop): Added field liveout_renames.
2742         (SCOP_LIVEOUT_RENAMES): New.
2743
2744 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
2745
2746         PR tree-optimization/38510
2747         * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
2748         (translate_clast): Call recompute_all_dominators before
2749         graphite_verify.
2750         (gloog): Call recompute_all_dominators before graphite_verify.
2751
2752 2009-01-05  Harsha Jagasia  <harsha.jagasia@amd.com>
2753             Jan Sjodin  <jan.sjodin@amd.com>
2754
2755         PR tree-optimization/38500
2756         * graphite.c (create_sese_edges): Call fix_loop_structure after
2757         splitting blocks.
2758
2759 2009-01-05  Joel Sherrill  <joel.sherrill@oarcorp.com>
2760
2761         * config.gcc: Add m32r*-*-rtems*.
2762         * config/m32r/rtems.h: New file.
2763
2764 2009-01-05  Ben Elliston  <bje@au.ibm.com>
2765
2766         * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
2767         (.po.pox): Likewise.
2768         (po/gcc.pot): Likewise.
2769
2770 2009-01-04  David S. Miller  <davem@davemloft.net>
2771
2772         * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
2773         (STARTING_FRAME_OFFSET): Always set to zero.
2774
2775 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
2776
2777         * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
2778         * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
2779         fixed-point types, and vectors of the same.
2780
2781 2009-01-04  Richard Sandiford  <rdsandiford@googlemail.com>
2782
2783         * config/mips/sync.md (*mb_barrier): Rename to...
2784         (*memory_barrier): ...this.
2785
2786 2009-01-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2787
2788         * doc/extend.texi (Function Attributes): Move @cindex after @item
2789         for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
2790         and put in alphabetical order. Fix 'target' name and put in order.
2791         * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
2792         typos.
2793
2794 2009-01-04  Uros Bizjak  <ubizjak@gmail.com>
2795
2796         * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
2797         (memory_barrier): Expand as unspec instead of unspec_volatile.
2798         Remove mem:BLK from insn operands.  Use Pmode scratch register.
2799         (*memory_barrier): Define as unspec instead of unspec_volatile.
2800         Use (match_dup 0) as input operand.
2801
2802         * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
2803         * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
2804         unspec_volatile.  Remove mem:BLK from insn operands.  Use Pmode
2805         scratch register.  Remove operand 1.
2806         (*stbar): Define as unspec instead of unspec_volatile.
2807         Use (match_dup 0) as input operand, remove (const_int 8).
2808         (*membar): Define as unspec instead of unspec_volatile.
2809         Use (match_dup 0) as input operand, remove input operand 2.
2810
2811         * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
2812         (memory_barrier): Expand as unspec instead of unspec_volatile.
2813         Remove mem:BLK from insn operands.  Use Pmode scratch register.
2814         (*memory_barrier): Define as unspec instead of unspec_volatile.
2815         Use (match_dup 0) as input operand.
2816
2817         * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
2818         Remove mem:BLK from insn operands.  Use Pmode scratch register.
2819         Set volatile flag on operand 0.
2820         (*memory_barrier): New insn pattern.
2821
2822         * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
2823         insn operands.
2824         (*memory_barrier): Use (match_dup 0) as input operand.
2825
2826         * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
2827         Remove mem:BLK from insn operands.  Use Pmode scratch register.
2828         Set volatile flag on operand 0.
2829         (*mb_internal): New insn pattern.
2830
2831         * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
2832
2833 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
2834
2835         PR middle-end/38586
2836         * function.c (struct temp_slot): Move to the section of the file
2837         that deals with temp slots.  Remove field 'address'.
2838         (temp_slot_address_table): New hash table of address -> temp slot.
2839         (struct temp_slot_address_entry): New struct, items for the table.
2840         (temp_slot_address_compute_hash, temp_slot_address_hash,
2841         temp_slot_address_eq, insert_temp_slot_address): Support functions
2842         for the new table.
2843         (find_temp_slot_from_address): Rewrite to use the new hash table.
2844         (remove_unused_temp_slot_addresses): Remove addresses of temp
2845         slots that have been made available.
2846         (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
2847         worker function for remove_unused_temp_slot_addresses.
2848         (assign_stack_temp_for_type): Don't clear the temp slot address list.
2849         Add the temp slot address to the address -> temp slot map.
2850         (update_temp_slot_address): Update via insert_temp_slot_address.
2851         (free_temp_slots): Call remove_unused_temp_slot_addresses.
2852         (pop_temp_slots): Likewise.
2853         (init_temp_slots): Allocate the address -> temp slot map, or empty
2854         the map if it is already allocated.
2855         (prepare_function_start): Initialize temp slot processing.
2856
2857 2009-01-04  Steven Bosscher  <steven@gcc.gnu.org>
2858
2859         PR middle-end/38584
2860         * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
2861         Calculate the size of all stack vars assuming no packing of stack
2862         vars will happen, replacing a quadratic algorithm with a linear one.
2863
2864 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
2865
2866         PR target/38707
2867         * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
2868         can't be used.
2869
2870 2009-01-03  Diego Novillo  <dnovillo@google.com>
2871
2872         * doc/contrib.texi: Update contributions.
2873
2874 2009-01-03  Jakub Jelinek  <jakub@redhat.com>
2875
2876         PR c++/38705
2877         * builtins.c (fold_builtin_memory_op): Give up if either operand
2878         is volatile.  Set srctype or desttype to non-qualified version
2879         of the other type.
2880
2881         PR c/38700
2882         * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
2883         and FUNCTION_DECLs.
2884
2885 2009-01-02  Kenneth Zadeck  <zadeck@naturalbridge.com>
2886
2887         PR rtl-optimization/35805
2888         * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
2889         problem if fast dce is able to remove any instructions.
2890         * dce.c (dce_process_block): Fix dump message.
2891         
2892 2009-01-02  Mark Mitchell  <mark@codesourcery.com>
2893
2894         PR 33649
2895         * tree-ssa-pre.c (compute_antic): Correct loop bounds.
2896
2897 2009-01-02  Jakub Jelinek  <jakub@redhat.com>
2898
2899         PR middle-end/38690
2900         * tree-flow.h (op_code_prio, op_prio): New prototypes.
2901         * tree-pretty-print.c (op_code_prio): New function.
2902         (op_prio): No longer static.  Use op_code_prio.
2903         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
2904         Use op_prio and op_code_prio to determine if () should be
2905         printed around operand(s) or not.
2906
2907         * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
2908         dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
2909         dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
2910         dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
2911         pp_character instead of pp_string for single letter printing.
2912
2913 2009-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2914
2915         * doc/extend.texi: Fix '#pragma GCC option' typo.
2916
2917 2009-01-02  Richard Guenther  <rguenther@suse.de>
2918
2919         * doc/install.texi (--enable-checking): Mention different
2920         default for stage1.
2921         (--enable-stage1-checking): Document.
2922
2923 2009-01-01  Andrew Pinski  <pinskia@gmail.com>
2924
2925         PR middle-end/30142
2926         * tree-cfg.c (verify_expr): Add INDIRECT_REF case.  Change MODIFY_EXPR
2927         case to be an error.
2928
2929 2009-01-02  Ben Elliston  <bje@au.ibm.com>
2930
2931         * config/fp-bit.h (pack_d): Constify argument.
2932         * config/fp-bit.c (makenan): Constify return type. Remove casts.
2933         (isnan): Constify argument.
2934         (isinf): Likewise.
2935         (iszero): Likewise.
2936         (pack_d): Likewise.
2937         (_fpadd_parts): Constify return type.
2938         (_fpmul_parts): Likewise.
2939         (_fpdiv_parts): Likewise.
2940
2941 2009-01-01  Jakub Jelinek  <jakub@redhat.com>
2942
2943         PR c/36489
2944         * c-typeck.c (add_pending_init): Add IMPLICIT argument.  Only
2945         warn about overwriting initializer with side-effects or
2946         -Woverride-init if !IMPLICIT.
2947         (output_init_element): Likewise.  Pass IMPLICIT down to
2948         add_pending_init.
2949         (process_init_element): Add IMPLICIT argument.  Pass it down
2950         to output_init_element.
2951         (push_init_element, pop_init_level, set_designator): Adjust
2952         process_init_element callers.
2953         (set_nonincremental_init, set_nonincremental_init_from_string):
2954         Adjust add_pending_init callers.
2955         (output_pending_init_elements): Adjust output_init_element callers.
2956         * c-tree.h (process_init_element): Adjust prototype.
2957         * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
2958         process_init_element callers.