diff options
author | Richard Guenther <rguenther@suse.de> | 2007-04-22 11:26:49 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-04-22 11:26:49 +0000 |
commit | e0a607311cc1cb15070da6cd2c2e10f8eeae867b (patch) | |
tree | 989716dba1a060e7c03260037932273b5ed3d9a2 /gcc/tree-vectorizer.c | |
parent | 4c9be806047605b254e608d583c371725d2bc7b4 (diff) | |
download | gcc-e0a607311cc1cb15070da6cd2c2e10f8eeae867b.zip gcc-e0a607311cc1cb15070da6cd2c2e10f8eeae867b.tar.gz gcc-e0a607311cc1cb15070da6cd2c2e10f8eeae867b.tar.bz2 |
re PR tree-optimization/29789 (Missed invariant out of the loop with conditionals and shifts)
2007-04-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/29789
* tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts.
(rewrite_reciprocal): New helper split out from
determine_invariantness_stmt.
(rewrite_bittest): Likewise.
(determine_invariantness_stmt): Rewrite (A >> B) & 1 to
A & (1 << B) if (1 << B) is loop invariant but (A >> B)
is not.
* gcc.dg/tree-ssa/ssa-lim-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-lim-2.c: Likewise.
From-SVN: r124042
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions