diff options
| author | Alex Lorenz <arphaman@gmail.com> | 2015-07-29 18:57:23 +0000 |
|---|---|---|
| committer | Alex Lorenz <arphaman@gmail.com> | 2015-07-29 18:57:23 +0000 |
| commit | b139323f217ac3414950454047a9057801dc096f (patch) | |
| tree | 4c0426cc4f656e92b254c38a48090e0a0b97c3ae /llvm/lib/CodeGen/MIRParser/MIParser.cpp | |
| parent | fbe9c04c5f72cf3eca39793aafc92071ef13c046 (diff) | |
| download | bcm5719-llvm-b139323f217ac3414950454047a9057801dc096f.tar.gz bcm5719-llvm-b139323f217ac3414950454047a9057801dc096f.zip | |
MIR Serialization: Serialize the '.cfi_def_cfa' CFI instruction.
llvm-svn: 243554
Diffstat (limited to 'llvm/lib/CodeGen/MIRParser/MIParser.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/MIRParser/MIParser.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MIRParser/MIParser.cpp b/llvm/lib/CodeGen/MIRParser/MIParser.cpp index 6c0cd9d6ef8..c71eeb99fca 100644 --- a/llvm/lib/CodeGen/MIRParser/MIParser.cpp +++ b/llvm/lib/CodeGen/MIRParser/MIParser.cpp @@ -754,6 +754,14 @@ bool MIParser::parseCFIOperand(MachineOperand &Dest) { CFIIndex = MMI.addFrameInst( MCCFIInstruction::createDefCfaOffset(nullptr, -Offset)); break; + case MIToken::kw_cfi_def_cfa: + if (parseCFIRegister(Reg) || expectAndConsume(MIToken::comma) || + parseCFIOffset(Offset)) + return true; + // NB: MCCFIInstruction::createDefCfa negates the offset. + CFIIndex = + MMI.addFrameInst(MCCFIInstruction::createDefCfa(nullptr, Reg, -Offset)); + break; default: // TODO: Parse the other CFI operands. llvm_unreachable("The current token should be a cfi operand"); @@ -874,6 +882,7 @@ bool MIParser::parseMachineOperand(MachineOperand &Dest) { case MIToken::kw_cfi_offset: case MIToken::kw_cfi_def_cfa_register: case MIToken::kw_cfi_def_cfa_offset: + case MIToken::kw_cfi_def_cfa: return parseCFIOperand(Dest); case MIToken::kw_blockaddress: return parseBlockAddressOperand(Dest); |

