diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-08-23 21:32:34 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-08-23 21:32:34 +0000 |
commit | 51b554247daf05649c8d14f2e1496eae79005356 (patch) | |
tree | 88b914b24b121d1eb5e62aecbeba8bb1b43ec24d /llvm/lib/Target/ARM/ARMAsmPrinter.cpp | |
parent | 129c3db6a73faf1b209e390d5583d7210b968638 (diff) | |
download | bcm5719-llvm-51b554247daf05649c8d14f2e1496eae79005356.tar.gz bcm5719-llvm-51b554247daf05649c8d14f2e1496eae79005356.zip |
Move ARM frame-unwinding EHABI handling a touch earlier.
It should go before AsmPrinter MC pseudo expansion since it's based on
MachineInstr, not MCInst. Otherwise any frame related pseudo instructions
may be missed.
llvm-svn: 138386
Diffstat (limited to 'llvm/lib/Target/ARM/ARMAsmPrinter.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMAsmPrinter.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp index 84a7af537fc..4c623d02997 100644 --- a/llvm/lib/Target/ARM/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/ARMAsmPrinter.cpp @@ -1151,6 +1151,10 @@ extern cl::opt<bool> EnableARMEHABI; #include "ARMGenMCPseudoLowering.inc" void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) { + // Emit unwinding stuff for frame-related instructions + if (EnableARMEHABI && MI->getFlag(MachineInstr::FrameSetup)) + EmitUnwindingInstruction(MI); + // Do any auto-generated pseudo lowerings. if (emitPseudoExpansionLowering(OutStreamer, MI)) return; @@ -1881,10 +1885,6 @@ void ARMAsmPrinter::EmitInstruction(const MachineInstr *MI) { MCInst TmpInst; LowerARMMachineInstrToMCInst(MI, TmpInst, *this); - // Emit unwinding stuff for frame-related instructions - if (EnableARMEHABI && MI->getFlag(MachineInstr::FrameSetup)) - EmitUnwindingInstruction(MI); - OutStreamer.EmitInstruction(TmpInst); } |