LLVM API Documentation

Defines | Functions
ARMMCCodeEmitter.cpp File Reference
#include "MCTargetDesc/ARMMCTargetDesc.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMBaseInfo.h"
#include "MCTargetDesc/ARMFixupKinds.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "ARMGenMCCodeEmitter.inc"
Include dependency graph for ARMMCCodeEmitter.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "mccodeemitter"

Functions

 STATISTIC (MCNumEmitted,"Number of MC instructions emitted.")
 STATISTIC (MCNumCPRelocations,"Number of constant pool relocations created.")
static uint32_t getBranchTargetOpValue (const MCInst &MI, unsigned OpIdx, unsigned FixupKind, SmallVectorImpl< MCFixup > &Fixups, const MCSubtargetInfo &STI)
static int32_t encodeThumbBLOffset (int32_t offset)
static bool HasConditionalBranch (const MCInst &MI)
 Return true if this branch has a non-always predication.

Define Documentation

#define DEBUG_TYPE   "mccodeemitter"

Definition at line 33 of file ARMMCCodeEmitter.cpp.


Function Documentation

static int32_t encodeThumbBLOffset ( int32_t  offset) [static]

Definition at line 586 of file ARMMCCodeEmitter.cpp.

static uint32_t getBranchTargetOpValue ( const MCInst MI,
unsigned  OpIdx,
unsigned  FixupKind,
SmallVectorImpl< MCFixup > &  Fixups,
const MCSubtargetInfo STI 
) [static]

getBranchTargetOpValue - Helper function to get the branch target operand, which is either an immediate or requires a fixup.

Definition at line 567 of file ARMMCCodeEmitter.cpp.

References llvm::MCFixup::Create(), llvm::MCOperand::getExpr(), llvm::MCOperand::getImm(), llvm::MCInst::getLoc(), llvm::MCInst::getOperand(), llvm::MCOperand::isExpr(), llvm::MCOperand::isImm(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

static bool HasConditionalBranch ( const MCInst MI) [static]
STATISTIC ( MCNumEmitted  ,
"Number of MC instructions emitted."   
)
STATISTIC ( MCNumCPRelocations  ,
"Number of constant pool relocations created."   
)