Lines Matching defs:RegBankSelect

1 //==- llvm/CodeGen/GlobalISel/RegBankSelect.cpp - RegBankSelect --*- C++ -*-==//
9 /// This file implements the RegBankSelect class.
12 #include "llvm/CodeGen/GlobalISel/RegBankSelect.h"
54 static cl::opt<RegBankSelect::Mode> RegBankSelectMode(
55 cl::desc("Mode of the RegBankSelect pass"), cl::Hidden, cl::Optional,
56 cl::values(clEnumValN(RegBankSelect::Mode::Fast, "regbankselect-fast",
58 clEnumValN(RegBankSelect::Mode::Greedy, "regbankselect-greedy",
61 char RegBankSelect::ID = 0;
63 INITIALIZE_PASS_BEGIN(RegBankSelect, DEBUG_TYPE,
69 INITIALIZE_PASS_END(RegBankSelect, DEBUG_TYPE,
73 RegBankSelect::RegBankSelect(Mode RunningMode)
78 LLVM_DEBUG(dbgs() << "RegBankSelect mode overrided by command line\n");
82 void RegBankSelect::init(MachineFunction &MF) {
99 void RegBankSelect::getAnalysisUsage(AnalysisUsage &AU) const {
111 bool RegBankSelect::assignmentMatch(
134 bool RegBankSelect::repairReg(
136 RegBankSelect::RepairingPlacement &RepairPt,
237 uint64_t RegBankSelect::getRepairCost(
289 const RegisterBankInfo::InstructionMapping &RegBankSelect::findBestMapping(
323 void RegBankSelect::tryAvoidingSplit(
324 RegBankSelect::RepairingPlacement &RepairPt, const MachineOperand &MO,
442 RegBankSelect::MappingCost RegBankSelect::computeMapping(
445 const RegBankSelect::MappingCost *BestCost) {
581 bool RegBankSelect::applyMapping(
583 SmallVectorImpl<RegBankSelect::RepairingPlacement> &RepairPts) {
623 bool RegBankSelect::assignInstr(MachineInstr &MI) {
629 if (OptMode == RegBankSelect::Mode::Fast) {
652 bool RegBankSelect::runOnMachineFunction(MachineFunction &MF) {
723 RegBankSelect::RepairingPlacement::RepairingPlacement(
817 void RegBankSelect::RepairingPlacement::addInsertPoint(MachineInstr &MI,
822 void RegBankSelect::RepairingPlacement::addInsertPoint(MachineBasicBlock &MBB,
827 void RegBankSelect::RepairingPlacement::addInsertPoint(MachineBasicBlock &Src,
832 void RegBankSelect::RepairingPlacement::addInsertPoint(
833 RegBankSelect::InsertPoint &Point) {
839 RegBankSelect::InstrInsertPoint::InstrInsertPoint(MachineInstr &Instr,
850 void RegBankSelect::InstrInsertPoint::materialize() {
872 bool RegBankSelect::InstrInsertPoint::isSplit() const {
881 uint64_t RegBankSelect::InstrInsertPoint::frequency(const Pass &P) const {
891 uint64_t RegBankSelect::MBBInsertPoint::frequency(const Pass &P) const {
899 void RegBankSelect::EdgeInsertPoint::materialize() {
912 uint64_t RegBankSelect::EdgeInsertPoint::frequency(const Pass &P) const {
929 bool RegBankSelect::EdgeInsertPoint::canMaterialize() const {
938 RegBankSelect::MappingCost::MappingCost(const BlockFrequency &LocalFreq)
941 bool RegBankSelect::MappingCost::addLocalCost(uint64_t Cost) {
951 bool RegBankSelect::MappingCost::addNonLocalCost(uint64_t Cost) {
961 bool RegBankSelect::MappingCost::isSaturated() const {
966 void RegBankSelect::MappingCost::saturate() {
971 RegBankSelect::MappingCost RegBankSelect::MappingCost::ImpossibleCost() {
975 bool RegBankSelect::MappingCost::operator<(const MappingCost &Cost) const {
1052 bool RegBankSelect::MappingCost::operator==(const MappingCost &Cost) const {
1058 LLVM_DUMP_METHOD void RegBankSelect::MappingCost::dump() const {
1064 void RegBankSelect::MappingCost::print(raw_ostream &OS) const {