|
LLVM
4.0.0
|
#include <HexagonBlockRanges.h>
Classes | |
| class | IndexRange |
| class | IndexType |
| class | InstrIndexMap |
| struct | PrintRangeMap |
| class | RangeList |
| struct | RegisterRef |
Public Types | |
| typedef std::set< RegisterRef > | RegisterSet |
| typedef std::map< RegisterRef, RangeList > | RegToRangeMap |
Public Member Functions | |
| HexagonBlockRanges (MachineFunction &MF) | |
| RegToRangeMap | computeLiveMap (InstrIndexMap &IndexMap) |
| RegToRangeMap | computeDeadMap (InstrIndexMap &IndexMap, RegToRangeMap &LiveMap) |
Static Public Member Functions | |
| static RegisterSet | expandToSubRegs (RegisterRef R, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI) |
Definition at line 30 of file HexagonBlockRanges.h.
| typedef std::set<RegisterRef> llvm::HexagonBlockRanges::RegisterSet |
Definition at line 39 of file HexagonBlockRanges.h.
| typedef std::map<RegisterRef,RangeList> llvm::HexagonBlockRanges::RegToRangeMap |
Definition at line 141 of file HexagonBlockRanges.h.
| HexagonBlockRanges::HexagonBlockRanges | ( | MachineFunction & | MF | ) |
Definition at line 217 of file HexagonBlockRanges.cpp.
References E, I, llvm::TargetRegisterInfo::regclass_begin(), and llvm::TargetRegisterInfo::regclass_end().
| HexagonBlockRanges::RegToRangeMap HexagonBlockRanges::computeDeadMap | ( | InstrIndexMap & | IndexMap, |
| RegToRangeMap & | LiveMap | ||
| ) |
Definition at line 378 of file HexagonBlockRanges.cpp.
References A, llvm::dbgs(), DEBUG, llvm::HexagonBlockRanges::IndexType::Entry, llvm::HexagonBlockRanges::IndexType::Exit, expandToSubRegs(), F, llvm::HexagonBlockRanges::InstrIndexMap::getBlock(), llvm::HexagonBlockRanges::InstrIndexMap::getNextIndex(), llvm::MCRegisterInfo::getNumRegs(), llvm::MachineBasicBlock::getParent(), llvm::HexagonBlockRanges::InstrIndexMap::getPrevIndex(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterInfo::isVirtualRegister(), MRI, llvm::HexagonBlockRanges::IndexType::None, and P.
| HexagonBlockRanges::RegToRangeMap HexagonBlockRanges::computeLiveMap | ( | InstrIndexMap & | IndexMap | ) |
Definition at line 368 of file HexagonBlockRanges.cpp.
References llvm::dbgs(), and DEBUG.
|
static |
Definition at line 258 of file HexagonBlockRanges.cpp.
References I, llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::HexagonBlockRanges::RegisterRef::Reg, SRs, and llvm::HexagonBlockRanges::RegisterRef::Sub.
Referenced by computeDeadMap().
1.8.6