diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-09-21 14:34:31 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-09-21 14:34:31 +0000 |
commit | 122f5e5a5b04e3c364d13913c14ee14f9b7ba387 (patch) | |
tree | 764b03dd38d35679b3aa068a6fc4a88e5cb560f9 /test | |
parent | 01fa41a106ed0ff86c3b9ffe0843679211bf487c (diff) | |
download | external_llvm-122f5e5a5b04e3c364d13913c14ee14f9b7ba387.zip external_llvm-122f5e5a5b04e3c364d13913c14ee14f9b7ba387.tar.gz external_llvm-122f5e5a5b04e3c364d13913c14ee14f9b7ba387.tar.bz2 |
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
Diffstat (limited to 'test')
-rw-r--r-- | test/Bitcode/blockaddress.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/Bitcode/blockaddress.ll b/test/Bitcode/blockaddress.ll index b9f3341..8ac54be 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 +} |