[llvm] r315451 - [mips] Add support for parsing target specific flags for MIR
Simon Dardis via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 11 04:11:35 PDT 2017
Author: sdardis
Date: Wed Oct 11 04:11:35 2017
New Revision: 315451
URL: http://llvm.org/viewvc/llvm-project?rev=315451&view=rev
Log:
[mips] Add support for parsing target specific flags for MIR
Reviewers: atanasyan
Differential Revision: https://reviews.llvm.org/D38620
Modified:
llvm/trunk/lib/Target/Mips/MipsInstrInfo.cpp
llvm/trunk/lib/Target/Mips/MipsInstrInfo.h
Modified: llvm/trunk/lib/Target/Mips/MipsInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrInfo.cpp?rev=315451&r1=315450&r2=315451&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/Mips/MipsInstrInfo.cpp Wed Oct 11 04:11:35 2017
@@ -618,3 +618,39 @@ bool MipsInstrInfo::verifyInstruction(co
return true;
}
+std::pair<unsigned, unsigned>
+MipsInstrInfo::decomposeMachineOperandsTargetFlags(unsigned TF) const {
+ return std::make_pair(TF, 0u);
+}
+
+ArrayRef<std::pair<unsigned, const char*>>
+MipsInstrInfo::getSerializableDirectMachineOperandTargetFlags() const {
+ using namespace MipsII;
+
+ static const std::pair<unsigned, const char*> Flags[] = {
+ {MO_GOT, "mips-got"},
+ {MO_GOT_CALL, "mips-got-call"},
+ {MO_GPREL, "mips-gprel"},
+ {MO_ABS_HI, "mips-abs-hi"},
+ {MO_ABS_LO, "mips-abs-lo"},
+ {MO_TLSGD, "mips-tlsgd"},
+ {MO_TLSLDM, "mips-tlsldm"},
+ {MO_DTPREL_HI, "mips-dtprel-hi"},
+ {MO_DTPREL_LO, "mips-dtprel-lo"},
+ {MO_GOTTPREL, "mips-gottprel"},
+ {MO_TPREL_HI, "mips-tprel-hi"},
+ {MO_TPREL_LO, "mips-tprel-lo"},
+ {MO_GPOFF_HI, "mips-gpoff-hi"},
+ {MO_GPOFF_LO, "mips-gpoff-lo"},
+ {MO_GOT_DISP, "mips-got-disp"},
+ {MO_GOT_PAGE, "mips-got-page"},
+ {MO_GOT_OFST, "mips-got-ofst"},
+ {MO_HIGHER, "mips-higher"},
+ {MO_HIGHEST, "mips-highest"},
+ {MO_GOT_HI16, "mips-got-hi16"},
+ {MO_GOT_LO16, "mips-got-lo16"},
+ {MO_CALL_HI16, "mips-call-hi16"},
+ {MO_CALL_LO16, "mips-call-lo16"}
+ };
+ return makeArrayRef(Flags);
+}
Modified: llvm/trunk/lib/Target/Mips/MipsInstrInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrInfo.h?rev=315451&r1=315450&r2=315451&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsInstrInfo.h (original)
+++ llvm/trunk/lib/Target/Mips/MipsInstrInfo.h Wed Oct 11 04:11:35 2017
@@ -152,6 +152,12 @@ public:
bool verifyInstruction(const MachineInstr &MI,
StringRef &ErrInfo) const override;
+ std::pair<unsigned, unsigned>
+ decomposeMachineOperandsTargetFlags(unsigned TF) const override;
+
+ ArrayRef<std::pair<unsigned, const char *>>
+ getSerializableDirectMachineOperandTargetFlags() const override;
+
protected:
bool isZeroImm(const MachineOperand &op) const;
More information about the llvm-commits
mailing list