summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/FunctionAttrs/misc.ll
diff options
context:
space:
mode:
authorStefan Stipanovic <sstipanovic@s-energize.com>2019-11-02 16:35:38 +0100
committerStefan Stipanovic <sstipanovic@s-energize.com>2019-11-02 19:40:48 +0100
commitf35740d6e954b4a0bc319be74ca35bdf8c10a780 (patch)
tree751408e138774c745e184a04d3c5145d23a22a9e /llvm/test/Transforms/FunctionAttrs/misc.ll
parent095d2a4cedca7dbd7e6c1f1620790330e5649cd5 (diff)
downloadbcm5719-llvm-f35740d6e954b4a0bc319be74ca35bdf8c10a780.tar.gz
bcm5719-llvm-f35740d6e954b4a0bc319be74ca35bdf8c10a780.zip
NoFree argument attribute.
Summary: Deducing nofree atrribute for function arguments. Reviewers: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67886
Diffstat (limited to 'llvm/test/Transforms/FunctionAttrs/misc.ll')
-rw-r--r--llvm/test/Transforms/FunctionAttrs/misc.ll18
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/test/Transforms/FunctionAttrs/misc.ll b/llvm/test/Transforms/FunctionAttrs/misc.ll
index 4216c8775dd..7b9e25809d9 100644
--- a/llvm/test/Transforms/FunctionAttrs/misc.ll
+++ b/llvm/test/Transforms/FunctionAttrs/misc.ll
@@ -10,8 +10,8 @@ define internal void @internal(void (i8*)* %fp) {
; CHECK-NEXT: entry:
; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4
; CHECK-NEXT: [[TMP:%.*]] = bitcast i32* [[A]] to i8*
-; CHECK-NEXT: call void @foo(i32* nocapture nonnull align 4 dereferenceable(4) undef)
-; CHECK-NEXT: call void [[FP]](i8* bitcast (void (i32*)* @foo to i8*))
+; CHECK-NEXT: call void @foo(i32* nocapture nofree nonnull align 4 dereferenceable(4) undef)
+; CHECK-NEXT: call void [[FP:%.*]](i8* bitcast (void (i32*)* @foo to i8*))
; CHECK-NEXT: call void @callback1(void (i32*)* nonnull @foo)
; CHECK-NEXT: call void @callback2(void (i8*)* bitcast (void (i32*)* @foo to void (i8*)*))
; CHECK-NEXT: call void @callback2(void (i8*)* [[FP]])
@@ -24,7 +24,7 @@ define internal void @internal(void (i8*)* %fp) {
; DECL_CS-NEXT: entry:
; DECL_CS-NEXT: [[A:%.*]] = alloca i32, align 4
; DECL_CS-NEXT: [[TMP:%.*]] = bitcast i32* [[A]] to i8*
-; DECL_CS-NEXT: call void @foo(i32* nocapture nonnull align 4 dereferenceable(4) undef)
+; DECL_CS-NEXT: call void @foo(i32* nocapture nofree nonnull align 4 dereferenceable(4) undef)
; DECL_CS-NEXT: call void [[FP]](i8* bitcast (void (i32*)* @foo to i8*))
; DECL_CS-NEXT: call void @callback1(void (i32*)* nonnull @foo)
; DECL_CS-NEXT: call void @callback2(void (i8*)* nonnull bitcast (void (i32*)* @foo to void (i8*)*))
@@ -52,7 +52,7 @@ define void @external(void (i8*)* %fp) {
; CHECK-NEXT: entry:
; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4
; CHECK-NEXT: [[TMP:%.*]] = bitcast i32* [[A]] to i8*
-; CHECK-NEXT: call void @foo(i32* nocapture nonnull align 4 dereferenceable(4) undef)
+; CHECK-NEXT: call void @foo(i32* nocapture nofree nonnull align 4 dereferenceable(4) undef)
; CHECK-NEXT: call void @callback1(void (i32*)* nonnull @foo)
; CHECK-NEXT: call void @callback2(void (i8*)* bitcast (void (i32*)* @foo to void (i8*)*))
; CHECK-NEXT: call void @callback2(void (i8*)* [[FP]])
@@ -67,7 +67,7 @@ define void @external(void (i8*)* %fp) {
; DECL_CS-NEXT: entry:
; DECL_CS-NEXT: [[A:%.*]] = alloca i32, align 4
; DECL_CS-NEXT: [[TMP:%.*]] = bitcast i32* [[A]] to i8*
-; DECL_CS-NEXT: call void @foo(i32* nocapture nonnull align 4 dereferenceable(4) undef)
+; DECL_CS-NEXT: call void @foo(i32* nocapture nofree nonnull align 4 dereferenceable(4) undef)
; DECL_CS-NEXT: call void @callback1(void (i32*)* nonnull @foo)
; DECL_CS-NEXT: call void @callback2(void (i8*)* nonnull bitcast (void (i32*)* @foo to void (i8*)*))
; DECL_CS-NEXT: call void @callback2(void (i8*)* [[FP]])
@@ -92,10 +92,10 @@ entry:
}
define internal void @foo(i32* %a) {
-; ALL-LABEL: define {{[^@]+}}@foo
-; ALL-SAME: (i32* nocapture readnone [[A:%.*]])
-; ALL-NEXT: entry:
-; ALL-NEXT: ret void
+; CHECK-LABEL: define {{[^@]+}}@foo
+; CHECK-SAME: (i32* nocapture nofree readnone [[A:%.*]])
+; CHECK-NEXT: entry:
+; CHECK-NEXT: ret void
;
entry:
ret void
OpenPOWER on IntegriCloud