From 122f5e5a5b04e3c364d13913c14ee14f9b7ba387 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Fri, 21 Sep 2012 14:34:31 +0000 Subject: BitcodeReader: Correctly insert blockaddress constant referring to a already parsed function. We inserted a placeholder that was never replaced because the function was already visited. Assert that all placeholders have been resolved when tearing down the bitcode reader. Fixes PR13895. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164369 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Bitcode/blockaddress.ll | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/Bitcode') diff --git a/test/Bitcode/blockaddress.ll b/test/Bitcode/blockaddress.ll index b9f334176c..8ac54be00d 100644 --- a/test/Bitcode/blockaddress.ll +++ b/test/Bitcode/blockaddress.ll @@ -28,3 +28,18 @@ here: end: ret void } + +; PR13895 +define void @doitagain(i8** nocapture %pptr) { +; CHECK: define void @doitagain +entry: + br label %here + +here: + store i8* blockaddress(@doit, %here), i8** %pptr, align 8 +; CHECK: blockaddress(@doit, %here) + br label %end + +end: + ret void +} -- cgit v1.2.3