LLVM API Documentation
#include "ARMFPUName.h"
#include "ARMFeatures.h"
#include "MCTargetDesc/ARMAddressingModes.h"
#include "MCTargetDesc/ARMArchName.h"
#include "MCTargetDesc/ARMBaseInfo.h"
#include "MCTargetDesc/ARMMCExpr.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler.h"
#include "llvm/MC/MCELFStreamer.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCTargetAsmParser.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/ARMEHABI.h"
#include "llvm/Support/COFF.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include "ARMGenAsmMatcher.inc"
#include "MCTargetDesc/ARMArchName.def"
#include "ARMFPUName.def"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
Defines | |
#define | GET_OPERAND_DIAGNOSTIC_TYPES |
#define | ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) .Case(NAME, ARM::ID) |
#define | ARM_ARCH_ALIAS(NAME, ID) .Case(NAME, ARM::ID) |
#define | ARM_FPU_NAME(NAME, ID) .Case(NAME, ARM::ID) |
#define | ARM_ARCH_NAME(NAME, ID, DEFAULT_CPU_NAME, DEFAULT_CPU_ARCH) .Case(NAME, ARM::ID) |
#define | ARM_ARCH_ALIAS(NAME, ID) .Case(NAME, ARM::ID) |
Auto-generated Match Functions | |
{ | |
#define | GET_ASSEMBLER_HEADER |
Enumerations | |
enum | VectorLaneTy |
Functions | |
template<> | |
bool | llvm::IsCPSRDead< MCInst > (MCInst *Instr) |
Auto-generated Match Functions | |
#define | GET_REGISTER_MATCHER |
#define | GET_SUBTARGET_FEATURE_NAME |
#define | GET_MATCHER_IMPLEMENTATION |
struct { | |
const unsigned Fpu | |
const uint64_t Enabled | |
const uint64_t Disabled | |
} | Fpus [] |
struct { | |
const char * Name | |
const unsigned ArchCheck | |
const uint64_t Features | |
} | Extensions [] |
static unsigned | MatchRegisterName (StringRef Name) |
static int | MatchCoprocessorOperandName (StringRef Name, char CoprocOp) |
static unsigned | getNextRegister (unsigned Reg) |
static unsigned | getDRegFromQReg (unsigned QReg) |
static bool | isDataTypeToken (StringRef Tok) |
static bool | doesIgnoreDataTypeSuffix (StringRef Mnemonic, StringRef DT) |
static void | applyMnemonicAliases (StringRef &Mnemonic, uint64_t Features, unsigned VariantID) |
static bool | RequiresVFPRegListValidation (StringRef Inst, bool &AcceptSinglePrecisionOnly, bool &AcceptDoublePrecisionOnly) |
static bool | checkLowRegisterList (MCInst Inst, unsigned OpNo, unsigned Reg, unsigned HiReg, bool &containsReg) |
static bool | listContainsReg (MCInst &Inst, unsigned OpNo, unsigned Reg) |
static bool | instIsBreakpoint (const MCInst &Inst) |
static unsigned | getRealVSTOpcode (unsigned Opc, unsigned &Spacing) |
static unsigned | getRealVLDOpcode (unsigned Opc, unsigned &Spacing) |
static const char * | getSubtargetFeatureName (uint64_t Val) |
void | LLVMInitializeARMAsmParser () |
Force static initialization. |
#define ARM_ARCH_ALIAS | ( | NAME, | |
ID | |||
) | .Case(NAME, ARM::ID) |
#define ARM_ARCH_ALIAS | ( | NAME, | |
ID | |||
) | .Case(NAME, ARM::ID) |
#define ARM_ARCH_NAME | ( | NAME, | |
ID, | |||
DEFAULT_CPU_NAME, | |||
DEFAULT_CPU_ARCH | |||
) | .Case(NAME, ARM::ID) |
#define ARM_ARCH_NAME | ( | NAME, | |
ID, | |||
DEFAULT_CPU_NAME, | |||
DEFAULT_CPU_ARCH | |||
) | .Case(NAME, ARM::ID) |
#define ARM_FPU_NAME | ( | NAME, | |
ID | |||
) | .Case(NAME, ARM::ID) |
#define GET_ASSEMBLER_HEADER |
Definition at line 285 of file ARMAsmParser.cpp.
#define GET_MATCHER_IMPLEMENTATION |
Definition at line 9528 of file ARMAsmParser.cpp.
#define GET_OPERAND_DIAGNOSTIC_TYPES |
Definition at line 333 of file ARMAsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 9526 of file ARMAsmParser.cpp.
#define GET_SUBTARGET_FEATURE_NAME |
Definition at line 9527 of file ARMAsmParser.cpp.
enum VectorLaneTy |
Definition at line 56 of file ARMAsmParser.cpp.
static void applyMnemonicAliases | ( | StringRef & | Mnemonic, |
uint64_t | Features, | ||
unsigned | VariantID | ||
) | [static] |
static bool checkLowRegisterList | ( | MCInst | Inst, |
unsigned | OpNo, | ||
unsigned | Reg, | ||
unsigned | HiReg, | ||
bool & | containsReg | ||
) | [static] |
Definition at line 5690 of file ARMAsmParser.cpp.
References llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), and llvm::isARMLowRegister().
static bool doesIgnoreDataTypeSuffix | ( | StringRef | Mnemonic, |
StringRef | DT | ||
) | [static] |
Definition at line 5370 of file ARMAsmParser.cpp.
References llvm::StringRef::startswith().
static unsigned getDRegFromQReg | ( | unsigned | QReg | ) | [static] |
Definition at line 3303 of file ARMAsmParser.cpp.
References llvm_unreachable.
static unsigned getNextRegister | ( | unsigned | Reg | ) | [static] |
Definition at line 3283 of file ARMAsmParser.cpp.
References contains(), and llvm_unreachable.
static unsigned getRealVLDOpcode | ( | unsigned | Opc, |
unsigned & | Spacing | ||
) | [static] |
Definition at line 6167 of file ARMAsmParser.cpp.
References llvm_unreachable.
static unsigned getRealVSTOpcode | ( | unsigned | Opc, |
unsigned & | Spacing | ||
) | [static] |
Definition at line 6058 of file ARMAsmParser.cpp.
References llvm_unreachable.
static const char* getSubtargetFeatureName | ( | uint64_t | Val | ) | [static] |
static bool instIsBreakpoint | ( | const MCInst & | Inst | ) | [static] |
Definition at line 5717 of file ARMAsmParser.cpp.
References llvm::MCInst::getOpcode().
static bool isDataTypeToken | ( | StringRef | Tok | ) | [static] |
Definition at line 5358 of file ARMAsmParser.cpp.
static bool listContainsReg | ( | MCInst & | Inst, |
unsigned | OpNo, | ||
unsigned | Reg | ||
) | [static] |
Definition at line 5706 of file ARMAsmParser.cpp.
References llvm::MCInst::getNumOperands(), llvm::MCInst::getOperand(), and llvm::MCOperand::getReg().
void LLVMInitializeARMAsmParser | ( | ) |
Force static initialization.
Definition at line 9519 of file ARMAsmParser.cpp.
References llvm::ARM_PROC::A, llvm::TheARMBETarget, llvm::TheARMLETarget, llvm::TheThumbBETarget, llvm::TheThumbLETarget, llvm::X, and Y.
static int MatchCoprocessorOperandName | ( | StringRef | Name, |
char | CoprocOp | ||
) | [static] |
MatchCoprocessorOperandName - Try to parse an coprocessor related instruction with a symbolic operand name. We accept "crN" syntax for GAS compatibility. <operand-name> ::= <prefix><number> If CoprocOp is 'c', then: <prefix> ::= c | cr If CoprocOp is 'p', then : <prefix> ::= p <number> ::= integer in range [0, 15]
Definition at line 3130 of file ARMAsmParser.cpp.
References llvm::StringRef::drop_front(), and llvm::StringRef::size().
static unsigned MatchRegisterName | ( | StringRef | Name | ) | [static] |
static bool RequiresVFPRegListValidation | ( | StringRef | Inst, |
bool & | AcceptSinglePrecisionOnly, | ||
bool & | AcceptDoublePrecisionOnly | ||
) | [static] |
Definition at line 5376 of file ARMAsmParser.cpp.
References llvm::StringRef::size(), llvm::StringRef::startswith(), and llvm::StringRef::substr().
Definition at line 9533 of file ARMAsmParser.cpp.
Definition at line 8768 of file ARMAsmParser.cpp.
Referenced by llvm::ExecutionEngine::DisableGVCompilation(), llvm::ExecutionEngine::DisableLazyCompilation(), and llvm::ExecutionEngine::DisableSymbolSearching().
Definition at line 8767 of file ARMAsmParser.cpp.
Referenced by llvm::MipsTargetELFStreamer::emitDirectiveModuleOddSPReg().
struct { ... } Extensions[] [static] |
Definition at line 8766 of file ARMAsmParser.cpp.
struct { ... } Fpus[] [static] |
Definition at line 9532 of file ARMAsmParser.cpp.
Referenced by accumulateAndSortLibcalls(), AddAliasScopeMetadata(), llvm::DwarfAccelTable::AddName(), llvm::SetTheory::addOperator(), AppendTypeSuffix(), llvm::object::Archive::Archive(), llvm::ARMTargetLowering::ARMTargetLowering(), assureFPCallStub(), llvm::MipsFunctionInfo::callPtrInfo(), llvm::canConstantFoldCallTo(), llvm::object::Archive::Child::Child(), llvm::collectUsedGlobalVariables(), llvm::ComputeASanStackFrameLayout(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), llvm::ConstantFoldCall(), llvm::IRBuilder< true, TargetFolder >::CreateAdd(), llvm::IRBuilder< true, TargetFolder >::CreateAnd(), llvm::MDBuilder::createAnonymousAliasScope(), llvm::MDBuilder::createAnonymousAliasScopeDomain(), llvm::IRBuilder< true, TargetFolder >::CreateAShr(), llvm::IRBuilder< true, TargetFolder >::CreateBinOp(), llvm::IRBuilder< true, TargetFolder >::CreateCast(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP1_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP1_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP2_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstGEP2_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP1_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP1_64(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP2_32(), llvm::IRBuilder< true, TargetFolder >::CreateConstInBoundsGEP2_64(), llvm::IRBuilder< true, TargetFolder >::CreateExtractElement(), llvm::IRBuilder< true, TargetFolder >::CreateExtractValue(), llvm::IRBuilder< true, TargetFolder >::CreateFAdd(), llvm::IRBuilder< true, TargetFolder >::CreateFCmp(), llvm::IRBuilder< true, TargetFolder >::CreateFDiv(), llvm::IRBuilder< true, TargetFolder >::CreateFMul(), llvm::IRBuilder< true, TargetFolder >::CreateFNeg(), llvm::IRBuilder< true, TargetFolder >::CreateFPCast(), createFPFnStub(), llvm::IRBuilder< true, TargetFolder >::CreateFRem(), llvm::IRBuilder< true, TargetFolder >::CreateFSub(), llvm::DIBuilder::createFunction(), llvm::IRBuilder< true, TargetFolder >::CreateGEP(), llvm::IRBuilder< true, TargetFolder >::CreateICmp(), llvm::DIBuilder::createImportedDeclaration(), llvm::IRBuilder< true, TargetFolder >::CreateInBoundsGEP(), llvm::IRBuilder< true, TargetFolder >::CreateInsertElement(), llvm::IRBuilder< true, TargetFolder >::CreateInsertValue(), llvm::IRBuilder< true, TargetFolder >::CreateIntCast(), llvm::IRBuilder< true, TargetFolder >::CreateInvoke(), llvm::IRBuilder< true, TargetFolder >::CreateInvoke3(), llvm::IRBuilder< true, TargetFolder >::CreateLShr(), llvm::IRBuilder< true, TargetFolder >::CreateMul(), llvm::IRBuilder< true, TargetFolder >::CreateNeg(), llvm::IRBuilder< true, TargetFolder >::CreateNot(), llvm::IRBuilder< true, TargetFolder >::CreateOr(), llvm::IRBuilder< true, TargetFolder >::CreatePointerBitCastOrAddrSpaceCast(), llvm::IRBuilder< true, TargetFolder >::CreatePointerCast(), llvm::IRBuilder< true, TargetFolder >::CreateSDiv(), llvm::IRBuilder< true, TargetFolder >::CreateSelect(), llvm::IRBuilder< true, TargetFolder >::CreateSExtOrBitCast(), llvm::IRBuilder< true, TargetFolder >::CreateShl(), llvm::IRBuilder< true, TargetFolder >::CreateShuffleVector(), llvm::IRBuilder< true, TargetFolder >::CreateSRem(), llvm::IRBuilder< true, TargetFolder >::CreateSub(), llvm::IRBuilder< true, TargetFolder >::CreateTruncOrBitCast(), llvm::IRBuilder< true, TargetFolder >::CreateUDiv(), llvm::IRBuilder< true, TargetFolder >::CreateURem(), llvm::IRBuilder< true, TargetFolder >::CreateXor(), llvm::IRBuilder< true, TargetFolder >::CreateZExtOrBitCast(), llvm::DISubprogram::describes(), llvm::AsmPrinter::doFinalization(), llvm::GCOVFunction::dump(), llvm::DWARFDebugInfoEntryMinimal::dumpAttribute(), llvm::DWARFContextInMemory::DWARFContextInMemory(), llvm::MCDwarfLineTableHeader::Emit(), llvm::RuntimeDyldImpl::emitCommonSymbols(), emitDebugValueComment(), EmitGenDwarfInfo(), llvm::RuntimeDyldImpl::emitSection(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::RuntimeDyldMachOCRTPBase< Impl >::finalizeLoad(), llvm::RuntimeDyldMachOI386::finalizeSection(), llvm::RuntimeDyldMachOARM::finalizeSection(), llvm::Mips16HardFloatInfo::findFuncSignature(), fixupFPReturnAndCall(), llvm::SimplifyFortifiedLibCalls::fold(), llvm::UnOpInit::Fold(), forceRenaming(), llvm::Triple::getArchTypeForLLVMName(), llvm::MSP430MCInstLower::GetConstantPoolIndexSymbol(), llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(), llvm::getFnSpecificMDNode(), llvm::MachineBasicBlock::getFullName(), getFunctionNameForAddress(), llvm::DWARFContext::getInliningInfoForAddress(), llvm::MachineFunction::getJTISymbol(), llvm::MSP430MCInstLower::GetJumpTableSymbol(), llvm::object::MachOObjectFile::getLibraryShortNameByIndex(), llvm::MCContext::getMachOSection(), llvm::object::Archive::Child::getMemoryBufferRef(), llvm::MCSymbol::getName(), llvm::GCStrategy::getName(), llvm::Target::getName(), llvm::MCRegisterInfo::getName(), getNamedRegionTimer(), llvm::Mangler::getNameWithPrefix(), getNameWithPrefixx(), llvm::SDNode::getOperationName(), getOptionHelpName(), llvm::getOrInsertFnSpecificMDNode(), llvm::Module::getOrInsertNamedMetadata(), llvm::DwarfUnit::getParentContextString(), llvm::MCJIT::getPointerToFunction(), llvm::object::ELFFile< ELFT >::getRelocationTypeName(), llvm::object::ELFObjectFile< ELFT >::getSectionName(), llvm::WinEH::getSectionSuffix(), getStaticStructorSection(), GetSymbolFromOperand(), llvm::object::ELFObjectFile< ELFT >::getSymbolName(), llvm::object::ELFFile< ELFT >::getSymbolVersion(), llvm::Value::getValueName(), llvm::NVPTXAsmPrinter::getVirtualRegisterName(), llvm::Value::hasName(), llvm::SSAUpdater::Initialize(), INITIALIZE_PASS(), INITIALIZE_TM_PASS(), initializePassOnce(), llvm::IRBuilder< true, TargetFolder >::Insert(), insertSinCosCall(), llvm::objcarc::IsObjCIdentifiedObject(), LLVMAddAlias(), LLVMGetTargetFromName(), llvm::RuntimeDyldImpl::loadObject(), LookupNearestOption(), llvm::MCLOHNameToId(), llvm::cl::parser< const PassInfo * >::parse(), llvm::opt::OptTable::ParseOneArg(), llvm::RuntimeDyldMachO::populateIndirectSymbolPointersSection(), llvm::ARMInstPrinter::printBankedRegOperand(), llvm::AArch64InstPrinter::printBarrierOption(), PrintLLVMName(), llvm::AArch64InstPrinter::printMRSSystemRegister(), llvm::AArch64InstPrinter::printMSRSystemRegister(), printName(), llvm::AssemblyWriter::printNamedMDNode(), llvm::AArch64InstPrinter::printPrefetchOp(), printRelocationTargetName(), llvm::object::ObjectFile::printSymbolName(), llvm::AArch64InstPrinter::printSystemPStateField(), ProfileDagInit(), llvm::QualifyName(), llvm::BitstreamCursor::ReadBlockInfoBlock(), llvm::GCOVFunction::readGCDA(), llvm::GCOVFunction::readGCNO(), llvm::coverage::ObjectFileCoverageMappingReader::readHeader(), llvm::RuntimeDyldImpl::reassignSectionAddress(), llvm::TargetRegistry::RegisterTarget(), llvm::RuntimeDyldImpl::resolveExternalSymbols(), llvm::ExecutionEngine::runStaticConstructorsDestructors(), llvm::TargetLoweringObjectFileELF::SelectSectionForGlobal(), llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(), llvm::TargetLibraryInfo::setAvailableWithName(), llvm::MachinePassRegistry::setDefault(), llvm::TargetLoweringBase::setLibcallName(), llvm::Value::setValueName(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), llvm::MCExternalSymbolizer::tryAddingSymbolicOperand(), GraphSession::TryFindProgram(), llvm::UpgradeIntrinsicCall(), UpgradeIntrinsicFunction1(), and WriteValueSymbolTable().