diff options
author | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-24 11:05:59 +0000 |
---|---|---|
committer | bernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-24 11:05:59 +0000 |
commit | cf36214f7013e7be1b087d6c02647d3ddfe38630 (patch) | |
tree | a4c8b6b2eb7f1563805ebb8e5a2e22ecef78b9a2 | |
parent | 3a40262cdba574942bb273abaad41df469624e49 (diff) | |
download | gcc-cf36214f7013e7be1b087d6c02647d3ddfe38630.tar.gz |
* loop-iv.c (simple_rhs_p): Allow expressions that are
function_invariant_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146701 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 1 | ||||
-rw-r--r-- | gcc/loop-iv.c | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ac01312b51..688783ec605 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,7 @@ * loop-iv.c (replace_single_def_regs): Look for REG_EQUAL notes; follow chains of regs with a single definition, and allow expressions that are function_invariant_p. + (simple_rhs_p): Allow expressions that are function_invariant_p. 2009-04-24 Paolo Bonzini <bonzini@gnu.org> diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index 23ece7eea8c..be7fda81372 100644 --- a/gcc/loop-iv.c +++ b/gcc/loop-iv.c @@ -1341,10 +1341,10 @@ simple_rhs_p (rtx rhs) op1 = XEXP (rhs, 1); /* Allow reg OP const and reg OP reg. */ if (!(REG_P (op0) && !HARD_REGISTER_P (op0)) - && !CONSTANT_P (op0)) + && !function_invariant_p (op0)) return false; if (!(REG_P (op1) && !HARD_REGISTER_P (op1)) - && !CONSTANT_P (op1)) + && !function_invariant_p (op1)) return false; return true; @@ -1358,7 +1358,7 @@ simple_rhs_p (rtx rhs) /* Allow reg OP const. */ if (!(REG_P (op0) && !HARD_REGISTER_P (op0))) return false; - if (!CONSTANT_P (op1)) + if (!function_invariant_p (op1)) return false; return true; |