summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-01-30 04:46:24 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-01-30 04:46:24 +0000
commit5d962d31f11d4b63c1ed7b72dafbecd9fe37adb8 (patch)
tree46e6bc9fd4795cfe2a42c534ab40525fe022eaf7 /llvm/lib/Target/ARM/ARMAsmPrinter.cpp
parent56e06e86406421bd0d4ea86e07cca3621dbf2382 (diff)
downloadbcm5719-llvm-5d962d31f11d4b63c1ed7b72dafbecd9fe37adb8.tar.gz
bcm5719-llvm-5d962d31f11d4b63c1ed7b72dafbecd9fe37adb8.zip
ARM IAS: support .movsp
.movsp is an ARM unwinding directive that indicates to the unwinder that a register contains an offset from the current stack pointer. If the offset is unspecified, it defaults to zero. llvm-svn: 200449
Diffstat (limited to 'llvm/lib/Target/ARM/ARMAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMAsmPrinter.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
index 46bd34fe392..d0aad327c40 100644
--- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
+++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp
@@ -1091,11 +1091,11 @@ void ARMAsmPrinter::EmitUnwindingInstruction(const MachineInstr *MI) {
// instruction.
ATS.emitPad(Offset);
} else {
- MI->dump();
- llvm_unreachable("Unsupported opcode for unwinding information");
+ // Move of SP to a register. Positive values correspond to an "add"
+ // instruction.
+ ATS.emitMovSP(DstReg, -Offset);
}
} else if (DstReg == ARM::SP) {
- // FIXME: .movsp goes here
MI->dump();
llvm_unreachable("Unsupported opcode for unwinding information");
}
OpenPOWER on IntegriCloud