blob: e7c675af4ad0a744d3bce30fa4cee06628790266 [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
7implementation
8
Reid Spencere3ff5ad2007-01-26 08:25:06 +00009define void @"invoke"(%FunTy *%x)
Reid Spencerc0948362007-01-16 18:08:22 +000010begin
11 %foo = call %FunTy* %x(i31 123)
12 ret void
13end
14
Reid Spencere3ff5ad2007-01-26 08:25:06 +000015define i31 @"main"(i31 %argc, i8 **%argv, i8 **%envp)
Reid Spencerc0948362007-01-16 18:08:22 +000016begin
Reid Spencere3ff5ad2007-01-26 08:25:06 +000017 %retval = call i31 (i31) *@test(i31 %argc)
Reid Spencerc0948362007-01-16 18:08:22 +000018 %two = add i31 %retval, %retval
Reid Spencere3ff5ad2007-01-26 08:25:06 +000019 %retval2 = call i31 @test(i31 %argc)
Reid Spencerc0948362007-01-16 18:08:22 +000020
21 %two2 = add i31 %two, %retval2
Reid Spencere3ff5ad2007-01-26 08:25:06 +000022 call void @invoke (%FunTy* @test)
Reid Spencerc0948362007-01-16 18:08:22 +000023 ret i31 %two2
24end
25
Reid Spencere3ff5ad2007-01-26 08:25:06 +000026define i31 @"test"(i31 %i0)
Reid Spencerc0948362007-01-16 18:08:22 +000027begin
28 ret i31 %i0
29end