gcc/gcc ChangeLog.tree-ssa common.opt flags.h ...
amacleod@gcc.gnu.org
amacleod@gcc.gnu.org
Fri Nov 14 16:50:00 GMT 2003
CVSROOT: /cvs/gcc
Module name: gcc
Branch: tree-ssa-20020619-branch
Changes by: amacleod@gcc.gnu.org 2003-11-14 16:50:02
Modified files:
gcc : ChangeLog.tree-ssa common.opt flags.h
fold-const.c opts.c toplev.c tree-ssa-live.c
tree-ssa-live.h tree-ssa.c
Log message:
2003-11-14 Andrew MacLeod <amacleod@redhat.com>
* common.opt (ftree-ter): Document new option.
* flags.h (flag_tree_ter): Add new flag.
* fold-const.c (invert_truthvalue): Don't ignore cast to BOOLEAN_TYPE.
* opts.c (decode_options): Option -ftree-ter defaults to on.
(common_handle_option): Add processing for flag_tree_ter.
* toplev.c (flag_tree_ter): Initialize to 0.
(lang_independent_options f_): Add -ftree-ter flag.
* tree-ssa-live.c (init_var_map): Initialize ref_count to 0.
(delete_var_map): Free ref count if allocated.
(register_ssa_partition): Add "is_use" parameter for reference counting.
(create_ssa_var_map): Add flag and code for calculating ref counts.
* tree-ssa-live.h (struct _var_map): Add ref_count field.
(SSA_VAR_MAP_REF_COUNT): Define flag.
(version_ref_count): Function to retreive ref_count.
* tree-ssa.c (replace_variable): If an expression vector is passed in,
use replacement expression instead of mapped variable when available.
(struct value_expr_d): New structure for value lists.
(struct temp_expr_table_d): Structure used to build an expression
replacement table.
(new_temp_expr_table): New. Create a new TER (Temporary Expression
Replacement) table.
(free_temp_expr_table): New. Free a TER table.
(new_value_expr): New. Allocate a value list element.
(free_value_expr): New. Free a value list element.
(find_value_in_list): New. Find a value in a list.
(add_value_to_list): New. Add a value to a list if not already present.
(remove_value_from_list): New. Remove a value from a list.
(add_dependance): New. Add a dependency to an expression.
(check_replaceable): New. Check if a stmt is a candidate for TER. Add
to active list and create dependancies if so.
(finish_expr): New. Remove an expression from TER consideration.
(mark_replaceable): New. Finish a TER expression as a valid replacement.
(kill_expr): New. Finish dependent TER expressions as not replaceable.
(kill_virtual_exprs): New. Finish any TER expressions dependent on a
virtual operand as not replaceable.
(find_replaceable_in_bb): New. Process a basic block for TER expression.
(find_replaceable_exprs): New. Entry point for TER expression finder.
(dump_replaceable_exprs): New. output list of replaceable expressions.
(rewrite_out_of_ssa): Build TER table if requested, and use it.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.tree-ssa.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.865&r2=1.1.2.866
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/common.opt.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.14.2.8&r2=1.14.2.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/flags.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.86.2.37&r2=1.86.2.38
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.213.2.62&r2=1.213.2.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/opts.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.31.2.16&r2=1.31.2.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/toplev.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.654.2.74&r2=1.654.2.75
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-live.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.24&r2=1.1.2.25
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-live.h.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.2.9&r2=1.1.2.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa.c.diff?cvsroot=gcc&only_with_tag=tree-ssa-20020619-branch&r1=1.1.4.151&r2=1.1.4.152
More information about the Gcc-cvs
mailing list