|
LLVM
4.0.0
|
Additional information about basic blocks where the current variable is live. More...
#include <SplitKit.h>
Public Member Functions | |
| bool | isOneInstr () const |
| isOneInstr - Returns true when this BlockInfo describes a single instruction. More... | |
Public Attributes | |
| MachineBasicBlock * | MBB |
| SlotIndex | FirstInstr |
| First instr accessing current reg. More... | |
| SlotIndex | LastInstr |
| Last instr accessing current reg. More... | |
| SlotIndex | FirstDef |
| First non-phi valno->def, or SlotIndex(). More... | |
| bool | LiveIn |
| Current reg is live in. More... | |
| bool | LiveOut |
| Current reg is live out. More... | |
Additional information about basic blocks where the current variable is live.
Such a block will look like one of these templates:
Two BlockInfo entries are created for template 4. One for the live-in segment, and one for the live-out segment. These entries look as if the block were split in the middle where the live range isn't live.
Live-through blocks without any uses don't get BlockInfo entries. They are simply listed in ThroughBlocks instead.
Definition at line 102 of file SplitKit.h.
|
inline |
isOneInstr - Returns true when this BlockInfo describes a single instruction.
Definition at line 112 of file SplitKit.h.
References llvm::SlotIndex::isSameInstr().
Referenced by llvm::SplitAnalysis::shouldSplitSingleBlock().
| SlotIndex llvm::SplitAnalysis::BlockInfo::FirstDef |
First non-phi valno->def, or SlotIndex().
Definition at line 106 of file SplitKit.h.
| SlotIndex llvm::SplitAnalysis::BlockInfo::FirstInstr |
First instr accessing current reg.
Definition at line 104 of file SplitKit.h.
Referenced by llvm::SplitAnalysis::shouldSplitSingleBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
| SlotIndex llvm::SplitAnalysis::BlockInfo::LastInstr |
Last instr accessing current reg.
Definition at line 105 of file SplitKit.h.
Referenced by llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
| bool llvm::SplitAnalysis::BlockInfo::LiveIn |
Current reg is live in.
Definition at line 107 of file SplitKit.h.
Referenced by llvm::SplitAnalysis::shouldSplitSingleBlock(), llvm::SplitEditor::splitRegInBlock(), and llvm::SplitEditor::splitRegOutBlock().
| bool llvm::SplitAnalysis::BlockInfo::LiveOut |
Current reg is live out.
Definition at line 108 of file SplitKit.h.
Referenced by llvm::SplitAnalysis::shouldSplitSingleBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
| MachineBasicBlock* llvm::SplitAnalysis::BlockInfo::MBB |
Definition at line 103 of file SplitKit.h.
Referenced by llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
1.8.6