[llvm] c0f8145 - [RISCV] Simplify and remove unrelated testcases in reassoc-shl-addi-add.ll. NFC.

Jim Lin via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 10 04:23:06 PDT 2025


Author: Jim Lin
Date: 2025-06-10T19:10:48+08:00
New Revision: c0f8145cbc177a6c86ce959e3b5d7a760680c140

URL: https://github.com/llvm/llvm-project/commit/c0f8145cbc177a6c86ce959e3b5d7a760680c140
DIFF: https://github.com/llvm/llvm-project/commit/c0f8145cbc177a6c86ce959e3b5d7a760680c140.diff

LOG: [RISCV] Simplify and remove unrelated testcases in reassoc-shl-addi-add.ll. NFC.

Added: 
    

Modified: 
    llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll b/llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
index baa9011802dac..64d542766ce4c 100644
--- a/llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
+++ b/llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
@@ -1,87 +1,14 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
 ; RUN: llc -mtriple=riscv32-unknown-elf -mattr=+zba %s -o - | FileCheck %s
 
-declare i32 @callee1(i32 noundef)
-declare i32 @callee2(i32 noundef, i32 noundef)
-declare i32 @callee(i32 noundef, i32 noundef, i32 noundef, i32 noundef)
+declare i32 @callee2(i32, i32)
+declare i32 @callee3(i32, i32, i32)
 
-define void @t1(i32 noundef %a, i32 noundef %b, i32 noundef %c, i32 noundef %d) #0 {
+; Positive test
+; The users of addi aren't more than 2
+define void @t1(i32 %a, i32 %b, i32 %c) {
 ; CHECK-LABEL: t1:
 ; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    slli a4, a0, 2
-; CHECK-NEXT:    addi a4, a4, 45
-; CHECK-NEXT:    add a1, a4, a1
-; CHECK-NEXT:    add a2, a4, a2
-; CHECK-NEXT:    sh2add a3, a0, a3
-; CHECK-NEXT:    mv a0, a1
-; CHECK-NEXT:    tail callee
-entry:
-  %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, 45
-  %add1 = add nsw i32 %add, %b
-  %add3 = add nsw i32 %add, %c
-  %add5 = add nsw i32 %shl, %d
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add1, i32 noundef %add3, i32 noundef %add5)
-  ret void
-}
-
-define void @t2(i32 noundef %a, i32 noundef %b, i32 noundef %c) #0 {
-; CHECK-LABEL: t2:
-; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    slli a0, a0, 2
-; CHECK-NEXT:    addi a5, a0, 42
-; CHECK-NEXT:    add a4, a5, a1
-; CHECK-NEXT:    add a3, a5, a2
-; CHECK-NEXT:    mv a1, a5
-; CHECK-NEXT:    mv a2, a4
-; CHECK-NEXT:    tail callee
-entry:
-  %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, 42
-  %add4 = add nsw i32 %add, %b
-  %add7 = add nsw i32 %add, %c
-  %call = tail call i32 @callee(i32 noundef %shl, i32 noundef %add, i32 noundef %add4, i32 noundef %add7)
-  ret void
-}
-
-define void @t3(i32 noundef %a, i32 noundef %b, i32 noundef %c, i32 noundef %d, i32 noundef %e) #0 {
-; CHECK-LABEL: t3:
-; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    slli a0, a0, 2
-; CHECK-NEXT:    addi a5, a0, 42
-; CHECK-NEXT:    add a0, a5, a1
-; CHECK-NEXT:    add a1, a5, a2
-; CHECK-NEXT:    add a2, a5, a3
-; CHECK-NEXT:    add a3, a5, a4
-; CHECK-NEXT:    tail callee
-entry:
-  %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, 42
-  %add1 = add nsw i32 %add, %b
-  %add2 = add nsw i32 %add, %c
-  %add3 = add nsw i32 %add, %d
-  %add4 = add nsw i32 %add, %e
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add2, i32 noundef %add3, i32 noundef %add4)
-  ret void
-}
-
-define void @t4(i32 noundef %a, i32 noundef %b) #0 {
-; CHECK-LABEL: t4:
-; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    sh2add a0, a0, a1
-; CHECK-NEXT:    addi a0, a0, 42
-; CHECK-NEXT:    tail callee1
-entry:
-  %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, 42
-  %add1 = add nsw i32 %add, %b
-  %call = tail call i32 @callee1(i32 noundef %add1)
-  ret void
-}
-
-define void @t5(i32 noundef %a, i32 noundef %b, i32 noundef %c) #0 {
-; CHECK-LABEL: t5:
-; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    sh2add a2, a0, a2
 ; CHECK-NEXT:    sh2add a0, a0, a1
 ; CHECK-NEXT:    addi a0, a0, 42
@@ -92,97 +19,68 @@ entry:
   %add = add nsw i32 %shl, 42
   %add1 = add nsw i32 %add, %b
   %add2 = add nsw i32 %add, %c
-  %call = tail call i32 @callee2(i32 noundef %add1, i32 noundef %add2)
-  ret void
-}
-
-define void @t6(i32 noundef %a, i32 noundef %b) #0 {
-; CHECK-LABEL: t6:
-; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    slli a2, a0, 2
-; CHECK-NEXT:    sh2add a0, a0, a1
-; CHECK-NEXT:    addi a0, a0, 42
-; CHECK-NEXT:    mv a1, a2
-; CHECK-NEXT:    mv a3, a2
-; CHECK-NEXT:    tail callee
-entry:
-  %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, 42
-  %add1 = add nsw i32 %add, %b
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %shl, i32 noundef %shl, i32 noundef %shl)
+  %call = tail call i32 @callee2(i32 %add1, i32 %add2)
   ret void
 }
 
