class LiveIntervals::HMEditor
Declaration
class LiveIntervals::HMEditor { /* full declaration omitted */ };
Description
Toolkit used by handleMove to trim or extend live intervals.
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:979
Member Variables
- private llvm::LiveIntervals& LIS
- private const llvm::MachineRegisterInfo& MRI
- private const llvm::TargetRegisterInfo& TRI
- private llvm::SlotIndex OldIdx
- private llvm::SlotIndex NewIdx
- private SmallPtrSet<llvm::LiveRange*, 8> Updated
- private bool UpdateFlags
Method Overview
- public HMEditor(llvm::LiveIntervals & LIS, const llvm::MachineRegisterInfo & MRI, const llvm::TargetRegisterInfo & TRI, llvm::SlotIndex OldIdx, llvm::SlotIndex NewIdx, bool UpdateFlags)
- private llvm::SlotIndex findLastUseBefore(llvm::SlotIndex Before, llvm::Register Reg, llvm::LaneBitmask LaneMask)
- public llvm::LiveRange * getRegUnitLI(unsigned int Unit)
- private void handleMoveDown(llvm::LiveRange & LR)
- private void handleMoveUp(llvm::LiveRange & LR, llvm::Register Reg, llvm::LaneBitmask LaneMask)
- public void updateAllRanges(llvm::MachineInstr * MI)
- private void updateRange(llvm::LiveRange & LR, llvm::Register Reg, llvm::LaneBitmask LaneMask)
- private void updateRegMaskSlots()
Methods
¶HMEditor(llvm::LiveIntervals& LIS,
const llvm::MachineRegisterInfo& MRI,
const llvm::TargetRegisterInfo& TRI,
llvm::SlotIndex OldIdx,
llvm::SlotIndex NewIdx,
bool UpdateFlags)
HMEditor(llvm::LiveIntervals& LIS,
const llvm::MachineRegisterInfo& MRI,
const llvm::TargetRegisterInfo& TRI,
llvm::SlotIndex OldIdx,
llvm::SlotIndex NewIdx,
bool UpdateFlags)
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:990
Parameters
- llvm::LiveIntervals& LIS
- const llvm::MachineRegisterInfo& MRI
- const llvm::TargetRegisterInfo& TRI
- llvm::SlotIndex OldIdx
- llvm::SlotIndex NewIdx
- bool UpdateFlags
¶llvm::SlotIndex findLastUseBefore(
llvm::SlotIndex Before,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
llvm::SlotIndex findLastUseBefore(
llvm::SlotIndex Before,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1456
Parameters
- llvm::SlotIndex Before
- llvm::Register Reg
- llvm::LaneBitmask LaneMask
¶llvm::LiveRange* getRegUnitLI(unsigned int Unit)
llvm::LiveRange* getRegUnitLI(unsigned int Unit)
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1000
Parameters
- unsigned int Unit
¶void handleMoveDown(llvm::LiveRange& LR)
void handleMoveDown(llvm::LiveRange& LR)
Description
Update LR to reflect an instruction has been moved downwards from OldIdx to NewIdx (OldIdx < NewIdx).
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1101
Parameters
- llvm::LiveRange& LR
¶void handleMoveUp(llvm::LiveRange& LR,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
void handleMoveUp(llvm::LiveRange& LR,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
Description
Update LR to reflect an instruction has been moved upwards from OldIdx to NewIdx (NewIdx < OldIdx).
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1274
Parameters
- llvm::LiveRange& LR
- llvm::Register Reg
- llvm::LaneBitmask LaneMask
¶void updateAllRanges(llvm::MachineInstr* MI)
void updateAllRanges(llvm::MachineInstr* MI)
Description
Update all live ranges touched by MI, assuming a move from OldIdx to NewIdx.
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1008
Parameters
¶void updateRange(llvm::LiveRange& LR,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
void updateRange(llvm::LiveRange& LR,
llvm::Register Reg,
llvm::LaneBitmask LaneMask)
Description
Update a single live range, assuming an instruction has been moved from OldIdx to NewIdx.
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1077
Parameters
- llvm::LiveRange& LR
- llvm::Register Reg
- llvm::LaneBitmask LaneMask
¶void updateRegMaskSlots()
void updateRegMaskSlots()
Declared at: llvm/lib/CodeGen/LiveIntervals.cpp:1441