diff options
author | Michael Liao <michael.hliao@gmail.com> | 2019-07-09 17:19:01 +0000 |
---|---|---|
committer | Michael Liao <michael.hliao@gmail.com> | 2019-07-09 17:19:01 +0000 |
commit | 329c03204069f3dc02cd2a968b9519457aad507b (patch) | |
tree | 59bbb6e1cec3806db4ecd69fa90c4986f1cdc491 /llvm | |
parent | c9c55cf89b0d4ddd4b778da8ecf59fe740283bec (diff) | |
download | bcm5719-llvm-329c03204069f3dc02cd2a968b9519457aad507b.tar.gz bcm5719-llvm-329c03204069f3dc02cd2a968b9519457aad507b.zip |
[unittest] Add bogus register info.
Reviewers: dstenb
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64421
llvm-svn: 365516
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/unittests/CodeGen/MachineInstrTest.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/llvm/unittests/CodeGen/MachineInstrTest.cpp b/llvm/unittests/CodeGen/MachineInstrTest.cpp index 0f8696836be..dc1a9773d9e 100644 --- a/llvm/unittests/CodeGen/MachineInstrTest.cpp +++ b/llvm/unittests/CodeGen/MachineInstrTest.cpp @@ -44,6 +44,55 @@ public: bool hasFP(const MachineFunction &MF) const override { return false; } }; +static TargetRegisterClass *const BogusRegisterClasses[] = {nullptr}; + +class BogusRegisterInfo : public TargetRegisterInfo { +public: + BogusRegisterInfo() + : TargetRegisterInfo(nullptr, BogusRegisterClasses, BogusRegisterClasses, + nullptr, nullptr, LaneBitmask(~0u), nullptr) {} + + const MCPhysReg * + getCalleeSavedRegs(const MachineFunction *MF) const override { + return nullptr; + } + ArrayRef<const uint32_t *> getRegMasks() const override { return None; } + ArrayRef<const char *> getRegMaskNames() const override { return None; } + BitVector getReservedRegs(const MachineFunction &MF) const override { + return BitVector(); + } + const RegClassWeight & + getRegClassWeight(const TargetRegisterClass *RC) const override { + static RegClassWeight Bogus{1, 16}; + return Bogus; + } + unsigned getRegUnitWeight(unsigned RegUnit) const override { return 1; } + unsigned getNumRegPressureSets() const override { return 0; } + const char *getRegPressureSetName(unsigned Idx) const override { + return "bogus"; + } + unsigned getRegPressureSetLimit(const MachineFunction &MF, + unsigned Idx) const override { + return 0; + } + const int * + getRegClassPressureSets(const TargetRegisterClass *RC) const override { + static const int Bogus[] = {0, -1}; + return &Bogus[0]; + } + const int *getRegUnitPressureSets(unsigned RegUnit) const override { + static const int Bogus[] = {0, -1}; + return &Bogus[0]; + } + + Register getFrameRegister(const MachineFunction &MF) const override { + return 0; + } + void eliminateFrameIndex(MachineBasicBlock::iterator MI, int SPAdj, + unsigned FIOperandNum, + RegScavenger *RS = nullptr) const override {} +}; + class BogusSubtarget : public TargetSubtargetInfo { public: BogusSubtarget(TargetMachine &TM) @@ -58,8 +107,11 @@ public: const TargetInstrInfo *getInstrInfo() const override { return &TII; } + const TargetRegisterInfo *getRegisterInfo() const override { return &TRI; } + private: BogusFrameLowering FL; + BogusRegisterInfo TRI; BogusTargetLowering TL; TargetInstrInfo TII; }; |