aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-04-30 22:43:13 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-04-30 22:43:13 +0000
commit3c10817b927ad9aa1e48bc85f29e47bfc4736b0e (patch)
treeaee93dbdb61284fc689029f7b8f5b368bf7212c8 /llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
parent44078b3260c2afd12775ff3c4bc755ce549ddf10 (diff)
downloadllvm-3c10817b927ad9aa1e48bc85f29e47bfc4736b0e.zip
llvm-3c10817b927ad9aa1e48bc85f29e47bfc4736b0e.tar.gz
llvm-3c10817b927ad9aa1e48bc85f29e47bfc4736b0e.tar.bz2
Prepare support of Itanium ABI on ARM as opposed to EHABI by
conditionally emitting .fnstart and friends only for EHABI. llvm-svn: 207718
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/ARMException.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/ARMException.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp b/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
index 1a8173c..97b288f 100644
--- a/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
@@ -57,7 +57,8 @@ void ARMException::endModule() {
/// beginFunction - Gather pre-function exception information. Assumes it's
/// being emitted immediately after the function entry point.
void ARMException::beginFunction(const MachineFunction *MF) {
- getTargetStreamer().emitFnStart();
+ if (Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
+ getTargetStreamer().emitFnStart();
if (Asm->MF->getFunction()->needsUnwindTableEntry())
Asm->OutStreamer.EmitLabel(Asm->GetTempSymbol("eh_func_begin",
Asm->getFunctionNumber()));
@@ -104,7 +105,8 @@ void ARMException::endFunction(const MachineFunction *) {
}
}
- ATS.emitFnEnd();
+ if (Asm->MAI->getExceptionHandlingType() == ExceptionHandling::ARM)
+ ATS.emitFnEnd();
}
void ARMException::EmitTypeInfos(unsigned TTypeEncoding) {