|
7 | 7 | //===----------------------------------------------------------------------===// |
8 | 8 |
|
9 | 9 | #include "AMDKernelCodeT.h" |
10 | | -#include "MCTargetDesc/AMDGPUMCExpr.h" |
11 | 10 | #include "MCTargetDesc/AMDGPUMCTargetDesc.h" |
12 | 11 | #include "MCTargetDesc/AMDGPUTargetStreamer.h" |
13 | 12 | #include "SIDefines.h" |
@@ -1817,7 +1816,6 @@ class AMDGPUAsmParser : public MCTargetAsmParser { |
1817 | 1816 |
|
1818 | 1817 | public: |
1819 | 1818 | void onBeginOfFile() override; |
1820 | | - bool parsePrimaryExpr(const MCExpr *&Res, SMLoc &EndLoc) override; |
1821 | 1819 |
|
1822 | 1820 | ParseStatus parseCustomOperand(OperandVector &Operands, unsigned MCK); |
1823 | 1821 |
|
@@ -8279,59 +8277,6 @@ void AMDGPUAsmParser::onBeginOfFile() { |
8279 | 8277 | getTargetStreamer().EmitDirectiveAMDGCNTarget(); |
8280 | 8278 | } |
8281 | 8279 |
|
8282 | | -/// Parse AMDGPU specific expressions. |
8283 | | -/// |
8284 | | -/// expr ::= or(expr, ...) | |
8285 | | -/// max(expr, ...) |
8286 | | -/// |
8287 | | -bool AMDGPUAsmParser::parsePrimaryExpr(const MCExpr *&Res, SMLoc &EndLoc) { |
8288 | | - using AGVK = AMDGPUVariadicMCExpr::VariadicKind; |
8289 | | - |
8290 | | - if (isToken(AsmToken::Identifier)) { |
8291 | | - StringRef TokenId = getTokenStr(); |
8292 | | - AGVK VK = StringSwitch<AGVK>(TokenId) |
8293 | | - .Case("max", AGVK::AGVK_Max) |
8294 | | - .Case("or", AGVK::AGVK_Or) |
8295 | | - .Default(AGVK::AGVK_None); |
8296 | | - |
8297 | | - if (VK != AGVK::AGVK_None && peekToken().is(AsmToken::LParen)) { |
8298 | | - SmallVector<const MCExpr *, 4> Exprs; |
8299 | | - uint64_t CommaCount = 0; |
8300 | | - lex(); // Eat 'max'/'or' |
8301 | | - lex(); // Eat '(' |
8302 | | - while (true) { |
8303 | | - if (trySkipToken(AsmToken::RParen)) { |
8304 | | - if (Exprs.empty()) { |
8305 | | - Error(getToken().getLoc(), |
8306 | | - "empty " + Twine(TokenId) + " expression"); |
8307 | | - return true; |
8308 | | - } |
8309 | | - if (CommaCount + 1 != Exprs.size()) { |
8310 | | - Error(getToken().getLoc(), |
8311 | | - "mismatch of commas in " + Twine(TokenId) + " expression"); |
8312 | | - return true; |
8313 | | - } |
8314 | | - Res = AMDGPUVariadicMCExpr::create(VK, Exprs, getContext()); |
8315 | | - return false; |
8316 | | - } |
8317 | | - const MCExpr *Expr; |
8318 | | - if (getParser().parseExpression(Expr, EndLoc)) |
8319 | | - return true; |
8320 | | - Exprs.push_back(Expr); |
8321 | | - bool LastTokenWasComma = trySkipToken(AsmToken::Comma); |
8322 | | - if (LastTokenWasComma) |
8323 | | - CommaCount++; |
8324 | | - if (!LastTokenWasComma && !isToken(AsmToken::RParen)) { |
8325 | | - Error(getToken().getLoc(), |
8326 | | - "unexpected token in " + Twine(TokenId) + " expression"); |
8327 | | - return true; |
8328 | | - } |
8329 | | - } |
8330 | | - } |
8331 | | - } |
8332 | | - return getParser().parsePrimaryExpr(Res, EndLoc, nullptr); |
8333 | | -} |
8334 | | - |
8335 | 8280 | ParseStatus AMDGPUAsmParser::parseOModSI(OperandVector &Operands) { |
8336 | 8281 | StringRef Name = getTokenStr(); |
8337 | 8282 | if (Name == "mul") { |
|
0 commit comments