The ARC code contains code which should only work with the old reload
pass. Such code is found in arc_secondary_reload hook, however it was
not properly quarded. Reverse the if-condition predicate such that
req_equiv_mem is called when lra is not in progress.

gcc/
2020-12-29  Claudiu Zissulescu  <claz...@synopsys.com>

        * config/arc/arc.c (arc_secondary_reload): Flip if-condition
        predicates.

Signed-off-by: Claudiu Zissulescu <claz...@synopsys.com>
---
 gcc/config/arc/arc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index d0a52ee8b8d..fb672c75ff4 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -901,7 +901,7 @@ arc_secondary_reload (bool in_p,
 
          /* It is a pseudo that ends in a stack location.  This
             procedure only works with the old reload step.  */
-         if (reg_equiv_mem (REGNO (x)) && !lra_in_progress)
+         if (!lra_in_progress && reg_equiv_mem (REGNO (x)))
            {
              /* Get the equivalent address and check the range of the
                 offset.  */
-- 
2.26.2

Reply via email to