aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2008-06-04 21:49:45 +0000
committerXinliang David Li <davidxl@gcc.gnu.org>2008-06-04 21:49:45 +0000
commitc2699190282c19bd5703de0a606b842774715074 (patch)
treee298fb5d3a5ce2f2f94d42716feeeb493ca9e188 /gcc/tree-pass.h
parent7db5da56edab33b9dc4ab1991ad06d023c9516b1 (diff)
downloadgcc-c2699190282c19bd5703de0a606b842774715074.zip
gcc-c2699190282c19bd5703de0a606b842774715074.tar.gz
gcc-c2699190282c19bd5703de0a606b842774715074.tar.bz2
tree-call-cdce.c: New file.
2008-06-04 Xinliang David Li <davidxl@google.com> * tree-call-cdce.c: New file. (cond_dead_built_in_calls): New static variable. (input_domain): New struct. (check_pow): New function. (check_builtin_call): Ditto. (check_target_format): Ditto. (is_call_dce_candidate): Ditto. (gen_one_condition): Ditto. (gen_conditions_for_domain): Ditto. (get_domain): Ditto. (gen_conditions_for_pow_cst_base): Ditto. (gen_conditions_for_pow_int_base): Ditto. (gen_conditions_for_pow): Ditto. (get_no_error_domain): Ditto. (gen_shrink_wrap_conditions): Ditto. (shrink_wrap_one_built_in_call): Ditto. (shink_wrap_conditional_dead_built_in_calls): Ditto. (tree_call_cdce): Ditto. (gate_call_cdce): Ditto. (pass_call_cdce): New gimple pass. * passes.c: (init_optimization_passes): New pass. * tree-pass.h: New pass declaration. * opts.c (decode_options): New flag setting. * common.opt: Add -ftree-builtin-call-dce flag. * Makefile.in: Add new source file. * tempvar.def: New tv_id. * doc/invoke.texi (-ftree-builtin-call-dce): New flag. 2008-06-04 Xinliang David Li <davidxl@google.com> * gcc.dg/cdce1.c: New test. * gcc.dg/cdce2.c: Ditto. * g++.dg/cdce3.C: Ditto. From-SVN: r136374
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r--gcc/tree-pass.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index 916df71..ea5aae0 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -337,6 +337,7 @@ extern struct gimple_opt_pass pass_dominator;
extern struct gimple_opt_pass pass_dce;
extern struct gimple_opt_pass pass_dce_loop;
extern struct gimple_opt_pass pass_cd_dce;
+extern struct gimple_opt_pass pass_call_cdce;
extern struct gimple_opt_pass pass_merge_phi;
extern struct gimple_opt_pass pass_split_crit_edges;
extern struct gimple_opt_pass pass_pre;