diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2010-12-15 05:04:50 +0000 |
---|---|---|
committer | Sebastian Pop <sebastian.pop@amd.com> | 2010-12-15 05:04:50 +0000 |
commit | d41d2f463c47c675e38883a6cd2b8ac608661dfb (patch) | |
tree | 97b92d4d577f23044cf2b84c8a604efb5dab883e /gcc/sese.c | |
parent | 9dc217407f01ed8d6dc19ccbb1d8a27b35683bab (diff) |
Fix PR46845: handle scop parameters before scev analysis.
2010-12-14 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/46845
* sese.c (scalar_evolution_in_region): Handle scop parameters
before scev analysis.
* gcc.dg/graphite/id-pr46845.c: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@167844 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sese.c')
-rw-r--r-- | gcc/sese.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/sese.c b/gcc/sese.c index 3bf6beadee5..076f07a54ae 100644 --- a/gcc/sese.c +++ b/gcc/sese.c @@ -801,14 +801,16 @@ scalar_evolution_in_region (sese region, loop_p loop, tree t) struct loop *def_loop; basic_block before = block_before_sese (region); + /* SCOP parameters. */ + if (TREE_CODE (t) == SSA_NAME + && !defined_in_sese_p (t, region)) + return t; + if (TREE_CODE (t) != SSA_NAME || loop_in_sese_p (loop, region)) return instantiate_scev (before, loop, analyze_scalar_evolution (loop, t)); - if (!defined_in_sese_p (t, region)) - return t; - def = SSA_NAME_DEF_STMT (t); def_loop = loop_containing_stmt (def); |