-define void @t7(i32 noundef %a, i32 noundef %b) #0 {
-; CHECK-LABEL: t7:
+; Negative test
+; The users of addi are more than 2.
+define void @t2(i32 %a, i32 %b, i32 %c, i32 %d, i32 %e) {
+; CHECK-LABEL: t2:
 ; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    slli a0, a0, 2
-; CHECK-NEXT:    addi a2, a0, 42
-; CHECK-NEXT:    add a0, a2, a1
-; CHECK-NEXT:    mv a1, a2
-; CHECK-NEXT:    mv a3, a2
-; CHECK-NEXT:    tail callee
+; CHECK-NEXT:    addi a4, a0, 42
+; CHECK-NEXT:    add a0, a4, a1
+; CHECK-NEXT:    add a1, a4, a2
+; CHECK-NEXT:    add a2, a4, a3
+; CHECK-NEXT:    tail callee3
 entry:
   %shl = shl i32 %a, 2
   %add = add nsw i32 %shl, 42
   %add1 = add nsw i32 %add, %b
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add, i32 noundef %add, i32 noundef %add)
-  ret void
-}
-
-define void @t8(i32 noundef %a, i32 noundef %b, i32 noundef %c, i32 noundef %d) #0 {
-; CHECK-LABEL: t8:
-; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    lui a4, 1
-; CHECK-NEXT:    addi a4, a4, 1307
-; CHECK-NEXT:    sh3add a4, a0, a4
-; CHECK-NEXT:    add a1, a4, a1
-; CHECK-NEXT:    add a2, a4, a2
-; CHECK-NEXT:    sh3add a3, a0, a3
-; CHECK-NEXT:    mv a0, a1
-; CHECK-NEXT:    tail callee
-entry:
-  %shl = shl i32 %a, 3
-  %add = add nsw i32 %shl, 5403
-  %add1 = add nsw i32 %add, %b
-  %add3 = add nsw i32 %add, %c
-  %add5 = add nsw i32 %shl, %d
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add1, i32 noundef %add3, i32 noundef %add5)
+  %add2 = add nsw i32 %add, %c
+  %add3 = add nsw i32 %add, %d
+  %call = tail call i32 @callee3(i32 %add1, i32 %add2, i32 %add3)
   ret void
 }
 
-define void @t9(i32 noundef %a, i32 noundef %b, i32 noundef %c, i32 noundef %d) #0 {
-; CHECK-LABEL: t9:
+; Negative test
+; shl doesn't have one use.
+define void @t3(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: t3:
 ; CHECK:       # %bb.0: # %entry
 ; CHECK-NEXT:    slli a4, a0, 2
-; CHECK-NEXT:    addi a4, a4, -42
-; CHECK-NEXT:    add a1, a4, a1
-; CHECK-NEXT:    add a2, a4, a2
-; CHECK-NEXT:    sh2add a3, a0, a3
-; CHECK-NEXT:    mv a0, a1
-; CHECK-NEXT:    tail callee
+; CHECK-NEXT:    addi a5, a4, 45
+; CHECK-NEXT:    add a4, a5, a1
+; CHECK-NEXT:    add a1, a5, a2
+; CHECK-NEXT:    sh2add a2, a0, a3
+; CHECK-NEXT:    mv a0, a4
+; CHECK-NEXT:    tail callee3
 entry:
   %shl = shl i32 %a, 2
-  %add = add nsw i32 %shl, -42
+  %add = add nsw i32 %shl, 45
   %add1 = add nsw i32 %add, %b
-  %add3 = add nsw i32 %add, %c
-  %add5 = add nsw i32 %shl, %d
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add1, i32 noundef %add3, i32 noundef %add5)
+  %add2 = add nsw i32 %add, %c
+  %add3 = add nsw i32 %shl, %d
+  %call = tail call i32 @callee3(i32 %add1, i32 %add2, i32 %add3)
   ret void
 }
 
-define void @t10(i32 noundef %a, i32 noundef %b, i32 noundef %c, i32 noundef %d) #0 {
-; CHECK-LABEL: t10:
+; Negative test
+; shift amount isn't 1, 2, or 3.
+define void @t4(i32 %a, i32 %b, i32 %c, i32 %d) {
+; CHECK-LABEL: t4:
 ; CHECK:       # %bb.0: # %entry
-; CHECK-NEXT:    tail callee
+; CHECK-NEXT:    slli a0, a0, 4
+; CHECK-NEXT:    addi a3, a0, 45
+; CHECK-NEXT:    add a0, a3, a1
+; CHECK-NEXT:    add a1, a3, a2
+; CHECK-NEXT:    tail callee2
 entry:
-  %shl = shl i32 %a, -2
-  %add = add nsw i32 %shl, 42
+  %shl = shl i32 %a, 4
+  %add = add nsw i32 %shl, 45
   %add1 = add nsw i32 %add, %b
-  %add3 = add nsw i32 %add, %c
-  %add5 = add nsw i32 %shl, %d
-  %call = tail call i32 @callee(i32 noundef %add1, i32 noundef %add1, i32 noundef %add3, i32 noundef %add5)
+  %add2 = add nsw i32 %add, %c
+  %call = tail call i32 @callee2(i32 %add1, i32 %add2)
   ret void
 }
-
-attributes #0 = { nounwind optsize }


        


More information about the llvm-commits mailing list