LLVM  8.0.1
Namespaces | Enumerations | Functions
AArch64AsmBackend.cpp File Reference
#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"
Include dependency graph for AArch64AsmBackend.cpp:

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)
 

Enumeration Type Documentation

◆ CompactUnwindEncodings

Compact unwind encoding values.

Definition at line 479 of file AArch64AsmBackend.cpp.

Function Documentation

◆ adjustFixupValue()

static uint64_t adjustFixupValue ( const MCFixup Fixup,
const MCValue Target,
uint64_t  Value,
MCContext Ctx,
const Triple TheTriple,
bool  IsResolved 
)
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().

◆ AdrImmBits()

static unsigned AdrImmBits ( unsigned  Value)
static

Definition at line 142 of file AArch64AsmBackend.cpp.

Referenced by adjustFixupValue().

◆ getFixupKindNumBytes()

static unsigned getFixupKindNumBytes ( unsigned  Kind)
static