diff options
author | Alex Lorenz <arphaman@gmail.com> | 2015-08-12 20:44:16 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2015-08-12 20:44:16 +0000 |
commit | 46e9558ac6cdf97ccaca60d01fa7fc5b66df6727 (patch) | |
tree | 3728d2287ac146af81214cbceb043626c0229711 /llvm/lib/CodeGen/MIRParser | |
parent | e24c60eb54c1bb1d1a146da79004c90a1ac2e84d (diff) | |
download | bcm5719-llvm-46e9558ac6cdf97ccaca60d01fa7fc5b66df6727.tar.gz bcm5719-llvm-46e9558ac6cdf97ccaca60d01fa7fc5b66df6727.zip |
MIR Serialization: Serialize the stack pseudo source values.
llvm-svn: 244806
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser')
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MILexer.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MILexer.h | 1 | ||||
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 5 |
3 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.cpp b/llvm/lib/CodeGen/MIRParser/MILexer.cpp index c94c3981cc8..8a6a1ff817a 100644 --- a/llvm/lib/CodeGen/MIRParser/MILexer.cpp +++ b/llvm/lib/CodeGen/MIRParser/MILexer.cpp @@ -201,6 +201,7 @@ static MIToken::TokenKind getIdentifierKind(StringRef Identifier) { .Case("non-temporal", MIToken::kw_non_temporal) .Case("invariant", MIToken::kw_invariant) .Case("align", MIToken::kw_align) + .Case("stack", MIToken::kw_stack) .Case("constant-pool", MIToken::kw_constant_pool) .Case("liveout", MIToken::kw_liveout) .Default(MIToken::Identifier); diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.h b/llvm/lib/CodeGen/MIRParser/MILexer.h index 75cf3f3463e..2c7a32cf508 100644 --- a/llvm/lib/CodeGen/MIRParser/MILexer.h +++ b/llvm/lib/CodeGen/MIRParser/MILexer.h @@ -70,6 +70,7 @@ struct MIToken { kw_non_temporal, kw_invariant, kw_align, + kw_stack, kw_constant_pool, kw_liveout, diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index afa6ffcc5e4..47a9eaf14c3 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -1121,6 +1121,9 @@ bool MIParser::parseMemoryOperandFlag(unsigned &Flags) { bool MIParser::parseMemoryPseudoSourceValue(const PseudoSourceValue *&PSV) { switch (Token.kind()) { + case MIToken::kw_stack: + PSV = MF.getPSVManager().getStack(); + break; case MIToken::kw_constant_pool: PSV = MF.getPSVManager().getConstantPool(); break; @@ -1133,7 +1136,7 @@ bool MIParser::parseMemoryPseudoSourceValue(const PseudoSourceValue *&PSV) { } bool MIParser::parseMachinePointerInfo(MachinePointerInfo &Dest) { - if (Token.is(MIToken::kw_constant_pool)) { + if (Token.is(MIToken::kw_constant_pool) || Token.is(MIToken::kw_stack)) { const PseudoSourceValue *PSV = nullptr; if (parseMemoryPseudoSourceValue(PSV)) return true; |