Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZASMPRINTER_H
10 #define LLVM_LIB_TARGET_SYSTEMZ_SYSTEMZASMPRINTER_H
34 assert(TS &&
"do not have a target streamer");
55 CurrentFnPPA1Sym(nullptr), CurrentFnEPMarkerSym(nullptr) {}
61 void emitEndOfAsmFile(
Module &M)
override;
71 void emitFunctionEntryLabel()
override;
72 void emitFunctionBodyEnd()
override;
75 void emitCallInformation(CallType CT);
This is an optimization pass for GlobalISel generic memory operations.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
We currently emits eax Perhaps this is what we really should generate is Is imull three or four cycles eax eax The current instruction priority is based on pattern complexity The former is more complex because it folds a load so the latter will not be emitted Perhaps we should use AddedComplexity to give LEA32r a higher priority We should always try to match LEA first since the LEA matching code does some estimate to determine whether the match is profitable if we care more about code then imull is better It s two bytes shorter than movl leal On a Pentium M
Abstract base class for all machine specific constantpool value subclasses.
bool doInitialization(Module &M) override
Set up the AsmPrinter when we are working on a new module.
This class implements an extremely fast bulk output stream that can only output to a stream.
Target specific streamer interface.
Representation of each machine instruction.
SystemZAsmPrinter(TargetMachine &TM, std::unique_ptr< MCStreamer > Streamer)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
Primary interface to the complete machine description for the target machine.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
A Module instance is used to store all the information related to an LLVM module.
StringRef - Represent a constant reference to a string, i.e.
Analysis the ScalarEvolution expression for r is this
#define LLVM_LIBRARY_VISIBILITY
LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked into a shared library,...
Machine Check Debug Module
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
This class is intended to be used as a driving class for all asm writers.
const char LLVMTargetMachineRef TM
bool doInitialization(Module &M) override
Set up the AsmPrinter when we are working on a new module.