[gcc r14-7034] RISC-V: Fix loop invariant check

Pan Li panli@gcc.gnu.org
Tue Jan 9 10:22:27 GMT 2024


https://gcc.gnu.org/g:db584633e600840619bfb821d8293094ef26a668

commit r14-7034-gdb584633e600840619bfb821d8293094ef26a668
Author: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Date:   Tue Jan 9 09:24:53 2024 +0800

    RISC-V: Fix loop invariant check
    
    As Robin suggested, remove gimple_uid check which is sufficient for our need.
    
    Tested on both RV32/RV64 no regression, ok for trunk ?
    
    gcc/ChangeLog:
    
            * config/riscv/riscv-vector-costs.cc (loop_invariant_op_p): Fix loop invariant check.

Diff:
---
 gcc/config/riscv/riscv-vector-costs.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/riscv/riscv-vector-costs.cc b/gcc/config/riscv/riscv-vector-costs.cc
index 3bae581d6fd..f4a1a789f23 100644
--- a/gcc/config/riscv/riscv-vector-costs.cc
+++ b/gcc/config/riscv/riscv-vector-costs.cc
@@ -241,7 +241,7 @@ loop_invariant_op_p (class loop *loop,
   if (SSA_NAME_IS_DEFAULT_DEF (op)
       || !flow_bb_inside_loop_p (loop, gimple_bb (SSA_NAME_DEF_STMT (op))))
     return true;
-  return gimple_uid (SSA_NAME_DEF_STMT (op)) & 1;
+  return false;
 }
 
 /* Return true if the variable should be counted into liveness.  */


More information about the Gcc-cvs mailing list