|
LLVM 22.0.0git
|
#include "llvm/CodeGen/RegAllocPBQP.h"#include "RegisterCoalescer.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/BitVector.h"#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DenseSet.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringRef.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/CodeGen/CalcSpillWeights.h"#include "llvm/CodeGen/LiveInterval.h"#include "llvm/CodeGen/LiveIntervals.h"#include "llvm/CodeGen/LiveRangeEdit.h"#include "llvm/CodeGen/LiveStacks.h"#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"#include "llvm/CodeGen/MachineDominators.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionPass.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineLoopInfo.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/PBQP/Graph.h"#include "llvm/CodeGen/PBQP/Math.h"#include "llvm/CodeGen/PBQP/Solution.h"#include "llvm/CodeGen/PBQPRAConstraint.h"#include "llvm/CodeGen/RegAllocRegistry.h"#include "llvm/CodeGen/SlotIndexes.h"#include "llvm/CodeGen/Spiller.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/Function.h"#include "llvm/IR/Module.h"#include "llvm/Pass.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/Support/FileSystem.h"#include "llvm/Support/Printable.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>#include <cassert>#include <cstddef>#include <limits>#include <map>#include <memory>#include <queue>#include <set>#include <sstream>#include <string>#include <system_error>#include <tuple>#include <utility>#include <vector>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "regalloc" |
Functions | |
| static bool | isACalleeSavedRegister (MCRegister Reg, const TargetRegisterInfo &TRI, const MachineFunction &MF) |
| static Printable | PrintNodeInfo (PBQP::RegAlloc::PBQPRAGraph::NodeId NId, const PBQP::RegAlloc::PBQPRAGraph &G) |
| Create Printable object for node and register info. | |
Variables | |
| static RegisterRegAlloc | RegisterPBQPRepAlloc ("pbqp", "PBQP register allocator", createDefaultPBQPRegisterAllocator) |
| static cl::opt< bool > | PBQPCoalescing ("pbqp-coalescing", cl::desc("Attempt coalescing during PBQP register allocation."), cl::init(false), cl::Hidden) |
| static cl::opt< bool > | PBQPDumpGraphs ("pbqp-dump-graphs", cl::desc("Dump graphs for each function/round in the compilation unit."), cl::init(false), cl::Hidden) |
| #define DEBUG_TYPE "regalloc" |
Definition at line 91 of file RegAllocPBQP.cpp.
|
static |
Definition at line 577 of file RegAllocPBQP.cpp.
References llvm::MachineRegisterInfo::getCalleeSavedRegs(), llvm::MachineFunction::getRegInfo(), Reg, and TRI.
|
static |
Create Printable object for node and register info.
Definition at line 889 of file RegAllocPBQP.cpp.
References G, MRI, llvm::printReg(), and TRI.
Referenced by llvm::PBQP::RegAlloc::PBQPRAGraph::dump(), and llvm::PBQP::RegAlloc::PBQPRAGraph::printDot().
|
static |
|
static |
|
static |