diff options
author | Xinliang David Li <davidxl@google.com> | 2008-06-04 21:49:45 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@gcc.gnu.org> | 2008-06-04 21:49:45 +0000 |
commit | c2699190282c19bd5703de0a606b842774715074 (patch) | |
tree | e298fb5d3a5ce2f2f94d42716feeeb493ca9e188 /gcc/tree-pass.h | |
parent | 7db5da56edab33b9dc4ab1991ad06d023c9516b1 (diff) | |
download | gcc-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.h | 1 |
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; |