LLVM 19.0.0git
Macros | Functions | Variables
RegAllocFast.cpp File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/IndexedMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/SparseSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegAllocCommon.h"
#include "llvm/CodeGen/RegAllocRegistry.h"
#include "llvm/CodeGen/RegisterClassInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <tuple>
#include <vector>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "regalloc"
 

Functions

 STATISTIC (NumStores, "Number of stores added")
 
 STATISTIC (NumLoads, "Number of loads added")
 
 STATISTIC (NumCoalesced, "Number of copies coalesced")
 
 INITIALIZE_PASS (RegAllocFast, "regallocfast", "Fast Register Allocator", false, false) bool RegAllocFast
 
static bool dominates (InstrPosIndexes &PosIndexes, const MachineInstr &A, const MachineInstr &B)
 
static bool isCoalescable (const MachineInstr &MI)
 
static bool isTiedToNotUndef (const MachineOperand &MO)
 

Variables

static cl::opt< boolIgnoreMissingDefs ("rafast-ignore-missing-defs", cl::Hidden)
 
static RegisterRegAlloc fastRegAlloc ("fast", "fast register allocator", createFastRegisterAllocator)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "regalloc"

Definition at line 50 of file RegAllocFast.cpp.

Function Documentation

◆ dominates()

static bool dominates ( InstrPosIndexes &  PosIndexes,
const MachineInstr A,
const MachineInstr B 
)
static

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( RegAllocFast  ,
"regallocfast"  ,
"Fast Register Allocator"  ,
false  ,
false   
)

Definition at line 415 of file RegAllocFast.cpp.

References assert(), MRI, and TRI.

◆ isCoalescable()

static bool isCoalescable ( const MachineInstr MI)
static

Definition at line 825 of file RegAllocFast.cpp.

References MI.

◆ isTiedToNotUndef()

static bool isTiedToNotUndef ( const MachineOperand MO)
static

◆ STATISTIC() [1/3]

STATISTIC ( NumCoalesced  ,
"Number of copies coalesced"   
)

◆ STATISTIC() [2/3]

STATISTIC ( NumLoads  ,
"Number of loads added"   
)

◆ STATISTIC() [3/3]

STATISTIC ( NumStores  ,
"Number of stores added"   
)

Variable Documentation

◆ fastRegAlloc

RegisterRegAlloc fastRegAlloc("fast", "fast register allocator", createFastRegisterAllocator) ( "fast"  ,
"fast register allocator"  ,
createFastRegisterAllocator   
)
static

◆ IgnoreMissingDefs

cl::opt< bool > IgnoreMissingDefs("rafast-ignore-missing-defs", cl::Hidden) ( "rafast-ignore-missing-defs"  ,
cl::Hidden   
)
static