[llvm] [InstCombine] Fold fcmp ogt (x - y), 0 into fcmp ogt x, y #85245 (PR #85506)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 21 00:03:22 PDT 2024
================
@@ -8037,6 +8037,46 @@ Instruction *InstCombinerImpl::visitFCmpInst(FCmpInst &I) {
if (Instruction *NV = FoldOpIntoSelect(I, cast<SelectInst>(LHSI)))
return NV;
break;
+ case Instruction::FSub:
+ switch (Pred) {
+ default:
+ break;
+ case FCmpInst::FCMP_UGT:
+ case FCmpInst::FCMP_ULT:
+ case FCmpInst::FCMP_UNE:
+ case FCmpInst::FCMP_OEQ:
+ case FCmpInst::FCMP_OGE:
+ case FCmpInst::FCMP_OLE:
+ // Skip optimization: fsub x, y unless guaranteed !isinf(x) ||
+ // !isinf(y).
+ if (!LHSI->hasOneUse() ||
----------------
SahilPatidar wrote:
Can we do it this way:
```cpp
if (LHSI->hasOneUse())
if (Instruction *NV = foldFCmpFSubIntoFCmp(I, LHSI, RHSC, *this))
return NV;
```
https://github.com/llvm/llvm-project/pull/85506
More information about the llvm-commits
mailing list