summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MIRParser
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2015-08-12 21:11:08 +0000
committerAlex Lorenz <arphaman@gmail.com>2015-08-12 21:11:08 +0000
commit4be56e93706f94de488c4ca31e98510bbdd0bc47 (patch)
treed49e6fccae5b8862ed954208899ba7bae3edb5c8 /llvm/lib/CodeGen/MIRParser
parentc25c9fdf083196d3eb373c73ce34d30674579284 (diff)
downloadbcm5719-llvm-4be56e93706f94de488c4ca31e98510bbdd0bc47.tar.gz
bcm5719-llvm-4be56e93706f94de488c4ca31e98510bbdd0bc47.zip
MIR Serialization: Serialize the jump table pseudo source values.
llvm-svn: 244813
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser')
-rw-r--r--llvm/lib/CodeGen/MIRParser/MILexer.cpp1
-rw-r--r--llvm/lib/CodeGen/MIRParser/MILexer.h1
-rw-r--r--llvm/lib/CodeGen/MIRParser/MIParser.cpp5
3 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MILexer.cpp b/llvm/lib/CodeGen/MIRParser/MILexer.cpp
index 950181bf17d..25afedff973 100644
--- a/llvm/lib/CodeGen/MIRParser/MILexer.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MILexer.cpp
@@ -203,6 +203,7 @@ static MIToken::TokenKind getIdentifierKind(StringRef Identifier) {
.Case("align", MIToken::kw_align)
.Case("stack", MIToken::kw_stack)
.Case("got", MIToken::kw_got)
+ .Case("jump-table", MIToken::kw_jump_table)
.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 beb38d0876f..d0ae379097c 100644
--- a/llvm/lib/CodeGen/MIRParser/MILexer.h
+++ b/llvm/lib/CodeGen/MIRParser/MILexer.h
@@ -72,6 +72,7 @@ struct MIToken {
kw_align,
kw_stack,
kw_got,
+ kw_jump_table,
kw_constant_pool,
kw_liveout,
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
index 6dae29a58e3..ec70ea3d6c7 100644
--- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp
+++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp
@@ -1127,6 +1127,9 @@ bool MIParser::parseMemoryPseudoSourceValue(const PseudoSourceValue *&PSV) {
case MIToken::kw_got:
PSV = MF.getPSVManager().getGOT();
break;
+ case MIToken::kw_jump_table:
+ PSV = MF.getPSVManager().getJumpTable();
+ break;
case MIToken::kw_constant_pool:
PSV = MF.getPSVManager().getConstantPool();
break;
@@ -1140,7 +1143,7 @@ bool MIParser::parseMemoryPseudoSourceValue(const PseudoSourceValue *&PSV) {
bool MIParser::parseMachinePointerInfo(MachinePointerInfo &Dest) {
if (Token.is(MIToken::kw_constant_pool) || Token.is(MIToken::kw_stack) ||
- Token.is(MIToken::kw_got)) {
+ Token.is(MIToken::kw_got) || Token.is(MIToken::kw_jump_table)) {
const PseudoSourceValue *PSV = nullptr;
if (parseMemoryPseudoSourceValue(PSV))
return true;
OpenPOWER on IntegriCloud