LLVM 20.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 485 of file RegAllocFast.cpp.
References A, B, and LLVM_UNLIKELY.
Referenced by llvm::DominatorTreeBase< NodeT, IsPostDom >::dominates(), llvm::DominatorTree::dominates(), and llvm::DominatorTreeBase< NodeT, IsPostDom >::properlyDominates().
INITIALIZE_PASS | ( | RegAllocFast | , |
"regallocfast" | , | ||
"Fast Register Allocator" | , | ||
false | , | ||
false | |||
) |
Definition at line 441 of file RegAllocFast.cpp.
|
static |
Definition at line 855 of file RegAllocFast.cpp.
References MI.
|
static |
Definition at line 1410 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 |