LLVM API Documentation
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/Statistic.h"
#include <algorithm>
#include <iostream>
Include dependency graph for RegAllocLocal.cpp:
Go to the source code of this file.
Defines | |
#define | DEBUG_TYPE "regalloc" |
Functions | |
FunctionPass * | llvm::createLocalRegisterAllocator () |
Variables | |
Statistic | NumStores ("ra-local","Number of stores added") |
Statistic | NumLoads ("ra-local","Number of loads added") |
Statistic | NumFolded ("ra-local","Number of loads/stores folded into ""instructions") |
const TargetMachine * | TM |
MachineFunction * | MF |
const MRegisterInfo * | RegInfo |
LiveVariables * | LV |
bool * | PhysRegsEverUsed |
std::map< unsigned, int > | StackSlotForVirtReg |
DenseMap< unsigned, VirtReg2IndexFunctor > | Virt2PhysRegMap |
std::vector< int > | PhysRegsUsed |
std::vector< unsigned > | PhysRegsUseOrder |
std::vector< bool > | VirtRegModified |
#define DEBUG_TYPE "regalloc" |
Definition at line 15 of file RegAllocLocal.cpp.
Definition at line 41 of file RegAllocLocal.cpp.
Referenced by OptimizeAwayTrappingUsesOfLoads(), and OptimizeGlobalAddressOfMalloc().
Definition at line 39 of file RegAllocLocal.cpp.
Referenced by AddLiveIn(), llvm::SparcV9FunctionInfo::allocateSpilledValue(), llvm::SparcV9FunctionInfo::CalculateArgSize(), llvm::LiveRangeInfo::coalesceLRs(), llvm::SparcV9FunctionInfo::computeOffsetforLocalVar(), llvm::LiveRangeInfo::constructLiveRanges(), llvm::MachineCodeForInstruction::destroy(), llvm::MachineFrameInfo::dump(), llvm::X86RegisterInfo::eliminateCallFramePseudoInstr(), llvm::PPCRegisterInfo::eliminateCallFramePseudoInstr(), llvm::IA64RegisterInfo::eliminateCallFramePseudoInstr(), llvm::AlphaRegisterInfo::eliminateCallFramePseudoInstr(), llvm::X86RegisterInfo::eliminateFrameIndex(), llvm::SparcRegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::IA64RegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), llvm::MachineCodeForInstruction::get(), llvm::MRegisterInfo::getAllocatableSet(), llvm::X86RegisterInfo::getFrameRegister(), llvm::PPCRegisterInfo::getFrameRegister(), llvm::IA64RegisterInfo::getFrameRegister(), llvm::AlphaRegisterInfo::getFrameRegister(), llvm::MRegisterInfo::getLocation(), llvm::SelectionDAGLowering::GetRegistersForValue(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), llvm::getStaticStackSize(), hasFP(), isAllocatableRegister(), llvm::PPCTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerArguments(), llvm::AlphaTargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerCallTo(), llvm::X86TargetLowering::LowerOperation(), llvm::operator<<(), llvm::MachineFrameInfo::print(), llvm::X86RegisterInfo::processFunctionBeforeFrameFinalized(), llvm::SparcV9FunctionInfo::pushTempValue(), llvm::PeepholeOpts::runOnBasicBlock(), llvm::SelectionDAGISel::runOnFunction(), llvm::ModuloSchedulingSBPass::runOnFunction(), llvm::ModuloSchedulingPass::runOnFunction(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), llvm::X86ATTAsmPrinter::runOnMachineFunction(), llvm::SparcV9CodeEmitter::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), and llvm::AsmPrinter::SetupMachineFunction().
bool* PhysRegsEverUsed |
Definition at line 42 of file RegAllocLocal.cpp.
std::vector<int> PhysRegsUsed |
Definition at line 64 of file RegAllocLocal.cpp.
std::vector<unsigned> PhysRegsUseOrder |
Definition at line 74 of file RegAllocLocal.cpp.
const MRegisterInfo* RegInfo |
Definition at line 40 of file RegAllocLocal.cpp.
std::map<unsigned, int> StackSlotForVirtReg |
Definition at line 46 of file RegAllocLocal.cpp.
const TargetMachine* TM |
Definition at line 38 of file RegAllocLocal.cpp.
Referenced by llvm::addX86ELFObjectWriterPass(), llvm::AlphaTargetLowering::AlphaTargetLowering(), llvm::createAlphaISelDag(), llvm::createAsmPrinterPass(), llvm::createIA64DAGToDAGInstructionSelector(), llvm::createPeepholeOptsPass(), llvm::createPPCISelDag(), llvm::createPreSelectionPass(), llvm::createSparcISelDag(), llvm::createX86ISelDag(), findOptimalStorageSize(), llvm::MachineFunction::MachineFunction(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::MachineInstr::print(), and print().
DenseMap<unsigned, VirtReg2IndexFunctor> Virt2PhysRegMap |
Definition at line 50 of file RegAllocLocal.cpp.
std::vector<bool> VirtRegModified |
Definition at line 81 of file RegAllocLocal.cpp.