1. 09 Apr, 2005 20 commits
    • re PR target/20795 (ICE in assign_parms) · 1b803355
      	PR target/20795
      	* config/i386/i386.c (construct_container): Pass empty aligned
      	struct, union or class in memory.
      
      	* g++.dg/abi/param2.C: New test.
      
      From-SVN: r97912
      Jakub Jelinek committed
    • * cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove. · b305db71
      From-SVN: r97911
      Kazu Hirata committed
    • cp-tree.h (EXCEPTION_CLEANUP_NAME, [...]): Remove. · ecd99204
      	* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
      	CONV_STATIC_CAST): Remove.
      
      From-SVN: r97910
      Kazu Hirata committed
    • cp-tree.h (EXCEPTION_CLEANUP_NAME, [...]): Remove. · a457d98c
      	* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
      	CONV_STATIC_CAST): Remove.
      
      From-SVN: r97908
      Kazu Hirata committed
    • * cp-tree.h (DECL_ARRAY_DELETE_OPERATOR_P): Remove. · eac02e59
      From-SVN: r97907
      Kazu Hirata committed
    • * cp-tree.h (cxx_alignof): Remove. · 9c45842f
      From-SVN: r97906
      Kazu Hirata committed
    • sched-int.h (haifa_insn_data): Remove blockage and units. · 728522c3
      	* sched-int.h (haifa_insn_data): Remove blockage and units.
      	(INSN_UNIT, INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK,
      	ENCODE_BLOCKAGE, UNIT_BLOCKED, BLOCKAGE_RANGE,
      	MIN_BLOCKAGE_COST, MAX_BLOCKAGE_COST): Remove.
      
      From-SVN: r97905
      Kazu Hirata committed
    • dominance.c, [...]: Fix comment typos. · f3b569ca
      	* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
      	tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c,
      	config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h,
      	config/rs6000/predicates.md: Fix comment typos.
      
      From-SVN: r97904
      Kazu Hirata committed
    • cfglayout.c (copy_bbs): Rename n_edges to num_edges. · 7b0cab99
      	* cfglayout.c (copy_bbs): Rename n_edges to num_edges.
      	* cfgloop.c (get_loop_exit_edges): Likewise.
      	* cfgloopmanip.c (fix_irreducible_loops): Likewise.
      	(unloop): Likewise.
      	* loop-unroll.c (analyze_insns_in_loop): Likewise.
      	* tree-cfg.c (dump_cfg_status): Likewise.
      
      Co-Authored-By: Steven Bosscher <stevenb@suse.de>
      
      From-SVN: r97903
      Jan Hubicka committed
    • predicates.md (altivec_register_operand): Remove redundant match_code test. · 5b296c8a
              * config/rs6000/predicates.md (altivec_register_operand): Remove
              redundant match_code test.
              (gpc_reg_operand): Same.
              (cc_reg_operand): Same.
              (cc_reg_not_cr0_operand): Same.
      
      From-SVN: r97902
      David Edelsohn committed
    • Forgotten hunk from my last merge patch: · 0be0a2be
      	* final.c (output_addr_const): Do not call mark_referenced.
      
      From-SVN: r97897
      Jan Hubicka committed
    • tree-ssa.texi: Add immediate use documentation. · 43ae1e1c
      
      
      2005-04-09  Andrew MacLeod  <amacleod@redhat.com>
      
      	* doc/tree-ssa.texi: Add immediate use documentation.
      
      From-SVN: r97895
      Andrew MacLeod committed
    • arm.c (FL_WBUF): Define. · abac3b49
      	* arm.c (FL_WBUF): Define.
      	(arm_tune_strongarm): Renamed from arm_is_strong.  All uses changed.
      	(arm_is_6_or_7): Delete.
      	(arm_tune_wbuf): New.
      	(arm_override_options): Set arm_tune_wbuf.
      	* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
      	(arm_is_6_or_7): Delete declaration.
      	(arm_tune_wbuf): New declartion.
      	* arm.md (is_strongarm): Derive from arm_tune_strongarm.
      	(model_wbuf): Derive from arm_tune_wbuf.
      	* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
      	(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
      	(arm740t): Mark CPUs as having a write buffer.
      
      From-SVN: r97894
      Richard Earnshaw committed
    • match.c (match_arithmetic_if): Remove gfc_ prefix and correct comment according… · 835d64ab
      match.c (match_arithmetic_if): Remove gfc_ prefix and correct comment according to GNU coding style.
      
      	* match.c (match_arithmetic_if): Remove gfc_ prefix and correct
      	comment according to GNU coding style.
      
      From-SVN: r97890
      Francois-Xavier Coudert committed
    • i386.md (*fp_jcc_7_387): Use 'const0_operand' instead of 'const_double_operand'… · 17153653
      i386.md (*fp_jcc_7_387): Use 'const0_operand' instead of 'const_double_operand' in operand 2 constraints.
      
      	* config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
      	of 'const_double_operand' in operand 2 constraints.  Update enable
      	condition.
      
      From-SVN: r97887
      Uros Bizjak committed
    • * builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL) · d8b42d06
      	(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
      	* optabs.h (enum optab_index): Add new OTI_lfloor.
      	(lfloor_optab): Define corresponding macro.
      	* optabs.c (init_optabs): Initialize lfloor_optab.
      	* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
      	and lfloordi2 patterns.
      
      	* builtins.c (expand_builtin_int_roundingfn): New prototype.
      	(expand_builtin_int_roundingfn): New function.
      	(fold_builtin_int_roundingfn): New prototype.
      	(fold_builtin_int_roundingfn): New function, renamed from
      	fold_builtin_lround.
      	Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
      	BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
      	(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
      	BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
      	(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
      	(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
      	BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.
      
      	* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
      	into lfloor built-in function and (long long int)floor{,f,l} into
      	llfloor built-in function.
      	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
      	BUILT_IN_LLFLOOR.
      
      testsuite:
      
      	* gcc.dg/builtins-53.c: New test.
      
      From-SVN: r97886
      Uros Bizjak committed
    • c-common.def: Move FOR_STMT... · fbc315db
      ./	* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
      	CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def.
      	* c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h.
      	(DO_COND, DO_BODY): Likewise.
      	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise.
      	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise.
      	(c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT,
      	BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT.
      	(build_continue_stmt, build_break_stmt): Don't declare.
      	(c_do_switch_warnings): Update declaration.
      	* c-gimplify.c (enum bc_t): Remove.
      	(struct c_gimplify_ctx, ctxp): Remove.
      	(push_context, pop_context): Remove static functions.
      	(c_genericize): Don't call push_context or pop_context.
      	(begin_bc_block, finish_bc_block): Remove static functions.
      	(build_bc_goto): Likewise.
      	(gimplify_c_loop): Likewise.
      	(gimplify_for_stmt, gimplify_while_stmt): Likewise.
      	(gimplify_do_stmt, gimplify_switch_stmt): Likewise.
      	(c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT,
      	DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
      	* c-common.c (c_do_switch_warnings): Rename from
      	c_do_switch_warnings_1.
      	(c_do_switch_warnings) [old version]: Remove.
      	(c_do_switch_expr_warnings): Remove.
      	* c-typeck.c (c_finish_case): Call new c_do_switch_warnings
      	function instead of c_do_switch_expr_warnings.
      	* c-dump.c (c_dump_tree): Remove handling of BREAK_STMT,
      	CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT.
      	* c-pretty-print.c (pp_c_statement): Likewise.
      	* c-semantics.c (build_break_stmt, build_continue_stmt): Remove.
      cp/
      	* cp-tree.def: Define FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
      	CONTINUE_STMT, SWITCH_STMT.
      	* cp-tree.h (cp_stmt_codes): Add FOR_STMT, WHILE_STMT, DO_STMT,
      	BREAK_STMT, CONTINUE_STMT, SWITCH_STMT.
      	(WHILE_COND, WHILE_BODY): Define.
      	(DO_COND, DO_BODY): Define.
      	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Define.
      	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Define.
      	* cp-gimplify.c (enum bc_t): Define.
      	(struct cp_gimplify_ctx, ctxp): Define.
      	(push_context, pop_context): New static functions.
      	(begin_bc_block, finish_bc_block): New static functions.
      	(build_bc_goto): New static function.
      	(gimplify_cp_loop, gimplify_for_stmt): New static functions.
      	(gimplify_while_stmt, gimplify_do_stmt): Likewise.
      	(gimplify_switch_stmt): Likewise.
      	(cp_gimplify_expr): Handle FOR_STMT, WHILE_STMT, DO_STMT,
      	SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
      	(cp_genericize): Call push_context and pop_context.
      	* semantics.c (finish_break_stmt): Just call build_stmt
      	(BREAK_STMT) rather than build_break_stmt.
      	(finish_continue_stmt): Corresponding change.
      	* decl.c (pop_switch): Update call to c_do_switch_warnings for new
      	parameters.
      	* cxx-pretty-print.c (pp_cxx_statement): Handle SWITCH_STMT,
      	WHILE_STMT, DO_STMT, FOR_STMT, BREAK_STMT, CONTINUE_STMT.
      	* dump.c (cp_dump_tree): Likewise.
      
      From-SVN: r97885
      Ian Lance Taylor committed
    • backport: copy-prop, incremental SSA updating of FUD chains and newly exposed symbols. · 0bca51f0
      
      	Merge from tree-cleanup-branch: VRP, store CCP, store
      	    copy-prop, incremental SSA updating of FUD chains and
      	    newly exposed symbols.
      
      	* Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h.
      	(OBJS-common): Add tree-vrp.o.
      	(tree-vrp.o): New rule.
      	* basic-block.h (nearest_common_dominator_for_set): Declare.
      	* common.opt (ftree-store-ccp): New flag.
      	(ftree-copy-prop): New flag.
      	(ftree-vrp): New flag.
      	(ftree-store-copy-prop): New flag.
      	* dominance.c (nearest_common_dominator_for_set): New.
      	* domwalk.c (walk_dominator_tree): Only traverse
      	statements in blocks marked in walk_data->interesting_blocks.
      	* domwalk.h (struct dom_walk_data): Add field interesting_blocks.
      	* fold-const.c (fold): Handle ASSERT_EXPR.
      	* opts.c (decode_options): Set flag_tree_copy_prop at -O1.
      	Set flag_tree_store_ccp, flag_tree_store_copy_prop and
      	flag_tree_vrp at -O2.
      	* timevar.def (TV_TREE_VRP): Define.
      	(TV_TREE_COPY_PROP): Define.
      	(TV_TREE_STORE_COPY_PROP): Define.
      	(TV_TREE_SSA_INCREMENTAL): Define.
      	(TV_TREE_STORE_CCP): Define.
      	* tree-cfg.c (tree_can_merge_blocks_p): Remove reference
      	to kill_redundant_phi_nodes from comment.
      	(verify_expr): Handle ASSERT_EXPR.
      	* tree-dfa.c (mark_new_vars_to_rename): Remove second
      	argument.  Update all users.
      	(mark_call_clobbered_vars_to_rename): Remove.  Update all
      	users.
      	* tree-flow-inline.h (unmodifiable_var_p): New.
      	* tree-flow.h (enum value_range_type): Declare.
      	(struct value_range_def): Declare.
      	(value_range): Declare.
      	(remove_all_phi_nodes_for): Remove.  Update all users.
      	(find_phi_node_for): Declare.
      	(add_type_alias): Declare.
      	(count_uses_and_derefs): Declare.
      	(kill_redundant_phi_nodes): Remove.
      	(rewrite_into_ssa): Remove.
      	(rewrite_def_def_chains): Remove.
      	(update_ssa, register_new_name_mapping, create_new_def_for,
      	need_ssa_update_p, name_registered_for_update_p,
      	release_ssa_name_after_update_ssa, dump_repl_tbl,
      	debug_repl_tbl, dump_names_replaced_by,
      	debug_names_replaced_by, mark_sym_for_renaming,
      	mark_set_for_renaming, get_current_def, set_current_def,
      	get_value_range, dump_value_range, debug_value_range,
      	dump_all_value_ranges, debug_all_value_ranges,
      	expr_computes_nonzero, loop_depth_of_name,
      	unmodifiable_var_p): Declare.
      	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle
      	ASSERT_EXPR.
      	* tree-into-ssa.c (block_defs_stack): Update comment.
      	(old_ssa_names, new_ssa_names, old_virtual_ssa_names,
      	syms_to_rename, names_to_release, repl_tbl,
      	need_to_initialize_update_ssa_p, need_to_update_vops_p,
      	need_to_replace_names_p): New locals.
      	(NAME_SETS_GROWTH_FACTOR): Define.
      	(struct repl_map_d): Declare.
      	(struct mark_def_sites_global_data): Add field
      	interesting_blocks.
      	(enum rewrite_mode): Declare.
      	(REGISTER_DEFS_IN_THIS_STMT): Define.
      	(compute_global_livein): Use last_basic_block instead of
      	n_basic_blocks.
      	(set_def_block): Remove last argument.  Update all callers.
      	(prepare_use_operand_for_rename): Remove.  Update all callers.
      	(prepare_def_operand_for_rename): Remove.  Update all callers.
      	(symbol_marked_for_renaming): New.
      	(is_old_name): New.
      	(is_new_name): New.
      	(repl_map_hash): New.
      	(repl_map_eq): New.
      	(repl_map_free): New.
      	(names_replaced_by): New.
      	(add_to_repl_tbl): New.
      	(add_new_name_mapping): New.
      	(mark_def_sites): Assume that all the operands in the
      	statement are in normal form.
      	(find_idf): Assert that the block in the stack is valid.
      	(get_default_def_for): New.
      	(insert_phi_nodes_for): Add new argument 'update_p'.
      	Add documentation.
      	If update_p is true, add a new mapping between the LHS of
      	each new PHI and the name that it replaces.
      	(insert_phi_nodes_1): Only call find_idf if needed.
      	(get_reaching_def): Call get_default_def_for.
      	(rewrite_operand): Remove.
      	(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT
      	and REWRITE_THIS_STMT are false.
      	Assume that all the operands in the statement are in
      	normal form.
      	(rewrite_add_phi_arguments): Don't use PHI_REWRITTEN.
      	(rewrite_virtual_phi_arguments): Remove.
      	(invalidate_name_tags): Remove.
      	(register_new_update_single, register_new_update_set,
      	rewrite_update_init_block, replace_use,
      	rewrite_update_fini_block, rewrite_update_stmt,
      	rewrite_update_phi_arguments): New.
      	rewrite_blocks): Remove argument 'fix_virtual_phis'.
      	Add arguments 'entry', 'what' and 'blocks'.
      	Initialize the dominator walker according to 'what' and
      	'blocks'.
      	Start the dominator walk at 'entry'.
      	(mark_def_site_blocks): Add argument 'interesting_blocks'.
      	Use it to configure the dominator walker.
      	(rewrite_into_ssa): Remove argument 'all'.
      	Make internal.
      	(rewrite_all_into_ssa): Remove.
      	(rewrite_def_def_chains): Remove.
      	(mark_def_interesting, mark_use_interesting,
      	prepare_phi_args_for_update, prepare_block_for_update,
      	prepare_def_site_for, prepare_def_sites,
      	dump_names_replaced_by, debug_names_replaced_by,
      	dump_repl_tbl, debug_repl_tbl, init_update_ssa,
      	delete_update_ssa, create_new_def_for,
      	register_new_name_mapping, mark_sym_for_renaming,
      	mark_set_for_renaming, need_ssa_update_p,
      	name_registered_for_update_p, ssa_names_to_replace,
      	release_ssa_name_after_update_ssa,
      	insert_updated_phi_nodes_for, update_ssa): New.
      	* tree-loop-linear.c (linear_transform_loops): Call
      	update_ssa instead of rewrite_into_ssa.
      	* tree-optimize.c (vars_to_rename): Remove.
      	Update all users.
      	(init_tree_optimization_passes): Replace
      	pass_redundant_phi with pass_copy_prop.
      	Add pass_vrp.
      	Replace pass_ccp with pass_store_ccp.
      	Add pass_store_copy_prop after pass_store_ccp.
      	(execute_todo): If the TODO_ flags don't include updating
      	the SSA form, assert that it does not need to be updated.
      	Call update_ssa instead of rewrite_into_ssa and
      	rewrite_def_def_chains.
      	If TODO_verify_loops is set, call verify_loop_closed_ssa.
      	(tree_rest_of_compilation):
      	* tree-pass.h (TODO_dump_func, TODO_ggc_collect,
      	TODO_verify_ssa, TODO_verify_flow, TODO_verify_stmts,
      	TODO_cleanup_cfg): Renumber.
      	(TODO_verify_loops, TODO_update_ssa,
      	TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
      	TODO_update_ssa_only_virtuals): Define.
      	(pass_copy_prop, pass_store_ccp, pass_store_copy_prop, pass_vrp):
      	Declare.
      	* tree-phinodes.c (make_phi_node): Update documentation.
      	(remove_all_phi_nodes_for): Remove.
      	(find_phi_node_for): New.
      	* tree-pretty-print.c (dump_generic_node): Handle ASSERT_EXPR.
      	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
      	(interpret_rhs_modify_expr): Likewise.
      	* tree-sra.c (decide_instantiations): Mark all symbols in
      	SRA_CANDIDATES for renaming.
      	(mark_all_v_defs_1): Rename from mark_all_v_defs.
      	(mark_all_v_defs): New function.  Update all users to call it
      	with the whole list of scalarized statements, not just the
      	first one.
      	* tree-ssa-alias.c (count_ptr_derefs): Make extern.
      	(compute_flow_insensitive_aliasing): If the tag is
      	unmodifiable and the variable isn't or vice-versa, don't
      	make them alias of each other.
      	(setup_pointers_and_addressables): If the type tag for
      	VAR is about to change, mark the old one for renaming.
      	(add_type_alias): New.
      	* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
      	(ccp_lattice_t): Rename from latticevalue.
      	(value): Remove.  Update all users.
      	(const_val): New local variable.
      	(do_store_ccp): New local variable.
      	(dump_lattice_value): Handle UNINITIALIZED.
      	(debug_lattice_value): New.
      	(get_default_value): Re-write.
      	(set_lattice_value): Re-write.
      	(def_to_varying): Remove.  Update all users.
      	(likely_value): Return VARYING for statements that make
      	stores when STORE_CCP is false.
      	Return VARYING for any statement other than MODIFY_EXPR,
      	COND_EXPR and SWITCH_EXPR.
      	(ccp_initialize): Re-write.
      	(replace_uses_in, replace_vuse_in, substitute_and_fold):
      	Move to tree-ssa-propagate.c.
      	(ccp_lattice_meet): Handle memory stores when
      	DO_STORE_CCP is true.
      	(ccp_visit_phi_node): Likewise.
      	(ccp_fold): Likewise.
      	(evaluate_stmt): Likewise.
      	(visit_assignment): Likewise.
      	(ccp_visit_stmt): Likewise.
      	(execute_ssa_ccp): Add argument 'store_ccp'.  Copy it
      	into DO_STORE_CCP.
      	(do_ssa_ccp): New.
      	(pass_ccp): Use it.
      	(do_ssa_store_ccp): New.
      	(gate_store_ccp): New.
      	(pass_store_ccp): Declare.
      	* tree-ssa-copy.c: Include tree-ssa-propagate.h.
      	(may_propagate_copy): Reformat.
      	Don't abort if ORIG is a virtual and DEST isn't.
      	If NEW does not have alias information but DEST does,
      	copy it.
      	(copy_of, cached_last_copy_of, do_store_copy_prop, enum
      	copy_prop_kind, which_copy_prop): Declare.
      	(stmt_may_generate_copy, get_copy_of_val,
      	get_last_copy_of, set_copy_of_val, dump_copy_of,
      	copy_prop_visit_assignment, copy_prop_visit_cond_stmt,
      	copy_prop_visit_stmt, copy_prop_visit_phi_node,
      	init_copy_prop, fini_copy_prop, execute_copy_prop,
      	gate_copy_prop, do_copy_prop, gate_store_copy_prop,
      	store_copy_prop): New.
      	(pass_copy_prop, pass_store_copy_prop): Declare.
      	* tree-ssa-dom.c (struct opt_stats_d): Add fields
      	'num_const_prop' and 'num_copy_prop'.
      	(cprop_operand): Update them.
      	(dump_dominator_optimization_stats): Dump them.
      	(tree_ssa_dominator_optimize): Call update_ssa instead of
      	rewrite_into_ssa.
      	(loop_depth_of_name): Declare extern.
      	(simplify_cond_and_lookup_avail_expr): Guard against NULL
      	values for LOW or HIGH.
      	(cprop_into_successor_phis): Only propagate if NEW != ORIG.
      	(record_equivalences_from_stmt): Call expr_computes_nonzero.
      	(cprop_operand): Only propagate if VAL != OP.
      	* tree-ssa-dse.c (dse_optimize_stmt): Mark symbols in removed
      	statement for renaming.
      	* tree-ssa-loop-im.c (move_computations): Call update_ssa.
      	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call
      	add_type_alias if necessary.
      	Call mark_new_vars_to_rename.
      	(tree_ssa_iv_optimize): If new symbols need to be renamed,
      	mark every statement updated, call update_ssa and
      	rewrite_into_loop_closed_ssa.
      	* tree-ssa-loop-manip.c (add_exit_phis): Do not remove DEF_BB
      	from LIVEIN if VAR is a virtual.
      	* tree-ssa-loop.c (tree_loop_optimizer_init): Call update_ssa.
      	* tree-ssa-operands.c (get_expr_operands): Handle ASSERT_EXPR.
      	(get_call_expr_operands): Reformat statement.
      	(add_stmt_operand): Don't create V_MAY_DEFs for read-only
      	symbols.
      	* tree-ssa-propagate.c (ssa_prop_init): Initialize
      	SSA_NAME_VALUE for every name.
      	(first_vdef, stmt_makes_single_load, stmt_makes_single_store,
      	get_value_loaded_by): New.
      	(replace_uses_in, replace_vuses_in, replace_phi_args_in,
      	substitute_and_fold): Move from tree-ssa-ccp.c.
      	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t,
      	first_vdef, stmt_makes_single_load, stmt_makes_single_store,
      	get_value_loaded_by, replace_uses_in, substitute_and_fold):
      	Declare.
      	* tree-ssa.c (verify_use): Fix error message.
      	(propagate_into_addr, replace_immediate_uses, get_eq_name,
      	check_phi_redundancy, kill_redundant_phi_nodes,
      	pass_redundant_phi): Remove.  Update all users.
      	* tree-vect-transform.c (vect_create_data_ref_ptr): Call
      	add_type_alias, if necessary.
      	* tree-vectorizer.h (struct _stmt_vect_info): Update
      	documentation for field 'memtag'.
      	* tree-vrp.c: New file.
      	* tree.def (ASSERT_EXPR): Define.
      	* tree.h (ASSERT_EXPR_VAR): Define.
      	(ASSERT_EXPR_COND): Define.
      	(SSA_NAME_VALUE_RANGE): Define.
      	(struct tree_ssa_name): Add field 'value_range'.
      	(PHI_REWRITTEN): Remove.
      	(struct tree_phi_node): Remove field 'rewritten'.
      	* doc/invoke.texi (-fdump-tree-storeccp, -ftree-copy-prop,
      	-ftree-store-copy-prop): Document.
      	* doc/tree-ssa.texi: Remove broken link to McCAT's compiler.
      	Document usage of update_ssa.
      
      testsuite/ChangeLog
      
      	* g++.dg/tree-ssa/pr18178.C: New test.
      	* gcc.c-torture/execute/20030216-1.x: Ignore at -O1.
      	* gcc.c-torture/execute/20041019-1.c: New test.
      	* gcc.dg/tree-ssa/20041008-1.c: New test.
      	* gcc.dg/tree-ssa/ssa-ccp-12.c: New test.
      	* gcc.dg/tree-ssa/20030731-2.c: Update to use -fdump-tree-store_ccp.
      	* gcc.dg/tree-ssa/20030917-1.c: Likewise.
      	* gcc.dg/tree-ssa/20030917-3.c: Likewise.
      	* gcc.dg/tree-ssa/20040721-1.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-1.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-2.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-3.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-7.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-ccp-9.c: Likewise.
      
      From-SVN: r97884
      Diego Novillo committed
    • Daily bump. · 45f9480e
      [[Split portion of a mixed commit.]]
      
      From-SVN: r97880.2
      GCC Administrator committed
    • re PR libstdc++/20909 (incorrect floating point format) · eaf727f9
      2005-04-08  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/20909
      	* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
      	Don't even try to group numbers like 2e20, i.e., no decimal
      	point, scientific notation.
      	* testsuite/22_locale/num_put/put/char/20909.cc: New.
      	* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
      
      From-SVN: r97873
      Paolo Carlini committed
  2. 08 Apr, 2005 20 commits