1 2004-09-22 Frank Ch. Eigler <fche@redhat.com>
3 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
6 2004-09-22 Kazu Hirata <kazu@cs.umass.edu>
8 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
9 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
10 TRUTH_XOR_EXPR): Mention the restriction on types.
12 2004-09-22 Matt Austern <austern@apple.com>
14 * config/darwin.c (darwin_make_decl_one_only)
15 Allow coalesced symbol to appear in static archive's table of contents
17 2004-09-22 Kazu Hirata <kazu@cs.umass.edu>
19 PR tree-optimization/17512
20 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
23 2004-09-22 David Edelsohn <edelsohn@gnu.org>
25 * dbxout.c (get_lang_number): Do not define if
26 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
28 2004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
31 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
32 builtin_define ("__USE_INIT_FINI__").
34 2004-09-22 P.J. Darcy <darcypj@us.ibm.com>
36 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
37 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
38 * config/s390/s390.h (TARGET_TPF): New macro.
39 * config/s390/s390.md ("eh_return"): New expander.
40 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
41 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
42 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
43 * config/s390/tpf.h (TARGET_TPF): Define to 1.
44 (STACK_POINTER_OFFSET): Increase to 448.
45 (TARGET_DEFAULT): Set -mtpf-trace on as default.
46 (TPF_LOC_DIFF_OFFSET): New macro.
47 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
49 (__isPATrange): Add prototype.
50 (MD_FALLBACK_FRAME_STATE_FOR): Define.
51 * config/s390/tpf-eh.c: New file.
53 2004-09-22 Diego Novillo <dnovillo@redhat.com>
55 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
56 operands in an integer comparison.
57 * tree-cfg.c (find_taken_edge): Call fold() to determine
58 whether the predicate is known.
60 2004-09-22 Kelley Cook <kcook@gcc.gnu.org>
62 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
63 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
64 Create build and doc directories along with the language directories.
65 Don't create doc directory separately.
66 * configure: Regenerate.
67 * Makefile.in: Create all object and executables files built
68 with the build compiler in a build/ directory.
69 (genobjnames): Add missing build objects.
70 (STAGESTUFF): Don't stage the gen* programs.
71 (ggc-none.o): Define dependencies for the target compiler.
72 (build-print-rtl.o): Rename to build/print-rtl.o.
73 (build-errors.o): Rename to build/errors.o.
74 (build-varray.o): Rename to build/varray.o.
75 (maintainerclean): Delete the contents of the build directory.
76 ($(genobjs): %.o): Explicitly use -o.
77 (build/insn-conditions.o): Delete specfic rule to use generic rule.
78 (build/gengtype-lex.o): Likewise.
79 (build/gengtype-yacc.o): Likewise.
80 (build/gcov-iov.o): Likewise.
82 2004-09-22 Nathan Sidwell <nathan@codesourcery.com>
84 * vec.h (VEC_space): Return true if there _is_ space.
85 (VEC_reserve): Adjust.
87 2004-09-22 Richard Sandiford <rsandifo@redhat.com>
89 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
90 use FPRs for scalar, complex and vector types only.
92 2004-09-21 Jeff Law <law@redhat.com>
94 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
95 the opt_stats_d structure.
96 (vrp_data): Change from a varray into a hash table.
97 (vrp_hash_elt): New structure for elements in the vrp hash table.
98 (vrp_hash, vrp_eq):New functions for hashing and testing equality
99 in the vrp hash table.
100 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
101 initialization slightly to make it easier to read. No longer need
102 to grow/clear the varray. Instead empty and delete the hash table.
103 (dom_opt_finalize_block): Update due to change of VRP_DATA from
104 a varray to a hash table.
105 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
107 * tree-ssa-ccp.c (get_default_value): If we have a constant
108 value recorded for an SSA_NAME, then use that constant as
109 the initial lattice value.
110 (substitute_and_fold): Transfer equivalences discovered into
113 * tree.h (SSA_NAME_EQUIV): Add comments.
114 (SET_SSA_NAME_EQUIV): Similarly.
116 2004-09-21 David Edelsohn <edelsohn@gnu.org>
118 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
120 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
122 2004-09-21 Mark Mitchell <mark@codesourcery.com>
124 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
125 (finish_decl): Likewise.
127 2004-09-21 Devang Patel <dpatel@apple.com>
129 * tree.def (VEC_COND_EXPR): New tree node.
130 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
132 2004-09-21 Stan Shebs <shebs@apple.com>
134 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
135 * config/rs6000/darwin-world.asm: Likewise.
137 2004-09-21 Daniel Berlin <dberlin@dberlin.org>
139 * tree-ssa.c (verify_def): Use print_generic_stmt,
140 not debug_generic_stmt.
142 (verify_phi_args): Ditto.
145 2004-09-21 Paul Brook <paul@codesourcery.com>
147 * varasm.c (default_assemble_integer): Return false for values wider
148 than the target word size. Works around GAS bug.
150 2004-09-21 Zack Weinberg <zack@codesourcery.com>
152 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
154 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
157 2004-09-21 Daniel Berlin <dberlin@dberlin.org>
159 * c-typeck.c (build_function_call): Give name of object
160 we are attempting to call in error message.
161 * c-objc-common.c (c_tree_printer): Call pp_expression,
162 not return false, for 'E' case.
164 2004-09-21 Steven Bosscher <stevenb@suse.de>
166 PR rtl-optimization/17482
167 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
168 load_killed_in_block_p): Clarify comments.
169 (record_last_reg_set_info): Make static inline.
170 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
171 (record_opr_changes): New function to replace the above.
172 (compute_hash_table): Clarify comments. Use record_opr_changes.
173 (reg_set_between_after_reload_p): Clean up.
174 (reg_used_between_after_reload_p): Likewise.
175 (eliminate_partially_redundant_load): Clarify comments.
177 2004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
179 PR rtl-optimization/17266
180 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
182 2004-09-21 Uros Bizjak <uros@kss-loka.si>
184 PR rtl-optimization/14851
185 * rtlanal.c (commutative_operand_precedence): Calculate
186 precedence of stripped constant.
188 2004-09-20 Jeff Law <law@redhat.com>
189 Jan Hubicka <jh@suse.cz>
191 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
192 initialize key elements here.
193 (release_ssa_name): Zero the released SSA_NAME here.
194 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
195 (struct tree_ssa_name): Add new "equiv" field.
196 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
197 (tree_ssa_dominator_optimize): No longer allocate, resize or
198 clear CONST_AND_COPIES.
199 (get_value_for, set_value_for): Kill.
200 (thread_across_edge): Get/set the equivalency using
201 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
202 (restore_vars_to_original_value): Likewise.
203 (record_equivalences_from_phis): Likewise.
204 (record_dominating_conditions): Likewise.
205 (record_const_or_copy, record_equality): Likewise.
206 (lookup_avail_expr): Likewise.
207 (record_equivalences_from_stmt, cprop_operand): Likewise.
208 (cprop_into_successor_phis): No longer need to pass around
209 CONST_AND_COPIES. Callers updated. Get equivalences via
211 (cprop_into_phis): Likewise.
213 2004-09-20 Matt Austern <austern@apple.com>
214 Zack Weinberg <zack@codesourcery.com>
216 * c-common.c (fix_string_type): Build the unqualified array
217 type unconditionally, then use c_build_qualified_type to get
218 the proper const-qualified variant, and set its
219 TYPE_MAIN_VARIANT to refer to the unqualified type.
220 * c-lex.c (c_lex_return_raw_string): New global.
221 (c_lex_with_flags): Honor it.
222 * c-pragma.h: Declare it.
224 2004-09-20 Daniel Berlin <dberlin@dberlin.org>
226 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
228 2004-09-21 Jan Hubicka <jh@suse.cz>
231 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
232 (tree_rest_of_compilation): Cleanup.
234 2004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
236 * config/s390/s390.c (s390_select_rtx_section): Remove.
237 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
239 2004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
241 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
242 note to pretend a direct save from the original register when an
243 intermediate register is used for the save.
245 2004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
247 * tsystem.h (alloca): Provide a default definition.
250 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
251 * unwind-dw2.c: Call __builtin_alloca, not alloca.
253 2004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
256 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
257 aliasing sets are the same rather than just conflicting.
259 2004-09-20 Jan Hubicka <jh@suse.cz>
263 * cgraph.c (cgraph_unnest_node): New function.
264 (c_finalize): Rename to ....
265 (c_warn_unused_result_recursivly): ... this one; do only the warning
266 (finish_function): Finalize the toplevel function; do not lower nested tree.
267 * cgraph.h (cgraph_unnest_node): Declare.
268 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
269 nestedness datastructure.
270 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
271 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
272 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
274 2004-09-20 Richard Henderson <rth@redhat.com>
276 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
277 from some_small_symbolic_operand_1; export.
278 (some_small_symbolic_operand): Remove.
279 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
281 * config/alpha/predicates.md (some_small_symbolic_operand): New.
283 2004-09-20 Jan Hubicka <jh@suse.cz>
285 * predict.c (return_prediction): New function.
286 (apply_return_prediction): Likewise.
287 (tree_bb_level_predictions): Likewise.
288 (tree_estimate_probability): Add noreturn exit edges; call
289 bb_level_predictions; fix logic of return heuristics.
290 (predict_paths_leading_to): Rescuesce from old CVS version of
291 process_note_prediction function.
292 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
294 2004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
296 * config/s390/s390.c (s390_frame_info): Added alignment statement for
297 floating point register area on stack.
299 2004-09-20 Jakub Jelinek <jakub@redhat.com>
301 * predict.c (expr_expected_value): Use *_CLASS_P macros.
303 2004-09-20 Daniel Berlin <dberlin@dberlin.org>
305 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
306 generating useless garbage.
308 2004-09-20 Paolo Bonzini <bonzini@gnu.org>
310 * builtins.c (fold_builtin): Call the new omonymous
311 target hook for machine-dependent built-ins.
312 * target-def.h (TARGET_FOLD_BUILTIN): New.
313 * target.h (struct gcc_target): Add the fold_builtin hook.
314 * targhooks.c (default_fold_builtin): New.
315 * targhooks.h (default_fold_builtin): Declare it.
317 2004-09-20 Kazu Hirata <kazu@cs.umass.edu>
319 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
322 2004-09-20 Richard Sandiford <rsandifo@redhat.com>
325 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
327 2004-09-20 Jan Hubicka <jh@suse.cz>
329 * predict.c (estimate_probability): Remove unnecesary code.
331 2004-09-19 Ira Rosen <irar@il.ibm.com>
333 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
334 (STMT_VINFO_VECT_DR_BASE): Declare.
335 (VECT_SMODULO): Declare.
336 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
337 (vect_compute_array_base_alignment): New function.
338 (vect_analyze_data_ref_access): Check array indices. Remove one
339 dimensional arrays restriction.
340 (vect_get_ptr_offset): New function.
341 (vect_get_symbl_and_dr): New function.
342 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
343 (former name vect_get_base_decl_and_bit_offset).
344 (vect_create_index_for_array_ref): Removed.
345 (vect_create_index_for_vector_ref): New function.
346 (vect_create_addr_base_for_vector_ref): New function.
347 (vect_create_data_ref): Handle additional data refs. Call
348 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
349 (vect_compute_data_ref_alignment): Support the changes. Call
350 vect_get_base_and_bit_offset.
351 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
352 data refs. Store vect_dr_base.
353 (vect_analyze_data_ref_accesses): Support nonconstant init.
354 (new_stmt_vec_info): Initialize vect_dr_base field.
355 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
356 (get_vectype_for_scalar_type): Check for BLKmode.
357 * tree-chrec.h (initial_condition_in_loop_num): Declare.
358 * tree-chrec.c (initial_condition_in_loop_num): New function.
359 (chrec_component_in_loop_num): New function.
360 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
361 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
362 to be pointer to varray_type.
364 2004-09-19 Jan Hubicka <jh@suse.cz>
366 * basic-block.h (update_bb_profile_after_threading): Declare.
367 * cfg.c (update_bb_profile_after_threading): Break out from ...
368 * cfgcleanup.c (try_forward_edges): ... here; use it.
369 * tree-ssa-dom.c (thread_across_edge): Use it.
370 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
371 profile of the new BB.
373 2004-09-19 Daniel Berlin <dberlin@dberlin.org>
375 * tree-ssa-pre.c (insert_into_set): Don't put
376 is_gimple_min_invariant values into the set.
378 2004-09-19 Andreas Jaeger <aj@suse.de>
380 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
383 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
385 * config/cris/cris.h: Preserve the original spelling in a
388 2004-09-18 Jeff Law <law@redhat.com>
390 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
391 global varrays to replace the block local varrays.
392 (struct dom_walk_block_data): Remove, no longer used.
393 (get_eq_expr_value): No longer need to pass around pointers to local
394 varrays. Callers updated. Unused markers added to unused parameters.
395 (record_range, record_equivalences_from_stmt): Likewise.
396 (record_equivalences_from_incoming_edge): Likewise.
397 (record_var_is_nonzero): Likewise. Update now that we have a
398 single global varray of SSA_NAMEs that need restoring.
399 (dom_opt_initialize_block_local_data): Kill, no longer used.
400 (tree_ssa_dominator_optimize): Initialize new global varrays.
401 Update callbacks in dominator walker structure.
402 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
404 (restore_nonzero_vars_to_original_value): Update now that we have
405 a single global varray of SSA_NAMEs that need restoring.
406 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
407 Remove unused variables.
408 (optimize_stmt): Remove unused variable.
410 2004-09-18 Jan Hubicka <jh@suse.cz>
412 * tree-cfg.c (thread_jumps): Fix updating of the profile.
414 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
417 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
419 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
420 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
421 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
422 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
423 tree-ssa-operands.c, tree-ssa-phiopt.c,
424 tree-ssa-threadupdate.c: Fix comment typos.
426 2004-09-18 Kazu Hirata <kazu@cs.umass.edu>
428 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
429 config/arm/README-interworking, config/arm/arm-cores.def,
430 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
431 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
432 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
433 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
434 config/frv/frv.md, config/i386/winnt.c,
435 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
436 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
437 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
438 config/mcore/mcore.c, config/mips/mips.h,
439 config/mn10300/mn10300.md, config/pa/pa.c,
440 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
441 config/rs6000/rs6000.c, config/sh/symbian.c,
442 config/sparc/sparc.h: Fix comment typos. Follow spelling
445 2004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
448 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
450 2004-09-18 Diego Novillo <dnovillo@redhat.com>
452 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
453 remove TREE_ADDRESSABLE from RESULT_DECL.
455 2004-09-18 Diego Novillo <dnovillo@redhat.com>
457 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
459 2004-09-18 Jan Hubicka <jh@suse.cz>
461 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
463 * tree-ssa-alias.c (init_alias_info): Likewise.
464 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
465 (verify_ssa): Likewise.
466 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
468 2004-09-18 Jan Hubicka <jh@suse.cz>
470 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
473 2004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
475 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
476 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
477 DW_EH_PE_sdata* for data.
478 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
480 2004-09-17 Geoffrey Keating <geoffk@apple.com>
482 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
486 * c-typeck.c (constructor_asmspec): Delete.
487 (struct initializer_stack): Delete field 'asmspec'.
488 (start_init): Delete saving of asmspec.
489 (finish_init): Don't update constructor_asmspec.
490 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
491 * stmt.c (expand_asm): Duplicate strings from tree.
492 (expand_asm_operands): Likewise.
493 * tree.c (tree_size): Update computation of size of STRING_CST.
494 (make_node): Don't make STRING_CST nodes.
495 (build_string): Allocate string with tree node.
496 (tree_code_size): Clean up assertions, don't allow requests
497 for "the size of a STRING_CST".
498 * tree.def (STRING_CST): Update comment.
499 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
500 (tree_string): Place contents of string in tree node.
501 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
504 2004-09-17 Zack Weinberg <zack@codesourcery.com>
506 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
507 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
509 2004-09-17 Jones Desougi <jones@ingate.com>
511 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
512 * configure, config.in: Regenerate.
514 2004-09-17 Zack Weinberg <zack@codesourcery.com>
516 * tree.c, tree.h (tree_class_strings): Make array const.
517 Reindent per coding convention. Move asterisk to proper place
518 per coding convention.
520 2004-09-18 Andreas Schwab <schwab@suse.de>
522 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
523 (tree-vectorizer.o): Likewise.
524 (targhooks.o): Likewise.
526 2004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
527 Zack Weinberg <zack@codesourcery.com>
529 * alias.c (find_base_decl): Remove unreachable case '3' block.
530 * expr.c (safe_from_p): Abort if passed a type.
531 * tree-gimple.c (recalculate_side_effects): Abort if passed
532 anything other than an expression.
533 * tree-ssa-pre.c (phi_translate): Return expr immediately if
534 is_gimple_min_invariant is true for it. Reorder cases for clarity.
535 Abort on un-handled tree classes.
536 (valid_in_set): Likewise.
537 * tree.c (tree_code_class_strings): New static data.
539 * tree.h (enum tree_code_class): New.
540 (tree_code_class_strings): Declare.
541 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
542 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
543 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
544 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
545 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
547 * tree.def, c-common.def, objc/objc-tree.def: Use
548 tree_code_class enumeration constants instead of code letters.
550 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
551 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
552 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
553 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
554 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
555 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
556 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
557 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
558 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
559 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
560 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
561 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
562 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
565 * LANGUAGES: Add note about change.
567 2004-09-17 Diego Novillo <dnovillo@redhat.com>
569 PR tree-optimization/17319
570 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
571 examine pointers on the LHS of an assignment.
572 (collect_points_to_info_r): Handle RETURN_EXPR.
574 2004-09-17 Jeff Law <law@redhat.com>
576 * tree-ssa-dom.c (const_and_copies_stack): New.
577 (dom_walk_block_data): Remove const_and_copies field.
578 (record_const_or_copy): No longer need to pass in varray_type *.
579 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
581 (record_equality): Similarly.
582 (restore_vars_to_original_value): Similarly. Revamp to use new
583 single global stack rather than per-block stacks.
584 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
585 (thread_across_edge): Remove now unused parameters.
586 (dom_opt_initialize_block_local_data): No longer test the block
587 local CONST_AND_COPIES.
588 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
590 2004-09-17 Jan Hubicka <jh@suse.cz>
592 PR tree-optimization/17509
593 * tree-optimize.c (update_inlined_to_pointers): New function.
594 (tree_rest_of_compilation): Use it.
596 2004-09-17 Devang Patel <dpatel@apple.com>
598 * dbxout.c (get_lang_number): New.
599 (dbxout_init): Include lang number in N_SO stab.
600 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
601 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
603 2004-09-17 Diego Novillo <dnovillo@redhat.com>
605 PR tree-optimization/17273
606 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
607 replacement is a constant.
609 2004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
611 * c-tree.h (enum c_typespec_keyword): New.
612 (struct c_declspecs): Adjust description of "type". Remove
613 specbits, explicit_int_p and explicit_char_p. Rename
614 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
615 short_p, signed_p, unsigned_p and complex_p.
616 (finish_declspecs): New.
617 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
618 typename): Call finish_declspecs.
619 * c-decl.c (finish_declspecs): New.
620 (declspecs_add_type): Check for combinations which cannot occur in
621 valid specifier lists. Update comments.
622 (shadow_tag_warned): Remove checks done in finish_declspecs.
623 Don't report useless type name if type defaulted to int.
624 (grokdeclarator): Remove checks and actions done in
625 finish_declspecs. Don't allow for type being NULL. Update for
626 datastructures changes. Initialize decl_attr.
627 (build_null_declspecs, quals_from_declspecs): Update for
628 datastructures changes.
630 2004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
632 * doc/extend.texi: Fix duplicated word.
634 2004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
636 * doc/invoke.texi: Remove stray explanation on
637 -freduce-all-givs and -fmove-all-movables.
639 2004-09-17 James Morrison <phython@gcc.gnu.org>
641 * doc/cfg.texi: Use @smallexample.
642 * doc/md.texi: Likewise.
643 * doc/tree-ssa.texi: Likewise.
644 * doc/extend.texi: Likewise. Use @r{} in comments.
645 * doc/trouble.texi: Use @r{} in comments.
647 2004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
649 * configure.ac (gcc_cv_gld_version): Handle whitespace before
651 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
652 * configure: Regenerate.
654 2004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
656 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
657 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
658 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
659 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
660 slashes in substitutions.
661 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
663 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
665 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
666 gimplify.c, lambda-code.c, optabs.c, predict.c,
667 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
668 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
671 2004-09-17 Kazu Hirata <kazu@cs.umass.edu>
673 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
674 doc/extend.texi, doc/install.texi, doc/invoke.texi,
675 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
676 doc/trouble.texi: Use @option around options.
678 2004-09-17 Richard Sandiford <rsandifo@redhat.com>
680 * Makefile.in (gen-protos.o): Depend on errors.h.
682 2004-09-17 Steven Bosscher <stevenb@suse.de>
684 PR tree-optimization/17513
685 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
686 for successors of the entry block.
688 2004-09-17 Uros Bizjak <uros@kss-loka.si>
690 PR rtl-optimization/15187
691 * ifcvt.c (noce_try_cmove_arith): Exit early if total
692 insn_rtx_cost of both branches > BRANCH_COST
694 2004-09-16 Diego Novillo <dnovillo@redhat.com>
696 PR tree-optimization/17528
697 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
698 erase the may-alias set for a tag when merging it with
701 2004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
703 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
704 for 32-bit TARGET_SHMEDIA.
705 (call_value): Likewise.
707 2004-09-16 Diego Novillo <dnovillo@redhat.com>
709 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
710 test apply only to TREE_STATIC and DECL_EXTERNAL.
712 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
714 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
715 * basic-block.h (get_dominated_by_region): Declare.
716 * dominance.c (get_dominated_by_region): New function.
717 * tree-cfg.c: Include cfglayout.h.
718 (tree_duplicate_bb): Duplicate also phi nodes.
719 (struct ssa_name_map_entry): New type.
720 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
721 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
722 allocate_ssa_names, rewrite_to_new_ssa_names_def,
723 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
724 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
725 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
726 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
727 rewrite_to_new_ssa_names, allocate_ssa_names,
728 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
729 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
730 (copy_loop_headers): Use tree_duplicate_sese_region.
732 2004-09-16 Frank Ch. Eigler <fche@redhat.com>
734 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
736 2004-09-16 Jeff Law <law@redhat.com>
738 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
739 (rewrite_block_data): Remove, no longer used.
740 (rewrite_initialize_block_local_data): Remove, no longer used.
741 (rewrite_initialize_block): Mark parameters as unused as needed.
742 Change references to the block local block_defs to be block_defs_stack.
743 Push a marker onto the block_defs_stack.
744 (ssa_rewrite_initialize_block): Similarly.
745 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
746 (ssa_register_new_def): No longer needs varray argument. Use
747 block_defs_stack instead. No longer handle possibly null block_defs
748 varray. Reverse order of items we push on the stack to make it
749 easier to identify our marker.
750 (register_new_def): No longer handle possibly null block_defs
752 (rewrite_finalize_block): Revamp to look for markers in the global
753 block_defs_stack varray rather than wiping a block local varray.
754 Mark arguments as unused as needed.
755 (ssa_rewrite_finalize_block): Similarly.
756 (rewrite_into_ssa): Update initialization of dom walker structure
757 to reflect that we don't need block local data anymore. Initialize
758 the block_defs_stack varray.
759 (rewrite_ssa_into_ssa): Similarly.
760 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
761 (struct dom_walk_data): Kill block_defs field.
762 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
763 (thread_across_edge): Use the global block_defs_stack instead of
764 the old block_defs varray.
765 (dom_opt_initialize_block_local_data): Update now that we don't have
766 block_defs field to check anymore.
767 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
768 (restore_currdefs_to_original_value): Use the new block_defs_stack
769 instead of a block local varray.
770 (dom_opt_finalize_block): Similarly.
771 (record_equivalencs_from_phis): Similarly.
772 (optimize_stmt, register_definitions_for_stmt): Similarly.
774 2004-09-16 Andrew MacLeod <amacleod@redhat.com>
776 PR tree-optimization/17517
777 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
778 coalesce same-root variables without checking for abnormal PHI usage.
780 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
782 * cfgloop.h (duplicate_loop): Add prototype.
783 * cfgloopmanip.c (duplicate_loop): Make non-static.
784 * lambda-code.c (perfect_nestify): Factor out test whether
785 we can handle this loop into separate function.
787 (can_convert_to_perfect_nest): New function.
788 (replace_uses_of_x_with_y): Add modify_stmt call.
789 * tree-loop-linear.c (linear_transform_loops): Call
790 rewrite_into_loop_closed_ssa and free_df.
792 2004-09-16 Daniel Berlin <dberlin@dberlin.org>
794 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
795 loop invariant as well.
796 (perfect_nestify): new function.
797 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
798 upper bounds, and steps.
799 Set outerinductionvar properly.
800 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
802 Return NULL if we need a perfect loop and can't make one.
803 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
804 (not_interesting_stmt): New function.
805 (phi_loop_edge_uses_def): Ditto.
806 (stmt_uses_phi_result): Ditto.
807 (stmt_is_bumper_for_loop): Ditto.
808 (perfect_nest_p): Ditto.
809 (nestify_update_pending_stmts): Ditto.
810 (replace_uses_of_x_with_y): Ditto.
811 (stmt_uses_op): Ditto.
812 (perfect_nestify): Ditto.
813 * lambda-mat.c (lambda_matrix_id_p): New function.
814 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
815 * lambda.h: Update prototypes.
816 * tree-loop-linear (linear_transform_loop): Use new
817 perfect_nest_p. Detect and ignore identity transform.
818 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
820 2004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
822 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
823 Gather also strides of accessed data. Pass in the data references
825 (try_interchange_loops): Add a new heuristic for handling the temporal
826 locality. Pass in the data references array.
827 (linear_transform_loops): Pass the data references array to
828 try_interchange_loops.
830 2004-09-16 Kazu Hirata <kazu@cs.umass.edu>
832 * doc/invoke.texi: Fix typos. Follow spelling conventions.
834 2004-09-16 Nathan Sidwell <nathan@codesourcery.com>
836 * doc/c-tree.texi (Classes): Remove index entries for
837 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
839 2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
841 * fold-const.c (fold): Fold difference of addresses.
842 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
844 * tree-ssa-loop-ivopts.c (peel_address): Removed.
845 (ptr_difference_const): Moved to fold-const.c.
846 (split_address_cost): Use get_inner_reference instead of peel_address.
847 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
848 * tree.h (ptr_difference_const): Export.
850 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
851 variable type to the dump. Fix indentation.
852 (idx_find_step): Handle nonconstant array_ref_element_size and
854 (idx_record_use): Handle array_ref_element_size and
856 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
857 statements correctly.
858 (get_computation_at, iv_value): Do not unshare expressions here.
859 (rewrite_use_outer): Unshare the expression before it is emitted
861 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
863 * tree.c (unsigned_type_for, signed_type_for): Moved from
864 tree-ssa-loop-niter.c. Use langhooks.
865 * tree.h (signed_type_for): Export.
867 2004-09-16 David Edelsohn <edelsohn@gnu.org>
869 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
872 2004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
875 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
876 Add two parameters to extra_includes.
877 (C_INCPATH_INIT): Remove.
878 * c-incpath.c (register_include_chains): Call extra_pre_includes
879 before adding the standard include directory.
880 Update call to extra_includes.
881 (!defined TARGET_EXTRA_INCLUDES): Update
882 hook_void_charptr_charptr_int and add !define
883 TARGET_EXTRA_PRE_INCLUDES.
884 (!define TARGET_EXTRA_INCLUDES): Define as
885 hook_void_charptr_charptr_int.
886 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
887 (target_c_incpath): Always declare.
888 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
890 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
891 * config/darwin.h: (darwin_register_frameworks): Update for
892 the two new parameters.
893 (darwin_register_objc_includes): Add prototype.
894 (TARGET_EXTRA_PRE_INCLUDES): Define.
895 * config/darwin-c.c (darwin_register_objc_includes): New function.
896 (darwin_register_frameworks): Update for the two new parameters.
897 (target_c_incpath): Remove.
898 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
900 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
902 (TARGET_EXTRA_PRE_INCLUDES): Document.
904 * gcc.c (spec_function): Add replace-outfile.
905 (replace_outfile_spec_function): New function.
906 * config/darwin.h (LINK_SPEC): Add replace
907 -lobjc with -lobjc-gnu if -fgnu-runtime is
909 * invoke.texi (replace-outfile): Document.
911 2004-09-13 Jan Hubicka <jh@suse.cz>
913 * predict.c (expr_expected_value, strip_builtin_expect): New function.
914 (tree_predict_by_opcode): Use it.
915 (tree_estimate_probability): Add, for now disabled,
916 strip_builtin_expect call.
918 2004-09-15 James E Wilson <wilson@specifixinc.com>
921 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
922 if current_function_decl is a sibcall.
924 2004-09-15 Mark Mitchell <mark@codesourcery.com>
926 * varasm.c (default_function_rdodata_section): Make sure to pass
927 along a decl for a link-once section.
929 2004-09-15 Richard Henderson <rth@redhat.com>
931 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
932 warning with code disable. Fix formatting.
934 2004-09-15 Steven Bosscher <stevenb@suse.de>
936 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
937 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
938 after propagating into an ADDR_EXPR.
940 2004-09-15 Andrew Pinski <apinski@apple.com>
943 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
944 Move it out of gcc_assert.
946 2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
948 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
949 except.c, fold-const.c, function.c, langhooks.c, params.c,
950 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
951 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
952 for quoting in diagnostics going through pretty-print.c. Use ''
953 for quoting in other diagnostic text.
954 * langhooks.c: Include intl.h. Mark text locating diagnostics for
956 * Makefile.in (langhooks.o): Update dependencies.
957 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
960 2004-09-15 Mark Mitchell <mark@codesourcery.com>
962 * configure.ac: Check for COMDAT support. Robustify check for
964 * configure: Regenerated.
965 * config.in: Likewise.
966 * langhooks-def.h (lhd_comdat_group): New function.
967 (LANG_HOOKS_COMDAT_GROUP): New macro.
968 (LANG_HOOKS_DECLS): Use it.
969 * langhooks.c (lhd_comdat_group): Define.
970 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
971 * output.h (named_section_flags): Make it a macro.
972 (named_section_real): New function.
973 (default_no_named_section): Add decl parameter.
974 (default_elf_asm_named_section): Likewise.
975 (default_coff_asm_named_section): Likewise.
976 (default_pe_asm_named_section): Likewise.
977 * target.h (gcc_target): Adjust type of named_section.
978 * varasm.c (named_section_flags): Rename to named_section_real.
980 (default_no_named_section): Add decl parameter.
981 (default_elf_asm_named_section): Use COMDAT, if available. Deal
982 with the case that ASM_COMMENT_START is "@".
983 (default_coff_asm_named_section): Add decl parameter.
984 (default_pe_asm_named_section): Likewise.
985 * config/alpha/alpha.c (vms_asm_named_section): Add decl
987 (unicosmk_asm_named_section): Likewise.
988 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
989 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
990 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
991 * config/cris/cris-protos.h (cris_target_asm_named_section):
993 * config/cris/cris.c (cris_target_asm_named_section):
995 * config/darwin/darwin-protos.h (darwin_asm_named_section):
997 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
998 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
999 * config/i386/i386-protos.h (i386_pe_asm_named_section):
1001 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
1002 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
1003 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
1004 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
1006 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
1007 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
1008 * cp/cp-tree.h (cxx_comdat_group): Declare.
1009 * cp/decl.c (cxx_comdat_group): New function.
1011 2004-09-15 Jan Hubicka <jh@suse.cz>
1013 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
1014 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
1016 * tree-cfg.c (remove_bb): Release SSA defs.
1018 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
1020 * doc/tm.texi: Follow spelling conventions.
1022 2004-09-15 Kazu Hirata <kazu@cs.umass.edu>
1024 * tree-ssa-dom.c: Fix comment typos.
1026 2004-09-15 Alan Modra <amodra@bigpond.net.au>
1028 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
1030 (ppc_fallback_frame_state): Save location of CR.
1032 2004-09-15 Jakub Jelinek <jakub@redhat.com>
1034 * expr.c (string_constant): Handle also read-only variables
1035 initialized to string literals.
1037 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
1038 into memcpy (x, y, 1) if memcpy can be expanded inline.
1040 2004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1042 PR tree-optimization/17468
1043 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
1044 definition inside a block precede uses.
1045 * tree-tailcall.c (adjust_return_value): Emit statements in the
1048 2004-09-15 Richard Sandiford <rsandifo@redhat.com>
1050 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
1052 2004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1054 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
1056 2004-09-14 Jeff Law <law@redhat.com>
1058 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
1059 (struct dom_walk_block_data): Remove avail_exprs member.
1060 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
1061 (lookup_avail_expr): No longer need to pass in address of
1062 the block local available exprs stack. All callers changed.
1063 (simplify_cond_and_lookup_avail_expr): Similarly.
1064 (simplify_switch_and_lookup_avail_expr): Similarly.
1065 (get_eq_expr_value, record_cond): Likewise.
1066 (record_dominating_conditions): Likewise.
1067 (update_rhs_and_lookup_avail_expr): Likewise.
1068 (record_equivalences_from_stmt): Likewise.
1069 (dom_opt_initialize_block_local_data): No longer test state of
1070 block local avail_exprs.
1071 (dom_opt_initialize_block): Mark unwind point in the global
1073 (remove_expressions_from_table): Update to unwind to the
1074 most recent unwind marker in the global avail_expr stack.
1075 All callers changed.
1076 (dom_opt_finalize_block): Mark unwind point in the global
1077 avail_expr stack as needed.
1078 (record_cond): Push elements into the global avail_exprs stack.
1080 * tree-dfa.c (free_df_for_stmt): No longer static.
1081 (free_df): Update comments.
1082 * tree-flow.h (free_df_for_stmt): Prototype.
1083 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
1086 2004-09-14 Diego Novillo <dnovillo@redhat.com>
1088 PR tree-optimization/17252
1089 * tree-ssa-alias.c (may_alias_p): Don't assume that a
1090 pointer may not point to itself when using relaxed
1093 2004-09-14 Richard Henderson <rth@redhat.com>
1096 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
1097 while folding <ADDR_EXPR <INDIRECT_REF X>>.
1099 2004-09-14 Andrew Pinski <apinski@apple.com>
1101 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
1102 sets of the pointers but the aliasing sets of what they point to.
1104 2004-09-14 Roger Sayle <roger@eyesopen.com>
1106 PR rtl-optimization/9771
1107 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
1108 conditional compilation in init_reg_sets_1.
1109 (init_reg_sets_1): Let global_regs[i] take priority over the frame
1110 (but not stack) pointer exceptions to regs_invalidated_by_call.
1111 (globalize_reg): Globalizing a fixed register may need to update
1112 regs_invalidated_by_call.
1114 2004-09-14 Diego Novillo <dnovillo@redhat.com>
1116 PR tree-optimization/15262
1117 * tree-dfa.c (dump_variable): Also print the type of the
1119 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
1120 memory tags are of conflicting alias sets but have no aliased
1121 symbols in common, add one tag to the alias set of the other.
1122 (setup_pointers_and_addressables): Remove hack to deal with
1123 programs with no aliased symbols.
1124 (may_alias_p): Don't special case aggregate types.
1126 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
1129 * doc/invoke.texi (Environment Variables): Correct example locale.
1131 2004-09-14 Jan Hubicka <jh@suse.cz>
1133 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
1135 2004-09-14 Mark Mitchell <mark@codesourcery.com>
1137 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
1139 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
1141 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
1143 (struct c_declarator): Change u.array.quals and pointer_quals to
1144 int. Add u.array.attrs.
1145 (quals_from_declspecs): New.
1146 * c-decl.c (quals_from_declspecs): New.
1147 (shadow_tag_warned): Give more specific message for useless type
1149 (build_array_declarator, set_array_declarator_inner,
1150 grokdeclarator, make_pointer_declarator, build_null_declspecs,
1151 declspecs_add_qual): Update for changed structures.
1153 2004-09-14 Jeff Law <law@redhat.com>
1155 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
1157 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
1158 (dom_opt_initialize_block_local_data): No longer test state
1160 (dom_opt_finalize_block): Update due to change in scope of
1162 (optimize_stmt): Similarly.
1164 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1166 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
1167 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
1168 comment typos. Follow spelling conventions.
1170 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1172 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
1173 config/i386/predicates.md, config/sparc/sparc.c: Follow
1174 spelling conventions.
1176 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1177 Steven Bosscher <stevenb@suse.de>
1179 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
1180 * basic-block.h (struct reorder_block_def): Add copy_number field.
1181 * cfgloop.h (biv_p): Declare.
1182 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
1183 * common.opt (fsplit-ivs-in-unroller): New flag.
1184 * loop-iv.c (biv_p): New function.
1185 * loop-unroll.c: Include hashtab.h and recog.h.
1186 (struct iv_to_split, struct split_ivs_info): New types.
1187 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
1188 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
1189 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
1190 insert_base_initialization, split_iv): New functions.
1191 (peel_loop_completely, unroll_loop_constant_iterations,
1192 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
1194 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
1196 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1198 * tree-cfg.c (thread_jumps): Update dominators correctly in
1199 case destination of threaded edge dominates its source.
1201 2004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1203 * unroll.c: Removed.
1205 * Makefile.in (LOOP_H, unroll.o): Removed.
1206 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
1208 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
1210 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
1211 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
1212 * loop.c: Do not include loop.h.
1213 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
1214 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
1215 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
1216 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
1217 struct loop_regs, struct loop_movables, struct loop_info): Moved
1219 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
1220 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
1221 find_common_reg_term, loop_iterations, final_giv_value): Moved
1223 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
1224 loop_dump_stream, for_each_insn_in_loop, express_from,
1225 extend_value_for_giv, loop_iv_add_mult_emit_before,
1226 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
1227 loop_insn_first_p, get_condition_for_loop,
1228 loop_insn_emit_before, loop_insn_hoist,
1229 loop_insn_sink): Made static.
1230 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
1232 (strength_reduce): Do not call unroller.
1233 (record_giv): Do not initialize unrolled field.
1234 (prescan_loop): Do not set loop_info->preconditioned.
1235 * passes.c: Do not include loop.h.
1236 (rest_of_handle_loop_optimize): Do not call unroller.
1237 * predict.c: Do not include loop.h.
1238 * rtl.h (NOTE_PRECONDITIONED): Removed.
1239 * stmt.c: Do not include loop.h.
1240 * toplev.c: Do not include loop.h.
1241 (process_options): Do not handle flag_old_unroll_loops.
1243 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
1244 Documentation removed.
1245 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
1247 2004-09-14 Nathan Sidwell <nathan@codesourcery.com>
1249 * Makefile.in (STAGE1_CHECKING): New variable.
1250 (stage1_build): Use it.
1251 * tree-ssa.c (verify_ssa): Preserve state of dominance
1254 2004-09-14 Uros Bizjak <uros@kss-loka.si>
1256 * config/i386/i386.c (output_fp_compare): Add generation
1257 of ftst instruction.
1258 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
1259 Use output_fp_compare () function.
1260 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
1261 (fix_truncdi_memory): Remove operands[5] copy.
1263 2004-09-14 Kazu Hirata <kazu@cs.umass.edu>
1265 * config/m32r/m32r.md, config/m68k/m68kelf.h,
1266 config/mcore/mcore.md, config/rs6000/linux64.h,
1267 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
1270 2004-09-13 James E Wilson <wilson@specifixinc.com>
1272 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
1273 * gen-protos.c: Include errors.h.
1276 2004-09-14 Jan Hubicka <jh@suse.cz>
1278 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
1279 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
1280 (predict_loops): Use number_of_iterations_exit to predict
1281 number of iterations on trees.
1283 2004-09-13 Dale Johannesen <dalej@apple.com>
1287 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
1288 objects declared extern.
1290 2004-09-14 Paul Brook <paul@codesourcery.com>
1292 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
1295 2004-09-13 Daniel Jacobowitz <dan@debian.org>
1297 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
1298 Only use TYPE_BINFO for aggregates.
1300 2004-09-13 Daniel Jacobowitz <dan@debian.org>
1302 * expmed.c (synth_mult): Initialize latency. Check cost before
1305 2004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
1307 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
1308 add_call_clobber_ops and add_call_read_ops.
1309 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
1310 the number of vdefs and vuses inserted based on analysis of global
1311 variables across calls. * tree-dfa.c (find_referenced_vars):
1312 Needed to reset static var maps before each function is compiled.
1314 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
1315 static_vars_info,functions_to_static_vars_info,module_statics_escape,
1316 all_module_statics,searchc_env,dfs_info): New fields to support
1317 analysis of static global variables.
1318 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
1319 cgraph_reset_static_var_maps, get_global_static_vars_info,
1320 get_global_statics_not_read, get_global_statics_not_written,
1321 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
1322 check_rhs_var, check_lhs_var, get_asm_expr_operands,
1323 process_call_for_static_vars, scan_for_static_refs,
1324 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
1325 clear_static_vars_maps, cgraph_propagate_bits,
1326 cgraph_characterize_statics): New. Functions to support analysis
1327 of static global variables.
1328 (cgraph_mark_local_and_external_functions): Renamed from:
1329 (cgraph_mark_local_functions)
1330 (cgraph_expand_all_functions): Remove call to
1331 cgraph_mark_local_and_external_functions.
1332 (cgraph_optimize): Added driver to analyze static variables whose
1333 scope is within the compilation unit. * cgraph.h (struct
1334 cgraph_local_info, GTY): Added statics_read, statics_written,
1335 local, calls_read_all, calls_write_all, for_functions_valid.
1336 (struct cgraph_node): Added next_cycle. * cgraph.c
1337 (dump_cgraph_node): Added print routines for new fields. *
1338 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
1341 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
1343 * c-decl.c (grokdeclarator): Correct comments about where storage
1344 class specifiers are rejected by grammar and add corresponding
1345 asserts. Diagnose typedefs and parameters declared inline.
1346 Change warning for inline main to a pedwarn. Only diagnose inline
1348 (declspecs_add_scspec): Allow duplicate "inline".
1350 2004-09-13 Steve Ellcey <sje@cup.hp.com>
1352 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
1353 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
1355 2004-09-13 Richard Henderson <rth@redhat.com>
1358 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
1359 (tree_type): Replace spare with contains_placeholder_bits.
1360 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
1361 make static. Remove seen_types list.
1362 (type_contains_placeholder_p): New.
1364 2004-09-13 James E Wilson <wilson@specifixinc.com>
1366 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
1367 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
1368 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
1369 bdesc_arrays instead of mips_bdesc.
1370 (mips_init_builtins): Likewise.
1371 * config/mips/mips.h (TARGET_SB1): New.
1372 (HAVE_SQRT_P): Delete.
1373 * config/mips/mips.md (divide_condition): Support V2SF.
1374 (sqrt_condition, recip_condition): New.
1375 (div<mode>3): Use ANYF instead of SCALARF.
1376 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
1378 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
1379 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
1381 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
1382 instead of SCALARF. Use UNITMODE instead of MODE.
1384 2004-09-13 Zack Weinberg <zack@codesourcery.com>
1386 * config.in: Regenerate after removal of libbanshee.
1388 2004-09-13 Andrew MacLeod <amacleod@redhat.com>
1390 PR tree-optimization/17400
1391 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
1392 coalesce partitions when one occurs in an abnormal PHI.
1394 2004-09-13 Andrew Pinski <apinski@apple.com>
1396 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
1399 2004-09-13 Richard Henderson <rth@redhat.com>
1402 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
1403 (cselib_invalidate_rtx_note_stores): New.
1404 (cselib_record_sets, cselib_process_insn): Update to match.
1405 * cselib.h (cselib_invalidate_rtx): Declare.
1406 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
1408 2004-09-13 Richard Henderson <rth@redhat.com>
1411 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
1412 after copying its argument.
1414 2004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
1416 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
1417 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
1418 in diagnostics. Use %' for English apostrophes.
1419 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
1420 (pedwarn_c90, pedwarn_c99): Use it.
1421 * c-decl.c (lookup_label): Quote label name in diagnostic.
1422 * c-parse.in (yyprint): Use ' instead of ` for left quote.
1423 * c-typeck.c (warn_for_assignment): Likewise.
1425 2004-09-13 Jan Hubicka <jh@suse.cz>
1427 * i386.c (x86_schedule): New global variable.
1428 (override_options): Disable scheduling when not supported.
1429 * i386.h (x86_schedule): Declare.
1430 (TARGET_SCHEDULE): New macro.
1432 2004-09-12 Richard Henderson <rth@redhat.com>
1435 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
1436 * tree.c, tree.h (has_cleanups): Remove.
1438 2004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1440 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
1441 arguments of the phi nodes correctly.
1443 2004-09-12 Jan Hubicka <jh@suse.cz>
1445 * ggc-common.c (cmp_statistics): Fix sorting.
1447 2004-09-12 David Edelsohn <edelsohn@gnu.org>
1450 * expmed.c (expand_divmod): If cheap power of 2 divide is
1451 available, use it for negative constant as well.
1453 2004-09-12 Andrew Pinski <apinski@apple.com>
1455 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
1458 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
1460 2004-09-12 Richard Henderson <rth@redhat.com>
1462 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
1464 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
1465 post-reload, and scratch NULL.
1466 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
1467 (x86_shift_adj_2): Use ix86_expand_clear.
1468 (ashldi3): Remove CMOVE expansion difference.
1469 (ashldi3_1): Remove.
1470 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
1471 add constraints for immediates. New peephole for split-with-temp.
1472 Run splitter after peep2 pass.
1473 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
1474 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
1475 (setcc_2): Rename with *.
1476 * config/i386/predicates.md (reg_or_pm1_operand): New.
1477 (ashldi_input_operand): New.
1479 2004-09-12 Richard Henderson <rth@redhat.com
1481 * print-rtl.c (print_decl_name): New.
1482 (print_mem_expr): Use it.
1484 2004-09-12 Richard Henderson <rth@redhat.com
1487 * except.c (sjlj_emit_function_exit): Fix logic locating
1488 sjlj_exit_after in final block.
1490 2004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
1492 * common.opt: Remove flags -fmove-all-movables and
1494 * loop-invariant.c (find_invariants_to_move):
1495 Remove all uses of flag_move_all_movables.
1496 * loop.c (move_movables): Remove all uses of
1497 flag_move_all_movables.
1498 (strength_reduce): Remove all uses of
1499 flag_reduce_all_givs.
1500 * doc/invoke.texi: Remove documentation of flags
1501 -fremove-all-movables and -freduce-all-givs.
1503 2004-09-11 Roger Sayle <roger@eyesopen.com>
1506 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
1507 change. elt->type may be a floating point type, so use fold_convert.
1509 2004-09-11 Geoffrey Keating <geoffk@apple.com>
1511 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
1512 the thing referenced as used, not the stub itself.
1514 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
1516 * c-tree.h (enum c_storage_class): New.
1517 (struct c_declspecs): Add storage_class, inline_p and thread_p.
1518 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
1519 declarations and "auto" or "register" in file scope empty
1520 declarations. Give more specific warnings for other cases of
1521 storage class specifiers in empty declarations.
1522 (grokdeclarator): Update for new structures. Don't check for
1523 multiple storage classes. Diagnose file-scope "register" if
1525 (build_null_declspecs): Update.
1526 (declspecs_add_scspec): Update. Diagnose multiple storage class
1527 specifiers and invalid uses of "__thread".
1529 2004-09-11 Zack Weinberg <zack@codesourcery.com>
1531 * tree.c (tree_code_size): New function, bulk of code from tree_size.
1532 (tree_size, make_node): Use it.
1533 * tree-ssa-pre.c (init_pre): Use it.
1534 * tree.h: Prototype it.
1536 2004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1538 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
1539 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
1540 redirect_immediate_use): Use PHI_DF.
1541 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
1542 (bb_for_stmt): Use PHI_BB.
1543 (get_immediate_uses): Use PHI_DF.
1544 * tree-ssa-dse.c (max_stmt_uid): New variable.
1545 (get_stmt_uid): New function.
1546 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
1548 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
1549 (max_uid): Renamed to max_stmt_uid.
1550 (get_stmt_uid): New function.
1551 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
1552 phi node annotations.
1553 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
1554 * tree.h (PHI_BB, PHI_DF): New accessor functions.
1555 (struct tree_phi_node): Add bb and df fields.
1557 2004-09-11 Richard Henderson <rth@redhat.com>
1560 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
1563 2004-09-11 Jan Hubicka <jh@suse.cz>
1565 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
1566 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
1567 * i386.md (i387_cw): Add 'uninitialized' mode.
1569 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
1570 (output_location): Break out from ....
1571 (branch_prob): ... here; handle gcov output on trees.
1572 * toplev.c (process_options): No longer be sorry about coverage for
1575 2004-09-11 Steven Bosscher <stevenb@suse.de>
1578 * fold-const.c (fold): Do not try to fold the operand of a
1579 CLEANUP_POINT_EXPR if that operand does itself not have any
1583 * langhooks.c (lhd_decl_printable_name): Make sure that this
1584 function is called with is a decl node that has an identifier.
1585 * tree-pretty-print.c (dump_function_name): New function to
1586 wrap PRINT_FUNCTION_NAME and dump_decl_name.
1587 (print_call_name): Use it.
1589 2004-09-11 Mohan Embar <gnustuff@thisiscool.com>
1591 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
1594 2004-09-11 Jakub Jelinek <jakub@redhat.com>
1596 * tree-ssa-alias.c (collect_points_to_info_r): Handle
1597 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
1600 2004-09-11 Richard Henderson <rth@redhat.com>
1602 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
1603 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
1604 operand of the ADDR_EXPR.
1605 (expand_expr_real_1): Update to match.
1607 2004-09-11 David Edelsohn <edelsohn@gnu.org>
1610 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
1611 choose 64-bit version.
1613 2004-09-11 Richard Henderson <rth@redhat.com>
1616 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
1618 2004-09-11 Kazu Hirata <kazu@cs.umass.edu>
1620 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
1621 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
1622 Insert @: after i.e. or e.g.
1624 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1626 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
1627 D.xxx rather than <Dxxx>.
1629 2004-09-10 Adam Nemet <anemet@lnxw.com>
1631 * configure.ac (AC_MSG_CHECKING(what linker to use)):
1632 in_tree_ld_is_elf should be true for LynxOS.
1633 * configure: Regenerate.
1635 2004-09-10 Adam Nemet <anemet@lnxw.com>
1637 * Makefile.in (all.cross): Add srcextra.
1639 2004-09-10 Roger Sayle <roger@eyesopen.com>
1642 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
1643 floating point comparison operators. Change aborts to gcc_asserts.
1645 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1647 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
1649 2004-09-10 James E Wilson <wilson@specifixinc.com>
1651 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
1652 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
1654 * convert.c (convert_to_vector): Replace recursive call with
1657 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
1658 Add integer argument named constant. Use const_tiny_rtx instead of
1660 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
1662 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
1664 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
1665 of gen_rtx_raw_CONST_VECTOR.
1667 2004-09-10 Eric Christopher <echristo@redhat.com>
1670 * c-parse.in (attribute): Add NULL_TREE for error case
1673 2004-09-10 Zack Weinberg <zack@codesourcery.com>
1675 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
1676 (extract_interface_info): Delete prototype.
1677 * c-decl.c (extract_interface_info): Delete stub.
1678 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
1679 it's not already been done ...
1680 (init_c_lex): ... not here.
1681 (fe_file_change): Don't call extract_interface_info.
1683 2004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
1685 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
1686 typedef_p and typedef_signed_p.
1687 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
1688 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
1689 Check typedef_p and typedef_signed_p, not typedef_decl.
1690 (grokfield): Check typedef_p, not typedef_decl.
1691 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
1693 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
1696 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1698 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
1700 2004-09-10 Geoffrey Keating <geoffk@apple.com>
1702 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
1703 temporary variables.
1705 * dbxout.c (dbxout_block): Update for
1706 current_function_func_begin_label a string.
1707 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
1708 * except.c (dw2_output_call_site_table): Likewise.
1709 * toplev.c (current_function_func_begin_label): Likewise.
1710 * tree.h (current_function_func_begin_label): Likewise.
1711 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
1713 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
1716 * config/darwin.c: Include target.h.
1717 (struct machopic_indirection): Make ptr_name a string.
1718 (machopic_indirection_hash): Update for ptr_name a string.
1719 (machopic_indirection_eq): Likewise.
1720 (machopic_indirection_name): Likewise.
1721 (machopic_output_indirection): Likewise.
1722 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
1723 string. Don't expect stub names to be in the identifier hash table.
1724 Do call strip_name_encoding before looking up entry in ID hash table.
1725 * config/t-darwin (darwin.o): Add target.h to dependencies.
1727 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
1728 of fprintf for register names.
1730 * output.h (unlikely_section_label): Delete declaration.
1731 (unlikely_text_section_name): Likewise.
1732 * varasm.c (unlikely_section_label_printed): Make static.
1733 (unlikely_section_label): Likewise.
1734 (unlikely_text_section_name): Likewise.
1735 (assemble_start_function): Use reconcat.
1737 * rtl.def (REG): Add comment to describe third field.
1739 2004-09-10 Andrew Pinski <apinski@apple.com>
1741 * config/darwin.c (machopic_mcount_stub_name): Call
1742 machopic_indirection_name instead of making the string
1745 2004-09-10 Diego Novillo <dnovillo@redhat.com>
1749 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
1751 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
1752 memory tag is call clobbered, so are its aliases.
1753 (group_aliases): When two memory tags being grouped, if one is
1754 call clobbered, so are the other and its aliases.
1755 (add_may_alias): Remove call-clobbering stuff.
1756 (replace_may_alias): Likewise.
1757 (merge_pointed_to_info): Merge pt_global_mem
1759 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1761 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
1762 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
1763 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
1764 tree-scalar-evolution.c, tree-ssa-copyrename.c,
1765 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
1767 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1769 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
1770 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
1771 pair. Remove match_dup from inputs. Remove masaccs handling.
1772 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
1773 (masaccs, mdasaccs): Turn into define_insns.
1775 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1777 * tree-tailcall.c (process_assignment): Only do accumulator transforms
1778 for floating-point types if flag_unsafe_math_optimizations.
1780 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1782 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
1783 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
1784 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
1785 config/h8300/h8300.md, config/i386/gmm_malloc.h,
1786 config/ia64/ia64.md, config/ip2k/libgcc.S,
1787 config/mips/mips-ps-3d.md, config/mips/mips.c,
1788 config/rs6000/rs6000.c, config/s390/s390.c,
1789 config/sh/symbian.c: Fix comment typos.
1791 2004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
1793 * config/s390/s390.c (s390_emit_prologue): Added missing
1796 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1798 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
1799 typos. Follow spelling conventions.
1801 2004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
1803 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
1804 in diagnostic. Don't dereference NULL TYPE_NAME.
1806 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1808 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
1809 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
1810 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
1811 value-prof.c: Fix comment typos. Follow spelling conventions.
1813 2004-09-10 Jan Hubicka <jh@suse.cz>
1815 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
1816 * tree-split_edge.c (tree_split_edge): Likewise.
1817 (thread_jumps): Likewise.
1819 2004-09-10 Kazu Hirata <kazu@cs.umass.edu>
1821 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
1824 2004-09-10 Paolo Bonzini <bonzini@gnu.org>
1826 * cgraph.h (cgraph_dump_file): Do not declare.
1827 * cgraphunit.c (cgraph_dump_file): Declare as static.
1829 * toplev.c (cgraph_dump_file): Do not declare.
1830 (compile_file): Call init_cgraph.
1831 * tree-dump.c (dump_files): Add IPA dump file, remove
1832 XML dump of call graph.
1833 (get_dump_file_name): Support IPA dump file naming scheme.
1834 * tree.h (enum tree_dump_index): Add IPA dump file, remove
1835 XML dump of call graph.
1836 * doc/invoke.texi (Debugging Options): Document the new options.
1838 2004-09-10 Richard Sandiford <rsandifo@redhat.com>
1840 * doc/extend.texi: Document the FR-V built-in functions.
1842 2004-09-09 James E Wilson <wilson@specifixinc.com>
1844 * doc/sourcebuild.texi: Delete libbanshee reference.
1846 2004-09-10 Kelley Cook <kcook@gcc.gnu.org>
1848 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
1850 2004-09-09 James E Wilson <wilson@specifixinc.com>
1852 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
1853 before calling vector_types_convertible_p.
1854 (digest_init): Check that inside_init has VECTOR_TYPE before calling
1855 vector_types_convertible_p. Don't give another error if
1856 convert_for_assignment returns error_mark_node.
1858 2004-09-09 Roger Sayle <roger@eyesopen.com>
1861 * fold-const.c (build_zero_vector): New function to construct a
1862 vector (either floating point or integer) of zeros.
1863 (fold_convert): Internally, enable conversions of integer zero
1864 to arbitrary vector types, using the new build_zero_vector.
1866 2004-09-09 Roger Sayle <roger@eyesopen.com>
1868 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
1869 expand a left shift by an immediate constant as either an ashl or
1870 a sequence of additions.
1871 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
1872 instead of calling gen_ashlsi3 with a constant directly.
1874 2004-09-09 Roger Sayle <roger@eyesopen.com>
1876 * config/i386/i386.c (ix86_split_long_move): When optimizing for
1877 size, and the low and high parts of a DImode constant are equal,
1878 copy one register to another instead of loading the same immediate
1881 2004-09-09 Richard Henderson <rth@redhat.com>
1884 * function.c (assign_parm_setup_block): Only put PARALLELs into
1885 a register if use_register_for_decl.
1887 2004-09-09 Eric Christopher <echristo@redhat.com>
1889 * ra-colorize.c (reset_lists): Move variable declaration inside
1890 ENABLE_CHECKING to avoid unused variable warnings when
1891 not --enable-checking.
1892 (check_colors): Ditto.
1894 2004-09-09 Mike Stump <mrs@apple.com>
1896 * version.c (version_string): Bump to 4.0.0.
1897 * doc/include/gcc-common.texi (version-GCC): Likewise.
1899 2004-09-10 Jakub Jelinek <jakub@redhat.com>
1901 * doc/extend.texi (nothrow attribute): The attribute is not
1902 implemented in 3.2 and earlier.
1904 2004-09-09 Steve Ellcey <sje@cup.hp.com>
1906 * genrecog.c (compute_predicate_codes): Use op0_codes
1909 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1911 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
1912 implementation changes.
1914 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1916 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
1917 a PARALLEL instead of a SET due to added clobbers.
1919 2004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
1921 * reload.c (find_reloads_address): Pass correct operand to
1922 maybe_memory_address_p.
1924 2004-09-09 Daniel Berlin <dberlin@dberlin.org>
1926 * Makefile.in: Remove libbanshee, tree-alias-*.
1927 Remove tree-alias-common.h dependencies.
1928 * common.opt: Remove -ftree-points-to.
1929 * configure.ac: Remove libbanshee.
1930 * flags.h: Remove pta_type, flag_tree_points_to.
1931 * gengtype.c (open_base_files): Remove tree-alias-type.h.
1932 * opts.c (OPT_ftree_points_to): Remove.
1933 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
1934 * tree-dfa.c: Remove tree-alias-common.h
1935 * tree-into-ssa.c: Ditto.
1936 * tree-outof-ssa.c: Ditto.
1937 * tree-ssa-copyrename.c: Ditto.
1938 * tree-ssa-live.c: Ditto.
1939 * tree-optimize.c: Ditto.
1940 * tree-ssa.c: Ditto.
1941 Remove pass_build_pta, pass_del_pta.
1942 * tree-pass.h: Ditto.
1943 * tree-ssa-alias.c: Remove tree-alias-common.h.
1944 (struct alias_stats_d): Remove pta_queries, pta_resolved.
1945 (pass_may_alias): Remove PROP_pta requirement.
1946 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
1947 (get_tmt_for): Ditto.
1948 (dump_alias_stats): Ditto.
1949 * doc/passes.texi: Remove blurb about points-to analysis.
1950 * fortran/Make-lang.in: Remove tree-alias-*.o.
1952 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
1954 * genattrtab.c (write_insn_cases): New function, split out from
1955 write_attr_case. Correctly handle define_peepholes when printing
1956 the instruction name.
1957 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
1959 2004-09-09 Hans-Peter Nilsson <hp@axis.com>
1962 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
1963 * config/cris/cris.c (cris_return_address_on_stack): New function.
1964 * config/cris/cris.md ("return"): For location of return address,
1965 also check cris_return_address_on_stack.
1967 2004-09-09 Diego Novillo <dnovillo@redhat.com>
1969 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
1970 calling phi_ssa_name_p.
1972 2004-09-09 Richard Henderson <rth@redhat.com>
1975 * c-typeck.c (valid_compound_expr_initializer): Use only
1976 initializer_constant_valid_p, and not TREE_CONSTANT.
1977 (digest_init): Likewise.
1978 (output_init_element): Likewise.
1980 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1982 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
1983 live_out_1, prune_hardregs_for_mode, init_one_web_common,
1984 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
1985 record_conflict, compare_and_free_webs, init_webs_defs_uses,
1986 parts_to_webs_1, parts_to_webs, reset_conflicts,
1987 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
1988 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
1989 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
1990 put_move, remove_move, combine, select_spill, colorize_one_web,
1991 try_recolor_web, insert_coalesced_conflicts, check_colors,
1992 break_precolored_alias, restore_conflicts_from_coalesce,
1993 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
1994 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
1995 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
1996 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
1997 check_df): Likewise.
1998 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
1999 real_arithmetic, real_compare, real_exponent, real_ldexp,
2000 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
2001 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
2002 real_digit, real_nan, real_maxval, round_for_format, real_convert,
2003 real_to_target, real_from_target, real_hash, encode_ieee_single,
2004 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
2005 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
2006 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
2007 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
2008 extract_insn, peep2_next_insn, peep2_reg_dead_p,
2009 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
2010 if_test_bypass_p): Likewise.
2011 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
2012 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
2013 emit_swap_insn, swap_to_top, move_for_stack_reg,
2014 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
2015 compensate_edge, convert_regs_1): Likewise.
2016 * regclass.c (init_reg_sets, init_reg_sets_1,
2017 memory_move_secondary_cost): Likewise.
2018 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
2020 * reload.c (push_secondary_reload, find_valid_class, push_reload,
2021 operands_match_p, decompose, immune_p, find_reloads,
2022 find_reloads_toplev, find_reloads_address_1, subst_reloads,
2023 copy_replacements, refers_to_regno_for_reload_p,
2024 reg_overlap_mentioned_for_reload_p): Likewise.
2025 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
2026 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
2027 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
2028 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
2029 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
2030 do_output_reload, fixup_abnormal_edges): Likewise.
2031 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
2032 fill_slots_from_thread, relax_delay_slots): Likewise.
2033 * resource.c (mark_referenced_resources, mark_set_resources):
2035 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
2036 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
2037 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
2038 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
2039 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
2040 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
2041 * rtlhooks.c (gen_lowpart_general): Likewise.
2042 * sbitmap.c (sbitmap_difference): Likewise.
2043 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
2044 sched_analyze, add_forward_dependence): Likewise.
2045 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
2046 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
2047 schedule_insns): Likewise.
2048 * sched-vis.c (print_pattern): Likewise.
2049 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
2050 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
2051 simplify_const_relational_operation, simplify_ternary_operation,
2052 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
2054 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
2055 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
2056 resolve_operand_name_1, expand_return, expand_decl,
2057 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
2058 * stor-layout.c (put_pending_size, smallest_mode_for_size,
2059 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
2060 set_sizetype, get_mode_bounds): Likewise.
2062 2004-09-09 Zack Weinberg <zack@codesourcery.com>
2064 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
2065 * config/arm/pecoff.h, config/i386/beos-elf.h
2066 * config/i386/cygming.h, config/i386/i386-interix.h:
2067 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
2068 comment cloned from manual.
2069 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
2071 2004-09-09 Frank Ch. Eigler <fche@redhat.com>
2073 * builtins.c (build_va_arg_indirect_ref): New function.
2074 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
2075 build_fold_indirect_ref.
2076 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
2077 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
2078 * tree.h: Declare new function.
2080 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2082 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
2083 dumping for development builds.
2084 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
2085 development builds only.
2086 * genattrtab.c (write_eligible_delay): Fix typo in previous
2088 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
2091 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2093 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
2094 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
2095 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
2096 hoist_code, extract_mentioned_regs_helper, compute_store_table,
2097 insert_store): Use gcc_assert and gcc_unreachable.
2098 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
2099 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
2100 ggc_record_overhead): Likewise.
2101 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
2102 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
2103 ggc_pop_context, clear_marks, validate_free_objects,
2104 ggc_pch_read): Likewise.
2105 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
2106 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
2107 ggc_push_context, check_cookies, ggc_collect,
2108 ggc_print_statistics): Likewise.
2109 * gimple-low.c (lower_function_body, lower_stmt,
2110 lower_bind_expr): Likewise.
2111 * gimplify.c (gimple_tree_eq, push_gimplify_context,
2112 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
2113 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
2114 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
2115 gimplify_case_label_expr, gimplify_exit_block_expr,
2116 canonicalize_component_ref, gimplify_compound_lval,
2117 gimplify_self_mod_expr, gimplify_call_expr,
2118 gimplify_init_ctor_eval, gimplify_init_constructor,
2119 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
2120 gimplify_expr, check_pointer_types_r,
2121 force_gimple_operand): Likewise.
2122 * global.c (global_alloc, build_insn_chain): Likewise.
2123 * graph.c (clean_graph_dump_file,
2124 finish_graph_dump_file): Likewise.
2125 gcov-io.c (gcov_open): Use GCOV_CHECK.
2127 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
2129 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
2131 2004-09-09 Jan Hubicka <jh@suse.cz>
2134 * tree-inline.c (expand_call_inline): Make overactive sanity check
2137 2004-09-09 Jan Hubicka <jh@suse.cz>
2139 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
2142 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2144 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
2145 (gengtype.o): Depend on errors.h.
2146 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
2147 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
2148 attr_alt_subset_p, attr_alt_subset_of_compl_p,
2149 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
2150 write_test_expr, write_attr_value, write_eligible_delay,
2151 make_internal_attr, make_numeric_value): Likewise.
2152 * genautomata.c (regexp_name, get_str_vect,
2153 gen_presence_absence_set, automaton_decl_hash,
2154 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
2155 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
2156 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
2157 test_unit_reserv, it_is_empty_reserv_sets,
2158 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
2159 reserv_sets_and, output_cycle_reservs, get_free_state,
2160 intersected_state_reservs_p, states_union, remove_arc,
2161 copy_insn_regexp, transform_1, transform_2, transform_3,
2162 regexp_transform_func, store_alt_unit_usage,
2163 check_regexp_units_distribution, process_seq_for_forming_states,
2164 process_alts_for_forming_states, make_automaton,
2165 form_arcs_marked_by_insn, create_composed_state,
2166 set_out_arc_insns_equiv_num, partition_equiv_class,
2167 process_insn_equiv_class, set_insn_equiv_classes,
2168 units_to_automata_heuristic_distr, form_regexp,
2169 longest_path_length, output_dfa_max_issue_rate, add_vect,
2170 out_state_arcs_num, add_vect_el, output_trans_table,
2171 output_state_alts_table, output_dead_lock_vect,
2172 output_max_insn_queue_index_def,
2173 output_min_insn_conflict_delay_func,
2174 output_internal_insn_latency_func, output_print_reservation_func,
2175 output_cpu_unit_reservation_p, output_state_arcs,
2176 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
2177 make_default_insn_latency_attr,
2178 form_important_insn_automata_lists): Likewise.
2179 * genemit.c (gen_exp, output_add_clobbers,
2180 output_added_clobbers_hard_reg_p): Likewise.
2181 * genextract.c (print_path, main): Likewise.
2182 * genflags.c (gen_macro): Likewise.
2183 * gengenrtl.c: Include errors.h
2184 (type_from_format, accessor_from_format): Likewise.
2185 * gengtype.c (get_file_basename, output_mangled_typename,
2186 walk_type, write_types_process_field,
2187 write_types_local_process_field): Likewise.
2188 * genmodes.c (complete_mode): Likewise.
2189 * genopinit.c (gen_insn): Likewise.
2190 * genoutput.c (output_insn_data, check_constraint_len,
2191 constraint_len): Likewise.
2192 * genpreds.c (add_mode_tests):Likewise.
2193 * gen-protos.c (add_hash): Likewise.
2194 * genrecog.c (find_operand, find_matching_operand,
2195 validate_pattern, add_to_sequence, maybe_both_true,
2196 nodes_identical_1, merge_trees, write_switch, write_cond,
2197 write_action, is_unconditional, make_insn_sequence,
2198 debug_decision_2): Likewise.
2199 * gensupport.c (is_predicable, collect_insn_data,
2200 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
2202 2004-09-09 Jan Hubicka <jh@suse.cz>
2204 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
2205 * cfgbuild.c (compute_outgoing_frequencies): When probability is
2207 (find_many_sub_basic_blocks): Do update profile only when it is
2209 * predict.c (set_even_probabilities): Break out from ...
2210 (combine_predictions_for_insn): ... here; deal with
2211 !can_predict_insn_p insns.
2212 (combine_predictions_for_bb): Use set_even_probabilities.
2213 (bb_estimate_probability_locally): Break out from ....
2214 (estimate_probability): ... here.
2215 (guess_outgoing_edge_probabilities): New entry point.
2217 2004-09-09 Nathan Sidwell <nathan@codesourcery.com>
2219 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
2220 handle_braces, process_brace_body, main, used_arg,
2221 set_multilib_dir, print_multilib_info): Use fatal, not abort.
2223 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
2225 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
2226 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
2227 Morgan's theorem in last checkin.
2229 2004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2230 Nathan Sidwell <nathan@codesourcery.com>
2232 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
2233 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
2234 * timevar.c (timevar_push, timevar_pop, timevar_start,
2235 timevar_stop): Likewise.
2236 * toplev.c (default_pch_valid_p): Likewise.
2237 * tracer.c (tail_duplicate): Likewise.
2238 * tree-alias-common.c (get_alias_var_decl,
2239 get_values_from_constructor, create_alias_var, delete_alias_vars,
2240 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
2242 * tree.c (tree_size, make_node_stat, copy_node_stat,
2243 build_int_cst_wide, integer_all_onesp, list_length, chainon,
2244 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
2245 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
2246 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
2247 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
2248 build_method_type_directly, decl_type_context, get_callee_fndecl,
2249 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
2250 tree_fold_gcd): Likewise.
2251 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
2252 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
2253 cleanup_control_expr_graph, find_taken_edge,
2254 find_taken_edge_switch_expr, phi_alternatives_equal,
2255 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
2256 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
2257 tree_split_edge, tree_verify_flow_info, thread_jumps,
2258 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
2259 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
2260 chrec_fold_multiply_poly_poly): Likewise.
2261 * tree-complex.c (extract_component, expand_complex_division,
2262 expand_complex_comparison, expand_complex_operations_1,
2263 build_replicated_const, expand_vector_operations_1): Likewise.
2264 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
2265 build_classic_dir_vector): Likewise.
2266 * tree-dfa.c (compute_immediate_uses_for_phi,
2267 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
2268 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
2269 * tree-dump.c (dequeue_and_dump): Likewise.
2270 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
2271 record_in_finally_tree, replace_goto_queue_1,
2272 maybe_record_in_goto_queue, verify_norecord_switch_expr,
2273 do_return_redirection): Likewise.
2274 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
2275 add_to_dst_predicate_list, find_phi_replacement_condition,
2276 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
2278 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
2279 initialize_inlined_parameters, declare_return_variable,
2280 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
2281 optimize_inline_calls, copy_tree_r): Likewise.
2282 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
2283 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
2284 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
2285 tsi_split_statement_list_after, tsi_split_statement_list_before):
2287 * tree-mudflap.c (mf_varname_tree): Likewise.
2288 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
2289 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
2290 * tree-optimize.c (tree_rest_of_compilation): Likewise.
2291 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
2292 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
2293 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
2295 * tree-phinodes.c (resize_phi_node, add_phi_arg,
2296 remove_all_phi_nodes_for): Likewise.
2297 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
2298 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
2299 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
2300 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
2301 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
2302 generate_one_element_ref, generate_element_copy,
2303 generate_element_zero, scalarize_copy, scalarize_init,
2304 scalarize_ldst): Likewise.
2305 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
2306 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
2307 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
2308 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
2309 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
2310 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
2311 widen_bitfield, ccp_fold_builtin): Likewise.
2312 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
2313 replace_exp_1, propagate_tree_value): Likewise.
2314 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2315 * tree-ssa-dce.c (set_control_dependence_map_bit,
2316 find_control_dependence, find_pdom, mark_operand_necessary,
2317 mark_stmt_if_obviously_necessary,
2318 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
2319 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
2320 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
2321 eliminate_redundant_computations, avail_expr_eq): Likewise.
2322 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
2323 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
2324 duplicate_blocks): Likewise.
2325 * tree-ssa-loop-im.c (for_each_index, set_level,
2326 is_call_clobbered_ref): Likewise.
2327 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
2328 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
2329 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
2330 peel_address, ptr_difference_cost, may_replace_final_value,
2331 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
2332 rewrite_use, rewrite_uses): Likewise.
2333 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
2334 check_loop_closed_ssa_use): Likewise.
2335 * tree-ssanames.c (make_ssa_name): Likewise.
2336 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
2337 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
2338 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
2339 get_indirect_ref_operands, add_stmt_operand): Likewise.
2340 * tree-ssa-pre.c (value_exists_in_set_bitmap,
2341 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
2342 phi_translate, valid_in_set, compute_antic,
2343 find_or_generate_expression, create_expression_by_pieces, insert_aux,
2344 create_value_expr_from, eliminate): Likewise.
2345 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
2346 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
2348 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
2349 eliminate_tail_call): Likewise.
2350 * tree-vectorizer.c (vect_create_index_for_array_ref,
2351 vect_align_data_ref, vect_create_data_ref,
2352 vect_create_destination_var, vect_get_vec_def_for_operand,
2353 vect_finish_stmt_generation, vect_transform_stmt,
2354 vect_transform_loop_bound, vect_transform_loop,
2355 vect_analyze_operations): Likewise.
2356 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
2358 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
2359 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
2360 bsi_after_labels, bsi_last): Likewise.
2361 * tree-ssa-live.c (var_union, change_partition_var,
2362 create_ssa_var_map, calculate_live_on_entry, root_var_init,
2363 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
2365 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
2366 tpa_find_tree): Likewise.
2367 (register_ssa_partition_check): Declare.
2368 (register_ssa_partition): use it.
2369 * tree-ssa-live.c: Include errors.h.
2370 (register_ssa_partition_check): New.
2371 * tree-ssa-operands.c: Include errors.h.
2372 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
2374 2004-09-09 Richard Sandiford <rsandifo@redhat.com>
2375 Catherine Moore <clm@redhat.com>
2377 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
2378 (FRV_CPU_FR405): New processor enums.
2379 (frv_issue_rate, frv_acc_group): Declare.
2380 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
2381 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
2382 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
2383 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
2384 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
2385 handled by CPP_SPEC.
2386 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
2387 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
2388 (ACC_MASK): New macro.
2389 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
2390 (TARGET_MEDIA_FR450): New macro.
2391 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
2392 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
2393 (LABEL_ALIGN_AFTER_BARRIER): Define.
2394 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
2395 (IACC_FIRST, IACC_LAST): New pair of SPRs.
2396 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
2397 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
2398 (REGISTER_NAMES): Add entries for new registers.
2399 (REG_CLASS_CONTENTS): Update for new register ranges.
2400 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
2401 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
2402 (PACKING_FLAG_USED_P): Delete.
2403 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
2404 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
2405 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
2406 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
2407 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
2408 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
2409 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
2410 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
2411 (CPU_UNITS_QUERY): Define to 1.
2412 * config/frv/frv.c: Include gt-frv.h
2413 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
2414 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
2415 (frv_insn_group): New enumeration.
2416 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
2417 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
2418 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
2419 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
2420 gap left by REGSTATE_LIVE.
2421 (regstate_t): New typedef.
2422 (TARGET_MACHINE_DEPENDENT_REORG): Define.
2423 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
2424 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
2425 Initialize frv_unit_codes[] and frv_type_to_unit[].
2426 (frv_conditional_register_usage): Remove redundant fixing of
2427 accumulator registers.
2428 (frv_insn_packing_flag): Update specification.
2429 (frv_function_prologue): Don't set frv_insn_packing_flag here.
2430 Zero out frv_nops[].
2431 (frv_expand_epilogue): Remove comments about the no-longer-present
2433 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
2434 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
2435 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
2436 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
2437 packing is disabled and if INSN can only issue to M1.
2438 (call_operand): Check TARGET_LONG_CALLS.
2439 (acc_operand, even_acc_operand, quad_acc_operand)
2440 (accg_operand): Simplify. Don't accept pseudo registers.
2441 (output_move_single): Handle SPR<-zero moves.
2442 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
2443 (frv_registers_update, frv_registers_used_p): Delete.
2444 (frv_registers_set_p): Delete.
2445 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
2446 (frv_issues_to_branch_unit_p): New function.
2447 (frv_packet): New structure.
2448 (frv_cond_flags, frv_regstate_conflict_p): New functions.
2449 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
2450 (frv_registers_update_1, frv_registers_update): New functions.
2451 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
2452 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
2453 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
2454 (frv_sort_insn_group, frv_reorder_packet): New functions.
2455 (frv_pack_insns): Use frv_reorder_packet.
2456 (frv_packet_address): New variable.
2457 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
2458 (frv_register_nop, frv_reorg): New functions.
2459 (bdesc_1arg): Add __SCUTSS.
2460 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
2461 __SUBSS, __SLASS and __SCAN.
2462 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
2463 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
2464 (frv_init_builtins): Register the above builtins.
2465 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
2466 registers. Turn the referenced accumulators into global registers.
2467 (frv_read_iacc_argument): New function.
2468 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
2469 (frv_split_iacc_move): New function.
2470 (frv_expand_builtin): Handle the new builtins.
2471 * config/frv/frv.md: Replace old schedulers with new order-independent
2472 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
2474 (cpu): Add fr550, fr450 and fr405.
2475 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
2476 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
2477 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
2478 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
2479 (fnop, mnop): New patterns.
2480 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
2482 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
2483 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
2485 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
2486 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
2487 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
2488 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
2489 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
2490 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
2491 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
2492 (frv_prefetch0, frv_prefetch): New patterns.
2493 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
2494 -mcpu=simple. Add -mcpu=fr550.
2495 (MULTILIB_DIRNAMES): Update accordingly.
2496 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
2498 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
2499 -mlong-calls and -malign-labels options for FR-V.
2501 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2504 * c-tree.h (struct c_declspecs): New.
2505 (struct c_declarator, struct c_type_name, struct c_parm): Update
2507 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
2508 start_function, start_decl, build_c_parm,
2509 make_pointer_declarator): Update prototypes.
2510 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2511 declspecs_add_scspec, declspecs_add_attrs): New.
2512 (split_specs_attrs): Remove.
2513 * c-parse.in (%union): Add dsptype.
2514 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2515 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2516 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2517 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2518 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2519 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2520 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2521 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
2522 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
2523 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
2524 maybe_type_quals_attrs): Change to dsptype.
2525 (struct c_declspec_stack): New.
2526 (current_declspecs, declspec_stack): Change type.
2527 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
2529 (extdefs): Likewise.
2530 (setspecs): Likewise.
2531 (fndef): Use current_declspecs for empty declspecs list.
2532 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
2533 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
2534 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
2535 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
2536 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
2537 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
2538 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
2539 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
2540 structures and helper functions. Update comments.
2541 (typespec_nonattr): Correct comment.
2542 (maybe_type_quals_attrs, typename): Update to new structures.
2543 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
2544 shadow_tag, shadow_tag_warned, start_function, start_decl,
2545 build_c_parm, make_pointer_declarator,
2546 set_array_declarator_inner, groktypename): Update to new
2548 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
2549 declspecs_add_scspec, declspecs_add_attrs): New.
2550 (split_specs_attrs): Remove.
2551 (shadow_tag_warned): Make warning for useless type names a
2552 pedwarn. Give hard error for long, short, signed, unsigned or
2553 _Complex used with struct, union or enum in empty declaration.
2554 Make found_tag a bool.
2555 (grokdeclarator): Remove checks now done at parse time.
2557 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2559 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
2560 c_declarator, struct c_type_name, struct c_parm): New.
2561 (build_array_declarator, set_array_declarator_inner,
2562 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
2563 start_function, start_decl, build_c_parm, build_attrs_declarator,
2564 build_function_declarator, make_pointer_declarator, c_cast_expr,
2565 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
2566 (build_id_declarator): New.
2567 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
2569 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
2570 ARG_INFO_OTHERS): Remove.
2571 (build_id_declarator): New.
2572 (build_array_declarator, set_array_declarator_inner, groktypename,
2573 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
2574 grokfield, start_function, store_parm_decls_newstyle,
2575 store_parm_decls_oldstyle, store_parm_decls,
2576 build_c_parm, build_attrs_declarator, build_function_declarator,
2577 make_pointer_declarator, grokdeclarator): Update to new
2579 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
2581 (declarator, notype_declarator, after_type_declarator,
2582 parm_declarator, parm_declarator_starttypename,
2583 parm_declarator_nostarttypename, array_declarator, typename,
2584 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
2585 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
2586 parmlist_1, parmlist_2, parmlist_or_identifiers,
2587 parmlist_or_identifiers_1): Use these types.
2588 (primary, after_type_declarator, parm_declarator_starttypename,
2589 notype_declarator, component_decl, component_declarator,
2590 component_notype_declarator, typename, absdcl,
2591 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
2592 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
2594 2004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
2596 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
2597 in_typeof, record_maybe_used_decl, pop_maybe_used,
2598 c_expr_sizeof_expr, c_expr_sizeof_type): New.
2599 * c-decl.c (parser_obstack): New.
2600 (c_init_decl_processing): Initialize parser_obstack.
2601 (c_write_global_declarations_1): Check for used but undefined
2603 * c-parse.in (%union): Add otype.
2604 (save_obstack_position): New.
2606 (unary_expr): Update in_sizeof and in_alignof. Use
2607 c_expr_sizeof_expr and c_expr_sizeof_type.
2608 (sizeof): Update in_sizeof.
2609 (alignof): Update in_alignof.
2610 (typeof): Update in_typeof.
2611 (typespec_nonreserved_nonattr): Call pop_maybe_used.
2612 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
2613 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
2614 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
2615 (build_external_ref): Set C_DECL_USED or call
2616 record_maybe_used_decl if appropriate.
2617 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
2619 2004-09-08 Eric Christopher <echristo@redhat.com>
2621 * builtins.c: Fix prototype for fold_builtin_atan.
2623 2004-09-08 Eric Christopher <echristo@redhat.com>
2625 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
2626 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
2627 fold_builtin_atan): New functions. Migrate function bodies...
2628 (fold_builtin_1): ... from here.
2630 2004-09-09 Alan Modra <amodra@bigpond.net.au>
2632 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
2635 2004-09-08 David Edelsohn <edelsohn@gnu.org>
2637 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
2638 * config/rs6000/power5.md (power5-lmul): Same.
2640 2004-09-08 Richard Henderson <rth@redhat.com>
2643 * function.c (expand_function_end): Have fall-off-the-end
2644 return path jump around return register setup.
2646 2004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2648 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
2649 (output_return): Do not test for the presence of the 'unimp' insn.
2650 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
2651 as predicates instead of custom ones. Return raw strings when
2653 (output_sibcall): Likewise. Concatenate strings.
2654 (output_ubranch): Remove kludge for TurboSPARC.
2655 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
2656 (output_v9branch): Likewise.
2657 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
2658 <#>: Set sparc_indent_opcode if the delay slot is filled.
2660 <)>: New operand to emit the displacement from the saved PC on return.
2662 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
2663 (ASM_OUTPUT_OPCODE): New macro.
2664 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
2665 * config/sparc/sparc.md (normal_branch, inverted_branch,
2666 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
2667 inverted_fpe_branch): Adjust call to output_cbranch.
2668 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
2669 call to output_v9branch.
2670 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
2671 (output_v9branch): Likewise.
2673 2004-09-08 Devang Patel <dpatel@apple.com>
2675 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
2676 -segs_read_only_addr and -segs_read_write_addr.
2677 (WORD_SWITCH_TAKES_ARG): Same.
2679 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
2680 -segs_read_write_addr.
2682 2004-09-08 Richard Henderson <rth@redhat.com>
2684 * function.c (reference_callee_copied): New.
2685 (assign_parm_setup_reg): Use it.
2686 * calls.c (initialize_argument_information): Likewise.
2687 (emit_library_call_value_1): Likewise.
2688 * function.h (reference_callee_copied): Declare.
2690 * target.h (struct gcc_target): Add callee_copies.
2691 * target-def.h (TARGET_CALLEE_COPIES): New.
2692 (TARGET_PASS_BY_REFERENCE): Update default.
2693 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2694 * targhooks.c (hook_callee_copies_named): New.
2695 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
2696 hook_pass_by_reference_false.
2697 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
2698 * targhooks.h: Update decls.
2699 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
2700 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2701 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
2702 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
2703 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2704 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
2705 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2706 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
2707 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2708 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
2709 (mips_callee_copies): New.
2710 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2711 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
2712 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2713 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
2714 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2715 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
2716 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2717 * config/sh/sh.c (sh_callee_copies): New.
2718 (TARGET_CALLEE_COPIES): New.
2719 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2720 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
2721 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
2722 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
2723 for FUNCTION_ARG_CALLEE_COPIES.
2724 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
2726 2004-09-08 Devang Patel <dpatel@apple.com>
2728 * tree-if-conv.c (find_phi_replacement_condition): Return true
2730 (replace_phi_with_cond_modify_expr): Select conditional expr args
2731 based on true edge basic block.
2733 2004-09-08 Jan Hubicka <jh@suse.cz>
2735 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
2736 variables being alias set.
2738 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2740 * final.c (shorten_branches, final, get_insn_template,
2741 output_alternate_entry_point, final_scan_insn, alter_subreg,
2742 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
2743 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
2744 * fix-header.c (lookup_std_proto): Likewise.
2745 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
2746 verify_local_live_at_start, update_life_info, mark_reg,
2747 calculate_global_regs_live, allocate_reg_life_data,
2748 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
2749 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
2750 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
2751 * fold-const.c (force_fit_type, div_and_round_double,
2752 may_negate_without_overflow_p, int_const_binop, const_binop,
2753 size_binop, size_diffop, fold_convert_const, fold_convert,
2754 invert_tree_comparison, swap_tree_comparison,
2755 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
2756 range_binop, make_range, fold_cond_expr_with_comparison,
2757 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
2758 fold_abs_const, fold_not_const, fold_relational_const, round_up,
2759 round_down): Likewise.
2760 * function.c (find_function_data, assign_stack_temp_for_type,
2761 instantiate_virtual_regs_lossage, aggregate_value_p,
2762 assign_parm_find_entry_rtl, assign_parm_setup_block,
2763 expand_function_start, expand_function_end, keep_stack_depressed,
2764 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
2766 2004-09-08 Daniel Berlin <dberlin@dberlin.org>
2768 * Makefile.in (tree-loop-linear.o): Added.
2769 (OBJS-common): Add tree-loop-linear.o
2770 * common.opt: New flag, ftree-loop-linear.
2771 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
2772 * tree-flow.h: Add prototype for linear_transform_loops.
2773 * tree-optimize.c: Add linear transform after vectorization.
2774 * tree-pass.h: Add struct pass_linear_transform.
2775 * tree-ssa-loop.c: Add pass_linear_transform.
2776 * tree-loop-linear.c: New file.
2777 * lambda-code.c: gcc_assertify.
2778 (gcc_loop_to_lambda_loop): Handle all exit tests.
2779 Handle case where we have (invariant >= induction var).
2780 (find_induction_var_from_exit_cond): Ditto.
2782 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
2784 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
2785 memory tag is call clobbered, so are its aliases.
2786 (group_aliases): When two memory tags being grouped, if one is
2787 call clobbered, so are the other and its aliases.
2788 (add_may_alias): Remove call-clobbering stuff.
2789 (replace_may_alias): Likewise.
2790 (merge_pointed_to_info): Merge pt_global_mem
2792 2004-09-08 Jan Hubicka <jh@suse.cz>
2794 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
2795 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
2796 (cgraph_expand_function): Remove stale cgraph edges of currently
2797 compiled function; fix non-unit-at-a-time code copying function
2798 node for later reuse.
2800 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2802 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
2803 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
2804 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
2805 (vec_gc_free, vec_heap_free): New.
2806 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
2807 (DEF_VEC_P): Add allocator argument. Adjust.
2808 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
2809 (DEF_VEC_O): Add allocator argument. Adjust.
2812 * tree.h (tree): Define a GC'd vector.
2813 * lamba-code.c (lambda_loop): Likewise.
2814 * value-prof.h (histogram_value): Likewise.
2816 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2818 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
2819 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
2820 gen_lowpart_common, gen_highpart, gen_highpart_mode,
2821 subreg_highpart_offset, operand_subword, operand_subword_force,
2822 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
2823 set_mem_alias_set, change_address_1, verify_rtx_sharing,
2824 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
2825 try_split, add_insn_after, add_insn_before, remove_insn,
2826 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
2827 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
2828 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
2829 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
2830 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
2831 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
2832 record_path_before_1, check_path_after_1, check_path_after): Likewise.
2833 * except.c (gen_eh_region, resolve_one_fixup_region,
2834 remove_unreachable_regions, convert_from_eh_region_ranges_1,
2835 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
2836 connect_post_landing_pads, sjlj_emit_function_exit,
2837 remove_exception_handler_label, remove_eh_handler,
2838 reachable_next_level, collect_one_action_chain,
2839 output_function_exception_table): Likewise.
2840 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
2841 optimize_save_area_alloca, allocate_dynamic_stack_space,
2842 probe_stack_range, hard_function_value): Likewise.
2843 * expmed.c (mode_for_extraction, store_bit_field,
2844 store_fixed_bit_field, extract_bit_field, expand_shift,
2845 expand_mult_const, expand_mult, choose_multiplier,
2846 expand_mult_highpart, expand_divmod, emit_store_flag,
2847 do_cmp_and_jump): Likewise.
2848 * expr.c (convert_move, convert_modes, move_by_pieces,
2849 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
2850 move_block_from_reg, gen_group_rtx, emit_group_load,
2851 emit_group_move, emit_group_store, use_reg, use_regs,
2852 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
2853 emit_move_insn, emit_move_insn_1, emit_push_insn,
2854 expand_assignment, store_expr, count_type_elements,
2855 store_constructor, store_field, safe_from_p, expand_var,
2856 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
2858 2004-09-08 Nathan Sidwell <nathan@codesourcery.com>
2860 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
2861 gcc_assert and gcc_unreachable.
2862 * ddg.c (create_ddg_dependence, add_deps_for_def,
2863 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
2864 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
2865 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
2866 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
2867 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
2868 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
2869 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
2870 dataflow_set_copy, hybrid_search, diagnostic.c,
2871 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
2872 * dojump.c (do_jump): Likewise.
2873 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
2874 compute_dom_fast_query, calculate_dominance_info,
2875 free_dominance_info, get_immediate_dominator,
2876 set_immediate_dominator, get_dominated_by,
2877 redirect_immediate_dominators, nearest_common_dominator,
2878 dominated_by_p, verify_dominators, recount_dominator,
2879 iterate_fix_dominators, add_to_dominance_info,
2880 delete_from_dominance_info): Likewise.
2881 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
2882 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2883 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
2884 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
2885 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
2886 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
2887 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
2888 output_call_frame_info, output_loc_operands, build_cfa_loc,
2889 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
2890 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
2891 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
2892 splice_child_die, attr_checksum, same_dw_val_p,
2893 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
2894 unmark_dies, value_format, output_loc_list, output_die,
2895 output_pubnames, output_aranges, base_type_die, is_base_type,
2896 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
2897 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
2898 field_byte_offset, add_data_member_location_attribute,
2899 add_const_value_attribute, rtl_for_decl_location,
2900 add_location_or_const_value_attribute, add_byte_size_attribute,
2901 add_bit_offset_attribute, add_bit_size_attribute,
2902 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
2903 decl_start_label, gen_formal_parameter_die,
2904 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
2905 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
2906 force_decl_die, force_type_die, gen_decl_die,
2907 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
2908 dwarf2out_finish): Likewise.
2910 2004-09-08 Andreas Tobler <toa@pop.agri.ch>
2912 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
2913 * builtins.c: Include tree-mudflap.h.
2915 2004-09-08 Uros Bizjak <uros@kss-loka.si>
2917 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
2918 force operand 0.0 into register in XFmode. Also do not force
2919 operand 0.0 into register if !TARGET_CMOVE.
2920 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
2921 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
2922 implement ftst x87 instruction.
2923 (*fp_jcc_7): New insn pattern. Change corresponding split
2924 pattern to handle "general_operand" instead of
2925 "nonimmediate_operand".
2927 2004-09-08 Ben Elliston <bje@au.ibm.com>
2929 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
2931 2004-09-07 Frank Ch. Eigler <fche@redhat.com>
2933 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
2934 generated from standard va_arg expansion.
2935 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
2937 (mf_varname_tree, mf_file_function_line_tree): Add some support
2938 for column numbers if compiled with USE_MAPPED_LOCATION.
2940 2004-09-07 Ziemowit Laski <zlaski@apple.com>
2942 * c-decl.c (groktypename_in_parm_context): Remove function.
2943 * c-tree.h (groktypename_in_parm_context): Remove prototype.
2945 2004-09-07 Ziemowit Laski <zlaski@apple.com>
2947 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
2948 * c-parse.in: Include c-common.h instead of objc-act.h.
2949 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
2950 myparms, myparm): Remove %type declarations.
2951 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
2952 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
2954 (objc_inherit_code, objc_public_flag): Remove.
2955 (typespec_nonreserved_nonattr): Call
2956 objc_get_protocol_qualified_type() instead of get_static_reference()
2957 and get_protocol_reference().
2958 (stmt_nocomp): Call grokparm() on @catch parameter.
2959 (objcdef): Move semantic action to objc_finish_implementation().
2960 (classdef): Move semantic action to objc_start_class_interface(),
2961 objc_continue_interface(), objc_finish_interface(),
2962 objc_start_class_implementation(), objc_continue_implementation(),
2963 objc_start_category_interface() and
2964 objc_start_category_implementation().
2965 (protocoldef): Move semantic actions to objc_start_protocol() and
2966 objc_finish_interface().
2967 (ivar_decl_list): Remove nonterminal.
2968 (visibility_spec): Move semantic actions to objc_set_visibility().
2969 (ivar_decls): Remove assignment to $$.
2970 (ivar_decl): Rephrase in terms of component_decl; call
2971 objc_add_instance_variable().
2972 (ivars, ivar_declarator): Remove nonterminals.
2973 (opt_semi): New nonterminal.
2974 (methodtype): Remove semantic actions.
2975 (methoddef): Move semantic actions to objc_set_method_type(),
2976 objc_start_method_definition() and objc_finish_method_definition().
2977 (methodproto): Move semantic actions to objc_set_method_type() and
2978 objc_add_method_declaration().
2979 (methoddecl): Use objc_typename instead of typename; move semantic
2980 actions to objc_build_method_signature().
2981 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
2982 (optparmlist): Express in terms of optparms and optellipsis.
2983 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
2985 (keyworddecl): Use objc_typename instead of typename.
2986 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
2987 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
2989 2004-09-08 Alan Modra <amodra@bigpond.net.au>
2991 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
2992 (MD_FALLBACK_FRAME_STATE_FOR): Update.
2993 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
2994 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
2995 (MD_FROB_UPDATE_CONTEXT): Remove default.
2996 (uw_update_context_1): Instead #ifdef invocation.
2997 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
2998 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
2999 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
3000 (MD_UNWIND_SUPPORT): Undefine this instead.
3001 * config/i386/gnu.h: Likewise.
3002 * config/alpha/linux-unwind.h: New file, macro converted to
3003 function, extracted from..
3004 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
3005 (MD_UNWIND_SUPPORT): Define.
3006 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
3007 * config/i386/linux-unwind.h, config/i386/linux.h,
3008 config/i386/linux64.h: Likewise.
3009 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
3010 MD_HANDLE_UNWABI too.
3011 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
3012 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
3013 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
3014 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
3015 * config/sparc/linux-unwind.h, config/sparc/linux.h,
3016 config/sparc/linux64.h: Likewise.
3017 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
3018 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
3019 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
3020 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
3021 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
3023 2004-09-07 Jan Hubicka <jh@suse.cz>
3025 * cse.c (fold_rtx): Avoid building of
3026 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
3028 * tree-ssa-pre.c (grand_bitmap_obstack): New.
3029 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
3030 (init_pre): Initialize obstack.
3031 (fini_pre): Free obstack.
3033 2004-09-07 David Daney <ddaney@avtrex.com>
3035 * config.gcc: Added support for --with-divide=[breaks|traps] for
3037 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
3038 (TARGET_DIVIDE_TRAPS): New macro.
3039 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
3040 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
3041 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
3042 GENERATE_DIVIDE_TRAPS.
3043 (mips_output_division): Emit conditional trap if
3044 GENERATE_DIVIDE_TRAPS is set.
3045 * doc/install.texi: Document --with-divide.
3046 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
3048 2004-09-07 Caroline Tice <ctice@apple.com>
3050 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
3051 EDGE_CROSSING, to flags test case.
3053 2004-09-07 Jan Hubicka <jh@suse.cz>
3055 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
3058 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
3060 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
3061 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
3062 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
3064 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
3065 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
3066 alloc_aux_for_edges, free_aux_for_edges): Likewise.
3067 * cfgcleanup.c (try_forward_edges,
3068 merge_blocks_move_predecessor_nojumps,
3069 merge_blocks_move_successor_nojumps): Likewise.
3070 * cfgexpand.c (expand_gimple_cond_expr,
3071 expand_gimple_tailcall): Likewise.
3072 * cfghooks.c (duplicate_block): Likewise.
3073 * cfglayout.c (record_effective_endpoints,
3074 insn_locators_initialize, change_scope, fixup_reorder_chain,
3075 verify_insn_chain, fixup_fallthru_exit_predecessor,
3076 duplicate_insn_chain, cfg_layout_finalize): Likewise.
3077 * cfgloopanal.c (check_irred): Likewise.
3078 * cfgloop.c (superloop_at_depth, flow_loops_free,
3079 flow_loop_entry_edges_find, flow_loops_find,
3080 flow_loop_outside_edge_p, get_loop_body,
3081 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
3082 get_loop_exit_edges, num_loop_branches, cancel_loop,
3083 verify_loop_structure): Likewise.
3084 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
3085 duplicate_loop_to_header_edge, create_preheader,
3086 create_loop_notes): Likewise.
3087 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
3088 edirect_branch_edge, force_nonfallthru_and_redirect,
3089 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
3090 commit_edge_insertions, commit_edge_insertions_watch_calls,
3091 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
3092 cfg_layout_redirect_edge_and_branch_force,
3093 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
3094 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
3095 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
3096 cgraph_varpool_node): Likewise.
3097 * cgraphunit.c (cgraph_finalize_function,
3098 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
3099 cgraph_expand_function, cgraph_remove_unreachable_nodes,
3100 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
3101 cgraph_mark_inline, cgraph_expand_all_functions,
3102 cgraph_build_static_cdtor): Likewise.
3103 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
3104 simplify_logical, distribute_notes, insn_cuid): Likewise.
3105 * conflict.c (conflict_graph_add, print_conflict): Likewise.
3106 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
3107 coverage_checksum_string): Likewise.
3108 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
3109 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
3110 cse_cc_succs, cse_condition_code_reg): Likewise.
3111 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
3112 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
3113 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
3114 cselib_record_set): Likewise.
3116 2004-09-07 Jan Hubicka <jh@suse.cz>
3118 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
3120 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
3122 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
3124 (fold_builtin_strpbrk): Likewise.
3125 * expr.c (array_ref_low_bound): Likewise.
3126 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
3127 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
3128 * tree-sra.c (generate_element_zero): Likewise.
3129 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
3130 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
3131 add_old_iv_candidates, add_iv_candidates): Likewise.
3132 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
3134 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
3136 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
3137 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
3138 c_expand_expr, boolean_increment, nonnull_check_p,
3139 check_function_arguments_recurse, fold_offsetof_1): Likewise.
3140 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
3141 builtin_define_type_max): Likewise.
3142 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
3143 implicit_decl_warning, builtin_function, build_compound_literal,
3144 complete_array_type, grokdeclarator, get_parm_info,
3145 start_function, store_parm_decls_oldstyle,
3146 c_write_global_declarations): Likewise.
3147 * c-format.c (get_constant, decode_format_attr,
3148 maybe_read_dollar_number, get_flag_spec, check_format_arg,
3149 check_format_types, format_type_warning,
3150 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
3151 init_dynamic_diag_info, handle_format_attribute): Likewise.
3152 * c-gimplify.c (push_context, pop_context, finish_bc_block):
3153 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
3154 * c-objc-common.c (c_tree_printer): Likewise.
3155 * c-pch.c (pch_init): Likewise.
3156 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
3157 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
3158 * c-typeck.c (c_incomplete_type_error, composite_type,
3159 common_pointer_type, common_type, same_translation_unit_p,
3160 tagged_types_tu_compatible_p, finish_init, pop_init_level,
3161 set_designator, set_nonincremental_init_from_string,
3162 process_init_element, c_finish_if_stmt): Likewise.
3163 * caller-save.c (init_caller_save, save_call_clobbered_regs,
3164 insert_restore, insert_save, insert_one_insn): Likewise.
3165 * calls.c (emit_call_1, compute_argument_block_size,
3166 precompute_arguments, expand_call, emit_library_call_value_1,
3167 store_one_arg): Likewise.
3169 2004-09-07 Nathan Sidwell <nathan@codesourcery.com>
3171 * configure.ac (enable-checking): Add release option. Reorganize
3172 to avoid repetition.
3173 * configure: Rebuilt.
3174 * doc/install.texi (enable-checking): Amend documentation.
3176 2004-09-06 H.J. Lu <hongjiu.lu@intel.com>
3179 * Makefile.in (specs.ready): Depend on cc1$(exeext).
3181 2004-09-06 James E Wilson <wilson@specifixinc.com>
3183 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
3184 movdf_hardfloat_32bit): Split fG into two alternatives.
3185 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
3187 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
3189 2004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
3191 * final.c (output_in_slot): Delete.
3192 (final_scan_insn): Revert 2004-09-03 change.
3193 (output_asm_insn): Likewise.
3194 * config/sparc/sparc.c (output_return): Likewise.
3195 (output_sibcall): Likewise.
3197 2004-09-06 Jan Hubicka <jh@suse.cz>
3199 * loop.c (loop_dump_aux): Do not print RTL when not available.
3200 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
3201 frontend specific type nodes.
3202 (produce_memory_decl_rtl): Break out from ...
3203 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
3204 (get_computation_at): Avoid random tree sharing.
3205 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
3207 2004-09-06 Zack Weinberg <zack@codesourcery.com>
3209 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
3210 unnecessary commands.
3212 2004-09-06 Mohan Embar <gnustuff@thisiscool.com>
3214 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
3215 (bitmap.o): Likewise.
3217 2004-09-06 Paolo Bonzini <bonzini@gnu.org>
3219 Unify the management of RTL and tree-level dump files.
3221 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
3222 Don't print function name to the dump file, the pass manager
3223 would do this for us. Add code from the top of
3224 rest_of_compilation, up to the initial RTL dump.
3225 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
3226 close the DFI_sibling dump file.
3227 (rest_of_compilation): Don't do that here. Remove code up to the
3229 (init_optimization_passes): Remove.
3230 (pass_rest_of_compilation): Change pass name to NULL.
3231 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
3232 Do not call init_optimization_passes.
3233 * toplev.h (init_optimization_passes): Remove.
3235 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
3236 finish_graph_dump_file): Remove SUFFIX parameter.
3237 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
3238 finish_graph_dump_file): Likewise.
3240 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
3241 * cfgexpand.c (pass_expand): Adjust.
3242 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
3243 * passes.c (pass_rest_of_compilation): Adjust.
3244 * predict.c (pass_profile): Adjust.
3245 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
3246 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
3247 pass_split_crit_edges, pass_warn_function_return): Adjust.
3248 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
3249 * tree-dfa.c (pass_referenced_vars): Adjust.
3250 * tree-eh.c (pass_lower_eh): Adjust.
3251 * tree-if-conv.c (pass_build_ssa): Adjust.
3252 * tree-into-ssa.c (pass_build_ssa): Adjust.
3253 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
3254 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
3255 * tree-nrv.c (pass_nrv): Adjust.
3256 * tree-optimize.c (pass_gimple, pass_all_optimizations,
3257 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
3258 pass_init_datastructures): Adjust.
3259 * tree-outof-ssa.c (pass_del_ssa): Adjust.
3260 * tree-profile.c (pass_tree_profile): Adjust.
3261 * tree-sra.c (pass_sra): Adjust.
3262 * tree-ssa-alias.c (pass_may_alias): Adjust.
3263 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
3264 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
3265 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
3266 * tree-ssa-dom.c (pass_dominator): Adjust.
3267 * tree-ssa-dse.c (pass_dse): Adjust.
3268 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
3269 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
3270 * tree-ssa-loop-ch.c (pass_ch): Adjust.
3271 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
3272 pass_loop_done, pass_complete_unroll, pass_iv_canon,
3273 pass_iv_optimize, pass_vectorize): Adjust.
3274 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
3275 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
3276 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
3277 pass_late_warn_uninnitialized): Adjust.
3278 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
3280 * Makefile.in (tree-dump.o): Add new dependencies.
3281 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
3282 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
3284 * toplev.c (dump_file_name): New.
3285 * tree-dump.c (dump_enable_all): Add LETTER parameter.
3286 (struct dump_file_info): Add NUM and LETTER fields.
3287 (dump_files): Adjust and add RTL dump files.
3288 (dump_register): Add NUM and LETTER fields.
3289 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
3290 (dump_begin): Use get_dump_file_name.
3291 (dump_switch_p_1): Adjust call to dump_enable_all.
3292 * tree-dump.h (dump_register): Adjust prototype.
3293 * tree-optimize.c (register_one_dump_file): Take dump file index.
3294 Support flags for RTL dumps.
3295 (register_dump_files): Fill in NUM field of struct dump_file_info.
3296 Track properties both when the gate is executed and when it is not.
3297 (execute_todo): Dump RTL. Add PROPERTIES parameter.
3298 (execute_one_pass): Pass properties to execute_todo. Handle VCG
3300 * tree-pass.h (dump_file_name): New.
3301 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
3304 * Makefile.in (passes.o): Add new dependencies.
3305 * passes.c (struct dump_file_info, enum dump_file_index,
3306 dump_file_tbl, init_optimization_passes): Remove.
3307 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
3308 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
3310 (finish_optimization_passes): Update finish_graph_dump_file loop.
3311 (enable_rtl_dump_file): Remove.
3312 * tree-dump.c (dump_files): Adjust and add RTL dump files.
3313 (enable_rtl_dump_file): Add here.
3314 * tree.h (enum tree_dump_index): Add RTL dump file indices.
3315 * doc/invoke.texi (Debugging options): Document new RTL debugging
3318 2004-09-05 Kazu Hirata <kazu@cs.umass.edu>
3320 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
3321 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
3322 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
3323 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
3324 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
3325 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
3326 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
3327 vec.h: Fix comment formatting.
3329 2004-09-05 Kazu Hirata <kazu@cs.umass.edu>
3331 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
3332 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
3333 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
3334 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
3335 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
3336 tree-ssa-loop-niter.c, tree-ssa-operands.c,
3337 tree-ssa-operands.h, tree-ssa-propagate.c,
3338 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
3339 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
3341 2004-09-05 Diego Novillo <dnovillo@redhat.com>
3343 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
3344 vectorizer is enabled.
3346 2004-09-05 Andreas Jaeger <aj@suse.de>
3348 * tree-if-conv.c: Spell check comments and clean up whitespace.
3350 2004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3352 * tree-ssa-loop-ivopts.c: New file.
3353 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
3354 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
3355 target_pres_cost, target_spill_cost): Declare.
3356 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
3357 spill_cost): Renamed to ...
3358 (target_avail_regs, target_res_regs, target_small_cost,
3359 target_pres_cost, target_spill_cost): ... and exported.
3360 (init_set_costs, global_cost_for_size): Work with renamed variables.
3361 * common.opt (flag_ivopts): New flag.
3362 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
3364 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
3365 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
3366 generating SSA form.
3367 (force_gimple_operand): New function.
3368 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
3369 * tree-cfg.c (stmt_bsi): New function.
3370 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
3371 PARAM_IV_MAX_CONSIDERED_USES): New.
3372 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
3373 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
3374 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.