diff options
author | Richard Guenther <rguenther@suse.de> | 2007-01-22 11:11:00 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-01-22 11:11:00 +0000 |
commit | 2f397a93c0b178cb905f5ce0de61c4ea94d5fa9a (patch) | |
tree | 4e252e76c93f9c1a661427d2bf5a5d9b4e1dfcf9 /gcc/passes.c | |
parent | 609610af72877b0ddadef9c20301d0b367e7ddc4 (diff) | |
download | gcc-2f397a93c0b178cb905f5ce0de61c4ea94d5fa9a.zip gcc-2f397a93c0b178cb905f5ce0de61c4ea94d5fa9a.tar.gz gcc-2f397a93c0b178cb905f5ce0de61c4ea94d5fa9a.tar.bz2 |
re PR tree-optimization/30038 (Call to sin(x), cos(x) should be transformed to sincos(x))
2007-01-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30038
* tree-ssa-math-opts.c (maybe_record_sincos): New static helper
function.
(execute_cse_sincos_1): Likewise.
(execute_cse_sincos): Likewise.
(gate_cse_sincos): Likewise.
(pass_cse_sincos): New pass CSEing sin() and cos() calls using
the cexpi() canonicalization of sincos().
* tree-pass.h (pass_cse_sincos): Declare.
* passes.c (init_optimization_passes): New pass pas_cse_sincos.
* gcc.dg/builtins-62.c: New testcase.
From-SVN: r121052
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 0ab5f48..2e17599 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -573,6 +573,7 @@ init_optimization_passes (void) NEXT_PASS (pass_store_ccp); NEXT_PASS (pass_store_copy_prop); NEXT_PASS (pass_fold_builtins); + NEXT_PASS (pass_cse_sincos); /* FIXME: May alias should a TODO but for 4.0.0, we add may_alias right after fold builtins which can create arbitrary GIMPLE. */ |