LLVM API Documentation

RegAllocLocal.cpp File Reference

#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/Support/Visibility.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

FunctionPassllvm::createLocalRegisterAllocator ()

Variables

static Statistic NumStores ("ra-local","Number of stores added")
static Statistic NumLoads ("ra-local","Number of loads added")
static Statistic NumFolded ("ra-local","Number of loads/stores folded ""into instructions")


Define Documentation

#define DEBUG_TYPE   "regalloc"

Definition at line 15 of file RegAllocLocal.cpp.


Variable Documentation

LiveVariables* LV

Definition at line 42 of file RegAllocLocal.cpp.

Referenced by OptimizeAwayTrappingUsesOfLoads(), and OptimizeGlobalAddressOfMalloc().

MachineFunction* MF

Definition at line 40 of file RegAllocLocal.cpp.

Referenced by AddLiveIn(), 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::ARMRegisterInfo::eliminateFrameIndex(), llvm::AlphaRegisterInfo::eliminateFrameIndex(), llvm::X86RegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::ARMRegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), llvm::ScheduleDAG::EmitSchedule(), llvm::MRegisterInfo::getAllocatableSet(), llvm::X86RegisterInfo::getFrameRegister(), llvm::PPCRegisterInfo::getFrameRegister(), llvm::IA64RegisterInfo::getFrameRegister(), llvm::AlphaRegisterInfo::getFrameRegister(), llvm::MRegisterInfo::getLocation(), llvm::SelectionDAGLowering::GetRegistersForValue(), llvm::X86TargetLowering::getReturnAddressFrameIndex(), HandleVRSaveUpdate(), hasFP(), isAllocatableRegister(), llvm::IA64TargetLowering::LowerArguments(), llvm::IA64TargetLowering::LowerCallTo(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), llvm::operator<<(), PerformShuffleCombine(), llvm::MachineFrameInfo::print(), llvm::X86RegisterInfo::processFunctionBeforeFrameFinalized(), RemoveVRSaveCode(), llvm::SelectionDAGISel::runOnFunction(), llvm::X86IntelAsmPrinter::runOnMachineFunction(), llvm::X86ATTAsmPrinter::runOnMachineFunction(), llvm::LiveVariables::runOnMachineFunction(), and llvm::AsmPrinter::SetupMachineFunction().

Statistic NumFolded("ra-local","Number of loads/stores folded ""into instructions") [static]

Statistic NumLoads("ra-local","Number of loads added") [static]

Statistic NumStores("ra-local","Number of stores added") [static]

bool* PhysRegsEverUsed

Definition at line 43 of file RegAllocLocal.cpp.

std::vector<int> PhysRegsUsed

Definition at line 65 of file RegAllocLocal.cpp.

std::vector<unsigned> PhysRegsUseOrder

Definition at line 75 of file RegAllocLocal.cpp.

const MRegisterInfo* RegInfo

Definition at line 41 of file RegAllocLocal.cpp.

std::map<unsigned, int> StackSlotForVirtReg

Definition at line 47 of file RegAllocLocal.cpp.

const TargetMachine* TM

Definition at line 39 of file RegAllocLocal.cpp.

Referenced by llvm::addX86ELFObjectWriterPass(), llvm::createAlphaCodeEmitterPass(), llvm::createAlphaISelDag(), llvm::createARMISelDag(), llvm::createIA64DAGToDAGInstructionSelector(), llvm::createPPCISelDag(), llvm::createSparcISelDag(), llvm::createX86CodeEmitterPass(), llvm::createX86ISelDag(), LowerConstantPool(), LowerGlobalAddress(), LowerJumpTable(), llvm::MachineFunction::MachineFunction(), llvm::X86TargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::MachineInstr::print(), and print().

DenseMap<unsigned, VirtReg2IndexFunctor> Virt2PhysRegMap

Definition at line 51 of file RegAllocLocal.cpp.

std::vector<bool> VirtRegModified

Definition at line 82 of file RegAllocLocal.cpp.