LLVM  14.0.0git
Macros | Functions
SplitKit.cpp File Reference
#include "SplitKit.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/LiveRangeEdit.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/BlockFrequency.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <iterator>
#include <limits>
#include <tuple>
Include dependency graph for SplitKit.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "regalloc"
 

Functions

 STATISTIC (NumFinished, "Number of splits finished")
 
 STATISTIC (NumSimple, "Number of splits that were simple")
 
 STATISTIC (NumCopies, "Number of copies inserted for splitting")
 
 STATISTIC (NumRemats, "Number of rematerialized defs for splitting")
 
static bool hasTiedUseOf (MachineInstr &MI, unsigned Reg)
 
static bool removeDeadSegment (SlotIndex Def, LiveRange &LR)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "regalloc"

Definition at line 47 of file SplitKit.cpp.

Function Documentation

◆ hasTiedUseOf()

static bool hasTiedUseOf ( MachineInstr MI,
unsigned  Reg 
)
static

Definition at line 795 of file SplitKit.cpp.

References llvm::any_of(), MI, and Reg.

◆ removeDeadSegment()

static bool removeDeadSegment ( SlotIndex  Def,
LiveRange LR 
)
static

◆ STATISTIC() [1/4]

STATISTIC ( NumCopies  ,
"Number of copies inserted for splitting  
)

◆ STATISTIC() [2/4]

STATISTIC ( NumFinished  ,
"Number of splits finished"   
)

◆ STATISTIC() [3/4]

STATISTIC ( NumRemats  ,
"Number of rematerialized defs for splitting  
)

◆ STATISTIC() [4/4]

STATISTIC ( NumSimple  ,
"Number of splits that were simple"   
)