[llvm] edea974 - [ValueTracking] Avoid FP cast constant expressions
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 6 05:19:40 PST 2023
Author: Nikita Popov
Date: 2023-11-06T14:19:32+01:00
New Revision: edea9743490ec01dca2d70f343f1544e7ead4915
URL: https://github.com/llvm/llvm-project/commit/edea9743490ec01dca2d70f343f1544e7ead4915
DIFF: https://github.com/llvm/llvm-project/commit/edea9743490ec01dca2d70f343f1544e7ead4915.diff
LOG: [ValueTracking] Avoid FP cast constant expressions
Use the constant folding API instead.
Added:
Modified:
llvm/lib/Analysis/ValueTracking.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp
index 2458c1cb9f8ec1d..ff14da4c1e73e94 100644
--- a/llvm/lib/Analysis/ValueTracking.cpp
+++ b/llvm/lib/Analysis/ValueTracking.cpp
@@ -7880,22 +7880,22 @@ static Value *lookThroughCast(CmpInst *CmpI, Value *V1, Value *V2,
}
break;
case Instruction::FPTrunc:
- CastedTo = ConstantExpr::getFPExtend(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::FPExt, C, SrcTy, DL);
break;
case Instruction::FPExt:
- CastedTo = ConstantExpr::getFPTrunc(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::FPTrunc, C, SrcTy, DL);
break;
case Instruction::FPToUI:
- CastedTo = ConstantExpr::getUIToFP(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::UIToFP, C, SrcTy, DL);
break;
case Instruction::FPToSI:
- CastedTo = ConstantExpr::getSIToFP(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::SIToFP, C, SrcTy, DL);
break;
case Instruction::UIToFP:
- CastedTo = ConstantExpr::getFPToUI(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::FPToUI, C, SrcTy, DL);
break;
case Instruction::SIToFP:
- CastedTo = ConstantExpr::getFPToSI(C, SrcTy, true);
+ CastedTo = ConstantFoldCastOperand(Instruction::FPToSI, C, SrcTy, DL);
break;
default:
break;
More information about the llvm-commits
mailing list