|
LLVM 24.0.0git
|
This file implements the RegBankSelect class. More...
#include "llvm/CodeGen/GlobalISel/RegBankSelect.h"#include "llvm/ADT/PostOrderIterator.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallVector.h"#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h"#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"#include "llvm/CodeGen/GlobalISel/Utils.h"#include "llvm/CodeGen/MachineBasicBlock.h"#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/MachineFunctionAnalysisManager.h"#include "llvm/CodeGen/MachineInstr.h"#include "llvm/CodeGen/MachineOperand.h"#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"#include "llvm/CodeGen/MachinePassManager.h"#include "llvm/CodeGen/MachineRegisterInfo.h"#include "llvm/CodeGen/RegisterBank.h"#include "llvm/CodeGen/RegisterBankInfo.h"#include "llvm/CodeGen/TargetOpcodes.h"#include "llvm/CodeGen/TargetPassConfig.h"#include "llvm/CodeGen/TargetRegisterInfo.h"#include "llvm/CodeGen/TargetSubtargetInfo.h"#include "llvm/Config/llvm-config.h"#include "llvm/IR/Analysis.h"#include "llvm/IR/Function.h"#include "llvm/InitializePasses.h"#include "llvm/Pass.h"#include "llvm/Support/BlockFrequency.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/raw_ostream.h"#include "llvm/Target/TargetMachine.h"#include <algorithm>#include <cassert>#include <cstdint>#include <limits>#include <memory>#include <optional>#include <utility>Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "reg-bank-select" |
Functions | |
| INITIALIZE_PASS_BEGIN (RegBankSelectLegacy, DEBUG_TYPE, "Assign register bank of generic virtual registers", false, false) | |
| INITIALIZE_PASS_END (RegBankSelectLegacy, DEBUG_TYPE, "Assign register bank of generic virtual registers", false, false) static RegBankSelectMode computeOptMode(RegBankSelectMode RequestedMode) | |
Variables | |
| static constexpr unsigned | ImpossibleRepairCost |
| Cost value representing an impossible or invalid repairing. | |
| static cl::opt< RegBankSelectMode > | RegBankSelectModeOption (cl::desc("Mode of the RegBankSelect pass"), cl::Hidden, cl::Optional, cl::values(clEnumValN(RegBankSelectMode::Fast, "regbankselect-fast", "Run the Fast mode (default mapping)"), clEnumValN(RegBankSelectMode::Greedy, "regbankselect-greedy", "Use the Greedy mode (best local mapping)"))) |
This file implements the RegBankSelect class.
Definition in file RegBankSelect.cpp.
| #define DEBUG_TYPE "reg-bank-select" |
Definition at line 55 of file RegBankSelect.cpp.
| INITIALIZE_PASS_BEGIN | ( | RegBankSelectLegacy | , |
| DEBUG_TYPE | , | ||
| "Assign register bank of generic virtual registers" | , | ||
| false | , | ||
| false | ) |
References DEBUG_TYPE.
| INITIALIZE_PASS_END | ( | RegBankSelectLegacy | , |
| DEBUG_TYPE | , | ||
| "Assign register bank of generic virtual registers" | , | ||
| false | , | ||
| false | ) |
Definition at line 80 of file RegBankSelect.cpp.
References DEBUG_TYPE, INITIALIZE_PASS_END, and RegBankSelectModeOption.
|
staticconstexpr |
Cost value representing an impossible or invalid repairing.
This matches the value returned by RegisterBankInfo::copyCost() and RegisterBankInfo::getBreakDownCost() when the cost cannot be computed.
Definition at line 62 of file RegBankSelect.cpp.
|
static |
Referenced by INITIALIZE_PASS_END().