|
LLVM
4.0.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... | |
| Optional< MCFixupKind > | getFixupKind (StringRef Name) const override |
| Map a relocation name used in .reloc to a fixup kind. 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, const MCSubtargetInfo &STI, 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 unsigned | getMinimumNopSize () const |
| Returns the minimum size of a nop in bytes on this target. More... | |
| virtual void | finishLayout (MCAssembler const &Asm, MCAsmLayout &Layout) const |
| Give backend an opportunity to finish layout after relaxation. 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 () | |
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 238 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(), i, Kind, llvm::BitmaskEnumDetail::Mask(), needsMMLEByteOrder(), Offset, 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 213 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 64 of file MipsAsmBackend.h.
References llvm_unreachable.
|
overridevirtual |
Map a relocation name used in .reloc to a fixup kind.
Reimplemented from llvm::MCAsmBackend.
Definition at line 295 of file MipsAsmBackend.cpp.
References llvm::StringSwitch< T, R >::Default(), llvm::Mips::fixup_Mips_NONE, llvm::FK_Data_4, and llvm::MCAsmBackend::getFixupKind().
|
overridevirtual |
Get information on a fixup kind.
Reimplemented from llvm::MCAsmBackend.
Definition at line 303 of file MipsAsmBackend.cpp.
References assert(), 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 47 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 58 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 476 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 78 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 462 of file MipsAsmBackend.cpp.
References llvm::MCObjectWriter::WriteZeros().
1.8.6