You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
798 B

; RUN: opt -S -gvn-hoist < %s | FileCheck %s
; Check that the call and fcmp are hoisted.
; CHECK-LABEL: define void @fun(
; CHECK: call float
; CHECK: fcmp oeq
; CHECK-NOT: call float
; CHECK-NOT: fcmp oeq
define void @fun(float %__b) minsize {
entry:
br label %if.then
if.then: ; preds = %entry
br i1 undef, label %if.then8, label %lor.lhs.false
lor.lhs.false: ; preds = %if.then
%0 = call float @llvm.fabs.f32(float %__b) #2
%cmpinf7 = fcmp oeq float %0, 0x7FF0000000000000
unreachable
if.then8: ; preds = %if.then
%1 = call float @llvm.fabs.f32(float %__b) #2
%cmpinf10 = fcmp oeq float %1, 0x7FF0000000000000
ret void
}
declare float @llvm.fabs.f32(float)