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().