LLVM API Documentation
#include "VirtRegMap.h"
#include "llvm/Function.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include <algorithm>
#include <iostream>
Include dependency graph for VirtRegMap.cpp:
Go to the source code of this file.
Classes | |
class | AvailableSpills |
Defines | |
#define | DEBUG_TYPE "spiller" |
Enumerations | |
enum | SpillerName { simple, local } |
Functions | |
llvm::Spiller * | llvm::createSpiller () |
Variables | |
Statistic | NumSpills ("spiller","Number of register spills") |
Statistic | NumStores ("spiller","Number of stores added") |
Statistic | NumLoads ("spiller","Number of loads added") |
Statistic | NumReused ("spiller","Number of values reused") |
Statistic | NumDSE ("spiller","Number of dead stores elided") |
Statistic | NumDCE ("spiller","Number of copies elided") |
cl::opt< SpillerName > | SpillerOpt ("spiller", cl::desc("Spiller to use: (default: local)"), cl::Prefix, cl::values(clEnumVal(simple," simple spiller"), clEnumVal(local," local spiller"), clEnumValEnd), cl::init(local)) |
const MRegisterInfo * | MRI |
const TargetInstrInfo * | TII |
unsigned | Operand |
unsigned | StackSlot |
unsigned | PhysRegReused |
unsigned | AssignedPhysReg |
unsigned | VirtReg |
MachineInstr & | MI |
std::vector< ReusedOp > | Reuses |
#define DEBUG_TYPE "spiller" |
Definition at line 19 of file VirtRegMap.cpp.
enum SpillerName |
unsigned AssignedPhysReg |
Definition at line 370 of file VirtRegMap.cpp.
Definition at line 384 of file VirtRegMap.cpp.
Referenced by llvm::MachineInstrBuilder::addCCReg(), llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addExternalSymbol(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::DSNode::addFullFunctionList(), llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addImm64(), llvm::LiveIntervals::addIntervalsForSpills(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addMReg(), llvm::MSchedGraphSB::addNode(), llvm::MSchedGraph::addNode(), llvm::DSGraph::addObjectToGraph(), llvm::MachineInstrBuilder::addPCDisp(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstrBuilder::addSImm(), llvm::LiveVariables::addVirtualRegisterDead(), llvm::LiveVariables::addVirtualRegisterKilled(), llvm::MachineInstrBuilder::addZImm(), llvm::BuildMI(), CleanupConstantGlobalUsers(), llvm::LiveRangeInfo::coalesceLRs(), llvm::X86InstrInfo::commuteInstruction(), llvm::TargetInstrInfo::commuteInstruction(), llvm::PPCInstrInfo::commuteInstruction(), llvm::X86InstrInfo::convertToThreeAddress(), llvm::SparcV9RegInfo::cpMem2RegMI(), llvm::SparcV9RegInfo::cpReg2MemMI(), llvm::SparcV9RegInfo::cpReg2RegMI(), llvm::SparcV9RegInfo::cpValue2Value(), CreateVirtualRegisters(), llvm::LiveVariables::dead_begin(), llvm::LiveVariables::dead_end(), llvm::LiveVariables::dead_range(), llvm::ilist_traits< MachineInstr >::destroySentinel(), llvm::SparcRegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::ScheduleDAG::EmitNode(), llvm::X86RegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::SchedGraph::find(), llvm::Archive::findModuleDefiningSymbol(), llvm::X86RegisterInfo::foldMemoryOperand(), llvm::SparcRegisterInfo::foldMemoryOperand(), llvm::PPCRegisterInfo::foldMemoryOperand(), llvm::AlphaRegisterInfo::foldMemoryOperand(), llvm::CallArgsDescriptor::get(), llvm::LiveVariables::getDeadDefsVector(), llvm::VirtRegMap::getFoldedVirts(), llvm::SchedGraph::getGraphNodeForInstr(), llvm::LiveVariables::getKillsVector(), llvm::EquivalenceClasses< llvm::GlobalValue * >::getLeaderValue(), llvm::FunctionLiveVarInfo::getLiveVarSetAfterMInst(), llvm::FunctionLiveVarInfo::getLiveVarSetBeforeMInst(), llvm::SchedGraphNode::getMachineInstr(), getNumBytesForInstruction(), llvm::SchedGraphNode::getOpcode(), llvm::EquivalenceClasses< llvm::GlobalValue * >::getOrInsertLeaderValue(), llvm::SlotMachine::getSlot(), llvm::LiveVariables::HandleVirtRegUse(), HandleVRSaveUpdate(), llvm::UniqueVector< llvm::DIEAbbrev >::idFor(), llvm::UniqueVector< llvm::DIEAbbrev >::insert(), llvm::X86TargetLowering::InsertAtEndOfBasicBlock(), llvm::PPCTargetLowering::InsertAtEndOfBasicBlock(), InstructionUsesRegister(), llvm::SchedGraphNode::isDummyNode(), llvm::X86InstrInfo::isLoadFromStackSlot(), llvm::SparcInstrInfo::isLoadFromStackSlot(), llvm::PPCInstrInfo::isLoadFromStackSlot(), llvm::AlphaInstrInfo::isLoadFromStackSlot(), llvm::X86SharedAsmPrinter::isMem(), llvm::X86InstrInfo::isMoveInstr(), llvm::SparcInstrInfo::isMoveInstr(), llvm::PPCInstrInfo::isMoveInstr(), llvm::IA64InstrInfo::isMoveInstr(), llvm::AlphaInstrInfo::isMoveInstr(), llvm::X86InstrInfo::isStoreToStackSlot(), llvm::SparcInstrInfo::isStoreToStackSlot(), llvm::PPCInstrInfo::isStoreToStackSlot(), llvm::AlphaInstrInfo::isStoreToStackSlot(), llvm::IsUselessCopy(), llvm::LiveVariables::killed_begin(), llvm::LiveVariables::killed_end(), llvm::LiveVariables::killed_range(), llvm::LiveVariables::KillsRegister(), MakeMIInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), llvm::operator<<(), llvm::EquivalenceClasses< llvm::GlobalValue * >::operator=(), llvm::SchedGraph::operator[](), OptimizeGlobalAddressOfMalloc(), OptimizeOnceStoredGlobal(), llvm::X86IntelAsmPrinter::printf128mem(), llvm::X86ATTAsmPrinter::printf128mem(), llvm::X86IntelAsmPrinter::printf32mem(), llvm::X86ATTAsmPrinter::printf32mem(), llvm::X86IntelAsmPrinter::printf64mem(), llvm::X86ATTAsmPrinter::printf64mem(), llvm::X86IntelAsmPrinter::printi128mem(), llvm::X86ATTAsmPrinter::printi128mem(), llvm::X86IntelAsmPrinter::printi16mem(), llvm::X86ATTAsmPrinter::printi16mem(), llvm::X86IntelAsmPrinter::printi32mem(), llvm::X86ATTAsmPrinter::printi32mem(), llvm::X86IntelAsmPrinter::printi64mem(), llvm::X86ATTAsmPrinter::printi64mem(), llvm::X86IntelAsmPrinter::printi8mem(), llvm::X86ATTAsmPrinter::printi8mem(), llvm::AsmPrinter::printInlineAsm(), llvm::X86IntelAsmPrinter::printMachineInstruction(), llvm::X86ATTAsmPrinter::printMachineInstruction(), llvm::X86IntelAsmPrinter::printMemReference(), llvm::X86ATTAsmPrinter::printMemReference(), llvm::X86IntelAsmPrinter::printOperand(), llvm::X86ATTAsmPrinter::printOperand(), llvm::X86IntelAsmPrinter::printSSECC(), llvm::X86ATTAsmPrinter::printSSECC(), llvm::MachineBasicBlock::push_back(), llvm::LiveVariables::RegisterDefIsDead(), llvm::FunctionLiveVarInfo::releaseMemory(), llvm::LiveVariables::VarInfo::removeKill(), llvm::LiveVariables::removeVirtualRegisterDead(), llvm::LiveVariables::removeVirtualRegisterKilled(), llvm::LiveVariables::removeVirtualRegistersDead(), llvm::LiveVariables::removeVirtualRegistersKilled(), llvm::SparcV9CodeEmitter::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), llvm::FindUsedTypes::runOnModule(), and llvm::LiveRangeInfo::~LiveRangeInfo().
const MRegisterInfo* MRI |
Definition at line 209 of file VirtRegMap.cpp.
Referenced by AvailableSpills::addAvailable(), AvailableSpills::getRegInfo(), llvm::SelectionDAGLowering::GetRegistersForValue(), isAllocatableRegister(), OutputReg(), llvm::VirtRegMap::print(), print(), llvm::MachineFunction::print(), llvm::LiveInterval::print(), and updateSpillWeights().
Referenced by llvm::VirtRegMap::assignVirt2StackSlot().
unsigned Operand |
Definition at line 361 of file VirtRegMap.cpp.
Referenced by llvm::SelectionDAG::getNode(), and llvm::AssemblyWriter::writeOperand().
unsigned PhysRegReused |
Definition at line 367 of file VirtRegMap.cpp.
std::vector<ReusedOp> Reuses |
Definition at line 385 of file VirtRegMap.cpp.
cl::opt<SpillerName> SpillerOpt("spiller", cl::desc("Spiller to use: (default: local)"), cl::Prefix, cl::values(clEnumVal(simple," simple spiller"),clEnumVal(local," local spiller"),clEnumValEnd), cl::init(local)) [static] |
Referenced by llvm::createSpiller().
unsigned StackSlot |
Definition at line 364 of file VirtRegMap.cpp.
Referenced by llvm::X86TargetLowering::LowerOperation().
const TargetInstrInfo* TII |
Definition at line 210 of file VirtRegMap.cpp.
Referenced by llvm::MachineBasicBlock::getFirstTerminator(), llvm::SDNode::getOperationName(), ReplaceUsesOfBlockWith(), and llvm::LiveVariables::runOnMachineFunction().
unsigned VirtReg |
Definition at line 373 of file VirtRegMap.cpp.