LLVM 20.0.0git
|
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.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/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/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/MCSubtargetInfo.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCTargetOptions.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 <climits>
#include <cstddef>
#include <cstdint>
#include <ctime>
#include <deque>
#include <memory>
#include <optional>
#include <sstream>
#include <string>
#include <tuple>
#include <utility>
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Enumerations | |
enum | { DEFAULT_ADDRSPACE = 0 } |
Functions | |
MCAsmParserExtension * | llvm::createCOFFMasmParser () |
static bool | isAngleBracketString (SMLoc &StrLoc, SMLoc &EndLoc) |
This function checks if the next token is <string> type or arithmetic. | |
static std::string | angleBracketString (StringRef BracketContents) |
creating a string without the escape characters '!'. | |
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) |
anonymous enum |
Enumerator | |
---|---|
DEFAULT_ADDRSPACE |
Definition at line 1088 of file MasmParser.cpp.
|
static |
creating a string without the escape characters '!'.
Definition at line 1866 of file MasmParser.cpp.
References llvm::StringRef::size().
|
static |
Definition at line 1940 of file MasmParser.cpp.
References llvm::MCBinaryExpr::Add, llvm::AsmToken::Amp, llvm::AsmToken::AmpAmp, llvm::MCBinaryExpr::And, llvm::MCBinaryExpr::AShr, llvm::AsmToken::Caret, llvm::MCBinaryExpr::Div, llvm::MCBinaryExpr::EQ, llvm::AsmToken::EqualEqual, llvm::AsmToken::ExclaimEqual, llvm::AsmToken::Greater, llvm::AsmToken::GreaterEqual, llvm::AsmToken::GreaterGreater, llvm::MCBinaryExpr::GT, llvm::MCBinaryExpr::GTE, llvm::MCBinaryExpr::LAnd, llvm::AsmToken::Less, llvm::AsmToken::LessEqual, llvm::AsmToken::LessGreater, llvm::AsmToken::LessLess, llvm::MCBinaryExpr::LOr, llvm::MCBinaryExpr::LShr, llvm::MCBinaryExpr::LT, llvm::MCBinaryExpr::LTE, llvm::AsmToken::Minus, llvm::MCBinaryExpr::Mod, llvm::MCBinaryExpr::Mul, llvm::MCBinaryExpr::NE, llvm::MCBinaryExpr::Or, llvm::AsmToken::Percent, llvm::AsmToken::Pipe, llvm::AsmToken::PipePipe, llvm::AsmToken::Plus, llvm::MCBinaryExpr::Shl, llvm::AsmToken::Slash, llvm::AsmToken::Star, llvm::MCBinaryExpr::Sub, and llvm::MCBinaryExpr::Xor.
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 1848 of file MasmParser.cpp.
References assert(), llvm::SMLoc::getFromPointer(), and llvm::SMLoc::getPointer().
Definition at line 2826 of file MasmParser.cpp.
References llvm::CallingConv::C.
|
static |
Definition at line 2950 of file MasmParser.cpp.
References llvm::AsmToken::Amp, llvm::AsmToken::AmpAmp, llvm::AsmToken::Caret, llvm::AsmToken::Dot, llvm::AsmToken::Equal, llvm::AsmToken::EqualEqual, llvm::AsmToken::Exclaim, llvm::AsmToken::ExclaimEqual, llvm::AsmToken::Greater, llvm::AsmToken::GreaterEqual, llvm::AsmToken::GreaterGreater, llvm::AsmToken::Less, llvm::AsmToken::LessEqual, llvm::AsmToken::LessGreater, llvm::AsmToken::LessLess, llvm::AsmToken::Minus, llvm::AsmToken::Pipe, llvm::AsmToken::PipePipe, llvm::AsmToken::Plus, llvm::AsmToken::Slash, llvm::AsmToken::Star, and llvm::AsmToken::Tilde.
|
static |
Definition at line 5607 of file MasmParser.cpp.
References llvm::dwarf::DW_EH_PE_absptr, llvm::dwarf::DW_EH_PE_omit, llvm::dwarf::DW_EH_PE_pcrel, llvm::dwarf::DW_EH_PE_sdata2, llvm::dwarf::DW_EH_PE_sdata4, llvm::dwarf::DW_EH_PE_sdata8, llvm::dwarf::DW_EH_PE_signed, llvm::dwarf::DW_EH_PE_udata2, llvm::dwarf::DW_EH_PE_udata4, and llvm::dwarf::DW_EH_PE_udata8.
Definition at line 3793 of file MasmParser.cpp.
References llvm::AsmToken::BigNum, llvm::APInt::getBitWidth(), llvm::APInt::getHiBits(), llvm::APInt::getLoBits(), llvm::APInt::getZExtValue(), llvm::AsmToken::Integer, and llvm::APInt::isIntN().
|
static |
Definition at line 7198 of file MasmParser.cpp.
References llvm::AsmRewritePrecedence, llvm::SMLoc::getPointer(), llvm::AsmRewrite::Kind, llvm_unreachable, and llvm::AsmRewrite::Loc.