summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-10-07 21:34:00 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-10-07 21:34:00 +0000
commit6af5f82c203f6f19b3e39c6fbfacf424e24c5cb0 (patch)
tree0bdb52016445febce5778b53248c981abbd44edc /llvm/lib/CodeGen/AsmPrinter/WinException.cpp
parent40bdd041dbf8f3dee81776a407040c064fef53e3 (diff)
downloadbcm5719-llvm-6af5f82c203f6f19b3e39c6fbfacf424e24c5cb0.tar.gz
bcm5719-llvm-6af5f82c203f6f19b3e39c6fbfacf424e24c5cb0.zip
[WinEH] Refer to filter funclets using their symbol-table symbol
The relocation for the filter funclet will be against a symbol table entry for a function instead of the section, making it easier to understand what is going on. llvm-svn: 249621
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/WinException.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/WinException.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
index f672f93a3ee..5661a378c30 100644
--- a/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/WinException.cpp
@@ -477,7 +477,8 @@ void WinException::emitCSpecificHandlerTable(const MachineFunction *MF) {
const MCExpr *ExceptOrNull;
auto *Handler = UME.Handler.get<MachineBasicBlock *>();
if (UME.IsFinally) {
- FilterOrFinally = create32bitRef(Handler->getSymbol());
+ FilterOrFinally =
+ create32bitRef(getMCSymbolForMBBOrGV(Asm, Handler));
ExceptOrNull = MCConstantExpr::create(0, Ctx);
} else {
// For an except, the filter can be 1 (catch-all) or a function
OpenPOWER on IntegriCloud