LLVM
8.0.1
|
#include "AArch64.h"
#include "MCTargetDesc/AArch64FixupKinds.h"
#include "MCTargetDesc/AArch64MCExpr.h"
#include "llvm/ADT/Triple.h"
#include "llvm/BinaryFormat/MachO.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCELFObjectWriter.h"
#include "llvm/MC/MCFixupKindInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCValue.h"
#include "llvm/Support/ErrorHandling.h"
Go to the source code of this file.
Namespaces | |
CU | |
Enumerations | |
enum | CompactUnwindEncodings |
Compact unwind encoding values. More... | |
Functions | |
static unsigned | getFixupKindNumBytes (unsigned Kind) |
The number of bytes the fixup may change. More... | |
static unsigned | AdrImmBits (unsigned Value) |
static uint64_t | adjustFixupValue (const MCFixup &Fixup, const MCValue &Target, uint64_t Value, MCContext &Ctx, const Triple &TheTriple, bool IsResolved) |
Compact unwind encoding values.
Definition at line 479 of file AArch64AsmBackend.cpp.
|
static |
Definition at line 148 of file AArch64AsmBackend.cpp.
References AdrImmBits(), llvm::HexStyle::Asm, assert(), llvm::Data, Fixup, llvm::AArch64::fixup_aarch64_add_imm12, llvm::AArch64::fixup_aarch64_ldr_pcrel_imm19, llvm::AArch64::fixup_aarch64_ldst_imm12_scale1, llvm::AArch64::fixup_aarch64_ldst_imm12_scale16, llvm::AArch64::fixup_aarch64_ldst_imm12_scale2, llvm::AArch64::fixup_aarch64_ldst_imm12_scale4, llvm::AArch64::fixup_aarch64_ldst_imm12_scale8, llvm::AArch64::fixup_aarch64_movw, llvm::AArch64::fixup_aarch64_pcrel_adr_imm21, llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21, llvm::AArch64::fixup_aarch64_pcrel_branch14, llvm::AArch64::fixup_aarch64_pcrel_branch19, llvm::AArch64::fixup_aarch64_pcrel_branch26, llvm::AArch64::fixup_aarch64_pcrel_call26, llvm::AArch64::fixup_aarch64_tlsdesc_call, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, llvm::FK_SecRel_2, llvm::FK_SecRel_4, llvm::AArch64MCExpr::getAddressFrag(), llvm::MCAssembler::getContext(), getFixupKindNumBytes(), llvm::MCFixup::getKind(), llvm::MCFixup::getLoc(), llvm::MCFixup::getOffset(), llvm::MCValue::getRefKind(), llvm::AArch64MCExpr::getSymbolLoc(), Info, llvm::Triple::isOSBinFormatCOFF(), llvm::support::little, llvm_unreachable, llvm::MCContext::reportError(), llvm::ArrayRef< T >::size(), llvm::MCFixupKindInfo::TargetOffset, llvm::AArch64MCExpr::VK_ABS, llvm::AArch64MCExpr::VK_G0, llvm::AArch64MCExpr::VK_G1, llvm::AArch64MCExpr::VK_G2, llvm::AArch64MCExpr::VK_G3, llvm::AArch64MCExpr::VK_GOT, llvm::AArch64MCExpr::VK_NC, llvm::AArch64MCExpr::VK_SABS, and llvm::raw_ostream::write_zeros().
Referenced by llvm::AVRAsmBackend::applyFixup(), and llvm::ARMAsmBackend::applyFixup().
Definition at line 142 of file AArch64AsmBackend.cpp.
Referenced by adjustFixupValue().
The number of bytes the fixup may change.
Definition at line 102 of file AArch64AsmBackend.cpp.
References llvm::AArch64::fixup_aarch64_add_imm12, llvm::AArch64::fixup_aarch64_ldr_pcrel_imm19, llvm::AArch64::fixup_aarch64_ldst_imm12_scale1, llvm::AArch64::fixup_aarch64_ldst_imm12_scale16, llvm::AArch64::fixup_aarch64_ldst_imm12_scale2, llvm::AArch64::fixup_aarch64_ldst_imm12_scale4, llvm::AArch64::fixup_aarch64_ldst_imm12_scale8, llvm::AArch64::fixup_aarch64_movw, llvm::AArch64::fixup_aarch64_pcrel_adr_imm21, llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21, llvm::AArch64::fixup_aarch64_pcrel_branch14, llvm::AArch64::fixup_aarch64_pcrel_branch19, llvm::AArch64::fixup_aarch64_pcrel_branch26, llvm::AArch64::fixup_aarch64_pcrel_call26, llvm::AArch64::fixup_aarch64_tlsdesc_call, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, llvm::FK_SecRel_2, llvm::FK_SecRel_4, and llvm_unreachable.
Referenced by adjustFixupValue().