summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2015-05-29 17:00:57 +0000
committerReid Kleckner <reid@kleckner.net>2015-05-29 17:00:57 +0000
commit1d3d4adbb9b54cc921f21f97506197acf80a0778 (patch)
tree084fff7c92f1004ee8e30560bd191efe4c3ed514 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
parent995dde27995e3f957966fd52d721d65d60bda43b (diff)
downloadbcm5719-llvm-1d3d4adbb9b54cc921f21f97506197acf80a0778.tar.gz
bcm5719-llvm-1d3d4adbb9b54cc921f21f97506197acf80a0778.zip
[WinEH] Emit EH tables for __CxxFrameHandler3 on 32-bit x86
Small (really small!) C++ exception handling examples work on 32-bit x86 now. This change disables the use of .seh_* directives in WinException when CFI is not in use. It also uses absolute symbol references in the tables instead of imagerel32 relocations. Also fixes a cache invalidation bug in MMI personality classification. llvm-svn: 238575
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index c895aa5fdbf..229082f1a5b 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -268,6 +268,7 @@ bool AsmPrinter::doInitialization(Module &M) {
default: llvm_unreachable("unsupported unwinding information encoding");
case WinEH::EncodingType::Invalid:
break;
+ case WinEH::EncodingType::X86:
case WinEH::EncodingType::Itanium:
ES = new WinException(this);
break;
OpenPOWER on IntegriCloud