LLVM API Documentation
#include "MCTargetDesc/ARMMCTargetDesc.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMAsmBackend.h"
#include "MCTargetDesc/ARMAsmBackendDarwin.h"
#include "MCTargetDesc/ARMAsmBackendELF.h"
#include "MCTargetDesc/ARMAsmBackendWinCOFF.h"
#include "MCTargetDesc/ARMBaseInfo.h"
#include "MCTargetDesc/ARMFixupKinds.h"
#include "llvm/ADT/StringSwitch.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/MCExpr.h"
#include "llvm/MC/MCFixupKindInfo.h"
#include "llvm/MC/MCMachObjectWriter.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCSectionELF.h"
#include "llvm/MC/MCSectionMachO.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCValue.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MachO.h"
#include "llvm/Support/raw_ostream.h"
Go to the source code of this file.
Functions | |
static unsigned | getRelaxedOpcode (unsigned Op) |
static uint32_t | swapHalfWords (uint32_t Value, bool IsLittleEndian) |
static uint32_t | joinHalfWords (uint32_t FirstHalf, uint32_t SecondHalf, bool IsLittleEndian) |
static unsigned | adjustFixupValue (const MCFixup &Fixup, uint64_t Value, bool IsPCRel, MCContext *Ctx, bool IsLittleEndian) |
static unsigned | getFixupKindNumBytes (unsigned Kind) |
getFixupKindNumBytes - The number of bytes the fixup may change. | |
static unsigned | getFixupKindContainerSizeBytes (unsigned Kind) |
static unsigned adjustFixupValue | ( | const MCFixup & | Fixup, |
uint64_t | Value, | ||
bool | IsPCRel, | ||
MCContext * | Ctx, | ||
bool | IsLittleEndian | ||
) | [static] |
Definition at line 318 of file ARMAsmBackend.cpp.
References llvm::MCContext::FatalError(), llvm::ARM::fixup_arm_adr_pcrel_12, llvm::ARM::fixup_arm_blx, llvm::ARM::fixup_arm_condbl, llvm::ARM::fixup_arm_condbranch, llvm::ARM::fixup_arm_ldst_pcrel_12, llvm::ARM::fixup_arm_movt_hi16, llvm::ARM::fixup_arm_movw_lo16, llvm::ARM::fixup_arm_pcrel_10, llvm::ARM::fixup_arm_pcrel_10_unscaled, llvm::ARM::fixup_arm_thumb_bcc, llvm::ARM::fixup_arm_thumb_bl, llvm::ARM::fixup_arm_thumb_blx, llvm::ARM::fixup_arm_thumb_br, llvm::ARM::fixup_arm_thumb_cb, llvm::ARM::fixup_arm_thumb_cp, llvm::ARM::fixup_arm_uncondbl, llvm::ARM::fixup_arm_uncondbranch, llvm::ARM::fixup_t2_adr_pcrel_12, llvm::ARM::fixup_t2_condbranch, llvm::ARM::fixup_t2_ldst_pcrel_12, llvm::ARM::fixup_t2_movt_hi16, llvm::ARM::fixup_t2_movw_lo16, llvm::ARM::fixup_t2_pcrel_10, llvm::ARM::fixup_t2_uncondbranch, llvm::ARM::fixup_thumb_adr_pcrel_10, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_SecRel_2, llvm::FK_SecRel_4, llvm::MCFixup::getKind(), llvm::MCFixup::getLoc(), llvm::ARM_AM::getSOImmVal(), llvm::MCFixup::getValue(), I, joinHalfWords(), llvm_unreachable, swapHalfWords(), and llvm::MCSymbolRefExpr::VK_ARM_TLSCALL.
static unsigned getFixupKindContainerSizeBytes | ( | unsigned | Kind | ) | [static] |
getFixupKindContainerSizeBytes - The number of bytes of the container involved in big endian.
Definition at line 672 of file ARMAsmBackend.cpp.
References llvm::ARM::fixup_arm_adr_pcrel_12, llvm::ARM::fixup_arm_blx, llvm::ARM::fixup_arm_condbl, llvm::ARM::fixup_arm_condbranch, llvm::ARM::fixup_arm_ldst_pcrel_12, llvm::ARM::fixup_arm_movt_hi16, llvm::ARM::fixup_arm_movw_lo16, llvm::ARM::fixup_arm_pcrel_10, llvm::ARM::fixup_arm_pcrel_10_unscaled, llvm::ARM::fixup_arm_thumb_bcc, llvm::ARM::fixup_arm_thumb_bl, llvm::ARM::fixup_arm_thumb_blx, llvm::ARM::fixup_arm_thumb_br, llvm::ARM::fixup_arm_thumb_cb, llvm::ARM::fixup_arm_thumb_cp, llvm::ARM::fixup_arm_uncondbl, llvm::ARM::fixup_arm_uncondbranch, llvm::ARM::fixup_t2_adr_pcrel_12, llvm::ARM::fixup_t2_condbranch, llvm::ARM::fixup_t2_ldst_pcrel_12, llvm::ARM::fixup_t2_movt_hi16, llvm::ARM::fixup_t2_movw_lo16, llvm::ARM::fixup_t2_pcrel_10, llvm::ARM::fixup_t2_uncondbranch, llvm::ARM::fixup_thumb_adr_pcrel_10, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, and llvm_unreachable.
static unsigned getFixupKindNumBytes | ( | unsigned | Kind | ) | [static] |
getFixupKindNumBytes - The number of bytes the fixup may change.
Definition at line 622 of file ARMAsmBackend.cpp.
References llvm::ARM::fixup_arm_adr_pcrel_12, llvm::ARM::fixup_arm_blx, llvm::ARM::fixup_arm_condbl, llvm::ARM::fixup_arm_condbranch, llvm::ARM::fixup_arm_ldst_pcrel_12, llvm::ARM::fixup_arm_movt_hi16, llvm::ARM::fixup_arm_movw_lo16, llvm::ARM::fixup_arm_pcrel_10, llvm::ARM::fixup_arm_pcrel_10_unscaled, llvm::ARM::fixup_arm_thumb_bcc, llvm::ARM::fixup_arm_thumb_bl, llvm::ARM::fixup_arm_thumb_blx, llvm::ARM::fixup_arm_thumb_br, llvm::ARM::fixup_arm_thumb_cb, llvm::ARM::fixup_arm_thumb_cp, llvm::ARM::fixup_arm_uncondbl, llvm::ARM::fixup_arm_uncondbranch, llvm::ARM::fixup_t2_adr_pcrel_12, llvm::ARM::fixup_t2_condbranch, llvm::ARM::fixup_t2_ldst_pcrel_12, llvm::ARM::fixup_t2_movt_hi16, llvm::ARM::fixup_t2_movw_lo16, llvm::ARM::fixup_t2_pcrel_10, llvm::ARM::fixup_t2_uncondbranch, llvm::ARM::fixup_thumb_adr_pcrel_10, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_SecRel_2, llvm::FK_SecRel_4, and llvm_unreachable.
static unsigned getRelaxedOpcode | ( | unsigned | Op | ) | [static] |
Definition at line 156 of file ARMAsmBackend.cpp.
static uint32_t joinHalfWords | ( | uint32_t | FirstHalf, |
uint32_t | SecondHalf, | ||
bool | IsLittleEndian | ||
) | [static] |
Definition at line 303 of file ARMAsmBackend.cpp.
Referenced by adjustFixupValue().
static uint32_t swapHalfWords | ( | uint32_t | Value, |
bool | IsLittleEndian | ||
) | [static] |
Definition at line 292 of file ARMAsmBackend.cpp.
Referenced by adjustFixupValue().