diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-05-29 17:00:57 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-05-29 17:00:57 +0000 |
commit | 1d3d4adbb9b54cc921f21f97506197acf80a0778 (patch) | |
tree | 084fff7c92f1004ee8e30560bd191efe4c3ed514 /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | 995dde27995e3f957966fd52d721d65d60bda43b (diff) | |
download | bcm5719-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.cpp | 1 |
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(); |