[llvm] [LV] Limits the splat operations be hoisted must not be defined by a recipe. (PR #117138)
Mel Chen via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 7 04:41:11 PST 2025
Mel-Chen wrote:
> How about adding a VPDominatorTree to VPTransformState, using that to check for dominance? VPlan's CFG shouldn't change during execution, so no need to worry about updates
@fhahn 40c2deeccbead6ad64559a0bcb7d5d5997550210
I have to update the VPDominatorTree before VPlan::execute since the plan will be changed after State was constructed:
```
// 2. Copy and widen instructions from the old loop into the new loop.
BestVPlan.prepareToExecute(
ILV.getTripCount(),
ILV.getOrCreateVectorTripCount(ILV.LoopVectorPreHeader), State);
replaceVPBBWithIRVPBB(VectorPH, State.CFG.PrevBB); <--- This function will change CFG of plan
BestVPlan.execute(&State);
```
And also, could you please take a look the issue about circular dependency between VPlan.h and VPlanDominatorTree.h?
Or could we proceed with using the pointer?
https://github.com/llvm/llvm-project/pull/117138
More information about the llvm-commits
mailing list