diff options
| author | Erik Pilkington <erik.pilkington@gmail.com> | 2019-01-30 20:34:35 +0000 |
|---|---|---|
| committer | Erik Pilkington <erik.pilkington@gmail.com> | 2019-01-30 20:34:35 +0000 |
| commit | 600e9deacfa86a827d7cba4494c55ca6909e045f (patch) | |
| tree | 7e5d8a592a7ea359f564f46cd8a691bde4042a8c /llvm/test/Transforms/CodeGenPrepare/basic.ll | |
| parent | 7e880b026220e41125ca5acc6e7e319d18951142 (diff) | |
| download | bcm5719-llvm-600e9deacfa86a827d7cba4494c55ca6909e045f.tar.gz bcm5719-llvm-600e9deacfa86a827d7cba4494c55ca6909e045f.zip | |
Add a 'dynamic' parameter to the objectsize intrinsic
This is meant to be used with clang's __builtin_dynamic_object_size.
When 'true' is passed to this parameter, the intrinsic has the
potential to be folded into instructions that will be evaluated
at run time. When 'false', the objectsize intrinsic behaviour is
unchanged.
rdar://32212419
Differential revision: https://reviews.llvm.org/D56761
llvm-svn: 352664
Diffstat (limited to 'llvm/test/Transforms/CodeGenPrepare/basic.ll')
| -rw-r--r-- | llvm/test/Transforms/CodeGenPrepare/basic.ll | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/test/Transforms/CodeGenPrepare/basic.ll b/llvm/test/Transforms/CodeGenPrepare/basic.ll index 768209abcdf..1a58d61b6e9 100644 --- a/llvm/test/Transforms/CodeGenPrepare/basic.ll +++ b/llvm/test/Transforms/CodeGenPrepare/basic.ll @@ -9,7 +9,7 @@ target triple = "x86_64-apple-darwin10.0.0" ; rdar://8785296 define i32 @test1(i8* %ptr) nounwind ssp noredzone align 2 { entry: - %0 = tail call i64 @llvm.objectsize.i64(i8* %ptr, i1 false, i1 false) + %0 = tail call i64 @llvm.objectsize.i64(i8* %ptr, i1 false, i1 false, i1 false) %1 = icmp ugt i64 %0, 3 br i1 %1, label %T, label %trap @@ -29,7 +29,7 @@ T: define i64 @test_objectsize_null_flag(i8* %ptr) { entry: ; CHECK: ret i64 -1 - %0 = tail call i64 @llvm.objectsize.i64(i8* null, i1 false, i1 true) + %0 = tail call i64 @llvm.objectsize.i64(i8* null, i1 false, i1 true, i1 false) ret i64 %0 } @@ -37,7 +37,7 @@ entry: define i64 @test_objectsize_null_flag_min(i8* %ptr) { entry: ; CHECK: ret i64 0 - %0 = tail call i64 @llvm.objectsize.i64(i8* null, i1 true, i1 true) + %0 = tail call i64 @llvm.objectsize.i64(i8* null, i1 true, i1 true, i1 false) ret i64 %0 } @@ -48,7 +48,7 @@ define i64 @test_objectsize_null_flag_noas0() { entry: ; CHECK: ret i64 -1 %0 = tail call i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)* null, i1 false, - i1 true) + i1 true, i1 false) ret i64 %0 } @@ -57,7 +57,7 @@ define i64 @test_objectsize_null_flag_min_noas0() { entry: ; CHECK: ret i64 0 %0 = tail call i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)* null, i1 true, - i1 true) + i1 true, i1 false) ret i64 %0 } @@ -66,7 +66,7 @@ define i64 @test_objectsize_null_known_flag_noas0() { entry: ; CHECK: ret i64 -1 %0 = tail call i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)* null, i1 false, - i1 false) + i1 false, i1 false) ret i64 %0 } @@ -75,12 +75,12 @@ define i64 @test_objectsize_null_known_flag_min_noas0() { entry: ; CHECK: ret i64 0 %0 = tail call i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)* null, i1 true, - i1 false) + i1 false, i1 false) ret i64 %0 } -declare i64 @llvm.objectsize.i64(i8*, i1, i1) nounwind readonly -declare i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)*, i1, i1) nounwind readonly +declare i64 @llvm.objectsize.i64(i8*, i1, i1, i1) nounwind readonly +declare i64 @llvm.objectsize.i64.p1i8(i8 addrspace(1)*, i1, i1, i1) nounwind readonly declare void @llvm.trap() nounwind |

