diff options
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZAsmPrinter.h')
| -rw-r--r-- | llvm/lib/Target/SystemZ/SystemZAsmPrinter.h | 33 |
1 files changed, 6 insertions, 27 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h b/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h index 11b731103c17..6cfd7bd4c486 100644 --- a/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h +++ b/llvm/lib/Target/SystemZ/SystemZAsmPrinter.h @@ -11,6 +11,7 @@ #include "SystemZMCInstLower.h" #include "SystemZTargetMachine.h" +#include "SystemZTargetStreamer.h" #include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/StackMaps.h" #include "llvm/MC/MCInstBuilder.h" @@ -27,32 +28,11 @@ class LLVM_LIBRARY_VISIBILITY SystemZAsmPrinter : public AsmPrinter { private: StackMaps SM; - typedef std::pair<MCInst, const MCSubtargetInfo *> MCInstSTIPair; - struct CmpMCInst { - bool operator()(const MCInstSTIPair &MCI_STI_A, - const MCInstSTIPair &MCI_STI_B) const { - if (MCI_STI_A.second != MCI_STI_B.second) - return uintptr_t(MCI_STI_A.second) < uintptr_t(MCI_STI_B.second); - const MCInst &A = MCI_STI_A.first; - const MCInst &B = MCI_STI_B.first; - assert(A.getNumOperands() == B.getNumOperands() && - A.getNumOperands() == 5 && A.getOperand(2).getImm() == 1 && - B.getOperand(2).getImm() == 1 && "Unexpected EXRL target MCInst"); - if (A.getOpcode() != B.getOpcode()) - return A.getOpcode() < B.getOpcode(); - if (A.getOperand(0).getReg() != B.getOperand(0).getReg()) - return A.getOperand(0).getReg() < B.getOperand(0).getReg(); - if (A.getOperand(1).getImm() != B.getOperand(1).getImm()) - return A.getOperand(1).getImm() < B.getOperand(1).getImm(); - if (A.getOperand(3).getReg() != B.getOperand(3).getReg()) - return A.getOperand(3).getReg() < B.getOperand(3).getReg(); - if (A.getOperand(4).getImm() != B.getOperand(4).getImm()) - return A.getOperand(4).getImm() < B.getOperand(4).getImm(); - return false; - } - }; - typedef std::map<MCInstSTIPair, MCSymbol *, CmpMCInst> EXRLT2SymMap; - EXRLT2SymMap EXRLTargets2Sym; + SystemZTargetStreamer *getTargetStreamer() { + MCTargetStreamer *TS = OutStreamer->getTargetStreamer(); + assert(TS && "do not have a target streamer"); + return static_cast<SystemZTargetStreamer *>(TS); + } public: SystemZAsmPrinter(TargetMachine &TM, std::unique_ptr<MCStreamer> Streamer) @@ -77,7 +57,6 @@ private: void LowerFENTRY_CALL(const MachineInstr &MI, SystemZMCInstLower &MCIL); void LowerSTACKMAP(const MachineInstr &MI); void LowerPATCHPOINT(const MachineInstr &MI, SystemZMCInstLower &Lower); - void emitEXRLTargetInstructions(); }; } // end namespace llvm |
