LLVM: lib/MC/MCParser/AsmParser.cpp File Reference (original) (raw)
Go to the source code of this file.
| Namespaces | |
|---|---|
| namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations. |
| Functions | |
|---|---|
| static bool | isAngleBracketString (SMLoc &StrLoc, SMLoc &EndLoc) |
| This function checks if the next token is type or arithmetic. | |
| static std::string | angleBracketString (StringRef AltMacroStr) |
| creating a string without the escape characters '!'. | |
| static unsigned | getDarwinBinOpPrecedence (AsmToken::TokenKind K, MCBinaryExpr::Opcode &Kind, bool ShouldUseLogicalShr) |
| static unsigned | getGNUBinOpPrecedence (const MCAsmInfo &MAI, AsmToken::TokenKind K, MCBinaryExpr::Opcode &Kind, bool ShouldUseLogicalShr) |
| static bool | isIdentifierChar (char c) |
| static bool | isOperator (AsmToken::TokenKind kind) |
| static bool | parseHexOcta (AsmParser &Asm, uint64_t &hi, uint64_t &lo) |
| static bool | isValidEncoding (int64_t Encoding) |
| static int | rewritesSort (const AsmRewrite *AsmRewriteA, const AsmRewrite *AsmRewriteB) |
◆ angleBracketString()
◆ getDarwinBinOpPrecedence()
Definition at line 1499 of file AsmParser.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.
◆ getGNUBinOpPrecedence()
Definition at line 1575 of file AsmParser.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::Exclaim, llvm::AsmToken::ExclaimEqual, llvm::MCAsmInfo::getCommentString(), 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::MCBinaryExpr::OrNot, 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.
◆ isAngleBracketString()
This function checks if the next token is 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. There is a gap between the AltMacro's documentation and the single quote implementation. GCC does not fully support this feature and so we will not support it. TODO: Adding single quote as a string.
Definition at line 1389 of file AsmParser.cpp.
References assert(), llvm::SMLoc::getFromPointer(), and llvm::SMLoc::getPointer().
◆ isIdentifierChar()
◆ isOperator()
Definition at line 2557 of file AsmParser.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.
◆ isValidEncoding()
| bool isValidEncoding ( int64_t Encoding) | static |
|---|