9#ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZTARGETSTREAMER_H
10#define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZTARGETSTREAMER_H
26 if (MCI_STI_A.second != MCI_STI_B.second)
27 return uintptr_t(MCI_STI_A.second) < uintptr_t(MCI_STI_B.second);
28 const MCInst &
A = MCI_STI_A.first;
29 const MCInst &
B = MCI_STI_B.first;
30 assert(
A.getNumOperands() ==
B.getNumOperands() &&
31 A.getNumOperands() == 5 &&
A.getOperand(2).getImm() == 1 &&
32 B.getOperand(2).getImm() == 1 &&
"Unexpected EXRL target MCInst");
33 if (
A.getOpcode() !=
B.getOpcode())
34 return A.getOpcode() <
B.getOpcode();
35 if (
A.getOperand(0).getReg() !=
B.getOperand(0).getReg())
36 return A.getOperand(0).getReg() <
B.getOperand(0).getReg();
37 if (
A.getOperand(1).getImm() !=
B.getOperand(1).getImm())
38 return A.getOperand(1).getImm() <
B.getOperand(1).getImm();
39 if (
A.getOperand(3).getReg() !=
B.getOperand(3).getReg())
40 return A.getOperand(3).getReg() <
B.getOperand(3).getReg();
41 if (
A.getOperand(4).getImm() !=
B.getOperand(4).getImm())
42 return A.getOperand(4).getImm() <
B.getOperand(4).getImm();
46 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