LLVM  8.0.1
Classes | Macros | Enumerations | Functions | Variables
SystemZAsmParser.cpp File Reference
#include "InstPrinter/SystemZInstPrinter.h"
#include "MCTargetDesc/SystemZMCTargetDesc.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstBuilder.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/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/TargetRegistry.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <memory>
#include <string>
#include "SystemZGenAsmMatcher.inc"
Include dependency graph for SystemZAsmParser.cpp:

Go to the source code of this file.

Classes

struct  InsnMatchEntry
 
struct  CompareInsn
 

Macros

#define GET_ASSEMBLER_HEADER
 
#define GET_REGISTER_MATCHER
 
#define GET_SUBTARGET_FEATURE_NAME
 
#define GET_MATCHER_IMPLEMENTATION
 
#define GET_MNEMONIC_SPELL_CHECKER
 

Enumerations

enum  RegisterKind
 
enum  MemoryKind
 

Functions

static bool inRange (const MCExpr *Expr, int64_t MinValue, int64_t MaxValue)
 
static void printMCExpr (const MCExpr *E, raw_ostream &OS)
 
static std::string SystemZMnemonicSpellCheck (StringRef S, uint64_t FBS, unsigned VariantID=0)
 
void LLVMInitializeSystemZAsmParser ()
 

Variables

static struct InsnMatchEntry InsnMatchTable []
 

Macro Definition Documentation

◆ GET_ASSEMBLER_HEADER

#define GET_ASSEMBLER_HEADER

Definition at line 390 of file SystemZAsmParser.cpp.

◆ GET_MATCHER_IMPLEMENTATION

#define GET_MATCHER_IMPLEMENTATION

Definition at line 556 of file SystemZAsmParser.cpp.

◆ GET_MNEMONIC_SPELL_CHECKER

#define GET_MNEMONIC_SPELL_CHECKER

Definition at line 557 of file SystemZAsmParser.cpp.

◆ GET_REGISTER_MATCHER

#define GET_REGISTER_MATCHER

Definition at line 554 of file SystemZAsmParser.cpp.

◆ GET_SUBTARGET_FEATURE_NAME

#define GET_SUBTARGET_FEATURE_NAME

Definition at line 555 of file SystemZAsmParser.cpp.

Enumeration Type Documentation

◆ MemoryKind

enum MemoryKind

Definition at line 68 of file SystemZAsmParser.cpp.

◆ RegisterKind

Definition at line 51 of file SystemZAsmParser.cpp.

Function Documentation

◆ inRange()

static bool inRange ( const MCExpr Expr,
int64_t  MinValue,
int64_t  MaxValue 
)
static

Definition at line 41 of file SystemZAsmParser.cpp.

◆ LLVMInitializeSystemZAsmParser()

void LLVMInitializeSystemZAsmParser ( )

Definition at line 1373 of file SystemZAsmParser.cpp.

References llvm::getTheSystemZTarget(), and X.

◆ printMCExpr()

static void printMCExpr ( const MCExpr E,
raw_ostream OS 
)
static

Definition at line 637 of file SystemZAsmParser.cpp.

References llvm::SystemZMC::AR32Regs, assert(), llvm::sys::path::begin(), llvm::AsmToken::Colon, llvm::AsmToken::Comma, llvm::SystemZMC::CR64Regs, llvm::MCSymbolRefExpr::create(), llvm::MCBinaryExpr::createAdd(), llvm::MCContext::createTempSymbol(), E, llvm::MCStreamer::EmitInstruction(), llvm::MCStreamer::EmitLabel(), llvm::sys::path::end(), llvm::AsmToken::EndOfStatement, llvm::Error, llvm::Format, InsnMatchEntry::Format, llvm::SystemZMC::FP64Regs, llvm::StringRef::getAsInteger(), llvm::SMLoc::getFromPointer(), llvm::AsmToken::getIdentifier(), llvm::AsmToken::getLoc(), llvm::MCContext::getOrCreateSymbol(), llvm::SMLoc::getPointer(), getReg(), llvm::SystemZInstPrinter::getRegisterName(), llvm::MCParsedAsmOperand::getStartLoc(), llvm::MCAsmParser::getStreamer(), getSubtargetFeatureName(), llvm::MCAsmParser::getTok(), llvm::getToken(), llvm::SystemZMC::GR64Regs, I, llvm::AsmToken::Identifier, llvm::object::Identifier, Info, llvm::AsmToken::Integer, Kind, llvm_unreachable, llvm::AsmToken::LParen, llvm::BitmaskEnumDetail::Mask(), llvm::MatchOperand_NoMatch, llvm::MatchOperand_ParseFail, llvm::MatchOperand_Success, Name, InsnMatchEntry::NumOperands, InsnMatchEntry::Opcode, InsnMatchEntry::OperandKinds, llvm::MCAsmParser::parseExpression(), llvm::MCAsmParser::parseIdentifier(), llvm::AsmToken::Percent, llvm::cl::Prefix, print(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorTemplateBase< T >::push_back(), Reg, Register, llvm::AsmToken::RParen, llvm::MCInst::setLoc(), llvm::SmallVectorBase::size(), llvm::StringRef::size(), llvm::StringRef::substr(), SystemZMnemonicSpellCheck(), llvm::MCSymbolRefExpr::VK_None, llvm::MCSymbolRefExpr::VK_TLSGD, llvm::MCSymbolRefExpr::VK_TLSLDM, and llvm::SystemZMC::VR128Regs.

Referenced by ConvertDoubleToBytes().

◆ SystemZMnemonicSpellCheck()

static std::string SystemZMnemonicSpellCheck ( StringRef  S,
uint64_t  FBS,
unsigned  VariantID = 0 
)
static

Referenced by printMCExpr().

Variable Documentation

◆ InsnMatchTable

struct InsnMatchEntry InsnMatchTable[]
static

Definition at line 583 of file SystemZAsmParser.cpp.