summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineModuleInfo.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/MachineModuleInfo.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/MachineModuleInfo.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineModuleInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineModuleInfo.cpp b/llvm/lib/CodeGen/MachineModuleInfo.cpp
index d9da7bcca4f..deff625465c 100644
--- a/llvm/lib/CodeGen/MachineModuleInfo.cpp
+++ b/llvm/lib/CodeGen/MachineModuleInfo.cpp
@@ -308,6 +308,7 @@ void MachineModuleInfo::EndFunction() {
// Clean up exception info.
LandingPads.clear();
+ PersonalityTypeCache = EHPersonality::Unknown;
CallSiteMap.clear();
TypeInfos.clear();
FilterIds.clear();
OpenPOWER on IntegriCloud