comparison test/CodeGen/X86/coalesce-implicitdef.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 95c75e76d11b
children
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
69 store i32 %inc28, i32* @b, align 4 69 store i32 %inc28, i32* @b, align 4
70 %tobool17 = icmp eq i32 %inc28, 0 70 %tobool17 = icmp eq i32 %inc28, 0
71 br i1 %tobool17, label %for.inc27.if.end30.loopexit56_crit_edge, label %while.condthread-pre-split 71 br i1 %tobool17, label %for.inc27.if.end30.loopexit56_crit_edge, label %while.condthread-pre-split
72 72
73 if.then22: ; preds = %while.end 73 if.then22: ; preds = %while.end
74 %1 = load i16* %p2.1, align 2 74 %1 = load i16, i16* %p2.1, align 2
75 %tobool23 = icmp eq i16 %1, 0 75 %tobool23 = icmp eq i16 %1, 0
76 br i1 %tobool23, label %for.inc27.backedge, label %label.loopexit 76 br i1 %tobool23, label %for.inc27.backedge, label %label.loopexit
77 77
78 label.loopexit: ; preds = %if.then22 78 label.loopexit: ; preds = %if.then22
79 store i32 %inc20, i32* @a, align 4 79 store i32 %inc20, i32* @a, align 4
87 br label %if.end30 87 br label %if.end30
88 88
89 if.end30: ; preds = %for.inc27.if.end30.loopexit56_crit_edge, %label.loopexit, %label.preheader, %for.inc 89 if.end30: ; preds = %for.inc27.if.end30.loopexit56_crit_edge, %label.loopexit, %label.preheader, %for.inc
90 %i.0.load46 = phi i32 [ 0, %for.inc ], [ %i.0.load4669, %label.preheader ], [ %i.0.load4669, %label.loopexit ], [ %i.0.load4669, %for.inc27.if.end30.loopexit56_crit_edge ] 90 %i.0.load46 = phi i32 [ 0, %for.inc ], [ %i.0.load4669, %label.preheader ], [ %i.0.load4669, %label.loopexit ], [ %i.0.load4669, %for.inc27.if.end30.loopexit56_crit_edge ]
91 %pi.4 = phi i32* [ %i, %for.inc ], [ %pi.3.ph, %label.preheader ], [ %pi.3.ph, %label.loopexit ], [ %pi.3.ph, %for.inc27.if.end30.loopexit56_crit_edge ] 91 %pi.4 = phi i32* [ %i, %for.inc ], [ %pi.3.ph, %label.preheader ], [ %pi.3.ph, %label.loopexit ], [ %pi.3.ph, %for.inc27.if.end30.loopexit56_crit_edge ]
92 %2 = load i32* %pi.4, align 4 92 %2 = load i32, i32* %pi.4, align 4
93 %tobool31 = icmp eq i32 %2, 0 93 %tobool31 = icmp eq i32 %2, 0
94 br i1 %tobool31, label %for.inc34, label %label.preheader 94 br i1 %tobool31, label %for.inc34, label %label.preheader
95 95
96 for.inc34: ; preds = %if.end30 96 for.inc34: ; preds = %if.end30
97 %inc35 = add nsw i32 %i.0.load46, 1 97 %inc35 = add nsw i32 %i.0.load46, 1
98 store i32 %inc35, i32* %i, align 4 98 store i32 %inc35, i32* %i, align 4
99 br label %for.cond 99 br label %for.cond
100 100
101 for.end36: ; preds = %for.cond 101 for.end36: ; preds = %for.cond
102 store i32 1, i32* %i, align 4 102 store i32 1, i32* %i, align 4
103 %3 = load i32* @c, align 4 103 %3 = load i32, i32* @c, align 4
104 %tobool37 = icmp eq i32 %3, 0 104 %tobool37 = icmp eq i32 %3, 0
105 br i1 %tobool37, label %label.preheader, label %land.rhs 105 br i1 %tobool37, label %label.preheader, label %land.rhs
106 106
107 land.rhs: ; preds = %for.end36 107 land.rhs: ; preds = %for.end36
108 store i32 0, i32* @a, align 4 108 store i32 0, i32* @a, align 4
109 br label %label.preheader 109 br label %label.preheader
110 110
111 label.preheader: ; preds = %for.end36, %if.end30, %land.rhs 111 label.preheader: ; preds = %for.end36, %if.end30, %land.rhs
112 %i.0.load4669 = phi i32 [ 1, %land.rhs ], [ %i.0.load46, %if.end30 ], [ 1, %for.end36 ] 112 %i.0.load4669 = phi i32 [ 1, %land.rhs ], [ %i.0.load46, %if.end30 ], [ 1, %for.end36 ]
113 %pi.3.ph = phi i32* [ %pi.0, %land.rhs ], [ %pi.4, %if.end30 ], [ %pi.0, %for.end36 ] 113 %pi.3.ph = phi i32* [ %pi.0, %land.rhs ], [ %pi.4, %if.end30 ], [ %pi.0, %for.end36 ]
114 %4 = load i32* @b, align 4 114 %4 = load i32, i32* @b, align 4
115 %inc285863 = add nsw i32 %4, 1 115 %inc285863 = add nsw i32 %4, 1
116 store i32 %inc285863, i32* @b, align 4 116 store i32 %inc285863, i32* @b, align 4
117 %tobool175964 = icmp eq i32 %inc285863, 0 117 %tobool175964 = icmp eq i32 %inc285863, 0
118 br i1 %tobool175964, label %if.end30, label %while.condthread-pre-split.lr.ph.lr.ph 118 br i1 %tobool175964, label %if.end30, label %while.condthread-pre-split.lr.ph.lr.ph
119 119
120 while.condthread-pre-split.lr.ph.lr.ph: ; preds = %label.preheader 120 while.condthread-pre-split.lr.ph.lr.ph: ; preds = %label.preheader
121 %.pr50 = load i32* @d, align 4 121 %.pr50 = load i32, i32* @d, align 4
122 %tobool19 = icmp eq i32 %.pr50, 0 122 %tobool19 = icmp eq i32 %.pr50, 0
123 %a.promoted.pre = load i32* @a, align 4 123 %a.promoted.pre = load i32, i32* @a, align 4
124 br label %while.condthread-pre-split 124 br label %while.condthread-pre-split
125 } 125 }