LowerConstantIntrinsics: Fix missing test for byval behavior
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 29 Jun 2020 18:21:46 +0000 (14:21 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 29 Jun 2020 18:45:31 +0000 (14:45 -0400)
llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll

index 94aba44..ee5d792 100644 (file)
@@ -81,3 +81,11 @@ entry:
                                                i1 false, i1 false)
   ret i64 %0
 }
+
+; CHECK-LABEL: @test_objectsize_byval_arg(
+; CHECK: ret i64 42
+define i64 @test_objectsize_byval_arg([42 x i8]* byval([42 x i8]) %ptr) {
+  %cast = bitcast [42 x i8]* %ptr to i8*
+  %size = tail call i64 @llvm.objectsize.i64(i8* %cast, i1 true, i1 false, i1 false)
+  ret i64 %size
+}