|
LLVM 22.0.0git
|
#include "MCTargetDesc/ARMAddressingModes.h"#include "MCTargetDesc/ARMBaseInfo.h"#include "MCTargetDesc/ARMFixupKinds.h"#include "MCTargetDesc/ARMMCAsmInfo.h"#include "llvm/ADT/APFloat.h"#include "llvm/ADT/APInt.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/Statistic.h"#include "llvm/MC/MCCodeEmitter.h"#include "llvm/MC/MCContext.h"#include "llvm/MC/MCExpr.h"#include "llvm/MC/MCFixup.h"#include "llvm/MC/MCInst.h"#include "llvm/MC/MCInstrDesc.h"#include "llvm/MC/MCInstrInfo.h"#include "llvm/MC/MCRegisterInfo.h"#include "llvm/MC/MCSubtargetInfo.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/EndianStream.h"#include "llvm/Support/MathExtras.h"#include "llvm/TargetParser/Triple.h"#include <cassert>#include <cstdint>#include <cstdlib>#include "ARMGenMCCodeEmitter.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "mccodeemitter" |
Functions | |
| STATISTIC (MCNumEmitted, "Number of MC instructions emitted.") | |
| STATISTIC (MCNumCPRelocations, "Number of constant pool relocations created.") | |
| static void | addFixup (SmallVectorImpl< MCFixup > &Fixups, uint32_t Offset, const MCExpr *Value, uint16_t Kind) |
| static uint32_t | getBranchTargetOpValue (const MCInst &MI, unsigned OpIdx, unsigned FixupKind, SmallVectorImpl< MCFixup > &Fixups, const MCSubtargetInfo &STI) |
| getBranchTargetOpValue - Helper function to get the branch target operand, which is either an immediate or requires a fixup. | |
| static int32_t | encodeThumbBLOffset (int32_t offset) |
| static bool | HasConditionalBranch (const MCInst &MI) |
| Return true if this branch has a non-always predication. | |
| #define DEBUG_TYPE "mccodeemitter" |
Definition at line 41 of file ARMMCCodeEmitter.cpp.
|
static |
Definition at line 435 of file ARMMCCodeEmitter.cpp.
References llvm::MCFixup::create(), 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_pcrel_10, llvm::ARM::fixup_arm_pcrel_10_unscaled, llvm::ARM::fixup_arm_pcrel_9, 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_bf_branch, llvm::ARM::fixup_bf_target, llvm::ARM::fixup_bfc_target, llvm::ARM::fixup_bfl_target, llvm::ARM::fixup_le, llvm::ARM::fixup_t2_adr_pcrel_12, llvm::ARM::fixup_t2_condbranch, llvm::ARM::fixup_t2_ldst_pcrel_12, llvm::ARM::fixup_t2_pcrel_10, llvm::ARM::fixup_t2_pcrel_9, llvm::ARM::fixup_t2_uncondbranch, llvm::ARM::fixup_thumb_adr_pcrel_10, llvm::ARM::fixup_wls, and llvm::Offset.
|
static |
Definition at line 635 of file ARMMCCodeEmitter.cpp.
|
static |
getBranchTargetOpValue - Helper function to get the branch target operand, which is either an immediate or requires a fixup.
Definition at line 616 of file ARMMCCodeEmitter.cpp.
References addFixup(), assert(), llvm::FixupKind(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), MI, and OpIdx.
Return true if this branch has a non-always predication.
Definition at line 713 of file ARMMCCodeEmitter.cpp.
References llvm::ARMCC::AL, llvm::MCOperand::getImm(), llvm::MCOperand::getReg(), llvm::MCOperand::isImm(), llvm::MCOperand::isReg(), and MI.
| STATISTIC | ( | MCNumCPRelocations | , |
| "Number of constant pool relocations created." | ) |
| STATISTIC | ( | MCNumEmitted | , |
| "Number of MC instructions emitted." | ) |