tree-call-cdce.c: New file.
authorXinliang David Li <davidxl@google.com>
Wed, 4 Jun 2008 21:49:45 +0000 (21:49 +0000)
committerXinliang David Li <davidxl@gcc.gnu.org>
Wed, 4 Jun 2008 21:49:45 +0000 (21:49 +0000)
commitc2699190282c19bd5703de0a606b842774715074
treee298fb5d3a5ce2f2f94d42716feeeb493ca9e188
parent7db5da56edab33b9dc4ab1991ad06d023c9516b1
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
13 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/doc/invoke.texi
gcc/opts.c
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cdce3.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/cdce1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/cdce2.c [new file with mode: 0644]
gcc/timevar.def
gcc/tree-call-cdce.c [new file with mode: 0644]
gcc/tree-pass.h