llvm-project
57850483 - [VPlan] Add VPIRBasicBlock, use to model pre-preheader. (#93398)

Commit
1 year ago
[VPlan] Add VPIRBasicBlock, use to model pre-preheader. (#93398) This patch adds a new special type of VPBasicBlock that wraps an existing IR basic block. Recipes of the block get added before the terminator of the wrapped IR basic block. Making it a subclass of VPBasicBlock avoids duplicating various APIs to manage recipes in a block, as well as makes sure the traversals filtering VPBasicBlocks automatically apply as well. Initially VPIRBasicBlock are only used for the pre-preheader (wrapping the original preheader of the scalar loop). As follow-up, this will be used to move more parts of the skeleton inside VPlan, starting with the branch and condition in the middle block. Separated out of https://github.com/llvm/llvm-project/pull/92651 PR: https://github.com/llvm/llvm-project/pull/93398
Author
Parents
Loading