diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-03-22 23:15:57 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-03-22 23:15:57 +0000 |
| commit | b1c4f62cac7cd9832631c74c45a906935cdd6eef (patch) | |
| tree | b3a21ad26756a29c9478e4d6fd79a758d014ac9b /llvm/test/CodeGen/Generic | |
| parent | 8d04f0604e114e7e399c7dd74e9a03215ac1d07a (diff) | |
| download | bcm5719-llvm-b1c4f62cac7cd9832631c74c45a906935cdd6eef.tar.gz bcm5719-llvm-b1c4f62cac7cd9832631c74c45a906935cdd6eef.zip | |
Fix PR6673: updating the callback should not clear the map.
llvm-svn: 99227
Diffstat (limited to 'llvm/test/CodeGen/Generic')
| -rw-r--r-- | llvm/test/CodeGen/Generic/addr-label.ll | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Generic/addr-label.ll b/llvm/test/CodeGen/Generic/addr-label.ll index 51741110e07..0dbe5021bbf 100644 --- a/llvm/test/CodeGen/Generic/addr-label.ll +++ b/llvm/test/CodeGen/Generic/addr-label.ll @@ -56,3 +56,26 @@ ret: ret i32 -1 } + +; PR6673 + +define i64 @test4a() { + %target = bitcast i8* blockaddress(@test4b, %usermain) to i8* + %ret = call i64 @test4b(i8* %target) + + ret i64 %ret +} + +define i64 @test4b(i8* %Code) { +entry: + indirectbr i8* %Code, [label %usermain] +usermain: + br label %label_line_0 + +label_line_0: + br label %label_line_1 + +label_line_1: + %target = ptrtoint i8* blockaddress(@test4b, %label_line_0) to i64 + ret i64 %target +} |

