LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions | Variables
RegAllocGreedy.cpp File Reference
#include "llvm/CodeGen/Passes.h"
#include "AllocationOrder.h"
#include "InterferenceCache.h"
#include "LiveDebugVariables.h"
#include "RegAllocBase.h"
#include "SpillPlacement.h"
#include "Spiller.h"
#include "SplitKit.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/CalcSpillWeights.h"
#include "llvm/CodeGen/EdgeBundles.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/LiveRangeEdit.h"
#include "llvm/CodeGen/LiveRegMatrix.h"
#include "llvm/CodeGen/LiveStackAnalysis.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegAllocRegistry.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/PassAnalysisSupport.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
#include <queue>
Include dependency graph for RegAllocGreedy.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "regalloc"
 

Functions

 STATISTIC (NumGlobalSplits,"Number of split global live ranges")
 
 STATISTIC (NumLocalSplits,"Number of split local live ranges")
 
 STATISTIC (NumEvicted,"Number of interferences evicted")
 

Variables

static cl::opt
< SplitEditor::ComplementSpillMode
SplitSpillMode ("split-spill-mode", cl::Hidden, cl::desc("Spill mode for splitting live ranges"), cl::values(clEnumValN(SplitEditor::SM_Partition,"default","Default"), clEnumValN(SplitEditor::SM_Size,"size","Optimize for size"), clEnumValN(SplitEditor::SM_Speed,"speed","Optimize for speed"), clEnumValEnd), cl::init(SplitEditor::SM_Partition))
 
static RegisterRegAlloc greedyRegAlloc ("greedy","greedy register allocator", createGreedyRegisterAllocator)
 
const float Hysteresis = 0.98f
 

Macro Definition Documentation

#define DEBUG_TYPE   "regalloc"

Definition at line 15 of file RegAllocGreedy.cpp.

Function Documentation

STATISTIC ( NumGlobalSplits  ,
"Number of split global live ranges"   
)
STATISTIC ( NumLocalSplits  ,
"Number of split local live ranges"   
)
STATISTIC ( NumEvicted  ,
"Number of interferences evicted"   
)

Variable Documentation

RegisterRegAlloc greedyRegAlloc("greedy","greedy register allocator", createGreedyRegisterAllocator)
static
const float Hysteresis = 0.98f

Definition at line 304 of file RegAllocGreedy.cpp.

cl::opt<SplitEditor::ComplementSpillMode> SplitSpillMode("split-spill-mode", cl::Hidden, cl::desc("Spill mode for splitting live ranges"), cl::values(clEnumValN(SplitEditor::SM_Partition,"default","Default"),clEnumValN(SplitEditor::SM_Size,"size","Optimize for size"),clEnumValN(SplitEditor::SM_Speed,"speed","Optimize for speed"),clEnumValEnd), cl::init(SplitEditor::SM_Partition))
static