aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.h
diff options
context:
space:
mode:
authorZdenek Dvorak <ook@ucw.cz>2008-12-12 21:32:47 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2008-12-12 20:32:47 +0000
commit771f882e18593bf51b526dc3cc75a41aaec2313c (patch)
treed2bf855f278b353dce85dfa95de900d9e0e0ca37 /gcc/tree-scalar-evolution.h
parent9c877fcc00d1510fd4a6e0d109609522f6e108e1 (diff)
downloadgcc-771f882e18593bf51b526dc3cc75a41aaec2313c.zip
gcc-771f882e18593bf51b526dc3cc75a41aaec2313c.tar.gz
gcc-771f882e18593bf51b526dc3cc75a41aaec2313c.tar.bz2
re PR tree-optimization/32044 (final value replacement too aggressive for e.g. targets with no native div/mod insns)
PR tree-optimization/32044 * tree-scalar-evolution.h (expression_expensive_p): Declare. * tree-scalar-evolution.c (expression_expensive_p): New function. (scev_const_prop): Avoid introducing expensive expressions. * tree-ssa-loop-ivopts.c (may_eliminate_iv): Ditto. * gcc.dg/pr34027-1.c: Change outcome. * gcc.dg/tree-ssa/pr32044.c: New test. From-SVN: r142719
Diffstat (limited to 'gcc/tree-scalar-evolution.h')
-rw-r--r--gcc/tree-scalar-evolution.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-scalar-evolution.h b/gcc/tree-scalar-evolution.h
index 7ba0708..0aa8837 100644
--- a/gcc/tree-scalar-evolution.h
+++ b/gcc/tree-scalar-evolution.h
@@ -35,6 +35,7 @@ extern void gather_stats_on_scev_database (void);
extern void scev_analysis (void);
unsigned int scev_const_prop (void);
+bool expression_expensive_p (tree);
extern bool simple_iv (struct loop *, gimple, tree, affine_iv *, bool);
/* Returns the basic block preceding LOOP or ENTRY_BLOCK_PTR when the