[WinEH] Undo the effect of r249578 for 32-bit
authorReid Kleckner <rnk@google.com>
Wed, 7 Oct 2015 21:13:15 +0000 (21:13 +0000)
committerReid Kleckner <rnk@google.com>
Wed, 7 Oct 2015 21:13:15 +0000 (21:13 +0000)
commit03d0b1421e4435d4b3183fefff0374452fc16b87
tree9d6ec922e344f11f8e3c2e594d8f34b5139333e7
parentfae66468fddb275831b4bfa77316489906271ecc
[WinEH] Undo the effect of r249578 for 32-bit

The __CxxFrameHandler3 tables for 32-bit are supposed to hold stack
offsets relative to EBP, not ESP. I blindly updated the win-catchpad.ll
test case, and immediately noticed that 32-bit catching stopped working.

While I'm at it, move the frame index to frame offset WinEH table logic
out of PEI.  PEI shouldn't have to know about WinEHFuncInfo. I realized
we can calculate frame index offsets just fine from the table printer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249618 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/WinEHFuncInfo.h
lib/CodeGen/AsmPrinter/WinException.cpp
lib/CodeGen/AsmPrinter/WinException.h
lib/CodeGen/PrologEpilogInserter.cpp
test/CodeGen/X86/win-catchpad.ll