blob: 45dc0f1aaca29d989471ef0d768a48f9ad74b370 [file] [log] [blame]
Reid Spencerc0948362007-01-16 18:08:22 +00001; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3; RUN: diff %t1.ll %t2.ll
4
5%FunTy = type i31(i31)
6
Reid Spencerc0948362007-01-16 18:08:22 +00007
Reid Spencere3ff5ad2007-01-26 08:25:06 +00008define void @"invoke"(%FunTy *%x)
Reid Spencerc0948362007-01-16 18:08:22 +00009begin
10 %foo = call %FunTy* %x(i31 123)
11 ret void
12end
13
Reid Spencere3ff5ad2007-01-26 08:25:06 +000014define i31 @"main"(i31 %argc, i8 **%argv, i8 **%envp)
Reid Spencerc0948362007-01-16 18:08:22 +000015begin
Reid Spencere3ff5ad2007-01-26 08:25:06 +000016 %retval = call i31 (i31) *@test(i31 %argc)
Reid Spencerc0948362007-01-16 18:08:22 +000017 %two = add i31 %retval, %retval
Reid Spencere3ff5ad2007-01-26 08:25:06 +000018 %retval2 = call i31 @test(i31 %argc)
Reid Spencerc0948362007-01-16 18:08:22 +000019
20 %two2 = add i31 %two, %retval2
Reid Spencere3ff5ad2007-01-26 08:25:06 +000021 call void @invoke (%FunTy* @test)
Reid Spencerc0948362007-01-16 18:08:22 +000022 ret i31 %two2
23end
24
Reid Spencere3ff5ad2007-01-26 08:25:06 +000025define i31 @"test"(i31 %i0)
Reid Spencerc0948362007-01-16 18:08:22 +000026begin
27 ret i31 %i0
28end