summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorQuentin Colombet <qcolombet@apple.com>2016-04-06 17:45:40 +0000
committerQuentin Colombet <qcolombet@apple.com>2016-04-06 17:45:40 +0000
commit9af77135e5be77952ea9db5e394ba3c24a48e3b6 (patch)
tree1c497344042a891d24d6267024e6410f1b39f966 /llvm/lib
parent8e1524e225787ad79e736f1e0dd07896ea15e455 (diff)
downloadbcm5719-llvm-9af77135e5be77952ea9db5e394ba3c24a48e3b6.tar.gz
bcm5719-llvm-9af77135e5be77952ea9db5e394ba3c24a48e3b6.zip
[RegisterBankInfo] Add methods to get the possible mapping of an instruction on a register bank.
This will be used by the register bank select pass to assign register banks for generic virtual registers. llvm-svn: 265573
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp b/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
index 6e8307917c7..ee00894ccd9 100644
--- a/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
@@ -19,6 +19,7 @@
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Target/TargetOpcodes.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include <algorithm> // For std::max.
@@ -27,6 +28,8 @@
using namespace llvm;
+const unsigned RegisterBankInfo::DefaultMappingID = UINT_MAX;
+
RegisterBankInfo::RegisterBankInfo(unsigned NumRegBanks)
: NumRegBanks(NumRegBanks) {
RegBanks.reset(new RegisterBank[NumRegBanks]);
@@ -176,6 +179,14 @@ void RegisterBankInfo::addRegBankCoverage(unsigned ID, unsigned RCId,
} while (!WorkList.empty());
}
+RegisterBankInfo::InstructionMapping
+RegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
+ if (MI.getOpcode() > TargetOpcode::GENERIC_OP_END) {
+ // TODO.
+ }
+ llvm_unreachable("The target must implement this");
+}
+
//------------------------------------------------------------------------------
// Helper classes implementation.
//------------------------------------------------------------------------------
OpenPOWER on IntegriCloud