Propagate ValueRanges across equality.
[oota-llvm.git] / test / Integer / forwardreftest_bt.ll
1 ; 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   %myty = type i55 
6   %myfn = type float (i55,double,i55,i16)
7   type i55(%myfn*)
8   type i55(i55)
9   type i55(i55(i55)*)
10
11   %thisfuncty = type i55 (i55) *
12 implementation
13
14 declare void @F(%thisfuncty, %thisfuncty, %thisfuncty)
15
16 ; This function always returns zero
17 define i55 @zarro(i55 %Func)
18 begin
19 Startup:
20     add i55 0, 10
21     ret i55 0 
22 end
23
24 define i55 @test(i55) 
25 begin
26     call void @F(%thisfuncty @zarro, %thisfuncty @test, %thisfuncty @foozball)
27     ret i55 0
28 end
29
30 define i55 @foozball(i55)
31 begin
32     ret i55 0
33 end
34