[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / NewGVN / 2007-07-25-NestedLoop.ll
blob63468248522b78022ccba9376223534e59bd5916
1 ; RUN: opt < %s -newgvn | llvm-dis
3         %struct.TypHeader = type { i32, %struct.TypHeader**, [3 x i8], i8 }
5 define %struct.TypHeader* @LtRec(%struct.TypHeader* %hdL, %struct.TypHeader* %hdR) {
6 entry:
7         br i1 false, label %bb556.preheader, label %bb534.preheader
9 bb534.preheader:                ; preds = %entry
10         ret %struct.TypHeader* null
12 bb556.preheader:                ; preds = %entry
13         %tmp56119 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0              ; <i32*> [#uses=1]
14         %tmp56220 = load i32, i32* %tmp56119            ; <i32> [#uses=0]
15         br i1 false, label %bb.nph23, label %bb675.preheader
17 bb.nph23:               ; preds = %bb556.preheader
18         ret %struct.TypHeader* null
20 bb656:          ; preds = %bb675.outer, %bb656
21         %tmp678 = load i32, i32* %tmp677                ; <i32> [#uses=0]
22         br i1 false, label %bb684, label %bb656
24 bb684:          ; preds = %bb675.outer, %bb656
25         br i1 false, label %bb924.preheader, label %bb675.outer
27 bb675.outer:            ; preds = %bb675.preheader, %bb684
28         %tmp67812 = load i32, i32* %tmp67711            ; <i32> [#uses=0]
29         br i1 false, label %bb684, label %bb656
31 bb675.preheader:                ; preds = %bb556.preheader
32         %tmp67711 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0              ; <i32*> [#uses=1]
33         %tmp677 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0                ; <i32*> [#uses=1]
34         br label %bb675.outer
36 bb924.preheader:                ; preds = %bb684
37         ret %struct.TypHeader* null