LLVM 19.0.0git
Classes | Namespaces | Macros | Functions | Variables
StackSlotColoring.cpp File Reference
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveIntervalUnion.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/LiveStacks.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineMemOperand.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/PseudoSourceValue.h"
#include "llvm/CodeGen/PseudoSourceValueManager.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <vector>

Go to the source code of this file.

Classes

struct  false::IntervalSorter
 

Namespaces

namespace  false
 

Macros

#define DEBUG_TYPE   "stack-slot-coloring"
 

Functions

 STATISTIC (NumEliminated, "Number of stack slots eliminated due to coloring")
 
 STATISTIC (NumDead, "Number of trivially dead stack accesses eliminated")
 
 INITIALIZE_PASS_BEGIN (StackSlotColoring, DEBUG_TYPE, "Stack Slot Coloring", false, false) INITIALIZE_PASS_END(StackSlotColoring
 

Variables

static cl::opt< boolDisableSharing ("no-stack-slot-sharing", cl::init(false), cl::Hidden, cl::desc("Suppress slot sharing during stack coloring"))
 
static cl::opt< int > DCELimit ("ssc-dce-limit", cl::init(-1), cl::Hidden)
 
 DEBUG_TYPE
 
Stack Slot Coloring
 
Stack Slot false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "stack-slot-coloring"

Definition at line 48 of file StackSlotColoring.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( StackSlotColoring  ,
DEBUG_TYPE  ,
"Stack Slot Coloring"  ,
false  ,
false   
)

◆ STATISTIC() [1/2]

STATISTIC ( NumDead  ,
"Number of trivially dead stack accesses eliminated"   
)

References TII.

◆ STATISTIC() [2/2]

STATISTIC ( NumEliminated  ,
"Number of stack slots eliminated due to coloring"   
)

Variable Documentation

◆ Coloring

Stack Slot Coloring

Definition at line 182 of file StackSlotColoring.cpp.

◆ DCELimit

cl::opt< int > DCELimit("ssc-dce-limit", cl::init(-1), cl::Hidden) ( "ssc-dce-limit"  ,
cl::init(-1)  ,
cl::Hidden   
)
static

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 181 of file StackSlotColoring.cpp.

◆ DisableSharing

cl::opt< bool > DisableSharing("no-stack-slot-sharing", cl::init(false), cl::Hidden, cl::desc("Suppress slot sharing during stack coloring")) ( "no-stack-slot-sharing"  ,
cl::init(false)  ,
cl::Hidden  ,
cl::desc("Suppress slot sharing during stack coloring")   
)
static

◆ false

Stack Slot false

Definition at line 182 of file StackSlotColoring.cpp.