diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-10-07 18:06:48 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2013-10-07 18:06:48 +0000 |
commit | c4a8c07f6489c0081207f722ce0a4502614aef69 (patch) | |
tree | 50744632e73b88c6c8aa2c927ac276d1ca1be817 /test/Assembler | |
parent | ca7b2d08d7b918e5e8e921a837623af962b27d00 (diff) | |
download | external_llvm-c4a8c07f6489c0081207f722ce0a4502614aef69.zip external_llvm-c4a8c07f6489c0081207f722ce0a4502614aef69.tar.gz external_llvm-c4a8c07f6489c0081207f722ce0a4502614aef69.tar.bz2 |
Change objectsize intrinsic to accept different address spaces.
Bitcasting everything to i8* won't work. Autoupgrade the old
intrinsic declarations to use the new mangling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192117 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Assembler')
-rw-r--r-- | test/Assembler/auto_upgrade_intrinsics.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Assembler/auto_upgrade_intrinsics.ll b/test/Assembler/auto_upgrade_intrinsics.ll index 7ad5cc3..8f655ce 100644 --- a/test/Assembler/auto_upgrade_intrinsics.ll +++ b/test/Assembler/auto_upgrade_intrinsics.ll @@ -6,6 +6,10 @@ declare i16 @llvm.ctlz.i16(i16) declare i32 @llvm.ctlz.i32(i32) declare i42 @llvm.ctlz.i42(i42) ; Not a power-of-2 + +declare i32 @llvm.objectsize.i32(i8*, i1) nounwind readonly + + define void @test.ctlz(i8 %a, i16 %b, i32 %c, i42 %d) { ; CHECK: @test.ctlz @@ -42,3 +46,14 @@ entry: ret void } + + +@a = private global [60 x i8] zeroinitializer, align 1 + +define i32 @test.objectsize() { +; CHECK-LABEL: @test.objectsize( +; CHECK: @llvm.objectsize.i32.p0i8 +; CHECK-DAG: declare i32 @llvm.objectsize.i32.p0i8 + %s = call i32 @llvm.objectsize.i32(i8* getelementptr inbounds ([60 x i8]* @a, i32 0, i32 0), i1 false) + ret i32 %s +} |