[llvm] [VPlan] Add VPIRBasicBlock, use to model pre-preheader. (PR #93398)
    via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue May 28 11:27:21 PDT 2024
    
    
  
================
@@ -2948,12 +2953,48 @@ class VPBasicBlock : public VPBlockBase {
     return NewBlock;
   }
 
+protected:
+  void executeRecipes(VPTransformState *State, BasicBlock *BB);
+
 private:
   /// Create an IR BasicBlock to hold the output instructions generated by this
   /// VPBasicBlock, and return it. Update the CFGState accordingly.
   BasicBlock *createEmptyBasicBlock(VPTransformState::CFGState &CFG);
 };
 
+/// A special type of VPBasicBlock that wraps an existing IR basic block.
+/// Recipes of the block get added before the first non-phi instruction in the
+/// wrapped block.
+class VPIRBasicBlock : public VPBasicBlock {
+  BasicBlock *WrappedBlock;
----------------
ayalz wrote:
```suggestion
  BasicBlock *IRBasicBlock;
```
or `IRBB`?
https://github.com/llvm/llvm-project/pull/93398
    
    
More information about the llvm-commits
mailing list