[PATCH] D130663: [BOLT] Update sibling relationship from LSDA Section
Huan Nguyen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 27 13:25:23 PDT 2022
nhuhuan created this revision.
Herald added subscribers: ayermolo, yaxunl.
Herald added a reviewer: rafauler.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added a project: All.
nhuhuan requested review of this revision.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.
LSDA Section is encoded in an unambiguous manner, allows accurate
reconstruction of landing pads. By definition, split landing pads
must target same function. If a function is splitted, split landing
pads indicate that the target function is a sibling fragment.
When processing stripped binaries, BOLT leverages this information
to support split jump table analysis. For that, sibling inference
needs to run before branch target analysis.
In this update, sibling validation/inference is decoupled from other
tasks, e.g., register labels for landing pads, and is placed before
branch target analysis. This also requires decoupled getting LSDA
Address from processing other CFI Info.
Test Plan:
ninja check-bolt
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D130663
Files:
bolt/include/bolt/Core/BinaryFunction.h
bolt/include/bolt/Core/Exceptions.h
bolt/lib/Core/Exceptions.cpp
bolt/lib/Rewrite/RewriteInstance.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130663.448144.patch
Type: text/x-patch
Size: 15070 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220727/b591a3c4/attachment.bin>
More information about the llvm-commits
mailing list