aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-05-01 13:19:59 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-05-01 11:19:59 +0000
commit617428e9f67b900a68a948163d4ec06b0cb477ed (patch)
treeaed5b74e9e782aef7e5816d87d575585b444115e /gcc/tree-vectorizer.c
parentfe9821b88c042f37973f4ab2866a52dcb676446c (diff)
downloadgcc-617428e9f67b900a68a948163d4ec06b0cb477ed.zip
gcc-617428e9f67b900a68a948163d4ec06b0cb477ed.tar.gz
gcc-617428e9f67b900a68a948163d4ec06b0cb477ed.tar.bz2
tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is invariant.
* tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is invariant. From-SVN: r124324
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r--gcc/tree-vectorizer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index d235a49..f635334 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -1644,6 +1644,12 @@ vect_is_simple_use (tree operand, loop_vec_info loop_vinfo, tree *def_stmt,
*dt = vect_constant_def;
return true;
}
+ if (is_gimple_min_invariant (operand))
+ {
+ *def = operand;
+ *dt = vect_invariant_def;
+ return true;
+ }
if (TREE_CODE (operand) != SSA_NAME)
{
@@ -1671,7 +1677,7 @@ vect_is_simple_use (tree operand, loop_vec_info loop_vinfo, tree *def_stmt,
if (IS_EMPTY_STMT (*def_stmt))
{
tree arg = TREE_OPERAND (*def_stmt, 0);
- if (TREE_CODE (arg) == INTEGER_CST || TREE_CODE (arg) == REAL_CST)
+ if (is_gimple_min_invariant (arg))
{
*def = operand;
*dt = vect_invariant_def;