[PATCH] D128474: [BOLT] Support multiple parents for split jump table
Huan Nguyen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 23 23:07:16 PDT 2022
nhuhuan added inline comments.
================
Comment at: bolt/lib/Core/BinaryContext.cpp:631
- if (!BF.isSimple())
+ if (!JT->Parents[0]->isSimple())
continue;
----------------
Amir wrote:
> I think checking if the first parent is non-simple is fine, but a future-proof solution would be to check if any of parents is non-simple.
I also thought the same. There are two reasons why I keep it this way:
(a) Not sure about why we need this check.
Possibly the assumption is non-simple fragments are not be optimized, thus we
don't have to make best effort on analyzing it. So it boils down to the meaning of
non-simple. Maksim argues non-simple functions should have complete references,
just that we cannot construct a complete CFG.
(b) The previous calls to analyzeJumpTable and getOrCreateJumpTable already mark
all parents as "HasIndirectTargetToSplitFragment = true". I mistakenly thought that
was the same with all parents being non-simple.
The bottom line is that I will update following your feedbacks.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128474/new/
https://reviews.llvm.org/D128474
More information about the llvm-commits
mailing list