X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=1c3e9dd5fbe1cc613cf3b99b8eb6e27f2ed74322;hp=6eac4dc471b4bce72e28f81f8e6e6ac4f9c1f0b5;hb=1e6c89721706a05df1f92e3829a50bd74cfa9096;hpb=19e0a6cca36f2a1794618e8c04abea88919d75d2 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6eac4dc471b..1c3e9dd5fbe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,635 @@ +2004-09-16 Frank Ch. Eigler + + * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION. + +2004-09-16 Jeff Law + + * tree-into-ssa.c (block_defs_stack): New toplevel varray. + (rewrite_block_data): Remove, no longer used. + (rewrite_initialize_block_local_data): Remove, no longer used. + (rewrite_initialize_block): Mark parameters as unused as needed. + Change references to the block local block_defs to be block_defs_stack. + Push a marker onto the block_defs_stack. + (ssa_rewrite_initialize_block): Similarly. + (rewrite_stmt, ssa_rewrite_stmt): Similarly. + (ssa_register_new_def): No longer needs varray argument. Use + block_defs_stack instead. No longer handle possibly null block_defs + varray. Reverse order of items we push on the stack to make it + easier to identify our marker. + (register_new_def): No longer handle possibly null block_defs + varray. + (rewrite_finalize_block): Revamp to look for markers in the global + block_defs_stack varray rather than wiping a block local varray. + Mark arguments as unused as needed. + (ssa_rewrite_finalize_block): Similarly. + (rewrite_into_ssa): Update initialization of dom walker structure + to reflect that we don't need block local data anymore. Initialize + the block_defs_stack varray. + (rewrite_ssa_into_ssa): Similarly. + * tree-ssa-dom.c (block_defs_stack): New toplevel varray. + (struct dom_walk_data): Kill block_defs field. + (tree_ssa_dominator_optimize): Initialize block_defs_stack. + (thread_across_edge): Use the global block_defs_stack instead of + the old block_defs varray. + (dom_opt_initialize_block_local_data): Update now that we don't have + block_defs field to check anymore. + (dom_opt_initialize_block): Push a marker onto block_defs_stack. + (restore_currdefs_to_original_value): Use the new block_defs_stack + instead of a block local varray. + (dom_opt_finalize_block): Similarly. + (record_equivalencs_from_phis): Similarly. + (optimize_stmt, register_definitions_for_stmt): Similarly. + +2004-09-16 Andrew MacLeod + + PR tree-optimization/17517 + * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't + coalesce same-root variables without checking for abnormal PHI usage. + +2004-09-16 Daniel Berlin + + * cfgloop.h (duplicate_loop): Add prototype. + * cfgloopmanip.c (duplicate_loop): Make non-static. + * lambda-code.c (perfect_nestify): Factor out test whether + we can handle this loop into separate function. + Call it. + (can_convert_to_perfect_nest): New function. + (replace_uses_of_x_with_y): Add modify_stmt call. + * tree-loop-linear.c (linear_transform_loops): Call + rewrite_into_loop_closed_ssa and free_df. + +2004-09-16 Daniel Berlin + + * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is + loop invariant as well. + (perfect_nestify): new function. + (gcc_loop_to_lambda_loop): New parameters to track lower bounds, + upper bounds, and steps. + Set outerinductionvar properly. + (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect + parameters. + Return NULL if we need a perfect loop and can't make one. + (lambda_loopnest_to_gcc_loopnest): Correct algorithm. + (not_interesting_stmt): New function. + (phi_loop_edge_uses_def): Ditto. + (stmt_uses_phi_result): Ditto. + (stmt_is_bumper_for_loop): Ditto. + (perfect_nest_p): Ditto. + (nestify_update_pending_stmts): Ditto. + (replace_uses_of_x_with_y): Ditto. + (stmt_uses_op): Ditto. + (perfect_nestify): Ditto. + * lambda-mat.c (lambda_matrix_id_p): New function. + * lambda-trans.c (lambda_trans_matrix_id_p): Ditto. + * lambda.h: Update prototypes. + * tree-loop-linear (linear_transform_loop): Use new + perfect_nest_p. Detect and ignore identity transform. + * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed. + +2004-09-16 Sebastian Pop + + * tree-loop-linear.c (gather_interchange_stats): Add more comments. + Gather also strides of accessed data. Pass in the data references + array. + (try_interchange_loops): Add a new heuristic for handling the temporal + locality. Pass in the data references array. + (linear_transform_loops): Pass the data references array to + try_interchange_loops. + +2004-09-16 Kazu Hirata + + * doc/invoke.texi: Fix typos. Follow spelling conventions. + +2004-09-16 Nathan Sidwell + + * doc/c-tree.texi (Classes): Remove index entries for + TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}. + +2004-09-16 Zdenek Dvorak + + * fold-const.c (fold): Fold difference of addresses. + (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on + get_inner_reference. + * tree-ssa-loop-ivopts.c (peel_address): Removed. + (ptr_difference_const): Moved to fold-const.c. + (split_address_cost): Use get_inner_reference instead of peel_address. + (ptr_difference_cost): Change type of diff to HOST_WIDE_INT. + * tree.h (ptr_difference_const): Export. + + * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction + variable type to the dump. Fix indentation. + (idx_find_step): Handle nonconstant array_ref_element_size and + array_ref_low_bound. + (idx_record_use): Handle array_ref_element_size and + array_ref_low_bound. + (find_interesting_uses_stmt): Handle memory = nontrivial_expression + statements correctly. + (get_computation_at, iv_value): Do not unshare expressions here. + (rewrite_use_outer): Unshare the expression before it is emitted + to code. + * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for): + Moved to tree.c. + * tree.c (unsigned_type_for, signed_type_for): Moved from + tree-ssa-loop-niter.c. Use langhooks. + * tree.h (signed_type_for): Export. + +2004-09-16 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update + prototype. + +2004-09-15 Andrew Pinski + + PR target/11572 + * c-incpath.h (target_c_incpath_s): Add extra_pre_includes. + Add two parameters to extra_includes. + (C_INCPATH_INIT): Remove. + * c-incpath.c (register_include_chains): Call extra_pre_includes + before adding the standard include directory. + Update call to extra_includes. + (!defined TARGET_EXTRA_INCLUDES): Update + hook_void_charptr_charptr_int and add !define + TARGET_EXTRA_PRE_INCLUDES. + (!define TARGET_EXTRA_INCLUDES): Define as + hook_void_charptr_charptr_int. + (!define TARGET_EXTRA_PRE_INCLUDES): Likewise. + (target_c_incpath): Always declare. + * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a + empty function. + (define TARGET_EXTRA_PRE_INCLUDES): Likewise. + * config/darwin.h: (darwin_register_frameworks): Update for + the two new parameters. + (darwin_register_objc_includes): Add prototype. + (TARGET_EXTRA_PRE_INCLUDES): Define. + * config/darwin-c.c (darwin_register_objc_includes): New function. + (darwin_register_frameworks): Update for the two new parameters. + (target_c_incpath): Remove. + * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to + the compile line. + * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new + parameters. + (TARGET_EXTRA_PRE_INCLUDES): Document. + + * gcc.c (spec_function): Add replace-outfile. + (replace_outfile_spec_function): New function. + * config/darwin.h (LINK_SPEC): Add replace + -lobjc with -lobjc-gnu if -fgnu-runtime is + supplied. + * invoke.texi (replace-outfile): Document. + +2004-09-13 Jan Hubicka + + * predict.c (expr_expected_value, strip_builtin_expect): New function. + (tree_predict_by_opcode): Use it. + (tree_estimate_probability): Add, for now disabled, + strip_builtin_expect call. + +2004-09-15 James E Wilson + + PR target/17455 + * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false + if current_function_decl is a sibcall. + +2004-09-15 Mark Mitchell + + * varasm.c (default_function_rdodata_section): Make sure to pass + along a decl for a link-once section. + +2004-09-15 Richard Henderson + + * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable + warning with code disable. Fix formatting. + +2004-09-15 Steven Bosscher + + * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h. + * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT + after propagating into an ADDR_EXPR. + +2004-09-15 Andrew Pinski + + PR rtl-opt/17427 + * gcse.c (process_insert_insn): insn_invalid_p has side effects. + Move it out of gcc_assert. + +2004-09-15 Joseph S. Myers + + * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c, + except.c, fold-const.c, function.c, langhooks.c, params.c, + reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c, + tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q + for quoting in diagnostics going through pretty-print.c. Use '' + for quoting in other diagnostic text. + * langhooks.c: Include intl.h. Mark text locating diagnostics for + translation. + * Makefile.in (langhooks.o): Update dependencies. + * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic + formats. + +2004-09-15 Mark Mitchell + + * configure.ac: Check for COMDAT support. Robustify check for + SHF_MERGE support. + * configure: Regenerated. + * config.in: Likewise. + * langhooks-def.h (lhd_comdat_group): New function. + (LANG_HOOKS_COMDAT_GROUP): New macro. + (LANG_HOOKS_DECLS): Use it. + * langhooks.c (lhd_comdat_group): Define. + * langhooks.h (lang_hooks_for_decls): Add comdat_group. + * output.h (named_section_flags): Make it a macro. + (named_section_real): New function. + (default_no_named_section): Add decl parameter. + (default_elf_asm_named_section): Likewise. + (default_coff_asm_named_section): Likewise. + (default_pe_asm_named_section): Likewise. + * target.h (gcc_target): Adjust type of named_section. + * varasm.c (named_section_flags): Rename to named_section_real. + Add decl parameter. + (default_no_named_section): Add decl parameter. + (default_elf_asm_named_section): Use COMDAT, if available. Deal + with the case that ASM_COMMENT_START is "@". + (default_coff_asm_named_section): Add decl parameter. + (default_pe_asm_named_section): Likewise. + * config/alpha/alpha.c (vms_asm_named_section): Add decl + parameter. + (unicosmk_asm_named_section): Likewise. + * config/arm/arm.c (arm_elf_asm_named_section): Remove. + * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise. + * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter. + * config/cris/cris-protos.h (cris_target_asm_named_section): + Likewise. + * config/cris/cris.c (cris_target_asm_named_section): + Likewise. + * config/darwin/darwin-protos.h (darwin_asm_named_section): + Likewise. + * config/darwin/darwin.c (darwin_asm_named_section): Likewise. + * config/h8300/h8300.c (h8300_asm_named_section): Likewise. + * config/i386/i386-protos.h (i386_pe_asm_named_section): + Likewise. + * config/i386/winnt.c (i386_pe_asm_named_section): Likewise. + * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise. + * config/mcore/mcore.c (mcore_asm_named_section): Likewise. + * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): + Likewise. + * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise. + * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define. + * cp/cp-tree.h (cxx_comdat_group): Declare. + * cp/decl.c (cxx_comdat_group): New function. + +2004-09-15 Jan Hubicka + + * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes. + * tree-tailcall.c (eliminate_tail_call): Release SSA name. + + * tree-cfg.c (remove_bb): Release SSA defs. + +2004-09-15 Kazu Hirata + + * doc/tm.texi: Follow spelling conventions. + +2004-09-15 Kazu Hirata + + * tree-ssa-dom.c: Fix comment typos. + +2004-09-15 Alan Modra + + * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to + include ccr. + (ppc_fallback_frame_state): Save location of CR. + +2004-09-15 Jakub Jelinek + + * expr.c (string_constant): Handle also read-only variables + initialized to string literals. + + * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1) + into memcpy (x, y, 1) if memcpy can be expanded inline. + +2004-09-15 Zdenek Dvorak + + PR tree-optimization/17468 + * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that + definition inside a block precede uses. + * tree-tailcall.c (adjust_return_value): Emit statements in the + correct order. + +2004-09-15 Richard Sandiford + + * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete. + +2004-09-15 Eric Botcazou + + * doc/install.texi (sparc-sun-solaris2*): Properly format warning. + +2004-09-14 Jeff Law + + * tree-ssa-dom.c (avail_exprs_stack): New global varray. + (struct dom_walk_block_data): Remove avail_exprs member. + (tree_ssa_dominator_optimize): Initialize avail_exprs_stack. + (lookup_avail_expr): No longer need to pass in address of + the block local available exprs stack. All callers changed. + (simplify_cond_and_lookup_avail_expr): Similarly. + (simplify_switch_and_lookup_avail_expr): Similarly. + (get_eq_expr_value, record_cond): Likewise. + (record_dominating_conditions): Likewise. + (update_rhs_and_lookup_avail_expr): Likewise. + (record_equivalences_from_stmt): Likewise. + (dom_opt_initialize_block_local_data): No longer test state of + block local avail_exprs. + (dom_opt_initialize_block): Mark unwind point in the global + avail_expr stack. + (remove_expressions_from_table): Update to unwind to the + most recent unwind marker in the global avail_expr stack. + All callers changed. + (dom_opt_finalize_block): Mark unwind point in the global + avail_expr stack as needed. + (record_cond): Push elements into the global avail_exprs stack. + + * tree-dfa.c (free_df_for_stmt): No longer static. + (free_df): Update comments. + * tree-flow.h (free_df_for_stmt): Prototype. + * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also + call release_defs. + +2004-09-14 Diego Novillo + + PR tree-optimization/17252 + * tree-ssa-alias.c (may_alias_p): Don't assume that a + pointer may not point to itself when using relaxed + aliasing rules. + +2004-09-14 Richard Henderson + + PR middle-end/17397 + * gimplify.c (gimplify_addr_expr): Don't inadvertently change types + while folding >. + +2004-09-14 Andrew Pinski + + * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing + sets of the pointers but the aliasing sets of what they point to. + +2004-09-14 Roger Sayle + + PR rtl-optimization/9771 + * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate + conditional compilation in init_reg_sets_1. + (init_reg_sets_1): Let global_regs[i] take priority over the frame + (but not stack) pointer exceptions to regs_invalidated_by_call. + (globalize_reg): Globalizing a fixed register may need to update + regs_invalidated_by_call. + +2004-09-14 Diego Novillo + + PR tree-optimization/15262 + * tree-dfa.c (dump_variable): Also print the type of the + variable. + * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two + memory tags are of conflicting alias sets but have no aliased + symbols in common, add one tag to the alias set of the other. + (setup_pointers_and_addressables): Remove hack to deal with + programs with no aliased symbols. + (may_alias_p): Don't special case aggregate types. + +2004-09-14 Joseph S. Myers + + PR c/15498 + * doc/invoke.texi (Environment Variables): Correct example locale. + +2004-09-14 Jan Hubicka + + * cfg.c (expunge_block): Revert previous change adding ggc_free call. + +2004-09-14 Mark Mitchell + + * config.gcc: Do not build a shared libgcc for arm-none-eabi. + +2004-09-14 Joseph S. Myers + + * c-tree.h (struct c_declspecs): Add const_p, volatile_p and + restrict_p. + (struct c_declarator): Change u.array.quals and pointer_quals to + int. Add u.array.attrs. + (quals_from_declspecs): New. + * c-decl.c (quals_from_declspecs): New. + (shadow_tag_warned): Give more specific message for useless type + qualifiers. + (build_array_declarator, set_array_declarator_inner, + grokdeclarator, make_pointer_declarator, build_null_declspecs, + declspecs_add_qual): Update for changed structures. + +2004-09-14 Jeff Law + + * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local + to a global varray. + (tree_ssa_dominator_optimize): Allocate stmts_to_rescan. + (dom_opt_initialize_block_local_data): No longer test state + of stmts_to_rescan. + (dom_opt_finalize_block): Update due to change in scope of + stmts_to_rescan. + (optimize_stmt): Similarly. + +2004-09-14 Kazu Hirata + + * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c, + lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix + comment typos. Follow spelling conventions. + +2004-09-14 Kazu Hirata + + * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c, + config/i386/predicates.md, config/sparc/sparc.c: Follow + spelling conventions. + +2004-09-14 Zdenek Dvorak + Steven Bosscher + + * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency. + * basic-block.h (struct reorder_block_def): Add copy_number field. + * cfgloop.h (biv_p): Declare. + * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number. + * common.opt (fsplit-ivs-in-unroller): New flag. + * loop-iv.c (biv_p): New function. + * loop-unroll.c: Include hashtab.h and recog.h. + (struct iv_to_split, struct split_ivs_info): New types. + (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies, + free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn, + determine_split_iv_delta, get_ivts_expr, allocate_basic_variable, + insert_base_initialization, split_iv): New functions. + (peel_loop_completely, unroll_loop_constant_iterations, + unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): + Use them. + * doc/invoke.texi (-fsplit-ivs-in-unroller): Document. + +2004-09-14 Zdenek Dvorak + + * tree-cfg.c (thread_jumps): Update dominators correctly in + case destination of threaded edge dominates its source. + +2004-09-14 Zdenek Dvorak + + * unroll.c: Removed. + * loop.h: Removed. + * Makefile.in (LOOP_H, unroll.o): Removed. + (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H + dependency. + * alias.c (init_alias_analysis): Remove flag_old_unroll_loops + reference. + * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h. + * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed. + * loop.c: Do not include loop.h. + (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID, + REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction, + struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO, + REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg, + struct loop_regs, struct loop_movables, struct loop_info): Moved + from loop.h. + (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment, + reg_dead_after_loop, final_biv_value, loop_find_equiv_value, + find_common_reg_term, loop_iterations, final_giv_value): Moved + from unroll.c. + (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop, + loop_dump_stream, for_each_insn_in_loop, express_from, + extend_value_for_giv, loop_iv_add_mult_emit_before, + loop_iv_add_mult_sink, loop_iv_add_mult_hoist, + loop_insn_first_p, get_condition_for_loop, + loop_insn_emit_before, loop_insn_hoist, + loop_insn_sink): Made static. + (loop_invariant_p): Made static. Removed flag_old_unroll_loops + reference. + (strength_reduce): Do not call unroller. + (record_giv): Do not initialize unrolled field. + (prescan_loop): Do not set loop_info->preconditioned. + * passes.c: Do not include loop.h. + (rest_of_handle_loop_optimize): Do not call unroller. + * predict.c: Do not include loop.h. + * rtl.h (NOTE_PRECONDITIONED): Removed. + * stmt.c: Do not include loop.h. + * toplev.c: Do not include loop.h. + (process_options): Do not handle flag_old_unroll_loops. + + * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops): + Documentation removed. + * doc/passes.texi (unroll.c, loop.h): Documentation removed. + +2004-09-14 Nathan Sidwell + + * Makefile.in (STAGE1_CHECKING): New variable. + (stage1_build): Use it. + * tree-ssa.c (verify_ssa): Preserve state of dominance + information. + +2004-09-14 Uros Bizjak + + * config/i386/i386.c (output_fp_compare): Add generation + of ftst instruction. + * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): + Use output_fp_compare () function. + (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint. + (fix_truncdi_memory): Remove operands[5] copy. + +2004-09-14 Kazu Hirata + + * config/m32r/m32r.md, config/m68k/m68kelf.h, + config/mcore/mcore.md, config/rs6000/linux64.h, + config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment + typos. + +2004-09-13 James E Wilson + + * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS). + * gen-protos.c: Include errors.h. + (progname): Delete. + +2004-09-14 Jan Hubicka + + * Makefile.in (predict.o): Depend on tree-scalar-evolution.h + * predict.c: Include tree-scalar-evolution.h and cfgloop.h + (predict_loops): Use number_of_iterations_exit to predict + number of iterations on trees. + +2004-09-13 Dale Johannesen + + PR 17408 + PR 17409 + * c-decl.c (start_decl): Repair TREE_STATIC for initialized + objects declared extern. + +2004-09-14 Paul Brook + + * config/arm/arm.c (arm_expand_prologue): Make args_to_push a + HOST_WIDE_INT. + +2004-09-13 Daniel Jacobowitz + + * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES. + Only use TYPE_BINFO for aggregates. + +2004-09-13 Daniel Jacobowitz + + * expmed.c (synth_mult): Initialize latency. Check cost before + checking ops count. + +2004-09-13 Kenneth Zadeck + + * tree-ssa-operands.c (get_call_expr_operands): Added parm to + add_call_clobber_ops and add_call_read_ops. + (add_call_clobber_ops, add_call_read_ops): Added code to reduce + the number of vdefs and vuses inserted based on analysis of global + variables across calls. * tree-dfa.c (find_referenced_vars): + Needed to reset static var maps before each function is compiled. + * cgraphunit.c: + (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid, + static_vars_info,functions_to_static_vars_info,module_statics_escape, + all_module_statics,searchc_env,dfs_info): New fields to support + analysis of static global variables. + (print_order, convert_UIDs_in_bitmap, new_static_vars_info, + cgraph_reset_static_var_maps, get_global_static_vars_info, + get_global_statics_not_read, get_global_statics_not_written, + searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis, + check_rhs_var, check_lhs_var, get_asm_expr_operands, + process_call_for_static_vars, scan_for_static_refs, + cgraph_characterize_statics_local, cgraph_get_static_name_by_uid, + clear_static_vars_maps, cgraph_propagate_bits, + cgraph_characterize_statics): New. Functions to support analysis + of static global variables. + (cgraph_mark_local_and_external_functions): Renamed from: + (cgraph_mark_local_functions) + (cgraph_expand_all_functions): Remove call to + cgraph_mark_local_and_external_functions. + (cgraph_optimize): Added driver to analyze static variables whose + scope is within the compilation unit. * cgraph.h (struct + cgraph_local_info, GTY): Added statics_read, statics_written, + local, calls_read_all, calls_write_all, for_functions_valid. + (struct cgraph_node): Added next_cycle. * cgraph.c + (dump_cgraph_node): Added print routines for new fields. * + makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc + list. + +2004-09-13 Joseph S. Myers + + * c-decl.c (grokdeclarator): Correct comments about where storage + class specifiers are rejected by grammar and add corresponding + asserts. Diagnose typedefs and parameters declared inline. + Change warning for inline main to a pedwarn. Only diagnose inline + main if hosted. + (declspecs_add_scspec): Allow duplicate "inline". + +2004-09-13 Steve Ellcey + + * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New. + (TARGET_SCALAR_MODE_SUPPORTED_P): New. + +2004-09-13 Richard Henderson + + PR 17436 + * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New. + (tree_type): Replace spare with contains_placeholder_bits. + (type_contains_placeholder_1): Rename from type_contains_placeholder_p, + make static. Remove seen_types list. + (type_contains_placeholder_p): New. + 2004-09-13 James E Wilson * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.