|
LLVM 22.0.0git
|
#include "llvm/CodeGen/RegAllocFast.h"#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 RegAllocFastImpl | |
| 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< bool > | IgnoreMissingDefs ("rafast-ignore-missing-defs", cl::Hidden) |
| static RegisterRegAlloc | fastRegAlloc ("fast", "fast register allocator", createFastRegisterAllocator) |
| #define DEBUG_TYPE "regalloc" |
Definition at line 51 of file RegAllocFast.cpp.
|
static |
Definition at line 491 of file RegAllocFast.cpp.
References A(), B(), and LLVM_UNLIKELY.
Referenced by dominates(), llvm::DominatorTree::dominates(), llvm::DominatorTreeBase< NodeT, IsPostDom >::dominates(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::properlyDominates().
| INITIALIZE_PASS | ( | RegAllocFast | , |
| "regallocfast" | , | ||
| "Fast Register Allocator" | , | ||
| false | , | ||
| false | ) |
|
static |
Definition at line 878 of file RegAllocFast.cpp.
References MI.
|
static |
Definition at line 1445 of file RegAllocFast.cpp.
References llvm::MachineOperand::getParent(), llvm::MachineOperand::isTied(), llvm::MachineOperand::isUndef(), and MI.
| STATISTIC | ( | NumCoalesced | , |
| "Number of copies coalesced" | ) |
| STATISTIC | ( | NumLoads | , |
| "Number of loads added" | ) |
| STATISTIC | ( | NumStores | , |
| "Number of stores added" | ) |
|
static |