9#ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZTARGETSTREAMER_H
10#define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZTARGETSTREAMER_H
28 if (MCI_STI_A.second != MCI_STI_B.second)
29 return uintptr_t(MCI_STI_A.second) < uintptr_t(MCI_STI_B.second);
30 const MCInst &
A = MCI_STI_A.first;
31 const MCInst &
B = MCI_STI_B.first;
32 assert(
A.getNumOperands() ==
B.getNumOperands() &&
33 A.getNumOperands() == 5 &&
A.getOperand(2).getImm() == 1 &&
34 B.getOperand(2).getImm() == 1 &&
"Unexpected EXRL target MCInst");
35 if (
A.getOpcode() !=
B.getOpcode())
36 return A.getOpcode() <
B.getOpcode();
37 if (
A.getOperand(0).getReg() !=
B.getOperand(0).getReg())
38 return A.getOperand(0).getReg() <
B.getOperand(0).getReg();
39 if (
A.getOperand(1).getImm() !=
B.getOperand(1).getImm())
40 return A.getOperand(1).getImm() <
B.getOperand(1).getImm();
41 if (
A.getOperand(3).getReg() !=
B.getOperand(3).getReg())
42 return A.getOperand(3).getReg() <
B.getOperand(3).getReg();
43 if (
A.getOperand(4).getImm() !=
B.getOperand(4).getImm())
44 return A.getOperand(4).getImm() <
B.getOperand(4).getImm();
48 typedef std::map<MCInstSTIPair, MCSymbol *, CmpMCInst>
EXRLT2SymMap;
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Instances of this class represent a single low-level machine instruction.
Streaming machine code generation interface.
Target specific streamer interface.
StringRef - Represent a constant reference to a string, i.e.
void emitConstantPools() override
SystemZTargetStreamer(MCStreamer &S)
std::pair< MCInst, const MCSubtargetInfo * > MCInstSTIPair
EXRLT2SymMap EXRLTargets2Sym
virtual void emitMachine(StringRef CPU)
std::map< MCInstSTIPair, MCSymbol *, CmpMCInst > EXRLT2SymMap
This is an optimization pass for GlobalISel generic memory operations.
bool operator()(const MCInstSTIPair &MCI_STI_A, const MCInstSTIPair &MCI_STI_B) const