LLVM  14.0.0git
Namespaces | Enumerations | Functions | Variables
MasmParser.cpp File Reference
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.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/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCCodeView.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInstPrinter.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/AsmCond.h"
#include "llvm/MC/MCParser/AsmLexer.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCAsmParserExtension.h"
#include "llvm/MC/MCParser/MCAsmParserUtils.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/MCValue.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/MD5.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cctype>
#include <climits>
#include <cstddef>
#include <cstdint>
#include <ctime>
#include <deque>
#include <memory>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>

Go to the source code of this file.

Namespaces

 llvm
 This file implements support for optimizing divisions by a constant.
 

Enumerations

enum  { DEFAULT_ADDRSPACE = 0 }
 

Functions

MCAsmParserExtensionllvm::createCOFFMasmParser ()
 
static bool isAngleBracketString (SMLoc &StrLoc, SMLoc &EndLoc)
 This function checks if the next token is <string> type or arithmetic. More...
 
static std::string angleBracketString (StringRef BracketContents)
 creating a string without the escape characters '!'. More...
 
static unsigned getGNUBinOpPrecedence (AsmToken::TokenKind K, MCBinaryExpr::Opcode &Kind, bool ShouldUseLogicalShr, bool EndExpressionAtGreater)
 
static bool isMacroParameterChar (char C)
 
static bool isOperator (AsmToken::TokenKind kind)
 
static bool parseHexOcta (MasmParser &Asm, uint64_t &hi, uint64_t &lo)
 
static bool isValidEncoding (int64_t Encoding)
 
static int rewritesSort (const AsmRewrite *AsmRewriteA, const AsmRewrite *AsmRewriteB)
 

Variables

cl::opt< unsigned > AsmMacroMaxNestingDepth
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DEFAULT_ADDRSPACE 

Definition at line 1070 of file MasmParser.cpp.

Function Documentation

◆ angleBracketString()

static std::string angleBracketString ( StringRef  BracketContents)
static

creating a string without the escape characters '!'.

Definition at line 1878 of file MasmParser.cpp.

References llvm::StringRef::size().

◆ getGNUBinOpPrecedence()

static unsigned getGNUBinOpPrecedence ( AsmToken::TokenKind  K,
MCBinaryExpr::Opcode Kind,
bool  ShouldUseLogicalShr,
bool  EndExpressionAtGreater 
)
static

◆ isAngleBracketString()

static bool isAngleBracketString ( SMLoc StrLoc,
SMLoc EndLoc 
)
static

This function checks if the next token is <string> type or arithmetic.

string that begin with character '<' must end with character '>'. otherwise it is arithmetics. If the function returns a 'true' value, the End argument will be filled with the last location pointed to the '>' character.

Definition at line 1860 of file MasmParser.cpp.

References assert(), llvm::SMLoc::getFromPointer(), and llvm::SMLoc::getPointer().

◆ isMacroParameterChar()

static bool isMacroParameterChar ( char  C)
static

Definition at line 2879 of file MasmParser.cpp.

◆ isOperator()

static bool isOperator ( AsmToken::TokenKind  kind)
static

◆ isValidEncoding()

static bool isValidEncoding ( int64_t  Encoding)
static

◆ parseHexOcta()

static bool parseHexOcta ( MasmParser &  Asm,
uint64_t hi,
uint64_t lo 
)
static

◆ rewritesSort()

static int rewritesSort ( const AsmRewrite AsmRewriteA,
const AsmRewrite AsmRewriteB 
)
static

Variable Documentation

◆ AsmMacroMaxNestingDepth

cl::opt<unsigned> AsmMacroMaxNestingDepth