Add test case for C++ exception handling and fix the following mistakes in MipsFrameL...
authorAkira Hatanaka <ahatanak@gmail.com>
Tue, 7 Jun 2011 02:17:21 +0000 (02:17 +0000)
committerAkira Hatanaka <ahatanak@gmail.com>
Tue, 7 Jun 2011 02:17:21 +0000 (02:17 +0000)
commit8464fff30b16d39227444985bb7c8cc7fd12d66d
tree09271e68f2927bf9c46f73bd6af62d30b766188f
parent9d507aec07c7e22c6ba83dfd75e23c8630cd25cd
Add test case for C++ exception handling and fix the following mistakes in MipsFrameLowering::emitPrologue:

- cfi directives are not inserted at the right location or in the right order.
- The source MachineLocation for the cfi directive that changes the cfa register
  to $fp should be MachineLocation::VirtualFP.
- A PROLOG_LABEL that marks the beginning of cfi_offset directives for
  callee-saved register is emitted even when no callee-saved registers are
  saved.
- When a callee-saved double precision register is saved, two cfi_offset
  directives, one for each of the paired single precision registers, should be
  emitted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132703 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsFrameLowering.cpp
test/CodeGen/Mips/eh.ll [new file with mode: 0644]