[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / NewGVN / 2007-07-25-DominatedLoop.ll
blob76ff8999501220916be7228bb5b221b54c5240e8
1 ; RUN: opt < %s -newgvn | llvm-dis
3         %struct.PerlInterpreter = type { i8 }
4 @PL_sv_count = external global i32              ; <i32*> [#uses=2]
6 define void @perl_destruct(%struct.PerlInterpreter* %sv_interp) {
7 entry:
8         br i1 false, label %cond_next25, label %cond_true16
10 cond_true16:            ; preds = %entry
11         ret void
13 cond_next25:            ; preds = %entry
14         br i1 false, label %cond_next33, label %cond_true32
16 cond_true32:            ; preds = %cond_next25
17         ret void
19 cond_next33:            ; preds = %cond_next25
20         br i1 false, label %cond_next61, label %cond_true.i46
22 cond_true.i46:          ; preds = %cond_next33
23         ret void
25 cond_next61:            ; preds = %cond_next33
26         br i1 false, label %cond_next69, label %cond_true66
28 cond_true66:            ; preds = %cond_next61
29         ret void
31 cond_next69:            ; preds = %cond_next61
32         br i1 false, label %Perl_safefree.exit52, label %cond_true.i50
34 cond_true.i50:          ; preds = %cond_next69
35         ret void
37 Perl_safefree.exit52:           ; preds = %cond_next69
38         br i1 false, label %cond_next80, label %cond_true77
40 cond_true77:            ; preds = %Perl_safefree.exit52
41         ret void
43 cond_next80:            ; preds = %Perl_safefree.exit52
44         br i1 false, label %Perl_safefree.exit56, label %cond_true.i54
46 cond_true.i54:          ; preds = %cond_next80
47         ret void
49 Perl_safefree.exit56:           ; preds = %cond_next80
50         br i1 false, label %Perl_safefree.exit60, label %cond_true.i58
52 cond_true.i58:          ; preds = %Perl_safefree.exit56
53         ret void
55 Perl_safefree.exit60:           ; preds = %Perl_safefree.exit56
56         br i1 false, label %Perl_safefree.exit64, label %cond_true.i62
58 cond_true.i62:          ; preds = %Perl_safefree.exit60
59         ret void
61 Perl_safefree.exit64:           ; preds = %Perl_safefree.exit60
62         br i1 false, label %Perl_safefree.exit68, label %cond_true.i66
64 cond_true.i66:          ; preds = %Perl_safefree.exit64
65         ret void
67 Perl_safefree.exit68:           ; preds = %Perl_safefree.exit64
68         br i1 false, label %cond_next150, label %cond_true23.i
70 cond_true23.i:          ; preds = %Perl_safefree.exit68
71         ret void
73 cond_next150:           ; preds = %Perl_safefree.exit68
74         %tmp16092 = load i32, i32* @PL_sv_count, align 4                ; <i32> [#uses=0]
75         br label %cond_next165
77 bb157:          ; preds = %cond_next165
78         %tmp158 = load i32, i32* @PL_sv_count, align 4          ; <i32> [#uses=0]
79         br label %cond_next165
81 cond_next165:           ; preds = %bb157, %cond_next150
82         br i1 false, label %bb171, label %bb157
84 bb171:          ; preds = %cond_next165
85         ret void