| 
    LLVM 22.0.0git
    
   | 
 
Additional information about basic blocks where the current variable is live. More...
#include "CodeGen/SplitKit.h"
Public Member Functions | |
| bool | isOneInstr () const | 
| isOneInstr - Returns true when this BlockInfo describes a single instruction.   | |
| void | print (raw_ostream &OS) const | 
| void | dump () const | 
Public Attributes | |
| MachineBasicBlock * | MBB | 
| SlotIndex | FirstInstr | 
| First instr accessing current reg.   | |
| SlotIndex | LastInstr | 
| Last instr accessing current reg.   | |
| SlotIndex | FirstDef | 
| First non-phi valno->def, or SlotIndex().   | |
| bool | LiveIn | 
| Current reg is live in.   | |
| bool | LiveOut | 
| Current reg is live out.   | |
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 121 of file SplitKit.h.
| void SplitAnalysis::BlockInfo::dump | ( | ) | const | 
Definition at line 1934 of file SplitKit.cpp.
References llvm::dbgs(), and llvm::print().
      
  | 
  inline | 
isOneInstr - Returns true when this BlockInfo describes a single instruction.
Definition at line 131 of file SplitKit.h.
References FirstInstr, llvm::SlotIndex::isSameInstr(), and LastInstr.
Referenced by llvm::SplitAnalysis::shouldSplitSingleBlock().
| void SplitAnalysis::BlockInfo::print | ( | raw_ostream & | OS | ) | const | 
Definition at line 1926 of file SplitKit.cpp.
References FirstDef, FirstInstr, LastInstr, LiveIn, LiveOut, MBB, and llvm::printMBBReference().
| SlotIndex llvm::SplitAnalysis::BlockInfo::FirstDef | 
First non-phi valno->def, or SlotIndex().
Definition at line 125 of file SplitKit.h.
Referenced by print().
| SlotIndex llvm::SplitAnalysis::BlockInfo::FirstInstr | 
First instr accessing current reg.
Definition at line 123 of file SplitKit.h.
Referenced by isOneInstr(), print(), 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 124 of file SplitKit.h.
Referenced by isOneInstr(), print(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
| bool llvm::SplitAnalysis::BlockInfo::LiveIn | 
Current reg is live in.
Definition at line 126 of file SplitKit.h.
Referenced by print(), llvm::SplitAnalysis::shouldSplitSingleBlock(), llvm::SplitEditor::splitRegInBlock(), and llvm::SplitEditor::splitRegOutBlock().
| bool llvm::SplitAnalysis::BlockInfo::LiveOut | 
Current reg is live out.
Definition at line 127 of file SplitKit.h.
Referenced by print(), llvm::SplitAnalysis::shouldSplitSingleBlock(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().
| MachineBasicBlock* llvm::SplitAnalysis::BlockInfo::MBB | 
Definition at line 122 of file SplitKit.h.
Referenced by print(), llvm::SplitEditor::splitRegInBlock(), llvm::SplitEditor::splitRegOutBlock(), and llvm::SplitEditor::splitSingleBlock().