From ce72fe6cf0447b114c9cb60fd9c21bedfaad3fbe Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Fri, 24 Apr 2009 11:05:59 +0000 Subject: [PATCH] loop-iv.c (simple_rhs_p): Allow expressions that are function_invariant_p. * loop-iv.c (simple_rhs_p): Allow expressions that are function_invariant_p. From-SVN: r146701 --- gcc/ChangeLog | 1 + gcc/loop-iv.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2ac01312b514..688783ec6057 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 diff --git a/gcc/loop-iv.c b/gcc/loop-iv.c index 23ece7eea8cb..be7fda813729 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;