OSDN Git Service

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