; RUN: llvm-as %s -o - | llvm-dis > %t1.ll ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll ; RUN: diff %t1.ll %t2.ll %FunTy = type i31(i31) implementation define void "invoke"(%FunTy *%x) begin %foo = call %FunTy* %x(i31 123) ret void end define i31 "main"(i31 %argc, i8 **%argv, i8 **%envp) begin %retval = call i31 (i31) *%test(i31 %argc) %two = add i31 %retval, %retval %retval2 = call i31 %test(i31 %argc) %two2 = add i31 %two, %retval2 call void %invoke (%FunTy* %test) ret i31 %two2 end define i31 "test"(i31 %i0) begin ret i31 %i0 end