OSDN Git Service

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