diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-12-19 22:19:48 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-12-19 22:19:48 +0000 |
commit | 93acac6cfcc935d95f0941b181d903a595920e70 (patch) | |
tree | 989996b4d9d00865cf661c043e55c1c34e8cc8f2 /llvm/lib/Target/X86/X86FrameLowering.cpp | |
parent | 1da5f1645b343db2deb637f2ab566d83981a868c (diff) | |
download | bcm5719-llvm-93acac6cfcc935d95f0941b181d903a595920e70.tar.gz bcm5719-llvm-93acac6cfcc935d95f0941b181d903a595920e70.zip |
Add the ExceptionHandling::MSVC enumeration
It is intended to be used for a family of personality functions that
have similar IR preparation requirements. Typically when interoperating
with MSVC personality functions, bits of functionality need to be
outlined from the main function into helper functions. There is also
usually more than one landing pad per invoke, which does not match the
LLVM IR landingpad representation.
None of this is implemented yet. This change just adds a new enum that
is active for *-windows-msvc and delegates to the EH removal preparation
pass. No functionality change for other targets.
llvm-svn: 224625
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index 80f9769b6f5..cf738f41cbd 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -495,8 +495,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF) const { const bool Uses64BitFramePtr = STI.isTarget64BitLP64() || STI.isTargetNaCl64(); bool IsWin64 = STI.isTargetWin64(); // Not necessarily synonymous with IsWin64. - bool IsWinEH = MF.getTarget().getMCAsmInfo()->getExceptionHandlingType() == - ExceptionHandling::ItaniumWinEH; + bool IsWinEH = MF.getTarget().getMCAsmInfo()->usesWindowsCFI(); bool NeedsWinEH = IsWinEH && Fn->needsUnwindTableEntry(); bool NeedsDwarfCFI = !IsWinEH && (MMI.hasDebugInfo() || Fn->needsUnwindTableEntry()); @@ -906,8 +905,7 @@ void X86FrameLowering::emitEpilogue(MachineFunction &MF, getX86SubSuperRegister(FramePtr, MVT::i64, false) : FramePtr; unsigned StackPtr = RegInfo->getStackRegister(); - bool IsWinEH = MF.getTarget().getMCAsmInfo()->getExceptionHandlingType() == - ExceptionHandling::ItaniumWinEH; + bool IsWinEH = MF.getTarget().getMCAsmInfo()->usesWindowsCFI(); bool NeedsWinEH = IsWinEH && MF.getFunction()->needsUnwindTableEntry(); switch (RetOpcode) { |