LLVM  4.0.0
Macros
AArch64AsmParser.cpp File Reference
#include "MCTargetDesc/AArch64AddressingModes.h"
#include "MCTargetDesc/AArch64MCExpr.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#include "MCTargetDesc/AArch64TargetStreamer.h"
#include "Utils/AArch64BaseInfo.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCLinkerOptimizationHint.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCAsmParserExtension.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/TargetParser.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cctype>
#include <cstdint>
#include <cstdio>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
#include "AArch64GenAsmMatcher.inc"
Include dependency graph for AArch64AsmParser.cpp:

Go to the source code of this file.

Macros

#define GET_OPERAND_DIAGNOSTIC_TYPES
 
#define SYS_ALIAS(op1, Cn, Cm, op2)
 
Auto-generated Match Functions

{

#define GET_ASSEMBLER_HEADER
 

Auto-generated Match Functions

{

#define GET_REGISTER_MATCHER
 
#define GET_SUBTARGET_FEATURE_NAME
 
#define GET_MATCHER_IMPLEMENTATION
 
struct {
   const char *   Name
 
   const FeatureBitset   Features
 
ExtensionMap []
 
static unsigned MatchRegisterName (StringRef Name)
 
static unsigned matchVectorRegName (StringRef Name)
 } More...
 
static bool isValidVectorKind (StringRef Name)
 
static void parseValidVectorKind (StringRef Name, unsigned &NumElements, char &ElementKind)
 
static const char * getSubtargetFeatureName (uint64_t Val)
 
void LLVMInitializeAArch64AsmParser ()
 Force static initialization. More...
 

Macro Definition Documentation

#define GET_ASSEMBLER_HEADER

Definition at line 111 of file AArch64AsmParser.cpp.

#define GET_MATCHER_IMPLEMENTATION

Definition at line 4542 of file AArch64AsmParser.cpp.

#define GET_OPERAND_DIAGNOSTIC_TYPES

Definition at line 134 of file AArch64AsmParser.cpp.

#define GET_REGISTER_MATCHER

Definition at line 4540 of file AArch64AsmParser.cpp.

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 4541 of file AArch64AsmParser.cpp.

#define SYS_ALIAS (   op1,
  Cn,
  Cm,
  op2 
)
Value:
do { \
Expr = MCConstantExpr::create(op1, getContext()); \
Operands.push_back( \
AArch64Operand::CreateImm(Expr, S, getLoc(), getContext())); \
Operands.push_back( \
AArch64Operand::CreateSysCR(Cn, S, getLoc(), getContext())); \
Operands.push_back( \
AArch64Operand::CreateSysCR(Cm, S, getLoc(), getContext())); \
Expr = MCConstantExpr::create(op2, getContext()); \
Operands.push_back( \
AArch64Operand::CreateImm(Expr, S, getLoc(), getContext())); \
} while (false)

Function Documentation

static const char* getSubtargetFeatureName ( uint64_t  Val)
static
static bool isValidVectorKind ( StringRef  Name)
static

Definition at line 1953 of file AArch64AsmParser.cpp.

void LLVMInitializeAArch64AsmParser ( )

Force static initialization.

Definition at line 4534 of file AArch64AsmParser.cpp.

References llvm::getTheAArch64beTarget(), llvm::getTheAArch64leTarget(), llvm::getTheARM64Target(), X, and Y.

static unsigned MatchRegisterName ( StringRef  Name)
static
static unsigned matchVectorRegName ( StringRef  Name)
static

}

Definition at line 1916 of file AArch64AsmParser.cpp.

static void parseValidVectorKind ( StringRef  Name,
unsigned NumElements,
char &  ElementKind 
)
static

Definition at line 1976 of file AArch64AsmParser.cpp.

Variable Documentation

const { ... } ExtensionMap[]
Initial value:
= {
{ "crc", {AArch64::FeatureCRC} },
{ "crypto", {AArch64::FeatureCrypto} },
{ "fp", {AArch64::FeatureFPARMv8} },
{ "simd", {AArch64::FeatureNEON} },
{ "ras", {AArch64::FeatureRAS} },
{ "lse", {AArch64::FeatureLSE} },
{ "pan", {} },
{ "lor", {} },
{ "rdma", {} },
{ "profile", {} },
}
const FeatureBitset Features
const char* Name

Definition at line 4188 of file AArch64AsmParser.cpp.