1; RUN: opt < %s -passes=instcombine | llvm-dis 2 3; This used to crash trying to do a double-to-pointer conversion 4define i32 @bar() { 5entry: 6 %retval = alloca i32, align 4 ; <ptr> [#uses=1] 7 %tmp = call i32 (...) @f( double 3.000000e+00 ) ; <i32> [#uses=0] 8 br label %return 9 10return: ; preds = %entry 11 %retval1 = load i32, ptr %retval ; <i32> [#uses=1] 12 ret i32 %retval1 13} 14 15define i32 @f(ptr %p) { 16entry: 17 %p_addr = alloca ptr ; <ptr> [#uses=1] 18 %retval = alloca i32, align 4 ; <ptr> [#uses=1] 19 store ptr %p, ptr %p_addr 20 br label %return 21 22return: ; preds = %entry 23 %retval1 = load i32, ptr %retval ; <i32> [#uses=1] 24 ret i32 %retval1 25} 26