[llvm] 5b1df2e - [LICM] Regenerate test checks (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 9 06:30:29 PDT 2022


Author: Nikita Popov
Date: 2022-09-09T15:30:17+02:00
New Revision: 5b1df2e9514adc476019ff1cc423923e8a91d8f6

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

LOG: [LICM] Regenerate test checks (NFC)

Added: 
    

Modified: 
    llvm/test/Transforms/LICM/invariant.start.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/Transforms/LICM/invariant.start.ll b/llvm/test/Transforms/LICM/invariant.start.ll
index bf0d826c2f37..b5cfab37bebd 100644
--- a/llvm/test/Transforms/LICM/invariant.start.ll
+++ b/llvm/test/Transforms/LICM/invariant.start.ll
@@ -1,12 +1,18 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt -licm -basic-aa < %s -S | FileCheck %s
 ; RUN: opt -aa-pipeline=basic-aa -passes='require<aa>,require<targetir>,require<scalar-evolution>,require<opt-remark-emit>,loop-mssa(licm)' < %s -S | FileCheck %s
 
 define void @test1(i1 %cond, i32* %ptr) {
 ; CHECK-LABEL: @test1(
-; CHECK-LABEL: entry:
-; CHECK: call {}* @llvm.invariant.start.p0i32(i64 4, i32* %ptr)
-; CHECK: %val = load i32, i32* %ptr
-; CHECK-LABEL: loop:
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[TMP0:%.*]] = call {}* @llvm.invariant.start.p0i32(i64 4, i32* [[PTR:%.*]])
+; CHECK-NEXT:    [[VAL:%.*]] = load i32, i32* [[PTR]], align 4
+; CHECK-NEXT:    br label [[LOOP:%.*]]
+; CHECK:       loop:
+; CHECK-NEXT:    [[X:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[X_INC:%.*]], [[LOOP]] ]
+; CHECK-NEXT:    [[X_INC]] = add i32 [[X]], [[VAL]]
+; CHECK-NEXT:    br label [[LOOP]]
+;
 
 entry:
   br label %loop
@@ -23,10 +29,16 @@ loop:
 ;; able to hoist the load
 define void @test2(i1 %cond, i32* %ptr) {
 ; CHECK-LABEL: @test2(
-; CHECK-LABEL: entry:
-; CHECK: %val = load i32, i32* %ptr
-; CHECK-LABEL: loop:
-; CHECK: call {}* @llvm.invariant.start.p0i32(i64 4, i32* %piv)
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[VAL:%.*]] = load i32, i32* [[PTR:%.*]], align 4
+; CHECK-NEXT:    br label [[LOOP:%.*]]
+; CHECK:       loop:
+; CHECK-NEXT:    [[X:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[X_INC:%.*]], [[LOOP]] ]
+; CHECK-NEXT:    [[PIV:%.*]] = getelementptr i32, i32* [[PTR]], i32 [[X]]
+; CHECK-NEXT:    [[TMP0:%.*]] = call {}* @llvm.invariant.start.p0i32(i64 4, i32* [[PIV]])
+; CHECK-NEXT:    [[X_INC]] = add i32 [[X]], [[VAL]]
+; CHECK-NEXT:    br label [[LOOP]]
+;
 entry:
   br label %loop
 
@@ -41,10 +53,17 @@ loop:
 
 define void @test3(i1 %cond, i32* %ptr) {
 ; CHECK-LABEL: @test3(
-; CHECK-LABEL: entry:
-; CHECK: call {}* @llvm.invariant.start.p0i32(i64 4, i32* %ptr)
-; CHECK: %val = load i32, i32* %ptr
-; CHECK-LABEL: loop:
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    [[TMP0:%.*]] = call {}* @llvm.invariant.start.p0i32(i64 4, i32* [[PTR:%.*]])
+; CHECK-NEXT:    [[VAL:%.*]] = load i32, i32* [[PTR]], align 4
+; CHECK-NEXT:    [[P2:%.*]] = getelementptr i32, i32* [[PTR]], i32 1
+; CHECK-NEXT:    br label [[LOOP:%.*]]
+; CHECK:       loop:
+; CHECK-NEXT:    [[X:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[X_INC:%.*]], [[LOOP]] ]
+; CHECK-NEXT:    store volatile i32 0, i32* [[P2]], align 4
+; CHECK-NEXT:    [[X_INC]] = add i32 [[X]], [[VAL]]
+; CHECK-NEXT:    br label [[LOOP]]
+;
 entry:
   br label %loop
 
@@ -62,11 +81,16 @@ loop:
 ; on first iteration, but we don't bother checking for that currently
 define void @test4(i1 %cond, i32* %ptr) {
 ; CHECK-LABEL: @test4(
-; CHECK-LABEL: entry:
-; CHECK-LABEL: loop:
-; CHECK:   store i32 0, i32* %ptr
-; CHECK: call {}* @llvm.invariant.start.p0i32(i64 4, i32* %ptr)
-; CHECK: %val = load i32, i32* %ptr
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br label [[LOOP:%.*]]
+; CHECK:       loop:
+; CHECK-NEXT:    [[X:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[X_INC:%.*]], [[LOOP]] ]
+; CHECK-NEXT:    store i32 0, i32* [[PTR:%.*]], align 4
+; CHECK-NEXT:    [[TMP0:%.*]] = call {}* @llvm.invariant.start.p0i32(i64 4, i32* [[PTR]])
+; CHECK-NEXT:    [[VAL:%.*]] = load i32, i32* [[PTR]], align 4
+; CHECK-NEXT:    [[X_INC]] = add i32 [[X]], [[VAL]]
+; CHECK-NEXT:    br label [[LOOP]]
+;
 entry:
   br label %loop
 
@@ -82,11 +106,17 @@ loop:
 ; don't try to reason about scopes
 define void @test5(i1 %cond, i32* %ptr) {
 ; CHECK-LABEL: @test5(
-; CHECK-LABEL: entry:
-; CHECK-LABEL: loop:
-; CHECK:   store i32 0, i32* %ptr
-; CHECK: call {}* @llvm.invariant.start.p0i32(i64 4, i32* %ptr)
-; CHECK: %val = load i32, i32* %ptr
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br label [[LOOP:%.*]]
+; CHECK:       loop:
+; CHECK-NEXT:    [[X:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[X_INC:%.*]], [[LOOP]] ]
+; CHECK-NEXT:    store i32 0, i32* [[PTR:%.*]], align 4
+; CHECK-NEXT:    [[SCOPE:%.*]] = call {}* @llvm.invariant.start.p0i32(i64 4, i32* [[PTR]])
+; CHECK-NEXT:    [[VAL:%.*]] = load i32, i32* [[PTR]], align 4
+; CHECK-NEXT:    call void @llvm.invariant.end.p0i32({}* [[SCOPE]], i64 4, i32* [[PTR]])
+; CHECK-NEXT:    [[X_INC]] = add i32 [[X]], [[VAL]]
+; CHECK-NEXT:    br label [[LOOP]]
+;
 entry:
   br label %loop
 


        


More information about the llvm-commits mailing list