summaryrefslogtreecommitdiff
path: root/lib/MC/MCStreamer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-12-29 00:26:06 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-12-29 00:26:06 +0000
commitb4601bd2ffdde372f1323f6b6ec98acd433501ce (patch)
treeb5e454392bb552150d9b4d19da833ae5bc21174e /lib/MC/MCStreamer.cpp
parentb790a17efba26f4365b5ffb847dd53fde063c48d (diff)
downloadllvm-b4601bd2ffdde372f1323f6b6ec98acd433501ce.tar.gz
llvm-b4601bd2ffdde372f1323f6b6ec98acd433501ce.tar.bz2
llvm-b4601bd2ffdde372f1323f6b6ec98acd433501ce.tar.xz
Implement cfi_def_cfa_register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122612 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC/MCStreamer.cpp')
-rw-r--r--lib/MC/MCStreamer.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/MC/MCStreamer.cpp b/lib/MC/MCStreamer.cpp
index f5e0d20e09..4d7d486ea9 100644
--- a/lib/MC/MCStreamer.cpp
+++ b/lib/MC/MCStreamer.cpp
@@ -186,6 +186,14 @@ bool MCStreamer::EmitCFIDefCfaOffset(int64_t Offset) {
bool MCStreamer::EmitCFIDefCfaRegister(int64_t Register) {
EnsureValidFrame();
+ MCDwarfFrameInfo *CurFrame = getCurrentFrameInfo();
+ MCSymbol *Label = getContext().CreateTempSymbol();
+ EmitLabel(Label);
+ MachineLocation Dest(Register);
+ MachineLocation Source(MachineLocation::VirtualFP);
+ MCCFIInstruction Instruction(Label, Dest, Source);
+ CurFrame->Instructions.push_back(Instruction);
+ return false;
return false;
}