diff options
author | Tim Northover <tnorthover@apple.com> | 2019-08-03 14:28:34 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2019-08-03 14:28:34 +0000 |
commit | a009a60a917bc30940422bcef73f8270566d78db (patch) | |
tree | 585c11f151ecd35dd07677ae76c12aee922c9a7f /llvm/test/Transforms/FunctionAttrs | |
parent | 6bf861298a117f82f453021bc355a1fe38ca818b (diff) | |
download | bcm5719-llvm-a009a60a917bc30940422bcef73f8270566d78db.tar.gz bcm5719-llvm-a009a60a917bc30940422bcef73f8270566d78db.zip |
IR: print value numbers for unnamed function arguments
For consistency with normal instructions and clarity when reading IR,
it's best to print the %0, %1, ... names of function arguments in
definitions.
Also modifies the parser to accept IR in that form for obvious reasons.
llvm-svn: 367755
Diffstat (limited to 'llvm/test/Transforms/FunctionAttrs')
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/align.ll | 28 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll | 4 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/dereferenceable.ll | 24 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/liveness.ll | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/naked_functions.ll | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/noalias_returned.ll | 8 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll | 32 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/nosync.ll | 78 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/nounwind.ll | 6 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/readnone.ll | 8 | ||||
-rw-r--r-- | llvm/test/Transforms/FunctionAttrs/willreturn.ll | 56 |
11 files changed, 124 insertions, 124 deletions
diff --git a/llvm/test/Transforms/FunctionAttrs/align.ll b/llvm/test/Transforms/FunctionAttrs/align.ll index f40e6f254dc..d762d516d9a 100644 --- a/llvm/test/Transforms/FunctionAttrs/align.ll +++ b/llvm/test/Transforms/FunctionAttrs/align.ll @@ -7,27 +7,27 @@ target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; TEST 1 -; ATTRIBUTOR: define align 8 i32* @test1(i32* returned align 8) -define i32* @test1(i32* align 8) #0 { +; ATTRIBUTOR: define align 8 i32* @test1(i32* returned align 8 %0) +define i32* @test1(i32* align 8 %0) #0 { ret i32* %0 } ; TEST 2 -; ATTRIBUTOR: define i32* @test2(i32* returned) -define i32* @test2(i32*) #0 { +; ATTRIBUTOR: define i32* @test2(i32* returned %0) +define i32* @test2(i32* %0) #0 { ret i32* %0 } ; TEST 3 -; ATTRIBUTOR: define align 4 i32* @test3(i32* align 8, i32* align 4, i1) -define i32* @test3(i32* align 8, i32* align 4, i1) #0 { +; ATTRIBUTOR: define align 4 i32* @test3(i32* align 8 %0, i32* align 4 %1, i1 %2) +define i32* @test3(i32* align 8 %0, i32* align 4 %1, i1 %2) #0 { %ret = select i1 %2, i32* %0, i32* %1 ret i32* %ret } ; TEST 4 -; ATTRIBUTOR: define align 32 i32* @test4(i32* align 32, i32* align 32, i1) -define i32* @test4(i32* align 32, i32* align 32, i1) #0 { +; ATTRIBUTOR: define align 32 i32* @test4(i32* align 32 %0, i32* align 32 %1, i1 %2) +define i32* @test4(i32* align 32 %0, i32* align 32 %1, i1 %2) #0 { %ret = select i1 %2, i32* %0, i32* %1 ret i32* %ret } @@ -82,8 +82,8 @@ define i32* @test6_2() #0 { @a2 = common global i8 0, align 16 ; Function Attrs: nounwind readnone ssp uwtable -define internal i8* @f1(i8* readnone) local_unnamed_addr #0 { -; ATTRIBUTOR: define internal nonnull align 8 i8* @f1(i8* nonnull readnone align 8) +define internal i8* @f1(i8* readnone %0) local_unnamed_addr #0 { +; ATTRIBUTOR: define internal nonnull align 8 i8* @f1(i8* nonnull readnone align 8 %0) %2 = icmp eq i8* %0, null br i1 %2, label %3, label %5 @@ -98,8 +98,8 @@ define internal i8* @f1(i8* readnone) local_unnamed_addr #0 { } ; Function Attrs: nounwind readnone ssp uwtable -define internal i8* @f2(i8* readnone) local_unnamed_addr #0 { -; ATTRIBUTOR: define internal nonnull align 8 i8* @f2(i8* nonnull readnone align 8) +define internal i8* @f2(i8* readnone %0) local_unnamed_addr #0 { +; ATTRIBUTOR: define internal nonnull align 8 i8* @f2(i8* nonnull readnone align 8 %0) %2 = icmp eq i8* %0, null br i1 %2, label %5, label %3 @@ -120,8 +120,8 @@ define internal i8* @f2(i8* readnone) local_unnamed_addr #0 { } ; Function Attrs: nounwind readnone ssp uwtable -define internal i8* @f3(i8* readnone) local_unnamed_addr #0 { -; ATTRIBUTOR: define internal nonnull align 8 i8* @f3(i8* nonnull readnone align 16) +define internal i8* @f3(i8* readnone %0) local_unnamed_addr #0 { +; ATTRIBUTOR: define internal nonnull align 8 i8* @f3(i8* nonnull readnone align 16 %0) %2 = icmp eq i8* %0, null br i1 %2, label %3, label %5 diff --git a/llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll b/llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll index 2a149e436b6..d2f194facba 100644 --- a/llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll +++ b/llvm/test/Transforms/FunctionAttrs/comdat-ipo.ll @@ -3,14 +3,14 @@ ; See PR26774 -; CHECK-LABEL: define void @bar(i8* readonly) { +; CHECK-LABEL: define void @bar(i8* readonly %0) { define void @bar(i8* readonly) { call void @foo(i8* %0) ret void } -; CHECK-LABEL: define linkonce_odr void @foo(i8* readonly) { +; CHECK-LABEL: define linkonce_odr void @foo(i8* readonly %0) { define linkonce_odr void @foo(i8* readonly) { call void @bar(i8* %0) ret void diff --git a/llvm/test/Transforms/FunctionAttrs/dereferenceable.ll b/llvm/test/Transforms/FunctionAttrs/dereferenceable.ll index 16459fc4c42..a9a2c26498a 100644 --- a/llvm/test/Transforms/FunctionAttrs/dereferenceable.ll +++ b/llvm/test/Transforms/FunctionAttrs/dereferenceable.ll @@ -4,16 +4,16 @@ ; TEST 1 ; take mininimum of return values ; -define i32* @test1(i32* dereferenceable(4), double* dereferenceable(8), i1 zeroext) local_unnamed_addr { -; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test1(i32* nonnull dereferenceable(4), double* nonnull dereferenceable(8), i1 zeroext) +define i32* @test1(i32* dereferenceable(4) %0, double* dereferenceable(8) %1, i1 zeroext %2) local_unnamed_addr { +; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test1(i32* nonnull dereferenceable(4) %0, double* nonnull dereferenceable(8) %1, i1 zeroext %2) %4 = bitcast double* %1 to i32* %5 = select i1 %2, i32* %0, i32* %4 ret i32* %5 } ; TEST 2 -define i32* @test2(i32* dereferenceable_or_null(4), double* dereferenceable(8), i1 zeroext) local_unnamed_addr { -; ATTRIBUTOR: define dereferenceable_or_null(4) i32* @test2(i32* dereferenceable_or_null(4), double* nonnull dereferenceable(8), i1 zeroext) +define i32* @test2(i32* dereferenceable_or_null(4) %0, double* dereferenceable(8) %1, i1 zeroext %2) local_unnamed_addr { +; ATTRIBUTOR: define dereferenceable_or_null(4) i32* @test2(i32* dereferenceable_or_null(4) %0, double* nonnull dereferenceable(8) %1, i1 zeroext %2) %4 = bitcast double* %1 to i32* %5 = select i1 %2, i32* %0, i32* %4 ret i32* %5 @@ -21,21 +21,21 @@ define i32* @test2(i32* dereferenceable_or_null(4), double* dereferenceable(8), ; TEST 3 ; GEP inbounds -define i32* @test3_1(i32* dereferenceable(8)) local_unnamed_addr { -; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test3_1(i32* nonnull dereferenceable(8)) +define i32* @test3_1(i32* dereferenceable(8) %0) local_unnamed_addr { +; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test3_1(i32* nonnull dereferenceable(8) %0) %ret = getelementptr inbounds i32, i32* %0, i64 1 ret i32* %ret } -define i32* @test3_2(i32* dereferenceable_or_null(32)) local_unnamed_addr { +define i32* @test3_2(i32* dereferenceable_or_null(32) %0) local_unnamed_addr { ; FIXME: Argument should be mark dereferenceable because of GEP `inbounds`. -; ATTRIBUTOR: define nonnull dereferenceable(16) i32* @test3_2(i32* dereferenceable_or_null(32)) +; ATTRIBUTOR: define nonnull dereferenceable(16) i32* @test3_2(i32* dereferenceable_or_null(32) %0) %ret = getelementptr inbounds i32, i32* %0, i64 4 ret i32* %ret } -define i32* @test3_3(i32* dereferenceable(8), i32* dereferenceable(16), i1) local_unnamed_addr { -; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test3_3(i32* nonnull dereferenceable(8), i32* nonnull dereferenceable(16), i1) local_unnamed_addr +define i32* @test3_3(i32* dereferenceable(8) %0, i32* dereferenceable(16) %1, i1 %2) local_unnamed_addr { +; ATTRIBUTOR: define nonnull dereferenceable(4) i32* @test3_3(i32* nonnull dereferenceable(8) %0, i32* nonnull dereferenceable(16) %1, i1 %2) local_unnamed_addr %ret1 = getelementptr inbounds i32, i32* %0, i64 1 %ret2 = getelementptr inbounds i32, i32* %1, i64 2 %ret = select i1 %2, i32* %ret1, i32* %ret2 @@ -45,8 +45,8 @@ define i32* @test3_3(i32* dereferenceable(8), i32* dereferenceable(16), i1) loca ; TEST 4 ; Better than known in IR. -define dereferenceable(4) i32* @test4(i32* dereferenceable(8)) local_unnamed_addr { -; ATTRIBUTOR: define nonnull dereferenceable(8) i32* @test4(i32* nonnull returned dereferenceable(8)) +define dereferenceable(4) i32* @test4(i32* dereferenceable(8) %0) local_unnamed_addr { +; ATTRIBUTOR: define nonnull dereferenceable(8) i32* @test4(i32* nonnull returned dereferenceable(8) %0) ret i32* %0 } diff --git a/llvm/test/Transforms/FunctionAttrs/liveness.ll b/llvm/test/Transforms/FunctionAttrs/liveness.ll index 42ef89cfe8a..ce42506ae48 100644 --- a/llvm/test/Transforms/FunctionAttrs/liveness.ll +++ b/llvm/test/Transforms/FunctionAttrs/liveness.ll @@ -17,7 +17,7 @@ define i32 @volatile_load(i32*) norecurse nounwind uwtable { } ; CHECK: Function Attrs: nofree norecurse nosync nounwind uwtable willreturn -; CHECK-NEXT: define internal i32 @internal_load(i32* nonnull) +; CHECK-NEXT: define internal i32 @internal_load(i32* nonnull %0) define internal i32 @internal_load(i32*) norecurse nounwind uwtable { %2 = load i32, i32* %0, align 4 ret i32 %2 diff --git a/llvm/test/Transforms/FunctionAttrs/naked_functions.ll b/llvm/test/Transforms/FunctionAttrs/naked_functions.ll index d34dc0c20d9..c4996d4e7e9 100644 --- a/llvm/test/Transforms/FunctionAttrs/naked_functions.ll +++ b/llvm/test/Transforms/FunctionAttrs/naked_functions.ll @@ -20,6 +20,6 @@ entry: unreachable } -; CHECK: define internal i32 @foo(i32*) +; CHECK: define internal i32 @foo(i32* %0) attributes #0 = { naked } diff --git a/llvm/test/Transforms/FunctionAttrs/noalias_returned.ll b/llvm/test/Transforms/FunctionAttrs/noalias_returned.ll index 1b20946ebfe..2cffec7f2e7 100644 --- a/llvm/test/Transforms/FunctionAttrs/noalias_returned.ll +++ b/llvm/test/Transforms/FunctionAttrs/noalias_returned.ll @@ -60,8 +60,8 @@ define i8* @bar() nounwind uwtable { ret i8* %1 } -; CHECK: define noalias i8* @foo1(i32) -define i8* @foo1(i32) nounwind uwtable { +; CHECK: define noalias i8* @foo1(i32 %0) +define i8* @foo1(i32 %0) nounwind uwtable { %2 = icmp eq i32 %0, 0 br i1 %2, label %5, label %3 @@ -125,8 +125,8 @@ return: ; TEST 8 -; CHECK: define noalias i8* @test8(i32*) -define i8* @test8(i32*) nounwind uwtable { +; CHECK: define noalias i8* @test8(i32* %0) +define i8* @test8(i32* %0) nounwind uwtable { %2 = tail call noalias i8* @malloc(i64 4) %3 = icmp ne i32* %0, null br i1 %3, label %4, label %5 diff --git a/llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll b/llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll index 16364b5a51f..ceb49d4a347 100644 --- a/llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll +++ b/llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll @@ -29,11 +29,11 @@ define void @only_return() #0 { ; } ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define void @only_free(i8* nocapture) local_unnamed_addr +; FNATTR-NEXT: define void @only_free(i8* nocapture %0) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: nofree -; ATTRIBUTOR-NEXT: define void @only_free(i8* nocapture) local_unnamed_addr #1 -define void @only_free(i8* nocapture) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define void @only_free(i8* nocapture %0) local_unnamed_addr #1 +define void @only_free(i8* nocapture %0) local_unnamed_addr #0 { tail call void @free(i8* %0) #1 ret void } @@ -51,22 +51,22 @@ define void @only_free(i8* nocapture) local_unnamed_addr #0 { ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define void @free_in_scc1(i8* nocapture) local_unnamed_addr +; FNATTR-NEXT: define void @free_in_scc1(i8* nocapture %0) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: nofree -; ATTRIBUTOR-NEXT :define void @free_in_scc1(i8* nocapture) local_unnamed_addr -define void @free_in_scc1(i8* nocapture) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT :define void @free_in_scc1(i8* nocapture %0) local_unnamed_addr +define void @free_in_scc1(i8* nocapture %0) local_unnamed_addr #0 { tail call void @free_in_scc2(i8* %0) #1 ret void } ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define void @free_in_scc2(i8* nocapture) local_unnamed_addr +; FNATTR-NEXT: define void @free_in_scc2(i8* nocapture %0) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: nofree -; ATTRIBUTOR: define void @free_in_scc2(i8* nocapture) local_unnamed_addr -define void @free_in_scc2(i8* nocapture) local_unnamed_addr #0 { +; ATTRIBUTOR: define void @free_in_scc2(i8* nocapture %0) local_unnamed_addr +define void @free_in_scc2(i8* nocapture %0) local_unnamed_addr #0 { tail call void @free_in_scc1(i8* %0) tail call void @free(i8* %0) #1 ret void @@ -109,11 +109,11 @@ define void @mutual_recursion2() #0 { ; } ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define void @_Z9delete_opPc(i8*) local_unnamed_addr +; FNATTR-NEXT: define void @_Z9delete_opPc(i8* %0) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: nofree -; ATTRIBUTOR-NEXT: define void @_Z9delete_opPc(i8*) local_unnamed_addr #1 -define void @_Z9delete_opPc(i8*) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define void @_Z9delete_opPc(i8* %0) local_unnamed_addr #1 +define void @_Z9delete_opPc(i8* %0) local_unnamed_addr #0 { %2 = icmp eq i8* %0, null br i1 %2, label %4, label %3 @@ -129,11 +129,11 @@ define void @_Z9delete_opPc(i8*) local_unnamed_addr #0 { ; TEST 6 (negative case) ; Call realloc ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define noalias i8* @call_realloc(i8* nocapture, i64) local_unnamed_addr +; FNATTR-NEXT: define noalias i8* @call_realloc(i8* nocapture %0, i64 %1) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: nofree -; ATTRIBUTOR-NEXT: define noalias i8* @call_realloc(i8* nocapture, i64) local_unnamed_addr -define noalias i8* @call_realloc(i8* nocapture, i64) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define noalias i8* @call_realloc(i8* nocapture %0, i64 %1) local_unnamed_addr +define noalias i8* @call_realloc(i8* nocapture %0, i64 %1) local_unnamed_addr #0 { %ret = tail call i8* @realloc(i8* %0, i64 %1) #2 ret i8* %ret } @@ -196,7 +196,7 @@ define void @call_both() #0 { ; TEST 10 (positive case) ; Call intrinsic function ; FNATTRS: Function Attrs: noinline readnone speculatable -; FNATTRS-NEXT: declare float @llvm.floor.f32(float) +; FNATTRS-NEXT: declare float @llvm.floor.f32(float %0) ; ATTRIBUTOR: Function Attrs: nounwind readnone speculatable ; ATTRIBUTOR-NEXT: declare float @llvm.floor.f32(float) declare float @llvm.floor.f32(float) diff --git a/llvm/test/Transforms/FunctionAttrs/nosync.ll b/llvm/test/Transforms/FunctionAttrs/nosync.ll index 0769a1744ab..1d7f46af203 100644 --- a/llvm/test/Transforms/FunctionAttrs/nosync.ll +++ b/llvm/test/Transforms/FunctionAttrs/nosync.ll @@ -43,10 +43,10 @@ entry: ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define i32 @load_monotonic(i32* nocapture readonly) +; FNATTR-NEXT: define i32 @load_monotonic(i32* nocapture readonly %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @load_monotonic(i32* nocapture readonly) -define i32 @load_monotonic(i32* nocapture readonly) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define i32 @load_monotonic(i32* nocapture readonly %0) +define i32 @load_monotonic(i32* nocapture readonly %0) norecurse nounwind uwtable { %2 = load atomic i32, i32* %0 monotonic, align 4 ret i32 %2 } @@ -59,10 +59,10 @@ define i32 @load_monotonic(i32* nocapture readonly) norecurse nounwind uwtable { ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define void @store_monotonic(i32* nocapture) +; FNATTR-NEXT: define void @store_monotonic(i32* nocapture %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define void @store_monotonic(i32* nocapture) -define void @store_monotonic(i32* nocapture) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define void @store_monotonic(i32* nocapture %0) +define void @store_monotonic(i32* nocapture %0) norecurse nounwind uwtable { store atomic i32 10, i32* %0 monotonic, align 4 ret void } @@ -75,11 +75,11 @@ define void @store_monotonic(i32* nocapture) norecurse nounwind uwtable { ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define i32 @load_acquire(i32* nocapture readonly) +; FNATTR-NEXT: define i32 @load_acquire(i32* nocapture readonly %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define i32 @load_acquire(i32* nocapture readonly) -define i32 @load_acquire(i32* nocapture readonly) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define i32 @load_acquire(i32* nocapture readonly %0) +define i32 @load_acquire(i32* nocapture readonly %0) norecurse nounwind uwtable { %2 = load atomic i32, i32* %0 acquire, align 4 ret i32 %2 } @@ -91,11 +91,11 @@ define i32 @load_acquire(i32* nocapture readonly) norecurse nounwind uwtable { ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define void @load_release(i32* nocapture) +; FNATTR-NEXT: define void @load_release(i32* nocapture %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define void @load_release(i32* nocapture) -define void @load_release(i32* nocapture) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define void @load_release(i32* nocapture %0) +define void @load_release(i32* nocapture %0) norecurse nounwind uwtable { store atomic volatile i32 10, i32* %0 release, align 4 ret void } @@ -103,11 +103,11 @@ define void @load_release(i32* nocapture) norecurse nounwind uwtable { ; TEST 6 - negative volatile, relaxed atomic ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define void @load_volatile_release(i32* nocapture) +; FNATTR-NEXT: define void @load_volatile_release(i32* nocapture %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define void @load_volatile_release(i32* nocapture) -define void @load_volatile_release(i32* nocapture) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define void @load_volatile_release(i32* nocapture %0) +define void @load_volatile_release(i32* nocapture %0) norecurse nounwind uwtable { store atomic volatile i32 10, i32* %0 release, align 4 ret void } @@ -119,11 +119,11 @@ define void @load_volatile_release(i32* nocapture) norecurse nounwind uwtable { ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define void @volatile_store(i32*) +; FNATTR-NEXT: define void @volatile_store(i32* %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define void @volatile_store(i32*) -define void @volatile_store(i32*) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define void @volatile_store(i32* %0) +define void @volatile_store(i32* %0) norecurse nounwind uwtable { store volatile i32 14, i32* %0, align 4 ret void } @@ -136,11 +136,11 @@ define void @volatile_store(i32*) norecurse nounwind uwtable { ; } ; FNATTR: Function Attrs: nofree norecurse nounwind uwtable -; FNATTR-NEXT: define i32 @volatile_load(i32*) +; FNATTR-NEXT: define i32 @volatile_load(i32* %0) ; ATTRIBUTOR: Function Attrs: nofree norecurse nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define i32 @volatile_load(i32*) -define i32 @volatile_load(i32*) norecurse nounwind uwtable { +; ATTRIBUTOR-NEXT: define i32 @volatile_load(i32* %0) +define i32 @volatile_load(i32* %0) norecurse nounwind uwtable { %2 = load volatile i32, i32* %0, align 4 ret i32 %2 } @@ -184,22 +184,22 @@ define void @call_might_sync() nounwind uwtable noinline { ; volatile operation in same scc. Call volatile_load defined in TEST 8. ; FNATTR: Function Attrs: nofree noinline nounwind uwtable -; FNATTR-NEXT: define i32 @scc1(i32*) +; FNATTR-NEXT: define i32 @scc1(i32* %0) ; ATTRIBUTOR: Function Attrs: nofree noinline nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define i32 @scc1(i32*) -define i32 @scc1(i32*) noinline nounwind uwtable { +; ATTRIBUTOR-NEXT: define i32 @scc1(i32* %0) +define i32 @scc1(i32* %0) noinline nounwind uwtable { tail call void @scc2(i32* %0); %val = tail call i32 @volatile_load(i32* %0); ret i32 %val; } ; FNATTR: Function Attrs: nofree noinline nounwind uwtable -; FNATTR-NEXT: define void @scc2(i32*) +; FNATTR-NEXT: define void @scc2(i32* %0) ; ATTRIBUTOR: Function Attrs: nofree noinline nounwind uwtable ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR-NEXT: define void @scc2(i32*) -define void @scc2(i32*) noinline nounwind uwtable { +; ATTRIBUTOR-NEXT: define void @scc2(i32* %0) +define void @scc2(i32* %0) noinline nounwind uwtable { tail call i32 @scc1(i32* %0); ret void; } @@ -224,10 +224,10 @@ define void @scc2(i32*) noinline nounwind uwtable { %"struct.std::__atomic_base" = type { i8 } ; FNATTR: Function Attrs: nofree norecurse nounwind -; FNATTR-NEXT: define void @foo1(i32* nocapture, %"struct.std::atomic"* nocapture) +; FNATTR-NEXT: define void @foo1(i32* nocapture %0, %"struct.std::atomic"* nocapture %1) ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR: define void @foo1(i32*, %"struct.std::atomic"*) -define void @foo1(i32*, %"struct.std::atomic"*) { +; ATTRIBUTOR: define void @foo1(i32* %0, %"struct.std::atomic"* %1) +define void @foo1(i32* %0, %"struct.std::atomic"* %1) { store i32 100, i32* %0, align 4 fence release %3 = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %1, i64 0, i32 0, i32 0 @@ -236,10 +236,10 @@ define void @foo1(i32*, %"struct.std::atomic"*) { } ; FNATTR: Function Attrs: nofree norecurse nounwind -; FNATTR-NEXT: define void @bar(i32* nocapture readnone, %"struct.std::atomic"* nocapture readonly) +; FNATTR-NEXT: define void @bar(i32* nocapture readnone %0, %"struct.std::atomic"* nocapture readonly %1) ; ATTRIBUTOR-NOT: nosync -; ATTRIBUTOR: define void @bar(i32*, %"struct.std::atomic"*) -define void @bar(i32 *, %"struct.std::atomic"*) { +; ATTRIBUTOR: define void @bar(i32* %0, %"struct.std::atomic"* %1) +define void @bar(i32* %0, %"struct.std::atomic"* %1) { %3 = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %1, i64 0, i32 0, i32 0 br label %4 @@ -256,10 +256,10 @@ define void @bar(i32 *, %"struct.std::atomic"*) { ; TEST 13 - Fence syncscope("singlethread") seq_cst ; FNATTR: Function Attrs: nofree norecurse nounwind -; FNATTR-NEXT: define void @foo1_singlethread(i32* nocapture, %"struct.std::atomic"* nocapture) +; FNATTR-NEXT: define void @foo1_singlethread(i32* nocapture %0, %"struct.std::atomic"* nocapture %1) ; ATTRIBUTOR: Function Attrs: nofree nosync -; ATTRIBUTOR: define void @foo1_singlethread(i32*, %"struct.std::atomic"*) -define void @foo1_singlethread(i32*, %"struct.std::atomic"*) { +; ATTRIBUTOR: define void @foo1_singlethread(i32* %0, %"struct.std::atomic"* %1) +define void @foo1_singlethread(i32* %0, %"struct.std::atomic"* %1) { store i32 100, i32* %0, align 4 fence syncscope("singlethread") release %3 = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %1, i64 0, i32 0, i32 0 @@ -268,10 +268,10 @@ define void @foo1_singlethread(i32*, %"struct.std::atomic"*) { } ; FNATTR: Function Attrs: nofree norecurse nounwind -; FNATTR-NEXT: define void @bar_singlethread(i32* nocapture readnone, %"struct.std::atomic"* nocapture readonly) +; FNATTR-NEXT: define void @bar_singlethread(i32* nocapture readnone %0, %"struct.std::atomic"* nocapture readonly %1) ; ATTRIBUTOR: Function Attrs: nofree nosync -; ATTRIBUTOR: define void @bar_singlethread(i32*, %"struct.std::atomic"*) -define void @bar_singlethread(i32 *, %"struct.std::atomic"*) { +; ATTRIBUTOR: define void @bar_singlethread(i32* %0, %"struct.std::atomic"* %1) +define void @bar_singlethread(i32* %0, %"struct.std::atomic"* %1) { %3 = getelementptr inbounds %"struct.std::atomic", %"struct.std::atomic"* %1, i64 0, i32 0, i32 0 br label %4 diff --git a/llvm/test/Transforms/FunctionAttrs/nounwind.ll b/llvm/test/Transforms/FunctionAttrs/nounwind.ll index 1625d12e91e..fa2dddd31ae 100644 --- a/llvm/test/Transforms/FunctionAttrs/nounwind.ll +++ b/llvm/test/Transforms/FunctionAttrs/nounwind.ll @@ -50,9 +50,9 @@ define void @call_non_nounwind(){ ; return -1; ; } -; CHECK: define i32 @maybe_throw(i1 zeroext) -; ATTRIBUTOR: define i32 @maybe_throw(i1 zeroext) -define i32 @maybe_throw(i1 zeroext) { +; CHECK: define i32 @maybe_throw(i1 zeroext %0) +; ATTRIBUTOR: define i32 @maybe_throw(i1 zeroext %0) +define i32 @maybe_throw(i1 zeroext %0) { br i1 %0, label %2, label %3 2: ; preds = %1 diff --git a/llvm/test/Transforms/FunctionAttrs/readnone.ll b/llvm/test/Transforms/FunctionAttrs/readnone.ll index b5a5b30ae21..b18aab539b6 100644 --- a/llvm/test/Transforms/FunctionAttrs/readnone.ll +++ b/llvm/test/Transforms/FunctionAttrs/readnone.ll @@ -1,14 +1,14 @@ ; RUN: opt < %s -functionattrs -S | FileCheck %s ; RUN: opt < %s -passes=function-attrs -S | FileCheck %s -; CHECK: define void @bar(i8* nocapture readnone) -define void @bar(i8* readonly) { +; CHECK: define void @bar(i8* nocapture readnone %0) +define void @bar(i8* readonly %0) { call void @foo(i8* %0) ret void } -; CHECK: define void @foo(i8* nocapture readnone) -define void @foo(i8* readonly) { +; CHECK: define void @foo(i8* nocapture readnone %0) +define void @foo(i8* readonly %0) { call void @bar(i8* %0) ret void } diff --git a/llvm/test/Transforms/FunctionAttrs/willreturn.ll b/llvm/test/Transforms/FunctionAttrs/willreturn.ll index eb1dbb1342c..6d7d35a5108 100644 --- a/llvm/test/Transforms/FunctionAttrs/willreturn.ll +++ b/llvm/test/Transforms/FunctionAttrs/willreturn.ll @@ -26,11 +26,11 @@ define void @only_return() #0 { ; } ; FNATTR: Function Attrs: noinline nounwind readnone uwtable -; FNATTR-NEXT: define i32 @fib(i32) +; FNATTR-NEXT: define i32 @fib(i32 %0) ; FIXME: missing willreturn ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @fib(i32) local_unnamed_addr -define i32 @fib(i32) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define i32 @fib(i32 %0) local_unnamed_addr +define i32 @fib(i32 %0) local_unnamed_addr #0 { %2 = icmp slt i32 %0, 2 br i1 %2, label %9, label %3 @@ -58,11 +58,11 @@ define i32 @fib(i32) local_unnamed_addr #0 { ; FNATTR: Function Attrs: noinline norecurse nounwind readnone uwtable ; FNATTR-NOT: willreturn -; FNATTR-NEXT: define i32 @fact_maybe_not_halt(i32) local_unnamed_addr +; FNATTR-NEXT: define i32 @fact_maybe_not_halt(i32 %0) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable ; ATTRIBUTOR-NOT: willreturn -; ATTRIBUTOR-NEXT: define i32 @fact_maybe_not_halt(i32) local_unnamed_addr -define i32 @fact_maybe_not_halt(i32) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define i32 @fact_maybe_not_halt(i32 %0) local_unnamed_addr +define i32 @fact_maybe_not_halt(i32 %0) local_unnamed_addr #0 { %2 = icmp eq i32 %0, 0 br i1 %2, label %11, label %3 @@ -94,10 +94,10 @@ define i32 @fact_maybe_not_halt(i32) local_unnamed_addr #0 { ; FIXME: missing willreturn ; FNATTR: Function Attrs: noinline norecurse nounwind readnone uwtable -; FNATTR-NEXT: define i32 @fact_loop(i32) +; FNATTR-NEXT: define i32 @fact_loop(i32 %0) ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @fact_loop(i32) local_unnamed_addr -define i32 @fact_loop(i32) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define i32 @fact_loop(i32 %0) local_unnamed_addr +define i32 @fact_loop(i32 %0) local_unnamed_addr #0 { %2 = icmp slt i32 %0, 1 br i1 %2, label %3, label %5 @@ -153,7 +153,7 @@ define void @mutual_recursion2() #0 { ; FNATTR-NEXT: declare void @exit(i32) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noreturn ; ATTRIBUTOR-NEXT: declare void @exit(i32) local_unnamed_add -declare void @exit(i32) local_unnamed_addr noreturn +declare void @exit(i32 %0) local_unnamed_addr noreturn ; FNATTR: Function Attrs: noinline nounwind uwtable ; FNATTR-NOT: willreturn @@ -178,11 +178,11 @@ define void @only_exit() local_unnamed_addr #0 { ; } ; FNATTR: Function Attrs: noinline nounwind uwtable ; FNATTR-NOT: willreturn -; FNATTR-NEXT: define void @conditional_exit(i32, i32* nocapture readonly) local_unnamed_addr +; FNATTR-NEXT: define void @conditional_exit(i32 %0, i32* nocapture readonly %1) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: willreturn -; ATTRIBUTOR-NEXT: define void @conditional_exit(i32, i32* nocapture readonly) local_unnamed_addr -define void @conditional_exit(i32, i32* nocapture readonly) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define void @conditional_exit(i32 %0, i32* nocapture readonly %1) local_unnamed_addr +define void @conditional_exit(i32 %0, i32* nocapture readonly %1) local_unnamed_addr #0 { %3 = icmp eq i32 %0, 0 br i1 %3, label %5, label %4 @@ -207,7 +207,7 @@ define void @conditional_exit(i32, i32* nocapture readonly) local_unnamed_addr # ; Call intrinsic function ; FIXME: missing willreturn ; FNATTRS: Function Attrs: noinline readnone speculatable -; FNATTRS-NEXT: declare float @llvm.floor.f32(float) +; FNATTRS-NEXT: declare float @llvm.floor.f32(float %0) ; ATTRIBUTOR: Function Attrs: nounwind readnone speculatable ; ATTRIBUTOR-NEXT: declare float @llvm.floor.f32(float) declare float @llvm.floor.f32(float) @@ -335,10 +335,10 @@ declare i32 @__gxx_personality_v0(...) ; FIXME: missing willreturn ; FNATTR: Function Attrs: noinline norecurse nounwind readonly uwtable -; FNATTR-NEXT: define i32 @loop_constant_trip_count(i32* nocapture readonly) +; FNATTR-NEXT: define i32 @loop_constant_trip_count(i32* nocapture readonly %0) ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @loop_constant_trip_count(i32* nocapture readonly) -define i32 @loop_constant_trip_count(i32* nocapture readonly) #0 { +; ATTRIBUTOR-NEXT: define i32 @loop_constant_trip_count(i32* nocapture readonly %0) +define i32 @loop_constant_trip_count(i32* nocapture readonly %0) #0 { br label %3 ; <label>:2: ; preds = %3 @@ -368,11 +368,11 @@ define i32 @loop_constant_trip_count(i32* nocapture readonly) #0 { ; } ; FNATTR: Function Attrs: noinline norecurse nounwind readonly uwtable ; FNATTR-NOT: willreturn -; FNATTR-NEXT: define i32 @loop_trip_count_unbound(i32, i32, i32* nocapture readonly, i32) local_unnamed_addr +; FNATTR-NEXT: define i32 @loop_trip_count_unbound(i32 %0, i32 %1, i32* nocapture readonly %2, i32 %3) local_unnamed_addr ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable ; ATTRIBUTOR-NOT: willreturn -; ATTRIBUTOR-NEXT: define i32 @loop_trip_count_unbound(i32, i32, i32* nocapture readonly, i32) local_unnamed_addr -define i32 @loop_trip_count_unbound(i32, i32, i32* nocapture readonly, i32) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define i32 @loop_trip_count_unbound(i32 %0, i32 %1, i32* nocapture readonly %2, i32 %3) local_unnamed_addr +define i32 @loop_trip_count_unbound(i32 %0, i32 %1, i32* nocapture readonly %2, i32 %3) local_unnamed_addr #0 { %5 = icmp eq i32 %0, %1 br i1 %5, label %6, label %8 @@ -406,11 +406,11 @@ define i32 @loop_trip_count_unbound(i32, i32, i32* nocapture readonly, i32) loca ; FIXME: missing willreturn ; FNATTR: Function Attrs: noinline norecurse nounwind readonly uwtable -; FNATTR-NEXT: define i32 @loop_trip_dec(i32, i32* nocapture readonly) +; FNATTR-NEXT: define i32 @loop_trip_dec(i32 %0, i32* nocapture readonly %1) ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @loop_trip_dec(i32, i32* nocapture readonly) local_unnamed_addr +; ATTRIBUTOR-NEXT: define i32 @loop_trip_dec(i32 %0, i32* nocapture readonly %1) local_unnamed_addr -define i32 @loop_trip_dec(i32, i32* nocapture readonly) local_unnamed_addr #0 { +define i32 @loop_trip_dec(i32 %0, i32* nocapture readonly %1) local_unnamed_addr #0 { %3 = icmp sgt i32 %0, -1 br i1 %3, label %4, label %14 @@ -469,9 +469,9 @@ unreachable_label: ; FIXME: missing willreturn ; FNATTR: Function Attrs: noinline nounwind uwtable -; FNATTR-NEXT: define i32 @unreachable_exit_positive2(i32) +; FNATTR-NEXT: define i32 @unreachable_exit_positive2(i32 %0) ; ATTRIBUTOR: Function Attrs: nofree noinline nosync nounwind uwtable -; ATTRIBUTOR-NEXT: define i32 @unreachable_exit_positive2(i32) +; ATTRIBUTOR-NEXT: define i32 @unreachable_exit_positive2(i32 %0) define i32 @unreachable_exit_positive2(i32) local_unnamed_addr #0 { %2 = icmp slt i32 %0, 1 br i1 %2, label %3, label %5 @@ -538,11 +538,11 @@ declare void @llvm.eh.sjlj.longjmp(i8*) ; FNATTR: Function Attrs: noinline nounwind uwtable ; FNATTR-NOT: willreturn -; FNATTR-NEXT: define void @call_longjmp(i8* nocapture readnone) local_unnamed_addr #3 { +; FNATTR-NEXT: define void @call_longjmp(i8* nocapture readnone %0) local_unnamed_addr #3 { ; ATTRIBUTOR: Function Attrs: noinline nounwind uwtable ; ATTRIBUTOR-NOT: willreturn -; ATTRIBUTOR-NEXT: define void @call_longjmp(i8* nocapture readnone) local_unnamed_addr -define void @call_longjmp(i8* nocapture readnone) local_unnamed_addr #0 { +; ATTRIBUTOR-NEXT: define void @call_longjmp(i8* nocapture readnone %0) local_unnamed_addr +define void @call_longjmp(i8* nocapture readnone %0) local_unnamed_addr #0 { tail call void @llvm.eh.sjlj.longjmp(i8* %0) ret void } |