[llvm] [VPlan] Introduce VPlanConstantFolder (PR #125365)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon May 5 13:02:38 PDT 2025
================
@@ -937,10 +938,84 @@ static void recursivelyDeleteDeadRecipes(VPValue *V) {
}
}
+class VPConstantFolder {
+ TargetFolder Folder;
+ VPTypeAnalysis TypeInfo;
+
+public:
+ VPConstantFolder(const DataLayout &DL, const VPTypeAnalysis &TypeInfo)
+ : Folder(DL), TypeInfo(TypeInfo) {}
+
+ Value *tryToConstantFold(VPRecipeBase &R, unsigned Opcode,
+ ArrayRef<VPValue *> Operands) {
+ SmallVector<Value *, 4> Ops;
+ for (VPValue *Op : Operands) {
+ if (!Op->isLiveIn() || !Op->getLiveInIRValue())
+ return nullptr;
+ Ops.emplace_back(Op->getLiveInIRValue());
----------------
fhahn wrote:
```suggestion
Ops.push_back(Op->getLiveInIRValue());
```
as we are just adding pointers?
https://github.com/llvm/llvm-project/pull/125365
More information about the llvm-commits
mailing list