OSDN Git Service

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