LLVM 20.0.0git
|
#include "llvm/CodeGen/LiveRegMatrix.h"
#include "RegisterCoalescer.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveIntervalUnion.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/InitializePasses.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "regalloc" |
Functions | |
STATISTIC (NumAssigned, "Number of registers assigned") | |
STATISTIC (NumUnassigned, "Number of registers unassigned") | |
INITIALIZE_PASS_BEGIN (LiveRegMatrixWrapperLegacy, "liveregmatrix", "Live Register Matrix", false, false) INITIALIZE_PASS_END(LiveRegMatrixWrapperLegacy | |
template<typename Callable > | |
static bool | foreachUnit (const TargetRegisterInfo *TRI, const LiveInterval &VRegInterval, MCRegister PhysReg, Callable Func) |
Variables | |
liveregmatrix | |
Live Register | Matrix |
Live Register | false |
#define DEBUG_TYPE "regalloc" |
Definition at line 33 of file LiveRegMatrix.cpp.
|
static |
Definition at line 87 of file LiveRegMatrix.cpp.
References llvm::LiveInterval::hasSubRanges(), llvm::MCRegUnitMaskIterator::isValid(), llvm::LiveInterval::subranges(), and TRI.
Referenced by llvm::LiveRegMatrix::assign(), llvm::LiveRegMatrix::checkInterference(), llvm::LiveRegMatrix::checkRegUnitInterference(), and llvm::LiveRegMatrix::unassign().
INITIALIZE_PASS_BEGIN | ( | LiveRegMatrixWrapperLegacy | , |
"liveregmatrix" | , | ||
"Live Register Matrix" | , | ||
false | , | ||
false | |||
) |
STATISTIC | ( | NumAssigned | , |
"Number of registers assigned" | |||
) |
STATISTIC | ( | NumUnassigned | , |
"Number of registers unassigned" | |||
) |
Definition at line 44 of file LiveRegMatrix.cpp.
liveregmatrix |
Definition at line 43 of file LiveRegMatrix.cpp.
Definition at line 44 of file LiveRegMatrix.cpp.
Referenced by llvm::AllocationOrder::create(), llvm::MatrixBuilder::CreateColumnMajorStore(), llvm::MatrixBuilder::CreateMatrixInsert(), llvm::MatrixBuilder::CreateMatrixTranspose(), llvm::RAGreedy::getInterferenceMatrix(), llvm::LiveRegMatrix::getLiveUnions(), llvm::PPCRegisterInfo::getRegAllocationHints(), llvm::RISCVRegisterInfo::getRegAllocationHints(), llvm::SystemZRegisterInfo::getRegAllocationHints(), llvm::X86RegisterInfo::getRegAllocationHints(), LowerBITREVERSE(), and llvm::SIPreAllocateWWMRegsPass::run().