summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AsmParser
diff options
context:
space:
mode:
authorLuke Cheeseman <luke.cheeseman@arm.com>2018-09-27 10:39:20 +0000
committerLuke Cheeseman <luke.cheeseman@arm.com>2018-09-27 10:39:20 +0000
commitf6844b307a5369ea934550ccb85b063d73a268ee (patch)
treefb3253db58d50727e714d4cc86bffd047b9b3226 /llvm/lib/Target/AArch64/AsmParser
parentdababf70e2df03214b19c0bfaeb6091923171ef6 (diff)
downloadbcm5719-llvm-f6844b307a5369ea934550ccb85b063d73a268ee.tar.gz
bcm5719-llvm-f6844b307a5369ea934550ccb85b063d73a268ee.zip
Reapply changes reverted in r343114, lldb patch to follow shortly
llvm-svn: 343192
Diffstat (limited to 'llvm/lib/Target/AArch64/AsmParser')
-rw-r--r--llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index 8b5db516bad..0f156185387 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -175,6 +175,7 @@ private:
bool parseDirectiveReq(StringRef Name, SMLoc L);
bool parseDirectiveUnreq(SMLoc L);
+ bool parseDirectiveCFINegateRAState();
bool validateInstruction(MCInst &Inst, SMLoc &IDLoc,
SmallVectorImpl<SMLoc> &Loc);
@@ -4925,6 +4926,8 @@ bool AArch64AsmParser::ParseDirective(AsmToken DirectiveID) {
parseDirectiveUnreq(Loc);
else if (IDVal == ".inst")
parseDirectiveInst(Loc);
+ else if (IDVal == ".cfi_negate_ra_state")
+ parseDirectiveCFINegateRAState();
else if (IsMachO) {
if (IDVal == MCLOHDirectiveName())
parseDirectiveLOH(IDVal, Loc);
@@ -5298,6 +5301,13 @@ bool AArch64AsmParser::parseDirectiveUnreq(SMLoc L) {
return false;
}
+bool AArch64AsmParser::parseDirectiveCFINegateRAState() {
+ if (parseToken(AsmToken::EndOfStatement, "unexpected token in directive"))
+ return true;
+ getStreamer().EmitCFINegateRAState();
+ return false;
+}
+
bool
AArch64AsmParser::classifySymbolRef(const MCExpr *Expr,
AArch64MCExpr::VariantKind &ELFRefKind,
OpenPOWER on IntegriCloud