diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2014-04-30 22:43:13 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2014-04-30 22:43:13 +0000 |
commit | 3c10817b927ad9aa1e48bc85f29e47bfc4736b0e (patch) | |
tree | aee93dbdb61284fc689029f7b8f5b368bf7212c8 /llvm/lib/CodeGen/AsmPrinter/ARMException.cpp | |
parent | 44078b3260c2afd12775ff3c4bc755ce549ddf10 (diff) | |
download | llvm-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.cpp | 6 |
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) { |