|
LLVM
3.7.0
|
#include <MipsAsmBackend.h>
Public Member Functions | |
| MipsAsmBackend (const Target &T, Triple::OSType OSType, bool IsLittle, bool Is64Bit) | |
| MCObjectWriter * | createObjectWriter (raw_pwrite_stream &OS) const override |
| Create a new MCObjectWriter instance for use by the assembler backend to emit the final object file. More... | |
| void | applyFixup (const MCFixup &Fixup, char *Data, unsigned DataSize, uint64_t Value, bool IsPCRel) const override |
ApplyFixup - Apply the Value for given Fixup into the provided data fragment, at the offset specified by the fixup and following the fixup kind as appropriate. More... | |
| const MCFixupKindInfo & | getFixupKindInfo (MCFixupKind Kind) const override |
| Get information on a fixup kind. More... | |
| unsigned | getNumFixupKinds () const override |
| Get the number of target specific fixup kinds. More... | |
| bool | writeNopData (uint64_t Count, MCObjectWriter *OW) const override |
| WriteNopData - Write an (optimal) nop sequence of Count bytes to the given output. More... | |
| void | processFixupValue (const MCAssembler &Asm, const MCAsmLayout &Layout, const MCFixup &Fixup, const MCFragment *DF, const MCValue &Target, uint64_t &Value, bool &IsResolved) override |
| processFixupValue - Target hook to process the literal value of a fixup if necessary. More... | |
Target Relaxation Interfaces | |
| bool | mayNeedRelaxation (const MCInst &Inst) const override |
| MayNeedRelaxation - Check whether the given instruction may need relaxation. More... | |
| bool | fixupNeedsRelaxation (const MCFixup &Fixup, uint64_t Value, const MCRelaxableFragment *DF, const MCAsmLayout &Layout) const override |
| fixupNeedsRelaxation - Target specific predicate for whether a given fixup requires the associated instruction to be relaxed. More... | |
| void | relaxInstruction (const MCInst &Inst, MCInst &Res) const override |
| RelaxInstruction - Relax the instruction in the given fragment to the next wider instruction. More... | |
Public Member Functions inherited from llvm::MCAsmBackend | |
| virtual | ~MCAsmBackend () |
| virtual void | reset () |
| lifetime management More... | |
| virtual MCELFObjectTargetWriter * | createELFObjectTargetWriter () const |
| Create a new ELFObjectTargetWriter to enable non-standard ELFObjectWriters. More... | |
| bool | hasDataInCodeSupport () const |
| Check whether this target implements data-in-code markers. More... | |
| virtual unsigned | getMinimumNopSize () const |
| Returns the minimum size of a nop in bytes on this target. More... | |
| virtual void | handleAssemblerFlag (MCAssemblerFlag Flag) |
| Handle any target-specific assembler flags. By default, do nothing. More... | |
| virtual uint32_t | generateCompactUnwindEncoding (ArrayRef< MCCFIInstruction >) const |
| Generate the compact unwind encoding for the CFI instructions. More... | |
| virtual bool | fixupNeedsRelaxationAdvanced (const MCFixup &Fixup, bool Resolved, uint64_t Value, const MCRelaxableFragment *DF, const MCAsmLayout &Layout) const |
| Target specific predicate for whether a given fixup requires the associated instruction to be relaxed. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::MCAsmBackend | |
| MCAsmBackend () | |
Protected Attributes inherited from llvm::MCAsmBackend | |
| unsigned | HasDataInCodeSupport: 1 |
Definition at line 29 of file MipsAsmBackend.h.
|
inline |
Definition at line 35 of file MipsAsmBackend.h.
|
overridevirtual |
ApplyFixup - Apply the Value for given Fixup into the provided data fragment, at the offset specified by the fixup and following the fixup kind as appropriate.
Implements llvm::MCAsmBackend.
Definition at line 178 of file MipsAsmBackend.cpp.
References adjustFixupValue(), calculateMMLEIndex(), llvm::Mips::fixup_MICROMIPS_PC10_S1, llvm::Mips::fixup_Mips_16, llvm::Mips::fixup_Mips_64, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, getFixupKindInfo(), llvm::MCFixup::getKind(), llvm::MCFixup::getOffset(), Kind, needsMMLEByteOrder(), and llvm::MCFixupKindInfo::TargetSize.
|
overridevirtual |
Create a new MCObjectWriter instance for use by the assembler backend to emit the final object file.
Implements llvm::MCAsmBackend.
Definition at line 153 of file MipsAsmBackend.cpp.
References llvm::createMipsELFObjectWriter(), and llvm::MCELFObjectTargetWriter::getOSABI().
|
inlineoverridevirtual |
fixupNeedsRelaxation - Target specific predicate for whether a given fixup requires the associated instruction to be relaxed.
Implements llvm::MCAsmBackend.
Definition at line 63 of file MipsAsmBackend.h.
References llvm_unreachable.
|
overridevirtual |
Get information on a fixup kind.
Reimplemented from llvm::MCAsmBackend.
Definition at line 236 of file MipsAsmBackend.cpp.
References llvm::FirstTargetFixupKind, llvm::MCFixupKindInfo::FKF_IsPCRel, llvm::MCAsmBackend::getFixupKindInfo(), getNumFixupKinds(), and llvm::Mips::NumTargetFixupKinds.
Referenced by applyFixup().
|
inlineoverridevirtual |
Get the number of target specific fixup kinds.
Implements llvm::MCAsmBackend.
Definition at line 46 of file MipsAsmBackend.h.
References llvm::Mips::NumTargetFixupKinds.
Referenced by getFixupKindInfo().
MayNeedRelaxation - Check whether the given instruction may need relaxation.
| Inst | - The instruction to test. |
Implements llvm::MCAsmBackend.
Definition at line 57 of file MipsAsmBackend.h.
|
overridevirtual |
processFixupValue - Target hook to process the literal value of a fixup if necessary.
Reimplemented from llvm::MCAsmBackend.
Definition at line 397 of file MipsAsmBackend.cpp.
References adjustFixupValue(), and llvm::MCAssembler::getContext().
|
inlineoverridevirtual |
RelaxInstruction - Relax the instruction in the given fragment to the next wider instruction.
| Inst | - The instruction to relax, which may be the same as the output. | |
| [out] | Res | On return, the relaxed instruction. |
Implements llvm::MCAsmBackend.
Definition at line 77 of file MipsAsmBackend.h.
|
overridevirtual |
WriteNopData - Write an (optimal) nop sequence of Count bytes to the given output.
If the target cannot generate such a sequence, it should return an error.
Implements llvm::MCAsmBackend.
Definition at line 383 of file MipsAsmBackend.cpp.
References llvm::MCObjectWriter::WriteZeros().
1.8.6