LLVM 24.0.0git
llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses Struct Reference

Split the critical edge from this block to the given successor block, and return the newly created block, or null if splitting is not possible. More...

#include "llvm/CodeGen/MachineBasicBlock.h"

Public Attributes

LiveIntervals * LIS
SlotIndexes * SI
MachineLoopInfo * MLI
std::vector< SparseBitVector<> > * LiveOutSets = nullptr

Detailed Description

Split the critical edge from this block to the given successor block, and return the newly created block, or null if splitting is not possible.

This function updates LiveIntervals, MachineDominatorTree, and MachineLoopInfo, as applicable.

If LiveOutSets is provided, it must hold the indexes of the virtual registers live out of each block, indexed by block number. Only those registers are considered when updating LiveIntervals, and the set for the new block is added.

Definition at line 1012 of file MachineBasicBlock.h.

Member Data Documentation

◆ LIS

LiveIntervals* llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses::LIS

Definition at line 1013 of file MachineBasicBlock.h.

Referenced by llvm::MachineBasicBlock::SplitCriticalEdge().

◆ LiveOutSets

std::vector<SparseBitVector<> >* llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses::LiveOutSets = nullptr

Definition at line 1016 of file MachineBasicBlock.h.

Referenced by llvm::MachineBasicBlock::SplitCriticalEdge().

◆ MLI

MachineLoopInfo* llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses::MLI

Definition at line 1015 of file MachineBasicBlock.h.

Referenced by llvm::MachineBasicBlock::SplitCriticalEdge().

◆ SI

SlotIndexes* llvm::MachineBasicBlock::SplitCriticalEdgeAnalyses::SI

Definition at line 1014 of file MachineBasicBlock.h.

Referenced by llvm::MachineBasicBlock::SplitCriticalEdge().


The documentation for this struct was generated from the following file: