diff options
author | Alex Lorenz <arphaman@gmail.com> | 2015-08-17 22:09:52 +0000 |
---|---|---|
committer | Alex Lorenz <arphaman@gmail.com> | 2015-08-17 22:09:52 +0000 |
commit | eb62568625981cb12c83784a99c54cdfcb4d5d81 (patch) | |
tree | 0db99f348f057a4606f03e43316b05b168525d4e /llvm/lib/CodeGen/MIRParser/MIParser.cpp | |
parent | 03e940d1f8f263d27275e9a554639bc9b5f88050 (diff) | |
download | bcm5719-llvm-eb62568625981cb12c83784a99c54cdfcb4d5d81.tar.gz bcm5719-llvm-eb62568625981cb12c83784a99c54cdfcb4d5d81.zip |
MIR Serialization: Serialize the memory operand's range metadata node.
llvm-svn: 245247
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index 57765b5b0cb..c11117312c9 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -1527,6 +1527,7 @@ bool MIParser::parseMachineMemoryOperand(MachineMemOperand *&Dest) { return true; unsigned BaseAlignment = Size; AAMDNodes AAInfo; + MDNode *Range = nullptr; while (consumeIfPresent(MIToken::comma)) { switch (Token.kind()) { case MIToken::kw_align: @@ -1548,16 +1549,21 @@ bool MIParser::parseMachineMemoryOperand(MachineMemOperand *&Dest) { if (parseMDNode(AAInfo.NoAlias)) return true; break; - // TODO: Parse the ranges metadata. + case MIToken::md_range: + lex(); + if (parseMDNode(Range)) + return true; + break; // TODO: Report an error on duplicate metadata nodes. default: - return error( - "expected 'align' or '!tbaa' or '!alias.scope' or '!noalias'"); + return error("expected 'align' or '!tbaa' or '!alias.scope' or " + "'!noalias' or '!range'"); } } if (expectAndConsume(MIToken::rparen)) return true; - Dest = MF.getMachineMemOperand(Ptr, Flags, Size, BaseAlignment, AAInfo); + Dest = + MF.getMachineMemOperand(Ptr, Flags, Size, BaseAlignment, AAInfo, Range); return false; } |