LLVM API Documentation
#include "llvm/CodeGen/LiveIntervalAnalysis.h"#include "llvm/CodeGen/LiveStackAnalysis.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineLoopInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/Passes.h"#include "llvm/CodeGen/RegisterCoalescer.h"#include "llvm/Target/TargetInstrInfo.h"#include "llvm/Target/TargetMachine.h"#include "llvm/Target/TargetOptions.h"#include "llvm/Target/TargetRegisterInfo.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Debug.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/Statistic.h"

Go to the source code of this file.
Defines | |
| #define | DEBUG_TYPE "pre-alloc-split" |
Functions | |
| STATISTIC (NumSplits,"Number of intervals split") | |
| STATISTIC (NumRemats,"Number of intervals split by rematerialization") | |
| STATISTIC (NumFolds,"Number of intervals split with spill folding") | |
| STATISTIC (NumRenumbers,"Number of intervals renumbered into new registers") | |
Variables | |
| static cl::opt< int > | PreSplitLimit ("pre-split-limit", cl::init(-1), cl::Hidden) |
| static RegisterPass < PreAllocSplitting > | X ("pre-alloc-splitting","Pre-Register Allocation Live Interval Splitting") |
| #define DEBUG_TYPE "pre-alloc-split" |
Definition at line 17 of file PreAllocSplitting.cpp.
| STATISTIC | ( | NumRenumbers | , | |
| "Number of intervals renumbered into new registers" | ||||
| ) |
| STATISTIC | ( | NumFolds | , | |
| "Number of intervals split with spill folding" | ||||
| ) |
| STATISTIC | ( | NumRemats | , | |
| "Number of intervals split by rematerialization" | ||||
| ) |
| STATISTIC | ( | NumSplits | , | |
| "Number of intervals split" | ||||
| ) |
Definition at line 57 of file PreAllocSplitting.cpp.
Definition at line 63 of file PreAllocSplitting.cpp.
Definition at line 60 of file PreAllocSplitting.cpp.
Definition at line 66 of file PreAllocSplitting.cpp.
Definition at line 48 of file PreAllocSplitting.cpp.
Definition at line 69 of file PreAllocSplitting.cpp.
Definition at line 72 of file PreAllocSplitting.cpp.
Definition at line 78 of file PreAllocSplitting.cpp.
char ID [static] |
Definition at line 81 of file PreAllocSplitting.cpp.
| DenseMap<unsigned, int> IntervalSSMap |
Definition at line 75 of file PreAllocSplitting.cpp.
Definition at line 53 of file PreAllocSplitting.cpp.
Definition at line 54 of file PreAllocSplitting.cpp.
Definition at line 51 of file PreAllocSplitting.cpp.
Referenced by llvm::addFrameReference(), llvm::MipsRegisterInfo::adjustMipsStackFrame(), CheckDAGForTailCallsAndFixThem(), llvm::SPURegisterInfo::determineFrameLayout(), llvm::PPCRegisterInfo::determineFrameLayout(), llvm::SPURegisterInfo::eliminateFrameIndex(), llvm::PPCRegisterInfo::eliminateFrameIndex(), llvm::XCoreRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitEpilogue(), llvm::SPURegisterInfo::emitEpilogue(), llvm::PPCRegisterInfo::emitEpilogue(), llvm::MipsRegisterInfo::emitEpilogue(), llvm::IA64RegisterInfo::emitEpilogue(), llvm::ARMRegisterInfo::emitEpilogue(), llvm::AlphaRegisterInfo::emitEpilogue(), llvm::X86RegisterInfo::emitFrameMoves(), llvm::XCoreRegisterInfo::emitPrologue(), llvm::X86RegisterInfo::emitPrologue(), llvm::SPURegisterInfo::emitPrologue(), llvm::SparcRegisterInfo::emitPrologue(), llvm::PPCRegisterInfo::emitPrologue(), llvm::MipsRegisterInfo::emitPrologue(), llvm::IA64RegisterInfo::emitPrologue(), llvm::ARMRegisterInfo::emitPrologue(), llvm::AlphaRegisterInfo::emitPrologue(), llvm::TargetInstrInfo::foldMemoryOperand(), llvm::X86InstrInfo::foldMemoryOperandImpl(), llvm::X86RegisterInfo::getCalleeSavedRegClasses(), llvm::X86RegisterInfo::getCalleeSavedRegs(), llvm::TargetRegisterInfo::getFrameIndexOffset(), llvm::X86RegisterInfo::hasFP(), llvm::SPURegisterInfo::hasFP(), llvm::PPCRegisterInfo::hasFP(), llvm::MipsRegisterInfo::hasFP(), llvm::IA64RegisterInfo::hasFP(), llvm::ARMRegisterInfo::hasFP(), llvm::AlphaRegisterInfo::hasFP(), llvm::XCoreInstrInfo::isInvariantLoad(), llvm::X86InstrInfo::isInvariantLoad(), llvm::IA64TargetLowering::LowerArguments(), llvm::PPCRegisterInfo::lowerDynamicAlloc(), LowerFORMAL_ARGUMENT(), LowerFORMAL_ARGUMENTS(), MeetsMaxMemopRequirement(), MustSaveLR(), needsFP(), llvm::XCoreRegisterInfo::needsFrameMoves(), llvm::X86RegisterInfo::needsStackRealignment(), llvm::XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan(), llvm::PPCRegisterInfo::processFunctionBeforeCalleeSavedScan(), llvm::ARMRegisterInfo::processFunctionBeforeCalleeSavedScan(), llvm::MipsRegisterInfo::processFunctionBeforeFrameFinalized(), and llvm::XCoreInstrInfo::spillCalleeSavedRegisters().
Definition at line 52 of file PreAllocSplitting.cpp.
cl::opt<int> PreSplitLimit("pre-split-limit", cl::init(-1), cl::Hidden) [static] |
| const TargetInstrInfo* TII |
Definition at line 50 of file PreAllocSplitting.cpp.
| const TargetMachine* TM |
Definition at line 49 of file PreAllocSplitting.cpp.
RegisterPass<PreAllocSplitting> X("pre-alloc-splitting","Pre-Register Allocation Live Interval Splitting") [static] |
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.