LLVM API Documentation
#include "Spiller.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/LiveRangeEdit.h"
#include "llvm/CodeGen/LiveStackAnalysis.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineInstrBundle.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#define | DEBUG_TYPE "regalloc" |
Functions | |
STATISTIC (NumSpilledRanges,"Number of spilled live ranges") | |
STATISTIC (NumSnippets,"Number of spilled snippets") | |
STATISTIC (NumSpills,"Number of spills inserted") | |
STATISTIC (NumSpillsRemoved,"Number of spills removed") | |
STATISTIC (NumReloads,"Number of reloads inserted") | |
STATISTIC (NumReloadsRemoved,"Number of reloads removed") | |
STATISTIC (NumFolded,"Number of folded stack accesses") | |
STATISTIC (NumFoldedLoads,"Number of folded loads") | |
STATISTIC (NumRemats,"Number of rematerialized defs for spilling") | |
STATISTIC (NumOmitReloadSpill,"Number of omitted spills of reloads") | |
STATISTIC (NumHoists,"Number of hoisted spills") | |
Spiller * | llvm::createInlineSpiller (MachineFunctionPass &pass, MachineFunction &mf, VirtRegMap &vrm) |
static unsigned | isFullCopyOf (const MachineInstr *MI, unsigned Reg) |
static raw_ostream & | operator<< (raw_ostream &OS, const InlineSpiller::SibValueInfo &SVI) |
static void | dumpMachineInstrRangeWithSlotIndex (MachineBasicBlock::iterator B, MachineBasicBlock::iterator E, LiveIntervals const &LIS, const char *const header, unsigned VReg=0) |
Variables | |
static cl::opt< bool > | DisableHoisting ("disable-spill-hoist", cl::Hidden, cl::desc("Disable inline spill hoisting")) |
#define DEBUG_TYPE "regalloc" |
Definition at line 41 of file InlineSpiller.cpp.
static void dumpMachineInstrRangeWithSlotIndex | ( | MachineBasicBlock::iterator | B, |
MachineBasicBlock::iterator | E, | ||
LiveIntervals const & | LIS, | ||
const char *const | header, | ||
unsigned | VReg = 0 |
||
) | [static] |
Definition at line 1036 of file InlineSpiller.cpp.
References llvm::dbgs(), llvm::LiveIntervals::getInstructionIndex(), llvm::SlotIndex::getRegSlot(), I, and llvm::MachineOperand::isEarlyClobber().
static unsigned isFullCopyOf | ( | const MachineInstr * | MI, |
unsigned | Reg | ||
) | [static] |
isFullCopyOf - If MI is a COPY to or from Reg, return the other register, otherwise return 0.
Definition at line 209 of file InlineSpiller.cpp.
References llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and llvm::MachineInstr::isFullCopy().
static raw_ostream& operator<< | ( | raw_ostream & | OS, |
const InlineSpiller::SibValueInfo & | SVI | ||
) | [static] |
Definition at line 315 of file InlineSpiller.cpp.
References if().
STATISTIC | ( | NumSpilledRanges | , |
"Number of spilled live ranges" | |||
) |
STATISTIC | ( | NumSnippets | , |
"Number of spilled snippets" | |||
) |
STATISTIC | ( | NumSpills | , |
"Number of spills inserted" | |||
) |
STATISTIC | ( | NumSpillsRemoved | , |
"Number of spills removed" | |||
) |
STATISTIC | ( | NumReloads | , |
"Number of reloads inserted" | |||
) |
STATISTIC | ( | NumReloadsRemoved | , |
"Number of reloads removed" | |||
) |
STATISTIC | ( | NumFolded | , |
"Number of folded stack accesses" | |||
) |
STATISTIC | ( | NumFoldedLoads | , |
"Number of folded loads" | |||
) |
STATISTIC | ( | NumRemats | , |
"Number of rematerialized defs for spilling" | |||
) |
STATISTIC | ( | NumOmitReloadSpill | , |
"Number of omitted spills of reloads" | |||
) |
STATISTIC | ( | NumHoists | , |
"Number of hoisted spills" | |||
) |
cl::opt<bool> DisableHoisting("disable-spill-hoist", cl::Hidden, cl::desc("Disable inline spill hoisting")) [static] |