1 2004-09-17 Jones Desougi <jones@ingate.com>
3 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
4 * configure, config.in: Regenerate.
6 2004-09-17 Zack Weinberg <zack@codesourcery.com>
8 * tree.c, tree.h (tree_class_strings): Make array const.
9 Reindent per coding convention. Move asterisk to proper place
10 per coding convention.
12 2004-09-18 Andreas Schwab <schwab@suse.de>
14 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
15 (tree-vectorizer.o): Likewise.
16 (targhooks.o): Likewise.
18 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
19 Zack Weinberg <zack@codesourcery.com>
21 * alias.c (find_base_decl): Remove unreachable case '3' block.
22 * expr.c (safe_from_p): Abort if passed a type.
23 * tree-gimple.c (recalculate_side_effects): Abort if passed
24 anything other than an expression.
25 * tree-ssa-pre.c (phi_translate): Return expr immediately if
26 is_gimple_min_invariant is true for it. Reorder cases for clarity.
27 Abort on un-handled tree classes.
28 (valid_in_set): Likewise.
29 * tree.c (tree_code_class_strings): New static data.
31 * tree.h (enum tree_code_class): New.
32 (tree_code_class_strings): Declare.
33 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
34 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
35 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
36 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
37 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
39 * tree.def, c-common.def, objc/objc-tree.def: Use
40 tree_code_class enumeration constants instead of code letters.
42 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
43 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
44 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
45 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
46 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
47 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
48 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
49 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
50 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
51 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
52 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
53 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
54 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
57 * LANGUAGES: Add note about change.
59 2004-09-17 Diego Novillo <dnovillo@redhat.com>
61 PR tree-optimization/17319
62 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
63 examine pointers on the LHS of an assignment.
64 (collect_points_to_info_r): Handle RETURN_EXPR.
66 2004-09-17 Jeff Law <law@redhat.com>
68 * tree-ssa-dom.c (const_and_copies_stack): New.
69 (dom_walk_block_data): Remove const_and_copies field.
70 (record_const_or_copy): No longer need to pass in varray_type *.
71 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
73 (record_equality): Similarly.
74 (restore_vars_to_original_value): Similarly. Revamp to use new
75 single global stack rather than per-block stacks.
76 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
77 (thread_across_edge): Remove now unused parameters.
78 (dom_opt_initialize_block_local_data): No longer test the block
79 local CONST_AND_COPIES.
80 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
82 2004-09-17 Jan Hubicka <jh@suse.cz>
84 PR tree-optimization/17509
85 * tree-optimize.c (update_inlined_to_pointers): New function.
86 (tree_rest_of_compilation): Use it.
88 2004-09-17 Devang Patel <dpatel@apple.com>
90 * dbxout.c (get_lang_number): New.
91 (dbxout_init): Include lang number in N_SO stab.
92 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
93 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
95 2004-09-17 Diego Novillo <dnovillo@redhat.com>
97 PR tree-optimization/17273
98 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
99 replacement is a constant.
101 2004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
103 * c-tree.h (enum c_typespec_keyword): New.
104 (struct c_declspecs): Adjust description of "type". Remove
105 specbits, explicit_int_p and explicit_char_p. Rename
106 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
107 short_p, signed_p, unsigned_p and complex_p.
108 (finish_declspecs): New.
109 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
110 typename): Call finish_declspecs.
111 * c-decl.c (finish_declspecs): New.
112 (declspecs_add_type): Check for combinations which cannot occur in
113 valid specifier lists. Update comments.
114 (shadow_tag_warned): Remove checks done in finish_declspecs.
115 Don't report useless type name if type defaulted to int.
116 (grokdeclarator): Remove checks and actions done in
117 finish_declspecs. Don't allow for type being NULL. Update for
118 datastructures changes. Initialize decl_attr.
119 (build_null_declspecs, quals_from_declspecs): Update for
120 datastructures changes.
122 2004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
124 * doc/extend.texi: Fix duplicated word.
126 2004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
128 * doc/invoke.texi: Remove stray explanation on
129 -freduce-all-givs and -fmove-all-movables.
131 2004-09-17 James Morrison <phython@gcc.gnu.org>
133 * doc/cfg.texi: Use @smallexample.
134 * doc/md.texi: Likewise.
135 * doc/tree-ssa.texi: Likewise.
136 * doc/extend.texi: Likewise. Use @r{} in comments.
137 * doc/trouble.texi: Use @r{} in comments.
139 2004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
141 * configure.ac (gcc_cv_gld_version): Handle whitespace before
143 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
144 * configure: Regenerate.
146 2004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
148 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
149 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
150 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
151 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
152 slashes in substitutions.
153 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
155 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
157 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
158 gimplify.c, lambda-code.c, optabs.c, predict.c,
159 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
160 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
163 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
165 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
166 doc/extend.texi, doc/install.texi, doc/invoke.texi,
167 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
168 doc/trouble.texi: Use @option around options.
170 2004-09-17 Richard Sandiford <rsandifo@redhat.com>
172 * Makefile.in (gen-protos.o): Depend on errors.h.
174 2004-09-17 Steven Bosscher <stevenb@suse.de>
176 PR tree-optimization/17513
177 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
178 for successors of the entry block.
180 2004-09-17 Uros Bizjak <uros@kss-loka.si>
182 PR rtl-optimization/15187
183 * ifcvt.c (noce_try_cmove_arith): Exit early if total
184 insn_rtx_cost of both branches > BRANCH_COST
186 2004-09-16 Diego Novillo <dnovillo@redhat.com>
188 PR tree-optimization/17528
189 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
190 erase the may-alias set for a tag when merging it with
193 2004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
195 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
196 for 32-bit TARGET_SHMEDIA.
197 (call_value): Likewise.
199 2004-09-16 Diego Novillo <dnovillo@redhat.com>
201 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
202 test apply only to TREE_STATIC and DECL_EXTERNAL.
204 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
206 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
207 * basic-block.h (get_dominated_by_region): Declare.
208 * dominance.c (get_dominated_by_region): New function.
209 * tree-cfg.c: Include cfglayout.h.
210 (tree_duplicate_bb): Duplicate also phi nodes.
211 (struct ssa_name_map_entry): New type.
212 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
213 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
214 allocate_ssa_names, rewrite_to_new_ssa_names_def,
215 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
216 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
217 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
218 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
219 rewrite_to_new_ssa_names, allocate_ssa_names,
220 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
221 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
222 (copy_loop_headers): Use tree_duplicate_sese_region.
224 2004-09-16 Frank Ch. Eigler <fche@redhat.com>
226 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
228 2004-09-16 Jeff Law <law@redhat.com>
230 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
231 (rewrite_block_data): Remove, no longer used.
232 (rewrite_initialize_block_local_data): Remove, no longer used.
233 (rewrite_initialize_block): Mark parameters as unused as needed.
234 Change references to the block local block_defs to be block_defs_stack.
235 Push a marker onto the block_defs_stack.
236 (ssa_rewrite_initialize_block): Similarly.
237 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
238 (ssa_register_new_def): No longer needs varray argument. Use
239 block_defs_stack instead. No longer handle possibly null block_defs
240 varray. Reverse order of items we push on the stack to make it
241 easier to identify our marker.
242 (register_new_def): No longer handle possibly null block_defs
244 (rewrite_finalize_block): Revamp to look for markers in the global
245 block_defs_stack varray rather than wiping a block local varray.
246 Mark arguments as unused as needed.
247 (ssa_rewrite_finalize_block): Similarly.
248 (rewrite_into_ssa): Update initialization of dom walker structure
249 to reflect that we don't need block local data anymore. Initialize
250 the block_defs_stack varray.
251 (rewrite_ssa_into_ssa): Similarly.
252 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
253 (struct dom_walk_data): Kill block_defs field.
254 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
255 (thread_across_edge): Use the global block_defs_stack instead of
256 the old block_defs varray.
257 (dom_opt_initialize_block_local_data): Update now that we don't have
258 block_defs field to check anymore.
259 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
260 (restore_currdefs_to_original_value): Use the new block_defs_stack
261 instead of a block local varray.
262 (dom_opt_finalize_block): Similarly.
263 (record_equivalencs_from_phis): Similarly.
264 (optimize_stmt, register_definitions_for_stmt): Similarly.
266 2004-09-16 Andrew MacLeod <amacleod@redhat.com>
268 PR tree-optimization/17517
269 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
270 coalesce same-root variables without checking for abnormal PHI usage.
272 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
274 * cfgloop.h (duplicate_loop): Add prototype.
275 * cfgloopmanip.c (duplicate_loop): Make non-static.
276 * lambda-code.c (perfect_nestify): Factor out test whether
277 we can handle this loop into separate function.
279 (can_convert_to_perfect_nest): New function.
280 (replace_uses_of_x_with_y): Add modify_stmt call.
281 * tree-loop-linear.c (linear_transform_loops): Call
282 rewrite_into_loop_closed_ssa and free_df.
284 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
286 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
287 loop invariant as well.
288 (perfect_nestify): new function.
289 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
290 upper bounds, and steps.
291 Set outerinductionvar properly.
292 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
294 Return NULL if we need a perfect loop and can't make one.
295 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
296 (not_interesting_stmt): New function.
297 (phi_loop_edge_uses_def): Ditto.
298 (stmt_uses_phi_result): Ditto.
299 (stmt_is_bumper_for_loop): Ditto.
300 (perfect_nest_p): Ditto.
301 (nestify_update_pending_stmts): Ditto.
302 (replace_uses_of_x_with_y): Ditto.
303 (stmt_uses_op): Ditto.
304 (perfect_nestify): Ditto.
305 * lambda-mat.c (lambda_matrix_id_p): New function.
306 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
307 * lambda.h: Update prototypes.
308 * tree-loop-linear (linear_transform_loop): Use new
309 perfect_nest_p. Detect and ignore identity transform.
310 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
312 2004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
314 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
315 Gather also strides of accessed data. Pass in the data references
317 (try_interchange_loops): Add a new heuristic for handling the temporal
318 locality. Pass in the data references array.
319 (linear_transform_loops): Pass the data references array to
320 try_interchange_loops.
322 2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
324 * doc/invoke.texi: Fix typos. Follow spelling conventions.
326 2004-09-16 Nathan Sidwell <nathan@codesourcery.com>
328 * doc/c-tree.texi (Classes): Remove index entries for
329 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
331 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
333 * fold-const.c (fold): Fold difference of addresses.
334 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
336 * tree-ssa-loop-ivopts.c (peel_address): Removed.
337 (ptr_difference_const): Moved to fold-const.c.
338 (split_address_cost): Use get_inner_reference instead of peel_address.
339 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
340 * tree.h (ptr_difference_const): Export.
342 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
343 variable type to the dump. Fix indentation.
344 (idx_find_step): Handle nonconstant array_ref_element_size and
346 (idx_record_use): Handle array_ref_element_size and
348 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
349 statements correctly.
350 (get_computation_at, iv_value): Do not unshare expressions here.
351 (rewrite_use_outer): Unshare the expression before it is emitted
353 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
355 * tree.c (unsigned_type_for, signed_type_for): Moved from
356 tree-ssa-loop-niter.c. Use langhooks.
357 * tree.h (signed_type_for): Export.
359 2004-09-16 David Edelsohn <edelsohn@gnu.org>
361 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
364 2004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
367 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
368 Add two parameters to extra_includes.
369 (C_INCPATH_INIT): Remove.
370 * c-incpath.c (register_include_chains): Call extra_pre_includes
371 before adding the standard include directory.
372 Update call to extra_includes.
373 (!defined TARGET_EXTRA_INCLUDES): Update
374 hook_void_charptr_charptr_int and add !define
375 TARGET_EXTRA_PRE_INCLUDES.
376 (!define TARGET_EXTRA_INCLUDES): Define as
377 hook_void_charptr_charptr_int.
378 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
379 (target_c_incpath): Always declare.
380 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
382 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
383 * config/darwin.h: (darwin_register_frameworks): Update for
384 the two new parameters.
385 (darwin_register_objc_includes): Add prototype.
386 (TARGET_EXTRA_PRE_INCLUDES): Define.
387 * config/darwin-c.c (darwin_register_objc_includes): New function.
388 (darwin_register_frameworks): Update for the two new parameters.
389 (target_c_incpath): Remove.
390 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
392 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
394 (TARGET_EXTRA_PRE_INCLUDES): Document.
396 * gcc.c (spec_function): Add replace-outfile.
397 (replace_outfile_spec_function): New function.
398 * config/darwin.h (LINK_SPEC): Add replace
399 -lobjc with -lobjc-gnu if -fgnu-runtime is
401 * invoke.texi (replace-outfile): Document.
403 2004-09-13 Jan Hubicka <jh@suse.cz>
405 * predict.c (expr_expected_value, strip_builtin_expect): New function.
406 (tree_predict_by_opcode): Use it.
407 (tree_estimate_probability): Add, for now disabled,
408 strip_builtin_expect call.
410 2004-09-15 James E Wilson <wilson@specifixinc.com>
413 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
414 if current_function_decl is a sibcall.
416 2004-09-15 Mark Mitchell <mark@codesourcery.com>
418 * varasm.c (default_function_rdodata_section): Make sure to pass
419 along a decl for a link-once section.
421 2004-09-15 Richard Henderson <rth@redhat.com>
423 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
424 warning with code disable. Fix formatting.
426 2004-09-15 Steven Bosscher <stevenb@suse.de>
428 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
429 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
430 after propagating into an ADDR_EXPR.
432 2004-09-15 Andrew Pinski <apinski@apple.com>
435 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
436 Move it out of gcc_assert.
438 2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
440 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
441 except.c, fold-const.c, function.c, langhooks.c, params.c,
442 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
443 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
444 for quoting in diagnostics going through pretty-print.c. Use ''
445 for quoting in other diagnostic text.
446 * langhooks.c: Include intl.h. Mark text locating diagnostics for
448 * Makefile.in (langhooks.o): Update dependencies.
449 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
452 2004-09-15 Mark Mitchell <mark@codesourcery.com>
454 * configure.ac: Check for COMDAT support. Robustify check for
456 * configure: Regenerated.
457 * config.in: Likewise.
458 * langhooks-def.h (lhd_comdat_group): New function.
459 (LANG_HOOKS_COMDAT_GROUP): New macro.
460 (LANG_HOOKS_DECLS): Use it.
461 * langhooks.c (lhd_comdat_group): Define.
462 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
463 * output.h (named_section_flags): Make it a macro.
464 (named_section_real): New function.
465 (default_no_named_section): Add decl parameter.
466 (default_elf_asm_named_section): Likewise.
467 (default_coff_asm_named_section): Likewise.
468 (default_pe_asm_named_section): Likewise.
469 * target.h (gcc_target): Adjust type of named_section.
470 * varasm.c (named_section_flags): Rename to named_section_real.
472 (default_no_named_section): Add decl parameter.
473 (default_elf_asm_named_section): Use COMDAT, if available. Deal
474 with the case that ASM_COMMENT_START is "@".
475 (default_coff_asm_named_section): Add decl parameter.
476 (default_pe_asm_named_section): Likewise.
477 * config/alpha/alpha.c (vms_asm_named_section): Add decl
479 (unicosmk_asm_named_section): Likewise.
480 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
481 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
482 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
483 * config/cris/cris-protos.h (cris_target_asm_named_section):
485 * config/cris/cris.c (cris_target_asm_named_section):
487 * config/darwin/darwin-protos.h (darwin_asm_named_section):
489 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
490 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
491 * config/i386/i386-protos.h (i386_pe_asm_named_section):
493 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
494 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
495 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
496 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
498 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
499 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
500 * cp/cp-tree.h (cxx_comdat_group): Declare.
501 * cp/decl.c (cxx_comdat_group): New function.
503 2004-09-15 Jan Hubicka <jh@suse.cz>
505 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
506 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
508 * tree-cfg.c (remove_bb): Release SSA defs.
510 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
512 * doc/tm.texi: Follow spelling conventions.
514 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
516 * tree-ssa-dom.c: Fix comment typos.
518 2004-09-15 Alan Modra <amodra@bigpond.net.au>
520 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
522 (ppc_fallback_frame_state): Save location of CR.
524 2004-09-15 Jakub Jelinek <jakub@redhat.com>
526 * expr.c (string_constant): Handle also read-only variables
527 initialized to string literals.
529 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
530 into memcpy (x, y, 1) if memcpy can be expanded inline.
532 2004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
534 PR tree-optimization/17468
535 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
536 definition inside a block precede uses.
537 * tree-tailcall.c (adjust_return_value): Emit statements in the
540 2004-09-15 Richard Sandiford <rsandifo@redhat.com>
542 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
544 2004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
546 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
548 2004-09-14 Jeff Law <law@redhat.com>
550 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
551 (struct dom_walk_block_data): Remove avail_exprs member.
552 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
553 (lookup_avail_expr): No longer need to pass in address of
554 the block local available exprs stack. All callers changed.
555 (simplify_cond_and_lookup_avail_expr): Similarly.
556 (simplify_switch_and_lookup_avail_expr): Similarly.
557 (get_eq_expr_value, record_cond): Likewise.
558 (record_dominating_conditions): Likewise.
559 (update_rhs_and_lookup_avail_expr): Likewise.
560 (record_equivalences_from_stmt): Likewise.
561 (dom_opt_initialize_block_local_data): No longer test state of
562 block local avail_exprs.
563 (dom_opt_initialize_block): Mark unwind point in the global
565 (remove_expressions_from_table): Update to unwind to the
566 most recent unwind marker in the global avail_expr stack.
568 (dom_opt_finalize_block): Mark unwind point in the global
569 avail_expr stack as needed.
570 (record_cond): Push elements into the global avail_exprs stack.
572 * tree-dfa.c (free_df_for_stmt): No longer static.
573 (free_df): Update comments.
574 * tree-flow.h (free_df_for_stmt): Prototype.
575 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
578 2004-09-14 Diego Novillo <dnovillo@redhat.com>
580 PR tree-optimization/17252
581 * tree-ssa-alias.c (may_alias_p): Don't assume that a
582 pointer may not point to itself when using relaxed
585 2004-09-14 Richard Henderson <rth@redhat.com>
588 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
589 while folding <ADDR_EXPR <INDIRECT_REF X>>.
591 2004-09-14 Andrew Pinski <apinski@apple.com>
593 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
594 sets of the pointers but the aliasing sets of what they point to.
596 2004-09-14 Roger Sayle <roger@eyesopen.com>
598 PR rtl-optimization/9771
599 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
600 conditional compilation in init_reg_sets_1.
601 (init_reg_sets_1): Let global_regs[i] take priority over the frame
602 (but not stack) pointer exceptions to regs_invalidated_by_call.
603 (globalize_reg): Globalizing a fixed register may need to update
604 regs_invalidated_by_call.
606 2004-09-14 Diego Novillo <dnovillo@redhat.com>
608 PR tree-optimization/15262
609 * tree-dfa.c (dump_variable): Also print the type of the
611 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
612 memory tags are of conflicting alias sets but have no aliased
613 symbols in common, add one tag to the alias set of the other.
614 (setup_pointers_and_addressables): Remove hack to deal with
615 programs with no aliased symbols.
616 (may_alias_p): Don't special case aggregate types.
618 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
621 * doc/invoke.texi (Environment Variables): Correct example locale.
623 2004-09-14 Jan Hubicka <jh@suse.cz>
625 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
627 2004-09-14 Mark Mitchell <mark@codesourcery.com>
629 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
631 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
633 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
635 (struct c_declarator): Change u.array.quals and pointer_quals to
636 int. Add u.array.attrs.
637 (quals_from_declspecs): New.
638 * c-decl.c (quals_from_declspecs): New.
639 (shadow_tag_warned): Give more specific message for useless type
641 (build_array_declarator, set_array_declarator_inner,
642 grokdeclarator, make_pointer_declarator, build_null_declspecs,
643 declspecs_add_qual): Update for changed structures.
645 2004-09-14 Jeff Law <law@redhat.com>
647 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
649 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
650 (dom_opt_initialize_block_local_data): No longer test state
652 (dom_opt_finalize_block): Update due to change in scope of
654 (optimize_stmt): Similarly.
656 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
658 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
659 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
660 comment typos. Follow spelling conventions.
662 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
664 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
665 config/i386/predicates.md, config/sparc/sparc.c: Follow
666 spelling conventions.
668 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
669 Steven Bosscher <stevenb@suse.de>
671 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
672 * basic-block.h (struct reorder_block_def): Add copy_number field.
673 * cfgloop.h (biv_p): Declare.
674 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
675 * common.opt (fsplit-ivs-in-unroller): New flag.
676 * loop-iv.c (biv_p): New function.
677 * loop-unroll.c: Include hashtab.h and recog.h.
678 (struct iv_to_split, struct split_ivs_info): New types.
679 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
680 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
681 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
682 insert_base_initialization, split_iv): New functions.
683 (peel_loop_completely, unroll_loop_constant_iterations,
684 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
686 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
688 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
690 * tree-cfg.c (thread_jumps): Update dominators correctly in
691 case destination of threaded edge dominates its source.
693 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
697 * Makefile.in (LOOP_H, unroll.o): Removed.
698 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
700 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
702 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
703 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
704 * loop.c: Do not include loop.h.
705 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
706 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
707 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
708 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
709 struct loop_regs, struct loop_movables, struct loop_info): Moved
711 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
712 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
713 find_common_reg_term, loop_iterations, final_giv_value): Moved
715 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
716 loop_dump_stream, for_each_insn_in_loop, express_from,
717 extend_value_for_giv, loop_iv_add_mult_emit_before,
718 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
719 loop_insn_first_p, get_condition_for_loop,
720 loop_insn_emit_before, loop_insn_hoist,
721 loop_insn_sink): Made static.
722 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
724 (strength_reduce): Do not call unroller.
725 (record_giv): Do not initialize unrolled field.
726 (prescan_loop): Do not set loop_info->preconditioned.
727 * passes.c: Do not include loop.h.
728 (rest_of_handle_loop_optimize): Do not call unroller.
729 * predict.c: Do not include loop.h.
730 * rtl.h (NOTE_PRECONDITIONED): Removed.
731 * stmt.c: Do not include loop.h.
732 * toplev.c: Do not include loop.h.
733 (process_options): Do not handle flag_old_unroll_loops.
735 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
736 Documentation removed.
737 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
739 2004-09-14 Nathan Sidwell <nathan@codesourcery.com>
741 * Makefile.in (STAGE1_CHECKING): New variable.
742 (stage1_build): Use it.
743 * tree-ssa.c (verify_ssa): Preserve state of dominance
746 2004-09-14 Uros Bizjak <uros@kss-loka.si>
748 * config/i386/i386.c (output_fp_compare): Add generation
750 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
751 Use output_fp_compare () function.
752 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
753 (fix_truncdi_memory): Remove operands[5] copy.
755 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
757 * config/m32r/m32r.md, config/m68k/m68kelf.h,
758 config/mcore/mcore.md, config/rs6000/linux64.h,
759 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
762 2004-09-13 James E Wilson <wilson@specifixinc.com>
764 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
765 * gen-protos.c: Include errors.h.
768 2004-09-14 Jan Hubicka <jh@suse.cz>
770 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
771 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
772 (predict_loops): Use number_of_iterations_exit to predict
773 number of iterations on trees.
775 2004-09-13 Dale Johannesen <dalej@apple.com>
779 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
780 objects declared extern.
782 2004-09-14 Paul Brook <paul@codesourcery.com>
784 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
787 2004-09-13 Daniel Jacobowitz <dan@debian.org>
789 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
790 Only use TYPE_BINFO for aggregates.
792 2004-09-13 Daniel Jacobowitz <dan@debian.org>
794 * expmed.c (synth_mult): Initialize latency. Check cost before
797 2004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
799 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
800 add_call_clobber_ops and add_call_read_ops.
801 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
802 the number of vdefs and vuses inserted based on analysis of global
803 variables across calls. * tree-dfa.c (find_referenced_vars):
804 Needed to reset static var maps before each function is compiled.
806 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
807 static_vars_info,functions_to_static_vars_info,module_statics_escape,
808 all_module_statics,searchc_env,dfs_info): New fields to support
809 analysis of static global variables.
810 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
811 cgraph_reset_static_var_maps, get_global_static_vars_info,
812 get_global_statics_not_read, get_global_statics_not_written,
813 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
814 check_rhs_var, check_lhs_var, get_asm_expr_operands,
815 process_call_for_static_vars, scan_for_static_refs,
816 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
817 clear_static_vars_maps, cgraph_propagate_bits,
818 cgraph_characterize_statics): New. Functions to support analysis
819 of static global variables.
820 (cgraph_mark_local_and_external_functions): Renamed from:
821 (cgraph_mark_local_functions)
822 (cgraph_expand_all_functions): Remove call to
823 cgraph_mark_local_and_external_functions.
824 (cgraph_optimize): Added driver to analyze static variables whose
825 scope is within the compilation unit. * cgraph.h (struct
826 cgraph_local_info, GTY): Added statics_read, statics_written,
827 local, calls_read_all, calls_write_all, for_functions_valid.
828 (struct cgraph_node): Added next_cycle. * cgraph.c
829 (dump_cgraph_node): Added print routines for new fields. *
830 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
833 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
835 * c-decl.c (grokdeclarator): Correct comments about where storage
836 class specifiers are rejected by grammar and add corresponding
837 asserts. Diagnose typedefs and parameters declared inline.
838 Change warning for inline main to a pedwarn. Only diagnose inline
840 (declspecs_add_scspec): Allow duplicate "inline".
842 2004-09-13 Steve Ellcey <sje@cup.hp.com>
844 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
845 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
847 2004-09-13 Richard Henderson <rth@redhat.com>
850 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
851 (tree_type): Replace spare with contains_placeholder_bits.
852 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
853 make static. Remove seen_types list.
854 (type_contains_placeholder_p): New.
856 2004-09-13 James E Wilson <wilson@specifixinc.com>
858 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
859 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
860 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
861 bdesc_arrays instead of mips_bdesc.
862 (mips_init_builtins): Likewise.
863 * config/mips/mips.h (TARGET_SB1): New.
864 (HAVE_SQRT_P): Delete.
865 * config/mips/mips.md (divide_condition): Support V2SF.
866 (sqrt_condition, recip_condition): New.
867 (div<mode>3): Use ANYF instead of SCALARF.
868 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
870 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
871 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
873 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
874 instead of SCALARF. Use UNITMODE instead of MODE.
876 2004-09-13 Zack Weinberg <zack@codesourcery.com>
878 * config.in: Regenerate after removal of libbanshee.
880 2004-09-13 Andrew MacLeod <amacleod@redhat.com>
882 PR tree-optimization/17400
883 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
884 coalesce partitions when one occurs in an abnormal PHI.
886 2004-09-13 Andrew Pinski <apinski@apple.com>
888 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
891 2004-09-13 Richard Henderson <rth@redhat.com>
894 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
895 (cselib_invalidate_rtx_note_stores): New.
896 (cselib_record_sets, cselib_process_insn): Update to match.
897 * cselib.h (cselib_invalidate_rtx): Declare.
898 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
900 2004-09-13 Richard Henderson <rth@redhat.com>
903 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
904 after copying its argument.
906 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
908 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
909 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
910 in diagnostics. Use %' for English apostrophes.
911 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
912 (pedwarn_c90, pedwarn_c99): Use it.
913 * c-decl.c (lookup_label): Quote label name in diagnostic.
914 * c-parse.in (yyprint): Use ' instead of ` for left quote.
915 * c-typeck.c (warn_for_assignment): Likewise.
917 2004-09-13 Jan Hubicka <jh@suse.cz>
919 * i386.c (x86_schedule): New global variable.
920 (override_options): Disable scheduling when not supported.
921 * i386.h (x86_schedule): Declare.
922 (TARGET_SCHEDULE): New macro.
924 2004-09-12 Richard Henderson <rth@redhat.com>
927 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
928 * tree.c, tree.h (has_cleanups): Remove.
930 2004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
932 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
933 arguments of the phi nodes correctly.
935 2004-09-12 Jan Hubicka <jh@suse.cz>
937 * ggc-common.c (cmp_statistics): Fix sorting.
939 2004-09-12 David Edelsohn <edelsohn@gnu.org>
942 * expmed.c (expand_divmod): If cheap power of 2 divide is
943 available, use it for negative constant as well.
945 2004-09-12 Andrew Pinski <apinski@apple.com>
947 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
950 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
952 2004-09-12 Richard Henderson <rth@redhat.com>
954 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
956 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
957 post-reload, and scratch NULL.
958 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
959 (x86_shift_adj_2): Use ix86_expand_clear.
960 (ashldi3): Remove CMOVE expansion difference.
962 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
963 add constraints for immediates. New peephole for split-with-temp.
964 Run splitter after peep2 pass.
965 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
966 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
967 (setcc_2): Rename with *.
968 * config/i386/predicates.md (reg_or_pm1_operand): New.
969 (ashldi_input_operand): New.
971 2004-09-12 Richard Henderson <rth@redhat.com
973 * print-rtl.c (print_decl_name): New.
974 (print_mem_expr): Use it.
976 2004-09-12 Richard Henderson <rth@redhat.com
979 * except.c (sjlj_emit_function_exit): Fix logic locating
980 sjlj_exit_after in final block.
982 2004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
984 * common.opt: Remove flags -fmove-all-movables and
986 * loop-invariant.c (find_invariants_to_move):
987 Remove all uses of flag_move_all_movables.
988 * loop.c (move_movables): Remove all uses of
989 flag_move_all_movables.
990 (strength_reduce): Remove all uses of
991 flag_reduce_all_givs.
992 * doc/invoke.texi: Remove documentation of flags
993 -fremove-all-movables and -freduce-all-givs.
995 2004-09-11 Roger Sayle <roger@eyesopen.com>
998 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
999 change. elt->type may be a floating point type, so use fold_convert.
1001 2004-09-11 Geoffrey Keating <geoffk@apple.com>
1003 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
1004 the thing referenced as used, not the stub itself.
1006 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
1008 * c-tree.h (enum c_storage_class): New.
1009 (struct c_declspecs): Add storage_class, inline_p and thread_p.
1010 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
1011 declarations and "auto" or "register" in file scope empty
1012 declarations. Give more specific warnings for other cases of
1013 storage class specifiers in empty declarations.
1014 (grokdeclarator): Update for new structures. Don't check for
1015 multiple storage classes. Diagnose file-scope "register" if
1017 (build_null_declspecs): Update.
1018 (declspecs_add_scspec): Update. Diagnose multiple storage class
1019 specifiers and invalid uses of "__thread".
1021 2004-09-11 Zack Weinberg <zack@codesourcery.com>
1023 * tree.c (tree_code_size): New function, bulk of code from tree_size.
1024 (tree_size, make_node): Use it.
1025 * tree-ssa-pre.c (init_pre): Use it.
1026 * tree.h: Prototype it.
1028 2004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1030 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
1031 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
1032 redirect_immediate_use): Use PHI_DF.
1033 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
1034 (bb_for_stmt): Use PHI_BB.
1035 (get_immediate_uses): Use PHI_DF.
1036 * tree-ssa-dse.c (max_stmt_uid): New variable.
1037 (get_stmt_uid): New function.
1038 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
1040 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
1041 (max_uid): Renamed to max_stmt_uid.
1042 (get_stmt_uid): New function.
1043 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
1044 phi node annotations.
1045 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
1046 * tree.h (PHI_BB, PHI_DF): New accessor functions.
1047 (struct tree_phi_node): Add bb and df fields.
1049 2004-09-11 Richard Henderson <rth@redhat.com>
1052 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
1055 2004-09-11 Jan Hubicka <jh@suse.cz>
1057 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
1058 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
1059 * i386.md (i387_cw): Add 'uninitialized' mode.
1061 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
1062 (output_location): Break out from ....
1063 (branch_prob): ... here; handle gcov output on trees.
1064 * toplev.c (process_options): No longer be sorry about coverage for
1067 2004-09-11 Steven Bosscher <stevenb@suse.de>
1070 * fold-const.c (fold): Do not try to fold the operand of a
1071 CLEANUP_POINT_EXPR if that operand does itself not have any
1075 * langhooks.c (lhd_decl_printable_name): Make sure that this
1076 function is called with is a decl node that has an identifier.
1077 * tree-pretty-print.c (dump_function_name): New function to
1078 wrap PRINT_FUNCTION_NAME and dump_decl_name.
1079 (print_call_name): Use it.
1081 2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
1083 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
1086 2004-09-11 Jakub Jelinek <jakub@redhat.com>
1088 * tree-ssa-alias.c (collect_points_to_info_r): Handle
1089 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
1092 2004-09-11 Richard Henderson <rth@redhat.com>
1094 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
1095 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
1096 operand of the ADDR_EXPR.
1097 (expand_expr_real_1): Update to match.
1099 2004-09-11 David Edelsohn <edelsohn@gnu.org>
1102 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
1103 choose 64-bit version.
1105 2004-09-11 Richard Henderson <rth@redhat.com>
1108 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
1110 2004-09-11 Kazu Hirata <kazu@cs.umass.edu>
1112 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
1113 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
1114 Insert @: after i.e. or e.g.
1116 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1118 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
1119 D.xxx rather than <Dxxx>.
1121 2004-09-10 Adam Nemet <anemet@lnxw.com>
1123 * configure.ac (AC_MSG_CHECKING(what linker to use)):
1124 in_tree_ld_is_elf should be true for LynxOS.
1125 * configure: Regenerate.
1127 2004-09-10 Adam Nemet <anemet@lnxw.com>
1129 * Makefile.in (all.cross): Add srcextra.
1131 2004-09-10 Roger Sayle <roger@eyesopen.com>
1134 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
1135 floating point comparison operators. Change aborts to gcc_asserts.
1137 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1139 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
1141 2004-09-10 James E Wilson <wilson@specifixinc.com>
1143 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
1144 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
1146 * convert.c (convert_to_vector): Replace recursive call with
1149 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
1150 Add integer argument named constant. Use const_tiny_rtx instead of
1152 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
1154 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
1156 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
1157 of gen_rtx_raw_CONST_VECTOR.
1159 2004-09-10 Eric Christopher <echristo@redhat.com>
1162 * c-parse.in (attribute): Add NULL_TREE for error case
1165 2004-09-10 Zack Weinberg <zack@codesourcery.com>
1167 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
1168 (extract_interface_info): Delete prototype.
1169 * c-decl.c (extract_interface_info): Delete stub.
1170 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
1171 it's not already been done ...
1172 (init_c_lex): ... not here.
1173 (fe_file_change): Don't call extract_interface_info.
1175 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
1177 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
1178 typedef_p and typedef_signed_p.
1179 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
1180 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
1181 Check typedef_p and typedef_signed_p, not typedef_decl.
1182 (grokfield): Check typedef_p, not typedef_decl.
1183 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
1185 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
1188 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1190 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
1192 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1194 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
1195 temporary variables.
1197 * dbxout.c (dbxout_block): Update for
1198 current_function_func_begin_label a string.
1199 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
1200 * except.c (dw2_output_call_site_table): Likewise.
1201 * toplev.c (current_function_func_begin_label): Likewise.
1202 * tree.h (current_function_func_begin_label): Likewise.
1203 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
1205 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
1208 * config/darwin.c: Include target.h.
1209 (struct machopic_indirection): Make ptr_name a string.
1210 (machopic_indirection_hash): Update for ptr_name a string.
1211 (machopic_indirection_eq): Likewise.
1212 (machopic_indirection_name): Likewise.
1213 (machopic_output_indirection): Likewise.
1214 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
1215 string. Don't expect stub names to be in the identifier hash table.
1216 Do call strip_name_encoding before looking up entry in ID hash table.
1217 * config/t-darwin (darwin.o): Add target.h to dependencies.
1219 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
1220 of fprintf for register names.
1222 * output.h (unlikely_section_label): Delete declaration.
1223 (unlikely_text_section_name): Likewise.
1224 * varasm.c (unlikely_section_label_printed): Make static.
1225 (unlikely_section_label): Likewise.
1226 (unlikely_text_section_name): Likewise.
1227 (assemble_start_function): Use reconcat.
1229 * rtl.def (REG): Add comment to describe third field.
1231 2004-09-10 Andrew Pinski <apinski@apple.com>
1233 * config/darwin.c (machopic_mcount_stub_name): Call
1234 machopic_indirection_name instead of making the string
1237 2004-09-10 Diego Novillo <dnovillo@redhat.com>
1241 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
1243 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
1244 memory tag is call clobbered, so are its aliases.
1245 (group_aliases): When two memory tags being grouped, if one is
1246 call clobbered, so are the other and its aliases.
1247 (add_may_alias): Remove call-clobbering stuff.
1248 (replace_may_alias): Likewise.
1249 (merge_pointed_to_info): Merge pt_global_mem
1251 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1253 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
1254 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
1255 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
1256 tree-scalar-evolution.c, tree-ssa-copyrename.c,
1257 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
1259 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1261 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
1262 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
1263 pair. Remove match_dup from inputs. Remove masaccs handling.
1264 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
1265 (masaccs, mdasaccs): Turn into define_insns.
1267 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1269 * tree-tailcall.c (process_assignment): Only do accumulator transforms
1270 for floating-point types if flag_unsafe_math_optimizations.
1272 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1274 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
1275 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
1276 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
1277 config/h8300/h8300.md, config/i386/gmm_malloc.h,
1278 config/ia64/ia64.md, config/ip2k/libgcc.S,
1279 config/mips/mips-ps-3d.md, config/mips/mips.c,
1280 config/rs6000/rs6000.c, config/s390/s390.c,
1281 config/sh/symbian.c: Fix comment typos.
1283 2004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
1285 * config/s390/s390.c (s390_emit_prologue): Added missing
1288 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1290 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
1291 typos. Follow spelling conventions.
1293 2004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
1295 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
1296 in diagnostic. Don't dereference NULL TYPE_NAME.
1298 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1300 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
1301 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
1302 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
1303 value-prof.c: Fix comment typos. Follow spelling conventions.
1305 2004-09-10 Jan Hubicka <jh@suse.cz>
1307 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
1308 * tree-split_edge.c (tree_split_edge): Likewise.
1309 (thread_jumps): Likewise.
1311 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1313 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
1316 2004-09-10 Paolo Bonzini <bonzini@gnu.org>
1318 * cgraph.h (cgraph_dump_file): Do not declare.
1319 * cgraphunit.c (cgraph_dump_file): Declare as static.
1321 * toplev.c (cgraph_dump_file): Do not declare.
1322 (compile_file): Call init_cgraph.
1323 * tree-dump.c (dump_files): Add IPA dump file, remove
1324 XML dump of call graph.
1325 (get_dump_file_name): Support IPA dump file naming scheme.
1326 * tree.h (enum tree_dump_index): Add IPA dump file, remove
1327 XML dump of call graph.
1328 * doc/invoke.texi (Debugging Options): Document the new options.
1330 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1332 * doc/extend.texi: Document the FR-V built-in functions.
1334 2004-09-09 James E Wilson <wilson@specifixinc.com>
1336 * doc/sourcebuild.texi: Delete libbanshee reference.
1338 2004-09-10 Kelley Cook <kcook@gcc.gnu.org>
1340 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
1342 2004-09-09 James E Wilson <wilson@specifixinc.com>
1344 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
1345 before calling vector_types_convertible_p.
1346 (digest_init): Check that inside_init has VECTOR_TYPE before calling
1347 vector_types_convertible_p. Don't give another error if
1348 convert_for_assignment returns error_mark_node.
1350 2004-09-09 Roger Sayle <roger@eyesopen.com>
1353 * fold-const.c (build_zero_vector): New function to construct a
1354 vector (either floating point or integer) of zeros.
1355 (fold_convert): Internally, enable conversions of integer zero
1356 to arbitrary vector types, using the new build_zero_vector.
1358 2004-09-09 Roger Sayle <roger@eyesopen.com>
1360 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
1361 expand a left shift by an immediate constant as either an ashl or
1362 a sequence of additions.
1363 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
1364 instead of calling gen_ashlsi3 with a constant directly.
1366 2004-09-09 Roger Sayle <roger@eyesopen.com>
1368 * config/i386/i386.c (ix86_split_long_move): When optimizing for
1369 size, and the low and high parts of a DImode constant are equal,
1370 copy one register to another instead of loading the same immediate
1373 2004-09-09 Richard Henderson <rth@redhat.com>
1376 * function.c (assign_parm_setup_block): Only put PARALLELs into
1377 a register if use_register_for_decl.
1379 2004-09-09 Eric Christopher <echristo@redhat.com>
1381 * ra-colorize.c (reset_lists): Move variable declaration inside
1382 ENABLE_CHECKING to avoid unused variable warnings when
1383 not --enable-checking.
1384 (check_colors): Ditto.
1386 2004-09-09 Mike Stump <mrs@apple.com>
1388 * version.c (version_string): Bump to 4.0.0.
1389 * doc/include/gcc-common.texi (version-GCC): Likewise.
1391 2004-09-10 Jakub Jelinek <jakub@redhat.com>
1393 * doc/extend.texi (nothrow attribute): The attribute is not
1394 implemented in 3.2 and earlier.
1396 2004-09-09 Steve Ellcey <sje@cup.hp.com>
1398 * genrecog.c (compute_predicate_codes): Use op0_codes
1401 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1403 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
1404 implementation changes.
1406 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1408 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
1409 a PARALLEL instead of a SET due to added clobbers.
1411 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1413 * reload.c (find_reloads_address): Pass correct operand to
1414 maybe_memory_address_p.
1416 2004-09-09 Daniel Berlin <dberlin@dberlin.org>
1418 * Makefile.in: Remove libbanshee, tree-alias-*.
1419 Remove tree-alias-common.h dependencies.
1420 * common.opt: Remove -ftree-points-to.
1421 * configure.ac: Remove libbanshee.
1422 * flags.h: Remove pta_type, flag_tree_points_to.
1423 * gengtype.c (open_base_files): Remove tree-alias-type.h.
1424 * opts.c (OPT_ftree_points_to): Remove.
1425 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
1426 * tree-dfa.c: Remove tree-alias-common.h
1427 * tree-into-ssa.c: Ditto.
1428 * tree-outof-ssa.c: Ditto.
1429 * tree-ssa-copyrename.c: Ditto.
1430 * tree-ssa-live.c: Ditto.
1431 * tree-optimize.c: Ditto.
1432 * tree-ssa.c: Ditto.
1433 Remove pass_build_pta, pass_del_pta.
1434 * tree-pass.h: Ditto.
1435 * tree-ssa-alias.c: Remove tree-alias-common.h.
1436 (struct alias_stats_d): Remove pta_queries, pta_resolved.
1437 (pass_may_alias): Remove PROP_pta requirement.
1438 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
1439 (get_tmt_for): Ditto.
1440 (dump_alias_stats): Ditto.
1441 * doc/passes.texi: Remove blurb about points-to analysis.
1442 * fortran/Make-lang.in: Remove tree-alias-*.o.
1444 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
1446 * genattrtab.c (write_insn_cases): New function, split out from
1447 write_attr_case. Correctly handle define_peepholes when printing
1448 the instruction name.
1449 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
1451 2004-09-09 Hans-Peter Nilsson <hp@axis.com>
1454 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
1455 * config/cris/cris.c (cris_return_address_on_stack): New function.
1456 * config/cris/cris.md ("return"): For location of return address,
1457 also check cris_return_address_on_stack.
1459 2004-09-09 Diego Novillo <dnovillo@redhat.com>
1461 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
1462 calling phi_ssa_name_p.
1464 2004-09-09 Richard Henderson <rth@redhat.com>
1467 * c-typeck.c (valid_compound_expr_initializer): Use only
1468 initializer_constant_valid_p, and not TREE_CONSTANT.
1469 (digest_init): Likewise.
1470 (output_init_element): Likewise.
1472 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1474 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
1475 live_out_1, prune_hardregs_for_mode, init_one_web_common,
1476 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
1477 record_conflict, compare_and_free_webs, init_webs_defs_uses,
1478 parts_to_webs_1, parts_to_webs, reset_conflicts,
1479 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
1480 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
1481 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
1482 put_move, remove_move, combine, select_spill, colorize_one_web,
1483 try_recolor_web, insert_coalesced_conflicts, check_colors,
1484 break_precolored_alias, restore_conflicts_from_coalesce,
1485 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
1486 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
1487 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
1488 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
1489 check_df): Likewise.
1490 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
1491 real_arithmetic, real_compare, real_exponent, real_ldexp,
1492 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
1493 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
1494 real_digit, real_nan, real_maxval, round_for_format, real_convert,
1495 real_to_target, real_from_target, real_hash, encode_ieee_single,
1496 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
1497 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
1498 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
1499 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
1500 extract_insn, peep2_next_insn, peep2_reg_dead_p,
1501 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
1502 if_test_bypass_p): Likewise.
1503 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
1504 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
1505 emit_swap_insn, swap_to_top, move_for_stack_reg,
1506 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
1507 compensate_edge, convert_regs_1): Likewise.
1508 * regclass.c (init_reg_sets, init_reg_sets_1,
1509 memory_move_secondary_cost): Likewise.
1510 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
1512 * reload.c (push_secondary_reload, find_valid_class, push_reload,
1513 operands_match_p, decompose, immune_p, find_reloads,
1514 find_reloads_toplev, find_reloads_address_1, subst_reloads,
1515 copy_replacements, refers_to_regno_for_reload_p,
1516 reg_overlap_mentioned_for_reload_p): Likewise.
1517 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
1518 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
1519 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
1520 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
1521 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
1522 do_output_reload, fixup_abnormal_edges): Likewise.
1523 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
1524 fill_slots_from_thread, relax_delay_slots): Likewise.
1525 * resource.c (mark_referenced_resources, mark_set_resources):
1527 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
1528 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
1529 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
1530 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
1531 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
1532 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
1533 * rtlhooks.c (gen_lowpart_general): Likewise.
1534 * sbitmap.c (sbitmap_difference): Likewise.
1535 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
1536 sched_analyze, add_forward_dependence): Likewise.
1537 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
1538 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
1539 schedule_insns): Likewise.
1540 * sched-vis.c (print_pattern): Likewise.
1541 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
1542 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1543 simplify_const_relational_operation, simplify_ternary_operation,
1544 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
1546 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
1547 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
1548 resolve_operand_name_1, expand_return, expand_decl,
1549 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
1550 * stor-layout.c (put_pending_size, smallest_mode_for_size,
1551 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
1552 set_sizetype, get_mode_bounds): Likewise.
1554 2004-09-09 Zack Weinberg <zack@codesourcery.com>
1556 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
1557 * config/arm/pecoff.h, config/i386/beos-elf.h
1558 * config/i386/cygming.h, config/i386/i386-interix.h:
1559 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
1560 comment cloned from manual.
1561 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
1563 2004-09-09 Frank Ch. Eigler <fche@redhat.com>
1565 * builtins.c (build_va_arg_indirect_ref): New function.
1566 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
1567 build_fold_indirect_ref.
1568 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
1569 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
1570 * tree.h: Declare new function.
1572 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1574 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
1575 dumping for development builds.
1576 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
1577 development builds only.
1578 * genattrtab.c (write_eligible_delay): Fix typo in previous
1580 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
1583 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1585 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
1586 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
1587 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
1588 hoist_code, extract_mentioned_regs_helper, compute_store_table,
1589 insert_store): Use gcc_assert and gcc_unreachable.
1590 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
1591 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
1592 ggc_record_overhead): Likewise.
1593 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
1594 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
1595 ggc_pop_context, clear_marks, validate_free_objects,
1596 ggc_pch_read): Likewise.
1597 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
1598 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
1599 ggc_push_context, check_cookies, ggc_collect,
1600 ggc_print_statistics): Likewise.
1601 * gimple-low.c (lower_function_body, lower_stmt,
1602 lower_bind_expr): Likewise.
1603 * gimplify.c (gimple_tree_eq, push_gimplify_context,
1604 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
1605 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
1606 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
1607 gimplify_case_label_expr, gimplify_exit_block_expr,
1608 canonicalize_component_ref, gimplify_compound_lval,
1609 gimplify_self_mod_expr, gimplify_call_expr,
1610 gimplify_init_ctor_eval, gimplify_init_constructor,
1611 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
1612 gimplify_expr, check_pointer_types_r,
1613 force_gimple_operand): Likewise.
1614 * global.c (global_alloc, build_insn_chain): Likewise.
1615 * graph.c (clean_graph_dump_file,
1616 finish_graph_dump_file): Likewise.
1617 gcov-io.c (gcov_open): Use GCOV_CHECK.
1619 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
1621 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
1623 2004-09-09 Jan Hubicka <jh@suse.cz>
1626 * tree-inline.c (expand_call_inline): Make overactive sanity check
1629 2004-09-09 Jan Hubicka <jh@suse.cz>
1631 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
1634 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1636 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
1637 (gengtype.o): Depend on errors.h.
1638 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
1639 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
1640 attr_alt_subset_p, attr_alt_subset_of_compl_p,
1641 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
1642 write_test_expr, write_attr_value, write_eligible_delay,
1643 make_internal_attr, make_numeric_value): Likewise.
1644 * genautomata.c (regexp_name, get_str_vect,
1645 gen_presence_absence_set, automaton_decl_hash,
1646 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
1647 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
1648 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
1649 test_unit_reserv, it_is_empty_reserv_sets,
1650 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
1651 reserv_sets_and, output_cycle_reservs, get_free_state,
1652 intersected_state_reservs_p, states_union, remove_arc,
1653 copy_insn_regexp, transform_1, transform_2, transform_3,
1654 regexp_transform_func, store_alt_unit_usage,
1655 check_regexp_units_distribution, process_seq_for_forming_states,
1656 process_alts_for_forming_states, make_automaton,
1657 form_arcs_marked_by_insn, create_composed_state,
1658 set_out_arc_insns_equiv_num, partition_equiv_class,
1659 process_insn_equiv_class, set_insn_equiv_classes,
1660 units_to_automata_heuristic_distr, form_regexp,
1661 longest_path_length, output_dfa_max_issue_rate, add_vect,
1662 out_state_arcs_num, add_vect_el, output_trans_table,
1663 output_state_alts_table, output_dead_lock_vect,
1664 output_max_insn_queue_index_def,
1665 output_min_insn_conflict_delay_func,
1666 output_internal_insn_latency_func, output_print_reservation_func,
1667 output_cpu_unit_reservation_p, output_state_arcs,
1668 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
1669 make_default_insn_latency_attr,
1670 form_important_insn_automata_lists): Likewise.
1671 * genemit.c (gen_exp, output_add_clobbers,
1672 output_added_clobbers_hard_reg_p): Likewise.
1673 * genextract.c (print_path, main): Likewise.
1674 * genflags.c (gen_macro): Likewise.
1675 * gengenrtl.c: Include errors.h
1676 (type_from_format, accessor_from_format): Likewise.
1677 * gengtype.c (get_file_basename, output_mangled_typename,
1678 walk_type, write_types_process_field,
1679 write_types_local_process_field): Likewise.
1680 * genmodes.c (complete_mode): Likewise.
1681 * genopinit.c (gen_insn): Likewise.
1682 * genoutput.c (output_insn_data, check_constraint_len,
1683 constraint_len): Likewise.
1684 * genpreds.c (add_mode_tests):Likewise.
1685 * gen-protos.c (add_hash): Likewise.
1686 * genrecog.c (find_operand, find_matching_operand,
1687 validate_pattern, add_to_sequence, maybe_both_true,
1688 nodes_identical_1, merge_trees, write_switch, write_cond,
1689 write_action, is_unconditional, make_insn_sequence,
1690 debug_decision_2): Likewise.
1691 * gensupport.c (is_predicable, collect_insn_data,
1692 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
1694 2004-09-09 Jan Hubicka <jh@suse.cz>
1696 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
1697 * cfgbuild.c (compute_outgoing_frequencies): When probability is
1699 (find_many_sub_basic_blocks): Do update profile only when it is
1701 * predict.c (set_even_probabilities): Break out from ...
1702 (combine_predictions_for_insn): ... here; deal with
1703 !can_predict_insn_p insns.
1704 (combine_predictions_for_bb): Use set_even_probabilities.
1705 (bb_estimate_probability_locally): Break out from ....
1706 (estimate_probability): ... here.
1707 (guess_outgoing_edge_probabilities): New entry point.
1709 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1711 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
1712 handle_braces, process_brace_body, main, used_arg,
1713 set_multilib_dir, print_multilib_info): Use fatal, not abort.
1715 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
1717 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
1718 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
1719 Morgan's theorem in last checkin.
1721 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1722 Nathan Sidwell <nathan@codesourcery.com>
1724 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
1725 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
1726 * timevar.c (timevar_push, timevar_pop, timevar_start,
1727 timevar_stop): Likewise.
1728 * toplev.c (default_pch_valid_p): Likewise.
1729 * tracer.c (tail_duplicate): Likewise.
1730 * tree-alias-common.c (get_alias_var_decl,
1731 get_values_from_constructor, create_alias_var, delete_alias_vars,
1732 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
1734 * tree.c (tree_size, make_node_stat, copy_node_stat,
1735 build_int_cst_wide, integer_all_onesp, list_length, chainon,
1736 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
1737 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
1738 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
1739 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
1740 build_method_type_directly, decl_type_context, get_callee_fndecl,
1741 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
1742 tree_fold_gcd): Likewise.
1743 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
1744 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
1745 cleanup_control_expr_graph, find_taken_edge,
1746 find_taken_edge_switch_expr, phi_alternatives_equal,
1747 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
1748 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
1749 tree_split_edge, tree_verify_flow_info, thread_jumps,
1750 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
1751 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
1752 chrec_fold_multiply_poly_poly): Likewise.
1753 * tree-complex.c (extract_component, expand_complex_division,
1754 expand_complex_comparison, expand_complex_operations_1,
1755 build_replicated_const, expand_vector_operations_1): Likewise.
1756 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
1757 build_classic_dir_vector): Likewise.
1758 * tree-dfa.c (compute_immediate_uses_for_phi,
1759 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
1760 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
1761 * tree-dump.c (dequeue_and_dump): Likewise.
1762 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
1763 record_in_finally_tree, replace_goto_queue_1,
1764 maybe_record_in_goto_queue, verify_norecord_switch_expr,
1765 do_return_redirection): Likewise.
1766 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
1767 add_to_dst_predicate_list, find_phi_replacement_condition,
1768 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
1770 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
1771 initialize_inlined_parameters, declare_return_variable,
1772 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
1773 optimize_inline_calls, copy_tree_r): Likewise.
1774 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
1775 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
1776 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
1777 tsi_split_statement_list_after, tsi_split_statement_list_before):
1779 * tree-mudflap.c (mf_varname_tree): Likewise.
1780 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
1781 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
1782 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1783 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
1784 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
1785 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
1787 * tree-phinodes.c (resize_phi_node, add_phi_arg,
1788 remove_all_phi_nodes_for): Likewise.
1789 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
1790 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
1791 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
1792 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
1793 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
1794 generate_one_element_ref, generate_element_copy,
1795 generate_element_zero, scalarize_copy, scalarize_init,
1796 scalarize_ldst): Likewise.
1797 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
1798 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
1799 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
1800 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
1801 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
1802 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
1803 widen_bitfield, ccp_fold_builtin): Likewise.
1804 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
1805 replace_exp_1, propagate_tree_value): Likewise.
1806 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
1807 * tree-ssa-dce.c (set_control_dependence_map_bit,
1808 find_control_dependence, find_pdom, mark_operand_necessary,
1809 mark_stmt_if_obviously_necessary,
1810 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
1811 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
1812 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
1813 eliminate_redundant_computations, avail_expr_eq): Likewise.
1814 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
1815 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
1816 duplicate_blocks): Likewise.
1817 * tree-ssa-loop-im.c (for_each_index, set_level,
1818 is_call_clobbered_ref): Likewise.
1819 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
1820 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
1821 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
1822 peel_address, ptr_difference_cost, may_replace_final_value,
1823 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
1824 rewrite_use, rewrite_uses): Likewise.
1825 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
1826 check_loop_closed_ssa_use): Likewise.
1827 * tree-ssanames.c (make_ssa_name): Likewise.
1828 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
1829 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
1830 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
1831 get_indirect_ref_operands, add_stmt_operand): Likewise.
1832 * tree-ssa-pre.c (value_exists_in_set_bitmap,
1833 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
1834 phi_translate, valid_in_set, compute_antic,
1835 find_or_generate_expression, create_expression_by_pieces, insert_aux,
1836 create_value_expr_from, eliminate): Likewise.
1837 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
1838 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
1840 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
1841 eliminate_tail_call): Likewise.
1842 * tree-vectorizer.c (vect_create_index_for_array_ref,
1843 vect_align_data_ref, vect_create_data_ref,
1844 vect_create_destination_var, vect_get_vec_def_for_operand,
1845 vect_finish_stmt_generation, vect_transform_stmt,
1846 vect_transform_loop_bound, vect_transform_loop,
1847 vect_analyze_operations): Likewise.
1848 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
1850 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
1851 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
1852 bsi_after_labels, bsi_last): Likewise.
1853 * tree-ssa-live.c (var_union, change_partition_var,
1854 create_ssa_var_map, calculate_live_on_entry, root_var_init,
1855 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
1857 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
1858 tpa_find_tree): Likewise.
1859 (register_ssa_partition_check): Declare.
1860 (register_ssa_partition): use it.
1861 * tree-ssa-live.c: Include errors.h.
1862 (register_ssa_partition_check): New.
1863 * tree-ssa-operands.c: Include errors.h.
1864 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
1866 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
1867 Catherine Moore <clm@redhat.com>
1869 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
1870 (FRV_CPU_FR405): New processor enums.
1871 (frv_issue_rate, frv_acc_group): Declare.
1872 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
1873 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
1874 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
1875 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
1876 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
1877 handled by CPP_SPEC.
1878 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
1879 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
1880 (ACC_MASK): New macro.
1881 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
1882 (TARGET_MEDIA_FR450): New macro.
1883 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
1884 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
1885 (LABEL_ALIGN_AFTER_BARRIER): Define.
1886 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
1887 (IACC_FIRST, IACC_LAST): New pair of SPRs.
1888 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
1889 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
1890 (REGISTER_NAMES): Add entries for new registers.
1891 (REG_CLASS_CONTENTS): Update for new register ranges.
1892 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
1893 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
1894 (PACKING_FLAG_USED_P): Delete.
1895 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
1896 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
1897 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
1898 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
1899 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
1900 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
1901 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
1902 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
1903 (CPU_UNITS_QUERY): Define to 1.
1904 * config/frv/frv.c: Include gt-frv.h
1905 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
1906 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
1907 (frv_insn_group): New enumeration.
1908 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
1909 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
1910 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
1911 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
1912 gap left by REGSTATE_LIVE.
1913 (regstate_t): New typedef.
1914 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1915 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
1916 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
1917 Initialize frv_unit_codes[] and frv_type_to_unit[].
1918 (frv_conditional_register_usage): Remove redundant fixing of
1919 accumulator registers.
1920 (frv_insn_packing_flag): Update specification.
1921 (frv_function_prologue): Don't set frv_insn_packing_flag here.
1922 Zero out frv_nops[].
1923 (frv_expand_epilogue): Remove comments about the no-longer-present
1925 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
1926 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
1927 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
1928 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
1929 packing is disabled and if INSN can only issue to M1.
1930 (call_operand): Check TARGET_LONG_CALLS.
1931 (acc_operand, even_acc_operand, quad_acc_operand)
1932 (accg_operand): Simplify. Don't accept pseudo registers.
1933 (output_move_single): Handle SPR<-zero moves.
1934 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
1935 (frv_registers_update, frv_registers_used_p): Delete.
1936 (frv_registers_set_p): Delete.
1937 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
1938 (frv_issues_to_branch_unit_p): New function.
1939 (frv_packet): New structure.
1940 (frv_cond_flags, frv_regstate_conflict_p): New functions.
1941 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
1942 (frv_registers_update_1, frv_registers_update): New functions.
1943 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
1944 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
1945 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
1946 (frv_sort_insn_group, frv_reorder_packet): New functions.
1947 (frv_pack_insns): Use frv_reorder_packet.
1948 (frv_packet_address): New variable.
1949 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
1950 (frv_register_nop, frv_reorg): New functions.
1951 (bdesc_1arg): Add __SCUTSS.
1952 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
1953 __SUBSS, __SLASS and __SCAN.
1954 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
1955 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
1956 (frv_init_builtins): Register the above builtins.
1957 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
1958 registers. Turn the referenced accumulators into global registers.
1959 (frv_read_iacc_argument): New function.
1960 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
1961 (frv_split_iacc_move): New function.
1962 (frv_expand_builtin): Handle the new builtins.
1963 * config/frv/frv.md: Replace old schedulers with new order-independent
1964 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
1966 (cpu): Add fr550, fr450 and fr405.
1967 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
1968 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
1969 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
1970 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
1971 (fnop, mnop): New patterns.
1972 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
1974 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
1975 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
1977 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
1978 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
1979 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
1980 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
1981 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
1982 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
1983 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
1984 (frv_prefetch0, frv_prefetch): New patterns.
1985 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
1986 -mcpu=simple. Add -mcpu=fr550.
1987 (MULTILIB_DIRNAMES): Update accordingly.
1988 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
1990 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
1991 -mlong-calls and -malign-labels options for FR-V.
1993 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
1996 * c-tree.h (struct c_declspecs): New.
1997 (struct c_declarator, struct c_type_name, struct c_parm): Update
1999 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
2000 start_function, start_decl, build_c_parm,
2001 make_pointer_declarator): Update prototypes.
2002 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2003 declspecs_add_scspec, declspecs_add_attrs): New.
2004 (split_specs_attrs): Remove.
2005 * c-parse.in (%union): Add dsptype.
2006 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2007 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2008 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2009 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2010 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2011 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2012 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2013 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2014 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2015 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2016 maybe_type_quals_attrs): Change to dsptype.
2017 (struct c_declspec_stack): New.
2018 (current_declspecs, declspec_stack): Change type.
2019 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
2021 (extdefs): Likewise.
2022 (setspecs): Likewise.
2023 (fndef): Use current_declspecs for empty declspecs list.
2024 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2025 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2026 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2027 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2028 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2029 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2030 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2031 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
2032 structures and helper functions. Update comments.
2033 (typespec_nonattr): Correct comment.
2034 (maybe_type_quals_attrs, typename): Update to new structures.
2035 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
2036 shadow_tag, shadow_tag_warned, start_function, start_decl,
2037 build_c_parm, make_pointer_declarator,
2038 set_array_declarator_inner, groktypename): Update to new
2040 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2041 declspecs_add_scspec, declspecs_add_attrs): New.
2042 (split_specs_attrs): Remove.
2043 (shadow_tag_warned): Make warning for useless type names a
2044 pedwarn. Give hard error for long, short, signed, unsigned or
2045 _Complex used with struct, union or enum in empty declaration.
2046 Make found_tag a bool.
2047 (grokdeclarator): Remove checks now done at parse time.
2049 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2051 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
2052 c_declarator, struct c_type_name, struct c_parm): New.
2053 (build_array_declarator, set_array_declarator_inner,
2054 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
2055 start_function, start_decl, build_c_parm, build_attrs_declarator,
2056 build_function_declarator, make_pointer_declarator, c_cast_expr,
2057 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
2058 (build_id_declarator): New.
2059 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
2061 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
2062 ARG_INFO_OTHERS): Remove.
2063 (build_id_declarator): New.
2064 (build_array_declarator, set_array_declarator_inner, groktypename,
2065 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
2066 grokfield, start_function, store_parm_decls_newstyle,
2067 store_parm_decls_oldstyle, store_parm_decls,
2068 build_c_parm, build_attrs_declarator, build_function_declarator,
2069 make_pointer_declarator, grokdeclarator): Update to new
2071 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
2073 (declarator, notype_declarator, after_type_declarator,
2074 parm_declarator, parm_declarator_starttypename,
2075 parm_declarator_nostarttypename, array_declarator, typename,
2076 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
2077 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
2078 parmlist_1, parmlist_2, parmlist_or_identifiers,
2079 parmlist_or_identifiers_1): Use these types.
2080 (primary, after_type_declarator, parm_declarator_starttypename,
2081 notype_declarator, component_decl, component_declarator,
2082 component_notype_declarator, typename, absdcl,
2083 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
2084 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
2086 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2088 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
2089 in_typeof, record_maybe_used_decl, pop_maybe_used,
2090 c_expr_sizeof_expr, c_expr_sizeof_type): New.
2091 * c-decl.c (parser_obstack): New.
2092 (c_init_decl_processing): Initialize parser_obstack.
2093 (c_write_global_declarations_1): Check for used but undefined
2095 * c-parse.in (%union): Add otype.
2096 (save_obstack_position): New.
2098 (unary_expr): Update in_sizeof and in_alignof. Use
2099 c_expr_sizeof_expr and c_expr_sizeof_type.
2100 (sizeof): Update in_sizeof.
2101 (alignof): Update in_alignof.
2102 (typeof): Update in_typeof.
2103 (typespec_nonreserved_nonattr): Call pop_maybe_used.
2104 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
2105 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
2106 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
2107 (build_external_ref): Set C_DECL_USED or call
2108 record_maybe_used_decl if appropriate.
2109 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
2111 2004-09-08 Eric Christopher <echristo@redhat.com>
2113 * builtins.c: Fix prototype for fold_builtin_atan.
2115 2004-09-08 Eric Christopher <echristo@redhat.com>
2117 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
2118 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
2119 fold_builtin_atan): New functions. Migrate function bodies...
2120 (fold_builtin_1): ... from here.
2122 2004-09-09 Alan Modra <amodra@bigpond.net.au>
2124 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
2127 2004-09-08 David Edelsohn <edelsohn@gnu.org>
2129 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
2130 * config/rs6000/power5.md (power5-lmul): Same.
2132 2004-09-08 Richard Henderson <rth@redhat.com>
2135 * function.c (expand_function_end): Have fall-off-the-end
2136 return path jump around return register setup.
2138 2004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2140 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
2141 (output_return): Do not test for the presence of the 'unimp' insn.
2142 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
2143 as predicates instead of custom ones. Return raw strings when
2145 (output_sibcall): Likewise. Concatenate strings.
2146 (output_ubranch): Remove kludge for TurboSPARC.
2147 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
2148 (output_v9branch): Likewise.
2149 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
2150 <#>: Set sparc_indent_opcode if the delay slot is filled.
2152 <)>: New operand to emit the displacement from the saved PC on return.
2154 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
2155 (ASM_OUTPUT_OPCODE): New macro.
2156 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
2157 * config/sparc/sparc.md (normal_branch, inverted_branch,
2158 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
2159 inverted_fpe_branch): Adjust call to output_cbranch.
2160 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
2161 call to output_v9branch.
2162 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
2163 (output_v9branch): Likewise.
2165 2004-09-08 Devang Patel <dpatel@apple.com>
2167 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
2168 -segs_read_only_addr and -segs_read_write_addr.
2169 (WORD_SWITCH_TAKES_ARG): Same.
2171 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
2172 -segs_read_write_addr.
2174 2004-09-08 Richard Henderson <rth@redhat.com>
2176 * function.c (reference_callee_copied): New.
2177 (assign_parm_setup_reg): Use it.
2178 * calls.c (initialize_argument_information): Likewise.
2179 (emit_library_call_value_1): Likewise.
2180 * function.h (reference_callee_copied): Declare.
2182 * target.h (struct gcc_target): Add callee_copies.
2183 * target-def.h (TARGET_CALLEE_COPIES): New.
2184 (TARGET_PASS_BY_REFERENCE): Update default.
2185 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2186 * targhooks.c (hook_callee_copies_named): New.
2187 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
2188 hook_pass_by_reference_false.
2189 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
2190 * targhooks.h: Update decls.
2191 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
2192 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2193 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
2194 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
2195 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2196 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
2197 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2198 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
2199 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2200 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
2201 (mips_callee_copies): New.
2202 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2203 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
2204 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2205 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
2206 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2207 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
2208 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2209 * config/sh/sh.c (sh_callee_copies): New.
2210 (TARGET_CALLEE_COPIES): New.
2211 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2212 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
2213 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2214 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
2215 for FUNCTION_ARG_CALLEE_COPIES.
2216 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
2218 2004-09-08 Devang Patel <dpatel@apple.com>
2220 * tree-if-conv.c (find_phi_replacement_condition): Return true
2222 (replace_phi_with_cond_modify_expr): Select conditional expr args
2223 based on true edge basic block.
2225 2004-09-08 Jan Hubicka <jh@suse.cz>
2227 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
2228 variables being alias set.
2230 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2232 * final.c (shorten_branches, final, get_insn_template,
2233 output_alternate_entry_point, final_scan_insn, alter_subreg,
2234 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
2235 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
2236 * fix-header.c (lookup_std_proto): Likewise.
2237 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
2238 verify_local_live_at_start, update_life_info, mark_reg,
2239 calculate_global_regs_live, allocate_reg_life_data,
2240 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
2241 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
2242 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
2243 * fold-const.c (force_fit_type, div_and_round_double,
2244 may_negate_without_overflow_p, int_const_binop, const_binop,
2245 size_binop, size_diffop, fold_convert_const, fold_convert,
2246 invert_tree_comparison, swap_tree_comparison,
2247 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
2248 range_binop, make_range, fold_cond_expr_with_comparison,
2249 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
2250 fold_abs_const, fold_not_const, fold_relational_const, round_up,
2251 round_down): Likewise.
2252 * function.c (find_function_data, assign_stack_temp_for_type,
2253 instantiate_virtual_regs_lossage, aggregate_value_p,
2254 assign_parm_find_entry_rtl, assign_parm_setup_block,
2255 expand_function_start, expand_function_end, keep_stack_depressed,
2256 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
2258 2004-09-08 Daniel Berlin <dberlin@dberlin.org>
2260 * Makefile.in (tree-loop-linear.o): Added.
2261 (OBJS-common): Add tree-loop-linear.o
2262 * common.opt: New flag, ftree-loop-linear.
2263 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
2264 * tree-flow.h: Add prototype for linear_transform_loops.
2265 * tree-optimize.c: Add linear transform after vectorization.
2266 * tree-pass.h: Add struct pass_linear_transform.
2267 * tree-ssa-loop.c: Add pass_linear_transform.
2268 * tree-loop-linear.c: New file.
2269 * lambda-code.c: gcc_assertify.
2270 (gcc_loop_to_lambda_loop): Handle all exit tests.
2271 Handle case where we have (invariant >= induction var).
2272 (find_induction_var_from_exit_cond): Ditto.
2274 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
2276 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
2277 memory tag is call clobbered, so are its aliases.
2278 (group_aliases): When two memory tags being grouped, if one is
2279 call clobbered, so are the other and its aliases.
2280 (add_may_alias): Remove call-clobbering stuff.
2281 (replace_may_alias): Likewise.
2282 (merge_pointed_to_info): Merge pt_global_mem
2284 2004-09-08 Jan Hubicka <jh@suse.cz>
2286 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
2287 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
2288 (cgraph_expand_function): Remove stale cgraph edges of currently
2289 compiled function; fix non-unit-at-a-time code copying function
2290 node for later reuse.
2292 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2294 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
2295 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
2296 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
2297 (vec_gc_free, vec_heap_free): New.
2298 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
2299 (DEF_VEC_P): Add allocator argument. Adjust.
2300 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
2301 (DEF_VEC_O): Add allocator argument. Adjust.
2304 * tree.h (tree): Define a GC'd vector.
2305 * lamba-code.c (lambda_loop): Likewise.
2306 * value-prof.h (histogram_value): Likewise.
2308 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2310 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
2311 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
2312 gen_lowpart_common, gen_highpart, gen_highpart_mode,
2313 subreg_highpart_offset, operand_subword, operand_subword_force,
2314 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
2315 set_mem_alias_set, change_address_1, verify_rtx_sharing,
2316 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
2317 try_split, add_insn_after, add_insn_before, remove_insn,
2318 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
2319 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
2320 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
2321 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
2322 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
2323 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
2324 record_path_before_1, check_path_after_1, check_path_after): Likewise.
2325 * except.c (gen_eh_region, resolve_one_fixup_region,
2326 remove_unreachable_regions, convert_from_eh_region_ranges_1,
2327 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
2328 connect_post_landing_pads, sjlj_emit_function_exit,
2329 remove_exception_handler_label, remove_eh_handler,
2330 reachable_next_level, collect_one_action_chain,
2331 output_function_exception_table): Likewise.
2332 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
2333 optimize_save_area_alloca, allocate_dynamic_stack_space,
2334 probe_stack_range, hard_function_value): Likewise.
2335 * expmed.c (mode_for_extraction, store_bit_field,
2336 store_fixed_bit_field, extract_bit_field, expand_shift,
2337 expand_mult_const, expand_mult, choose_multiplier,
2338 expand_mult_highpart, expand_divmod, emit_store_flag,
2339 do_cmp_and_jump): Likewise.
2340 * expr.c (convert_move, convert_modes, move_by_pieces,
2341 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
2342 move_block_from_reg, gen_group_rtx, emit_group_load,
2343 emit_group_move, emit_group_store, use_reg, use_regs,
2344 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
2345 emit_move_insn, emit_move_insn_1, emit_push_insn,
2346 expand_assignment, store_expr, count_type_elements,
2347 store_constructor, store_field, safe_from_p, expand_var,
2348 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
2350 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2352 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
2353 gcc_assert and gcc_unreachable.
2354 * ddg.c (create_ddg_dependence, add_deps_for_def,
2355 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
2356 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
2357 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
2358 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
2359 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
2360 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
2361 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
2362 dataflow_set_copy, hybrid_search, diagnostic.c,
2363 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
2364 * dojump.c (do_jump): Likewise.
2365 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
2366 compute_dom_fast_query, calculate_dominance_info,
2367 free_dominance_info, get_immediate_dominator,
2368 set_immediate_dominator, get_dominated_by,
2369 redirect_immediate_dominators, nearest_common_dominator,
2370 dominated_by_p, verify_dominators, recount_dominator,
2371 iterate_fix_dominators, add_to_dominance_info,
2372 delete_from_dominance_info): Likewise.
2373 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
2374 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2375 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
2376 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
2377 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
2378 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
2379 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
2380 output_call_frame_info, output_loc_operands, build_cfa_loc,
2381 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
2382 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
2383 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
2384 splice_child_die, attr_checksum, same_dw_val_p,
2385 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
2386 unmark_dies, value_format, output_loc_list, output_die,
2387 output_pubnames, output_aranges, base_type_die, is_base_type,
2388 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
2389 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
2390 field_byte_offset, add_data_member_location_attribute,
2391 add_const_value_attribute, rtl_for_decl_location,
2392 add_location_or_const_value_attribute, add_byte_size_attribute,
2393 add_bit_offset_attribute, add_bit_size_attribute,
2394 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
2395 decl_start_label, gen_formal_parameter_die,
2396 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
2397 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
2398 force_decl_die, force_type_die, gen_decl_die,
2399 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
2400 dwarf2out_finish): Likewise.
2402 2004-09-08 Andreas Tobler <toa@pop.agri.ch>
2404 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
2405 * builtins.c: Include tree-mudflap.h.
2407 2004-09-08 Uros Bizjak <uros@kss-loka.si>
2409 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
2410 force operand 0.0 into register in XFmode. Also do not force
2411 operand 0.0 into register if !TARGET_CMOVE.
2412 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
2413 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
2414 implement ftst x87 instruction.
2415 (*fp_jcc_7): New insn pattern. Change corresponding split
2416 pattern to handle "general_operand" instead of
2417 "nonimmediate_operand".
2419 2004-09-08 Ben Elliston <bje@au.ibm.com>
2421 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
2423 2004-09-07 Frank Ch. Eigler <fche@redhat.com>
2425 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
2426 generated from standard va_arg expansion.
2427 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
2429 (mf_varname_tree, mf_file_function_line_tree): Add some support
2430 for column numbers if compiled with USE_MAPPED_LOCATION.
2432 2004-09-07 Ziemowit Laski <zlaski@apple.com>
2434 * c-decl.c (groktypename_in_parm_context): Remove function.
2435 * c-tree.h (groktypename_in_parm_context): Remove prototype.
2437 2004-09-07 Ziemowit Laski <zlaski@apple.com>
2439 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
2440 * c-parse.in: Include c-common.h instead of objc-act.h.
2441 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
2442 myparms, myparm): Remove %type declarations.
2443 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
2444 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
2446 (objc_inherit_code, objc_public_flag): Remove.
2447 (typespec_nonreserved_nonattr): Call
2448 objc_get_protocol_qualified_type() instead of get_static_reference()
2449 and get_protocol_reference().
2450 (stmt_nocomp): Call grokparm() on @catch parameter.
2451 (objcdef): Move semantic action to objc_finish_implementation().
2452 (classdef): Move semantic action to objc_start_class_interface(),
2453 objc_continue_interface(), objc_finish_interface(),
2454 objc_start_class_implementation(), objc_continue_implementation(),
2455 objc_start_category_interface() and
2456 objc_start_category_implementation().
2457 (protocoldef): Move semantic actions to objc_start_protocol() and
2458 objc_finish_interface().
2459 (ivar_decl_list): Remove nonterminal.
2460 (visibility_spec): Move semantic actions to objc_set_visibility().
2461 (ivar_decls): Remove assignment to $$.
2462 (ivar_decl): Rephrase in terms of component_decl; call
2463 objc_add_instance_variable().
2464 (ivars, ivar_declarator): Remove nonterminals.
2465 (opt_semi): New nonterminal.
2466 (methodtype): Remove semantic actions.
2467 (methoddef): Move semantic actions to objc_set_method_type(),
2468 objc_start_method_definition() and objc_finish_method_definition().
2469 (methodproto): Move semantic actions to objc_set_method_type() and
2470 objc_add_method_declaration().
2471 (methoddecl): Use objc_typename instead of typename; move semantic
2472 actions to objc_build_method_signature().
2473 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
2474 (optparmlist): Express in terms of optparms and optellipsis.
2475 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
2477 (keyworddecl): Use objc_typename instead of typename.
2478 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
2479 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
2481 2004-09-08 Alan Modra <amodra@bigpond.net.au>
2483 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
2484 (MD_FALLBACK_FRAME_STATE_FOR): Update.
2485 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
2486 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
2487 (MD_FROB_UPDATE_CONTEXT): Remove default.
2488 (uw_update_context_1): Instead #ifdef invocation.
2489 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
2490 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
2491 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
2492 (MD_UNWIND_SUPPORT): Undefine this instead.
2493 * config/i386/gnu.h: Likewise.
2494 * config/alpha/linux-unwind.h: New file, macro converted to
2495 function, extracted from..
2496 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
2497 (MD_UNWIND_SUPPORT): Define.
2498 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
2499 * config/i386/linux-unwind.h, config/i386/linux.h,
2500 config/i386/linux64.h: Likewise.
2501 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
2502 MD_HANDLE_UNWABI too.
2503 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
2504 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
2505 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
2506 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
2507 * config/sparc/linux-unwind.h, config/sparc/linux.h,
2508 config/sparc/linux64.h: Likewise.
2509 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
2510 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
2511 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
2512 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
2513 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
2515 2004-09-07 Jan Hubicka <jh@suse.cz>
2517 * cse.c (fold_rtx): Avoid building of
2518 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
2520 * tree-ssa-pre.c (grand_bitmap_obstack): New.
2521 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
2522 (init_pre): Initialize obstack.
2523 (fini_pre): Free obstack.
2525 2004-09-07 David Daney <ddaney@avtrex.com>
2527 * config.gcc: Added support for --with-divide=[breaks|traps] for
2529 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
2530 (TARGET_DIVIDE_TRAPS): New macro.
2531 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
2532 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
2533 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
2534 GENERATE_DIVIDE_TRAPS.
2535 (mips_output_division): Emit conditional trap if
2536 GENERATE_DIVIDE_TRAPS is set.
2537 * doc/install.texi: Document --with-divide.
2538 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
2540 2004-09-07 Caroline Tice <ctice@apple.com>
2542 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
2543 EDGE_CROSSING, to flags test case.
2545 2004-09-07 Jan Hubicka <jh@suse.cz>
2547 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
2550 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
2552 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
2553 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
2554 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
2556 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
2557 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
2558 alloc_aux_for_edges, free_aux_for_edges): Likewise.
2559 * cfgcleanup.c (try_forward_edges,
2560 merge_blocks_move_predecessor_nojumps,
2561 merge_blocks_move_successor_nojumps): Likewise.
2562 * cfgexpand.c (expand_gimple_cond_expr,
2563 expand_gimple_tailcall): Likewise.
2564 * cfghooks.c (duplicate_block): Likewise.
2565 * cfglayout.c (record_effective_endpoints,
2566 insn_locators_initialize, change_scope, fixup_reorder_chain,
2567 verify_insn_chain, fixup_fallthru_exit_predecessor,
2568 duplicate_insn_chain, cfg_layout_finalize): Likewise.
2569 * cfgloopanal.c (check_irred): Likewise.
2570 * cfgloop.c (superloop_at_depth, flow_loops_free,
2571 flow_loop_entry_edges_find, flow_loops_find,
2572 flow_loop_outside_edge_p, get_loop_body,
2573 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
2574 get_loop_exit_edges, num_loop_branches, cancel_loop,
2575 verify_loop_structure): Likewise.
2576 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
2577 duplicate_loop_to_header_edge, create_preheader,
2578 create_loop_notes): Likewise.
2579 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
2580 edirect_branch_edge, force_nonfallthru_and_redirect,
2581 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
2582 commit_edge_insertions, commit_edge_insertions_watch_calls,
2583 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
2584 cfg_layout_redirect_edge_and_branch_force,
2585 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
2586 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
2587 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
2588 cgraph_varpool_node): Likewise.
2589 * cgraphunit.c (cgraph_finalize_function,
2590 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
2591 cgraph_expand_function, cgraph_remove_unreachable_nodes,
2592 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
2593 cgraph_mark_inline, cgraph_expand_all_functions,
2594 cgraph_build_static_cdtor): Likewise.
2595 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
2596 simplify_logical, distribute_notes, insn_cuid): Likewise.
2597 * conflict.c (conflict_graph_add, print_conflict): Likewise.
2598 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
2599 coverage_checksum_string): Likewise.
2600 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
2601 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
2602 cse_cc_succs, cse_condition_code_reg): Likewise.
2603 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
2604 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
2605 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
2606 cselib_record_set): Likewise.
2608 2004-09-07 Jan Hubicka <jh@suse.cz>
2610 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
2612 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
2614 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
2616 (fold_builtin_strpbrk): Likewise.
2617 * expr.c (array_ref_low_bound): Likewise.
2618 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
2619 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
2620 * tree-sra.c (generate_element_zero): Likewise.
2621 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
2622 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
2623 add_old_iv_candidates, add_iv_candidates): Likewise.
2624 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
2626 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
2628 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
2629 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
2630 c_expand_expr, boolean_increment, nonnull_check_p,
2631 check_function_arguments_recurse, fold_offsetof_1): Likewise.
2632 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
2633 builtin_define_type_max): Likewise.
2634 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
2635 implicit_decl_warning, builtin_function, build_compound_literal,
2636 complete_array_type, grokdeclarator, get_parm_info,
2637 start_function, store_parm_decls_oldstyle,
2638 c_write_global_declarations): Likewise.
2639 * c-format.c (get_constant, decode_format_attr,
2640 maybe_read_dollar_number, get_flag_spec, check_format_arg,
2641 check_format_types, format_type_warning,
2642 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
2643 init_dynamic_diag_info, handle_format_attribute): Likewise.
2644 * c-gimplify.c (push_context, pop_context, finish_bc_block):
2645 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
2646 * c-objc-common.c (c_tree_printer): Likewise.
2647 * c-pch.c (pch_init): Likewise.
2648 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
2649 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
2650 * c-typeck.c (c_incomplete_type_error, composite_type,
2651 common_pointer_type, common_type, same_translation_unit_p,
2652 tagged_types_tu_compatible_p, finish_init, pop_init_level,
2653 set_designator, set_nonincremental_init_from_string,
2654 process_init_element, c_finish_if_stmt): Likewise.
2655 * caller-save.c (init_caller_save, save_call_clobbered_regs,
2656 insert_restore, insert_save, insert_one_insn): Likewise.
2657 * calls.c (emit_call_1, compute_argument_block_size,
2658 precompute_arguments, expand_call, emit_library_call_value_1,
2659 store_one_arg): Likewise.
2661 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
2663 * configure.ac (enable-checking): Add release option. Reorganize
2664 to avoid repetition.
2665 * configure: Rebuilt.
2666 * doc/install.texi (enable-checking): Amend documentation.
2668 2004-09-06 H.J. Lu <hongjiu.lu@intel.com>
2671 * Makefile.in (specs.ready): Depend on cc1$(exeext).
2673 2004-09-06 James E Wilson <wilson@specifixinc.com>
2675 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
2676 movdf_hardfloat_32bit): Split fG into two alternatives.
2677 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
2679 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
2681 2004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
2683 * final.c (output_in_slot): Delete.
2684 (final_scan_insn): Revert 2004-09-03 change.
2685 (output_asm_insn): Likewise.
2686 * config/sparc/sparc.c (output_return): Likewise.
2687 (output_sibcall): Likewise.
2689 2004-09-06 Jan Hubicka <jh@suse.cz>
2691 * loop.c (loop_dump_aux): Do not print RTL when not available.
2692 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
2693 frontend specific type nodes.
2694 (produce_memory_decl_rtl): Break out from ...
2695 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
2696 (get_computation_at): Avoid random tree sharing.
2697 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
2699 2004-09-06 Zack Weinberg <zack@codesourcery.com>
2701 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
2702 unnecessary commands.
2704 2004-09-06 Mohan Embar <gnustuff@thisiscool.com>
2706 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
2707 (bitmap.o): Likewise.
2709 2004-09-06 Paolo Bonzini <bonzini@gnu.org>
2711 Unify the management of RTL and tree-level dump files.
2713 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
2714 Don't print function name to the dump file, the pass manager
2715 would do this for us. Add code from the top of
2716 rest_of_compilation, up to the initial RTL dump.
2717 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
2718 close the DFI_sibling dump file.
2719 (rest_of_compilation): Don't do that here. Remove code up to the
2721 (init_optimization_passes): Remove.
2722 (pass_rest_of_compilation): Change pass name to NULL.
2723 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
2724 Do not call init_optimization_passes.
2725 * toplev.h (init_optimization_passes): Remove.
2727 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
2728 finish_graph_dump_file): Remove SUFFIX parameter.
2729 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
2730 finish_graph_dump_file): Likewise.
2732 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
2733 * cfgexpand.c (pass_expand): Adjust.
2734 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
2735 * passes.c (pass_rest_of_compilation): Adjust.
2736 * predict.c (pass_profile): Adjust.
2737 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
2738 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
2739 pass_split_crit_edges, pass_warn_function_return): Adjust.
2740 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
2741 * tree-dfa.c (pass_referenced_vars): Adjust.
2742 * tree-eh.c (pass_lower_eh): Adjust.
2743 * tree-if-conv.c (pass_build_ssa): Adjust.
2744 * tree-into-ssa.c (pass_build_ssa): Adjust.
2745 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
2746 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
2747 * tree-nrv.c (pass_nrv): Adjust.
2748 * tree-optimize.c (pass_gimple, pass_all_optimizations,
2749 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
2750 pass_init_datastructures): Adjust.
2751 * tree-outof-ssa.c (pass_del_ssa): Adjust.
2752 * tree-profile.c (pass_tree_profile): Adjust.
2753 * tree-sra.c (pass_sra): Adjust.
2754 * tree-ssa-alias.c (pass_may_alias): Adjust.
2755 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
2756 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
2757 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
2758 * tree-ssa-dom.c (pass_dominator): Adjust.
2759 * tree-ssa-dse.c (pass_dse): Adjust.
2760 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
2761 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
2762 * tree-ssa-loop-ch.c (pass_ch): Adjust.
2763 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
2764 pass_loop_done, pass_complete_unroll, pass_iv_canon,
2765 pass_iv_optimize, pass_vectorize): Adjust.
2766 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
2767 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
2768 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
2769 pass_late_warn_uninnitialized): Adjust.
2770 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
2772 * Makefile.in (tree-dump.o): Add new dependencies.
2773 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
2774 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
2776 * toplev.c (dump_file_name): New.
2777 * tree-dump.c (dump_enable_all): Add LETTER parameter.
2778 (struct dump_file_info): Add NUM and LETTER fields.
2779 (dump_files): Adjust and add RTL dump files.
2780 (dump_register): Add NUM and LETTER fields.
2781 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
2782 (dump_begin): Use get_dump_file_name.
2783 (dump_switch_p_1): Adjust call to dump_enable_all.
2784 * tree-dump.h (dump_register): Adjust prototype.
2785 * tree-optimize.c (register_one_dump_file): Take dump file index.
2786 Support flags for RTL dumps.
2787 (register_dump_files): Fill in NUM field of struct dump_file_info.
2788 Track properties both when the gate is executed and when it is not.
2789 (execute_todo): Dump RTL. Add PROPERTIES parameter.
2790 (execute_one_pass): Pass properties to execute_todo. Handle VCG
2792 * tree-pass.h (dump_file_name): New.
2793 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
2796 * Makefile.in (passes.o): Add new dependencies.
2797 * passes.c (struct dump_file_info, enum dump_file_index,
2798 dump_file_tbl, init_optimization_passes): Remove.
2799 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
2800 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
2802 (finish_optimization_passes): Update finish_graph_dump_file loop.
2803 (enable_rtl_dump_file): Remove.
2804 * tree-dump.c (dump_files): Adjust and add RTL dump files.
2805 (enable_rtl_dump_file): Add here.
2806 * tree.h (enum tree_dump_index): Add RTL dump file indices.
2807 * doc/invoke.texi (Debugging options): Document new RTL debugging
2810 2004-09-05 Kazu Hirata <kazu@cs.umass.edu>
2812 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
2813 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
2814 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
2815 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
2816 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
2817 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
2818 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
2819 vec.h: Fix comment formatting.
2821 2004-09-05 Kazu Hirata <kazu@cs.umass.edu>
2823 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
2824 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
2825 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
2826 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
2827 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
2828 tree-ssa-loop-niter.c, tree-ssa-operands.c,
2829 tree-ssa-operands.h, tree-ssa-propagate.c,
2830 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
2831 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
2833 2004-09-05 Diego Novillo <dnovillo@redhat.com>
2835 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
2836 vectorizer is enabled.
2838 2004-09-05 Andreas Jaeger <aj@suse.de>
2840 * tree-if-conv.c: Spell check comments and clean up whitespace.
2842 2004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2844 * tree-ssa-loop-ivopts.c: New file.
2845 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
2846 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
2847 target_pres_cost, target_spill_cost): Declare.
2848 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
2849 spill_cost): Renamed to ...
2850 (target_avail_regs, target_res_regs, target_small_cost,
2851 target_pres_cost, target_spill_cost): ... and exported.
2852 (init_set_costs, global_cost_for_size): Work with renamed variables.
2853 * common.opt (flag_ivopts): New flag.
2854 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
2856 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
2857 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
2858 generating SSA form.
2859 (force_gimple_operand): New function.
2860 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
2861 * tree-cfg.c (stmt_bsi): New function.
2862 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
2863 PARAM_IV_MAX_CONSIDERED_USES): New.
2864 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
2865 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
2866 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
2867 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
2868 * tree-nested.c (build_addr): Export.
2869 * tree-optimize.c (init_tree_optimization_passes): Add
2871 * tree-pass.h (pass_iv_optimize): Declare.
2872 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
2874 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
2875 as a phi node argument.
2876 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
2877 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
2879 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
2880 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
2881 pass_iv_optimize): New pass.
2882 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
2883 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
2884 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
2885 * tree.h (REF_ORIGINAL): New macro.
2886 (build_int_cst_type, unsigned_type_for, zero_p,
2887 cst_and_fits_in_hwi, build_addr): Declare.
2888 * doc/invoke.texi (-fivopts): Document.
2889 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
2890 PARAM_IV_MAX_CONSIDERED_USES): Document.
2891 * doc/passes.texi: Document induction variable optimizations pass.
2893 2004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2895 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
2896 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
2897 * c-common.c (c_common_attribute_table): Accept parameters to
2899 (check_function_sentinel, handle_sentinel_attribute): Likewise.
2900 * doc/extend.texi: Update accordingly.
2902 2004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2904 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
2906 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
2908 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
2910 (c_common_attribute_table): Add `sentinel' attribute.
2911 (check_function_arguments): Handle `sentinel' attribute.
2912 * doc/extend.texi: Document `sentinel' attribute.
2914 2004-09-04 H.J. Lu <hongjiu.lu@intel.com>
2916 * configure: Regenerated.
2918 2004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2920 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
2922 * tree.c (save_expr): No longer TREE_READONLY.
2924 2004-09-04 Jan Hubicka <jh@suse.cz>
2926 * passes.c (rest_of_clean_state): Fix merge conflict made during
2927 commiting the patch.
2929 2004-09-04 Jan Hubicka <jh@suse.cz>
2931 * passes.c (rest_of_clean_state): Decompose the instruction stream.
2933 2004-09-04 Richard Sandiford <rsandifo@redhat.com>
2935 * doc/md.texi (shift patterns): New anchor. Add reference to
2936 TARGET_SHIFT_TRUNCATION_MASK.
2937 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
2938 * target.h (shift_truncation_mask): New target hook.
2939 * targhook.h (default_shift_truncation_mask): Declare.
2940 * targhook.c (default_shift_truncation_mask): Define.
2941 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
2942 (TARGET_INITIALIZER): Include it.
2943 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
2944 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
2945 reject all out-of-range values. Fix sign-extension code for modes
2946 whose width is smaller than HOST_BITS_PER_WIDE_INT.
2947 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
2948 (expand_superword_shift, expand_subword_shift): Likewise.
2949 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
2950 (expand_binop): Use them to implement double-word shifts.
2951 * config/arm/arm.c (arm_shift_truncation_mask): New function.
2952 (TARGET_SHIFT_TRUNCATION_MASK): Define.
2954 2004-09-04 Jan Hubicka <jh@suse.cz>
2956 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
2957 (mix): New macro copied from hashtab.c
2958 (iterative_hash_hashval_t, iterative_hash_pointer,
2959 iterative_hash_host_wide_int): New functions based on hashtab.c
2962 2004-09-04 Richard Sandiford <rsandifo@redhat.com>
2964 * config/mips/mips.md (mask): New mode attribute.
2965 (zero_extendsidi2): Add memory alternative.
2966 (*zero_extendsidi2_mem): Delete.
2967 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
2968 memory_operand in the TARGET_MIPS16 check.
2969 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
2970 Redefine using :GPR and :SHORT.
2971 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
2973 2004-09-04 Uros Bizjak <uros@kss-loka.si>
2975 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
2977 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
2978 expand_builtin_mathfn.
2979 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
2980 btrunc?f patterns for btrunc_optab. Implement rint_optab using
2982 * optabs.c (init_optabs): Initialize rint_optab.
2983 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
2985 (btrunc_optab): Rename macro from trunc_optab.
2986 (rint_optab): Define corresponding macro.
2988 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
2989 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
2991 * config/i386/i386-protos.h (emit_i387_cw_initialization):
2992 Change prototype. Add new int parameter.
2993 * config/i386/i386.c (emit_i387_cw_initialization):
2994 Handle new rounding modes.
2996 * config/i386/i386.h (enum fp_cw_mode): Delete.
2997 (MODE_NEEDED): Handle new rounding modes.
2998 (EMIT_MODE_SET): Change condition to handle new rounding modes.
3000 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
3001 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
3002 represent different rounding modes of frndint insn.
3003 (type): Add frndint type.
3004 (i387, length, memory): Handle this type.
3005 (i387_cw): New attribute definition.
3006 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
3007 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
3008 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
3009 Add "i387_cw" attribute defined to "trunc".
3010 (x86_fnstcw_1): Remove comment.
3011 (*frndintxf2): Rename insn definition to frndintxf2. Move
3012 insn definition near rint?f2 expanders.
3013 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
3014 rintf and rintl built-ins as inline x87 intrinsics.
3015 (frndintxf2_floor): New pattern to implement floor rounding
3016 mode with frndint x87 instruction.
3017 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
3018 floorf and floorl built-ins as inline x87 intrinsics.
3019 (frndintxf2_ceil): New pattern to implement ceil rounding
3020 mode with frndint x87 instruction.
3021 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
3022 ceilf and ceill built-ins as inline x87 intrinsics.
3023 (frndintxf2_trunc): New pattern to implement trunc rounding
3024 mode with frndint x87 instruction.
3025 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
3026 truncf and truncl built-ins as inline x87 intrinsics.
3027 (frndintxf2_mask_pm): New pattern to implement rounding
3028 mode with exceptions with frndint x87 instruction.
3029 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
3030 implement nearbyint, nearbyintf and nearbyintl built-ins as
3031 inline x87 intrinsics.
3033 2004-09-04 Richard Sandiford <rsandifo@redhat.com>
3035 * config/mips/mips.md (SHORT): New mode macro.
3036 (size): New mode attribute.
3037 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
3038 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
3039 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
3041 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
3042 *extend[qh]isi2_hw patterns and extending them to di.
3043 (extendqihi2): Implement as define_insn_and_split that produces
3044 extendqisi2 after reload.
3046 2004-09-03 Devang Patel <dpatel@apple.com>
3048 * Makefile.in (OBJS-common): Add tree-if-conv.o
3049 (tree-if-conv.o): New rule.
3050 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
3051 (get_loop_body_in_bfs_order): New.
3052 * cfgloop.h (get_loop_body_in_bfs_order): New.
3053 * tree-flow.h (enum move_pos): Move here from ..
3054 * tree-ssa-loop-im.c (enum move_pos): here.
3055 (movement_possibility): Make externally visible.
3056 * tree-optimize.c (init_tree_optimization_passes): New entry for
3058 * tree-pass.h (pass_if_conversion): New.
3059 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
3060 * tree-if-conv.c: New file.
3061 * doc/passes.texi: Document tree if-conversion pass.
3062 * doc/tree-ssa.texi: Same.
3064 2004-09-03 H.J. Lu <hongjiu.lu@intel.com>
3067 Makefile.in (LIB2ADDEHSTATIC): New.
3068 (LIB2ADDEHSHARED): New.
3070 (LIBUNWINDDEP): New.
3071 (SHLIBUNWIND_LINK): New.
3072 (SHLIBUNWIND_INSTALL): New.
3073 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
3074 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
3075 (clean): Remove libunwind*
3076 (stage1-start): Remove and copy stage1/libunwind*.
3077 (stage2-start): Remove and copy stage2/libunwind*.
3078 (stage3-start): Remove and copy stage3/libunwind*.
3079 (stage4-start): Remove and copy stage4/libunwind*.
3080 (stageprofile-start): Remove and copy stageprofile/libunwind*.
3081 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
3083 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
3084 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
3085 tmake_file if --with-system-libunwind isn't used.
3087 * config/ia64/t-glibc-libunwind: New file.
3088 * config/t-libunwind-elf: Likewise.
3089 * unwind-compat.c: Likewise.
3090 * unwind-compat.h: Likewise.
3091 * unwind-dw2-fde-compat.c: Likewise.
3093 * config/ia64/t-glibc (LIB2ADDEH): Updated.
3094 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
3096 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
3098 * unwind-dw2-fde-glibc.c: Likewise.
3099 * unwind-dw2.c: Likewise.
3101 * config/t-libunwind (LIB2ADDEH): Updated.
3102 (LIB2ADDEHSTATIC): New.
3103 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
3104 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
3106 * configure.ac: Change --enable-libunwind-exceptions to
3107 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
3108 * configure: Regenerated.
3109 * config.in: Updated.
3111 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
3112 above and mention --with-system-libunwind.
3113 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
3114 removed in gcc 3.4.3 and later.
3116 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
3117 USE_LIBUNWIND_EXCEPTIONS is defined.
3119 * mklibgcc.in: Support libunwind.
3121 2004-09-03 H.J. Lu <hongjiu.lu@intel.com>
3123 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
3126 2004-09-03 Richard Henderson <rth@redhat.com>
3129 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
3130 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
3131 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
3132 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
3133 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
3134 resize_stack_vars_conflict, add_stack_var_conflict,
3135 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
3136 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
3137 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
3138 expand_one_static_var, expand_one_hard_reg_var,
3139 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
3140 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
3141 (expand_used_vars): Rewrite.
3142 * Makefile.in (cfgexpand.o): Update dependencies.
3144 2004-09-04 Jan Hubicka <jh@suse.cz>
3146 * cfg.c (free_edge): Use ggc_free.
3147 (expunge_block): Use ggc_free.
3148 * passes.c (rest_of_clean_state): Free after compilation.
3149 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
3150 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
3152 2004-09-03 James E Wilson <wilson@specifixinc.com>
3154 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
3155 DECL_EXTERNAL check.
3157 2004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
3159 * final.c (output_in_slot): New global variable.
3160 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
3161 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
3162 'output_in_slot' before invoking output_asm_insn.
3163 (output_asm_insn): Add a space after the tab if 'output_in_slot'
3165 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
3167 (output_sibcall): Likewise.
3169 2004-09-03 Jan Hubicka <jh@suse.cz>
3171 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
3172 * tree-ssanames (init_ssanames): Likewise.
3174 2004-09-03 Ziemowit Laski <zlaski@apple.com>
3176 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
3177 objc_declare_protocols, objc_start_protocol,
3178 objc_start_class_interface, objc_start_category_interface,
3179 objc_continue_interface, objc_finish_interface,
3180 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
3181 objc_start_class_implementation, objc_start_category_implementation,
3182 objc_continue_implementation, objc_finish_implementation,
3183 objc_add_method_declaration, objc_start_method_definition,
3184 objc_finish_method_definition, objc_build_keyword_decl,
3185 objc_build_method_signature, objc_build_encode_expr,
3186 objc_build_protocol_expr, objc_build_selector_expr,
3187 objc_build_message_expr, objc_build_string_object,
3188 objc_get_class_reference, objc_get_protocol_qualified_type,
3189 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
3191 2004-09-03 James E Wilson <wilson@specifixinc.com>
3193 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
3195 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
3196 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
3197 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
3198 (mips_recip1_<fmt>): Use frdiv1 type.
3199 (mips_recip2_<fmt>): Use frdiv2 type.
3200 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
3201 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
3203 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
3205 2004-09-03 Daniel Jacobowitz <dan@debian.org>
3207 * reload.c (find_reloads): Swap operand_loc pointers for
3208 find_dummy_reload if we have swapped two operands.
3210 2004-09-03 Hans-Peter Nilsson <hp@axis.com>
3212 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
3213 to get the tablejump-insn before the jump-table label.
3215 2004-09-03 Ziemowit Laski <zlaski@apple.com>
3217 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
3218 objc_declare_protocols, objc_build_message_expr,
3219 objc_finish_message_expr, objc_build_selector_expr,
3220 objc_build_protocol_expr, objc_build_encode_expr,
3221 objc_build_string_object, objc_get_protocol_qualified_type,
3222 objc_get_class_reference, objc_get_class_ivars,
3223 objc_start_class_interface, objc_start_category_interface,
3224 objc_start_protocol, objc_continue_interface, objc_finish_interface,
3225 objc_start_class_implementation, objc_start_category_implementation,
3226 objc_continue_implementation, objc_finish_implementation,
3227 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
3228 objc_add_method_declaration, objc_start_method_definition,
3229 objc_finish_method_definition, objc_add_instance_variable,
3230 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
3231 objc_finish_try_stmt, objc_begin_catch_clause,
3232 objc_finish_catch_clause, objc_build_finally_clause,
3233 objc_build_synchronized, objc_static_init_needed_p,
3234 objc_generate_static_init_call): New prototypes.
3236 2004-09-03 Steve Ellcey <sje@cup.hp.com>
3238 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
3240 (ia64_function_value): Ditto.
3242 2004-09-03 Jan Beulich <jbeulich@novell.com>
3244 * config.gcc: Resurrect NetWare as a target. Handle special case of
3245 Novell linker to be used (specified through --with-ld=) and threading
3246 model of either Posix (default) or NKS.
3247 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
3248 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
3249 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
3250 * config/i386/netware.c, config/i386/netware.h: New.
3251 * config/i386/nwld.c, config/i386/nwld.h: New.
3252 * config/i386/netware-crt0.c: New.
3253 * config/i386/netware-libgcc.c: New.
3254 * config/i386/netware-libgcc.def: New.
3255 * config/i386/netware-libgcc.exp: New.
3256 * config/i386/t-netware, config/i386/t-nwld: New.
3258 * doc/install.texi: Document NKS threading model.
3260 2004-09-03 Jan Beulich <jbeulich@novell.com>
3263 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
3264 * tree.h (initial_max_fld_align): Declare
3265 * stor-layout.c (initial_max_fld_align): Define and initialize.
3266 (maximum_field_alignment): Initialize to the same value.
3267 * common.opt: Add -fpack-struct= variant of switch.
3268 * opts.c: Handle -fpack-struct= variant of switch.
3269 * c-pragma.c: Change #pragma pack() handling so that it becomes
3270 compatible to other compilers: accept individual 'push' argument,
3271 make final pop restore (command line) default, correct interaction
3272 of push/pop and sole specification of a new alignment (so that the
3273 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
3274 to #pragma pack(push, <n>).
3275 * doc/extend.texi: New node "Structure-Packing Pragmas" under
3276 "Pragmas", describing #pragma pack.
3277 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
3278 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
3279 Document new TARGET_DEFAULT_PACK_STRUCT.
3281 2004-09-03 Devang Patel <dpatel@apple.com>
3283 * dwarf2out.c (gen_field_die). Equate decl number to die.
3285 2004-09-03 Vladimir Makarov <vmakarov@redhat.com>
3288 * global.c (modify_reg_pav): New function.
3289 (make_accurate_live_analysis): Call the new function. Move pavin
3290 modification by earlyclobber set into the new function.
3292 2004-09-03 Andreas Schwab <schwab@suse.de>
3294 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
3295 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
3298 2004-09-02 Jan Beulich <jbeulich@novell.com>
3300 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
3301 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
3302 not unwind code specific ones.
3303 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
3304 Remove unwind code specific dependencies.
3305 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
3307 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
3308 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
3309 * tsystem.h: Declare memcpy and memset when inhibit_libc.
3311 2004-09-02 Roman Zippel <zippel@linux-m68k.org>
3313 * combine.c (try_combine): Delay modifying of insns which cannot
3316 2004-09-02 Daniel Berlin <dberlin@dberlin.org>
3318 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
3320 * gcc/tree-ssa-loop.c: Ditto
3321 * gcc/tree-ssa-loop-ivcanon.c: Ditto
3322 * gcc/doc/invoke.texi: Ditto.
3324 2004-09-02 Ziemowit Laski <zlaski@apple.com>
3326 * c-decl.c (store_parm_decls_newstyle): Make static.
3327 (store_parm_decls_from): New function.
3328 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
3329 (store_parm_decls_from): New prototype.
3331 2004-09-02 David Edelsohn <edelsohn@gnu.org>
3333 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
3334 HImode with STRICT_ALIGNMENT.
3336 2004-09-02 Mark Mitchell <mark@codesourcery.com>
3338 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
3339 (TARGET_OS_CPP_BUILTINS): Likewise.
3340 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
3341 TARGET_BPABI_CPP_BUILTINS.
3343 2004-09-02 Roman Zippel <zippel@linux-m68k.org>
3345 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
3347 2004-09-02 Eric Christopher <echristo@redhat.com>
3349 * builtins.c (expand_builtin_cabs): Delete.
3350 (expand_builtin): If unable to fold the values do a normal
3351 library call for builtin_cab*.
3352 (fold_builtin_cabs): Depend on optimize and optimize_size.
3353 * optabs.c (expand_cmplxdiv_straight): Delete.
3354 (expand_cmplxdiv_wide): Ditto.
3355 (expand_vector_binop): Ditto.
3356 (expand_vector_unop): Ditto.
3357 (expand_complex_abs): Delete.
3358 (expand_binop): Remove calls to above functions.
3359 Remove open coding of complex arithmetic.
3360 (expand_unop): Ditto.
3361 * optabs.h: Remove prototypes.