Loading llvm/test/Transforms/CodeGenPrepare/X86/freeze-icmp.ll→llvm/test/Transforms/CodeGenPrepare/X86/freeze-cmp.ll +33 −0 Original line number Diff line number Diff line Loading @@ -71,5 +71,38 @@ B: ret void } define i1 @ptrcmp(i8* %p) { ; CHECK-LABEL: @ptrcmp( ; CHECK-NEXT: [[C:%.*]] = icmp eq i8* [[P:%.*]], null ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = icmp eq i8* %p, null %fr = freeze i1 %c ret i1 %fr } define i1 @fcmp(float %a) { ; CHECK-LABEL: @fcmp( ; CHECK-NEXT: [[C:%.*]] = fcmp oeq float [[A:%.*]], 0.000000e+00 ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = fcmp oeq float %a, 0.0 %fr = freeze i1 %c ret i1 %fr } define i1 @fcmp_nan(float %a) { ; CHECK-LABEL: @fcmp_nan( ; CHECK-NEXT: [[C:%.*]] = fcmp nnan oeq float [[A:%.*]], 0.000000e+00 ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = fcmp nnan oeq float %a, 0.0 %fr = freeze i1 %c ret i1 %fr } declare void @g1() declare void @g2() Loading
llvm/test/Transforms/CodeGenPrepare/X86/freeze-icmp.ll→llvm/test/Transforms/CodeGenPrepare/X86/freeze-cmp.ll +33 −0 Original line number Diff line number Diff line Loading @@ -71,5 +71,38 @@ B: ret void } define i1 @ptrcmp(i8* %p) { ; CHECK-LABEL: @ptrcmp( ; CHECK-NEXT: [[C:%.*]] = icmp eq i8* [[P:%.*]], null ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = icmp eq i8* %p, null %fr = freeze i1 %c ret i1 %fr } define i1 @fcmp(float %a) { ; CHECK-LABEL: @fcmp( ; CHECK-NEXT: [[C:%.*]] = fcmp oeq float [[A:%.*]], 0.000000e+00 ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = fcmp oeq float %a, 0.0 %fr = freeze i1 %c ret i1 %fr } define i1 @fcmp_nan(float %a) { ; CHECK-LABEL: @fcmp_nan( ; CHECK-NEXT: [[C:%.*]] = fcmp nnan oeq float [[A:%.*]], 0.000000e+00 ; CHECK-NEXT: [[FR:%.*]] = freeze i1 [[C]] ; CHECK-NEXT: ret i1 [[FR]] ; %c = fcmp nnan oeq float %a, 0.0 %fr = freeze i1 %c ret i1 %fr } declare void @g1() declare void @g2()