Change these tests to feed the assembly files to opt directly, instead
[oota-llvm.git] / test / Transforms / InstCombine / call2.ll
1 ; RUN: opt %s -instcombine | llvm-dis
2
3 ; This used to crash trying to do a double-to-pointer conversion
4 define i32 @bar() {
5 entry:
6         %retval = alloca i32, align 4           ; <i32*> [#uses=1]
7         "alloca point" = bitcast i32 0 to i32           ; <i32> [#uses=0]
8         %tmp = call i32 (...)* bitcast (i32 (i8*)* @f to i32 (...)*)( double 3.000000e+00 )             ; <i32> [#uses=0]
9         br label %return
10
11 return:         ; preds = %entry
12         %retval1 = load i32* %retval            ; <i32> [#uses=1]
13         ret i32 %retval1
14 }
15
16 define i32 @f(i8* %p) {
17 entry:
18         %p_addr = alloca i8*            ; <i8**> [#uses=1]
19         %retval = alloca i32, align 4           ; <i32*> [#uses=1]
20         "alloca point" = bitcast i32 0 to i32           ; <i32> [#uses=0]
21         store i8* %p, i8** %p_addr
22         br label %return
23
24 return:         ; preds = %entry
25         %retval1 = load i32* %retval            ; <i32> [#uses=1]
26         ret i32 %retval1
27 }