summaryrefslogtreecommitdiffstats
path: root/test/Assembler
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2013-10-07 18:06:48 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2013-10-07 18:06:48 +0000
commitc4a8c07f6489c0081207f722ce0a4502614aef69 (patch)
tree50744632e73b88c6c8aa2c927ac276d1ca1be817 /test/Assembler
parentca7b2d08d7b918e5e8e921a837623af962b27d00 (diff)
downloadexternal_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.ll15
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
+}