Clean up testcases
[oota-llvm.git] / test / Transforms / LevelRaise / 2002-07-16-MissedRaise.ll
1 ; This case fails raise because the store requires that it's argument is of a 
2 ; particular type, but the gep is unable to propogate types backwards through 
3 ; it, because it doesn't know what type to ask it's operand to be.
4 ;
5 ; This could be fixed by making all stores add themselves to a list, and check
6 ; their arguments are consistent AFTER all other values are propogated.
7
8 ; RUN: if as < %s | opt -raise | dis | grep '= cast' 
9 ; RUN: then exit 1
10 ; RUN: else exit 0
11 ; RUN: fi
12
13         %Tree = type %struct.tree*
14         %struct.tree = type { int, double, double, %Tree, %Tree, %Tree, %Tree }
15
16 void %reverse(%Tree %t) {
17 bb0:                                    ;[#uses=0]
18         %cast219 = cast %Tree %t to sbyte***            ; <sbyte***> [#uses=2]
19         %reg2221 = getelementptr sbyte*** %cast219, long 6              ; <sbyte***> [#uses=1]
20         %reg108 = load sbyte*** %reg2221                ; <sbyte**> [#uses=2]
21         %reg247 = getelementptr sbyte*** %cast219, long 5               ; <sbyte***> [#uses=1]
22         store sbyte** %reg108, sbyte*** %reg247
23         ret void
24 }
25