Skip to content

Commit 78a1575

Browse files
committed
[InstCombine] Add pre-commit tests. NFC.
1 parent 6958633 commit 78a1575

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

llvm/test/Transforms/InstCombine/freeze-phi.ll

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,3 +212,31 @@ D:
212212
%y.fr = freeze i32 %y
213213
ret i32 %y.fr
214214
}
215+
216+
; Make sure that fmf in phi node is dropped when freeze get folded.
217+
218+
define float @pr161524(float noundef %arg) {
219+
; CHECK-LABEL: @pr161524(
220+
; CHECK-NEXT: entry:
221+
; CHECK-NEXT: [[COND:%.*]] = tail call i1 @llvm.is.fpclass.f32(float [[ARG:%.*]], i32 144)
222+
; CHECK-NEXT: br i1 [[COND]], label [[IF_THEN:%.*]], label [[IF_EXIT:%.*]]
223+
; CHECK: if.then:
224+
; CHECK-NEXT: [[FADD:%.*]] = fadd float [[ARG]], 1.000000e+00
225+
; CHECK-NEXT: br label [[IF_EXIT]]
226+
; CHECK: if.exit:
227+
; CHECK-NEXT: [[RET:%.*]] = phi ninf float [ [[FADD]], [[IF_THEN]] ], [ [[ARG]], [[ENTRY:%.*]] ]
228+
; CHECK-NEXT: ret float [[RET]]
229+
;
230+
entry:
231+
%cond = tail call i1 @llvm.is.fpclass.f32(float %arg, i32 144)
232+
br i1 %cond, label %if.then, label %if.exit
233+
234+
if.then:
235+
%fadd = fadd float %arg, 1.0
236+
br label %if.exit
237+
238+
if.exit:
239+
%ret = phi ninf float [ %fadd, %if.then ], [ %arg, %entry ]
240+
%ret.fr = freeze float %ret
241+
ret float %ret.fr
242+
}

0 commit comments

Comments
 (0)