diff options
Diffstat (limited to 'test/Transforms/InstCombine/apint-call-cast-target.ll')
-rw-r--r-- | test/Transforms/InstCombine/apint-call-cast-target.ll | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/test/Transforms/InstCombine/apint-call-cast-target.ll b/test/Transforms/InstCombine/apint-call-cast-target.ll index 4e98f9b..f3a66c3 100644 --- a/test/Transforms/InstCombine/apint-call-cast-target.ll +++ b/test/Transforms/InstCombine/apint-call-cast-target.ll @@ -5,15 +5,18 @@ target triple = "i686-pc-linux-gnu" define i32 @main() { ; CHECK-LABEL: @main( -; CHECK: call i32 bitcast +; CHECK: %[[call:.*]] = call i7* @ctime(i999* null) +; CHECK: %[[cast:.*]] = ptrtoint i7* %[[call]] to i32 +; CHECK: ret i32 %[[cast]] entry: %tmp = call i32 bitcast (i7* (i999*)* @ctime to i32 (i99*)*)( i99* null ) ret i32 %tmp } define i7* @ctime(i999*) { -; CHECK-LABEL: @ctime( -; CHECK: call i7* bitcast +; CHECK-LABEL: define i7* @ctime( +; CHECK: %[[call:.*]] = call i32 @main() +; CHECK: %[[cast:.*]] = inttoptr i32 %[[call]] to i7* entry: %tmp = call i7* bitcast (i32 ()* @main to i7* ()*)( ) ret i7* %tmp |