848dd46549d14ae7eb2f2e99f418d30b3c29080f
[oota-llvm.git] / test / Transforms / LICM / 2004-11-17-UndefIndexCrash.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output
2
3         %struct.roadlet = type { sbyte*, %struct.vehicle*, [8 x %struct.roadlet*], [8 x %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)*] }
4         %struct.vehicle = type { %struct.roadlet*, sbyte*, int, int, %union.._631., int }
5         %union.._631. = type { int }
6
7 implementation   ; Functions:
8
9 declare %struct.roadlet* %_Z11return_nullP7roadletP7vehicle9direction(%struct.roadlet*, %struct.vehicle*, int)
10
11 declare %struct.roadlet* %_Z14lane_switch_okP7roadletP7vehicle9direction(%struct.roadlet*, %struct.vehicle*, int)
12
13 void %main() {
14 __main.entry:           ; preds = %invoke_cont.1
15         br label %invoke_cont.3
16
17 invoke_cont.3:          ; preds = %__main.entry, %invoke_cont.3
18         %tmp.34.i.i502.7 = getelementptr %struct.roadlet* null, int 0, uint 3, int 7            ; <%struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)**> [#uses=1]
19         store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z11return_nullP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** %tmp.34.i.i502.7
20         store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z14lane_switch_okP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** null
21         %tmp.4.i.i339 = getelementptr %struct.roadlet* null, int 0, uint 3, int undef           ; <%struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)**> [#uses=1]
22         store %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)* %_Z11return_nullP7roadletP7vehicle9direction, %struct.roadlet* (%struct.roadlet*, %struct.vehicle*, int)** %tmp.4.i.i339
23         br label %invoke_cont.3
24 }