[PATCH] D16616: Avoid inlining CallSites in unreachable-terminated block
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 27 08:42:26 PST 2016
On Tue, Jan 26, 2016 at 5:43 PM, Jun Bum Lim via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> junbuml created this revision.
> junbuml added reviewers: mcrosier, manmanren, majnemer, hfinkel, davidxl,
> junbuml added a subscriber: llvm-commits.
> Herald added a subscriber: mcrosier.
> If the call site or the normal destination of the invoke is an
> unreachable-terminated block, there is little point in inlining the call
> site unless there is literally zero cost. Unlike my previous change
> (D15289), this change specifically handle the call sites followed by
> unreachable in the same basic block for call or in the normal destination
> for the invoke. This change could be a reasonable first step to
> conservatively inline call sites leading to an unreachable-terminated block
> while BFI / BPI is not yet available in inliner.
Not quite sure I follow - wouldn't it be possible that the function is
noreturn? So the entry is hot but the exit is cold/dead? Or is this
optimization change a heuristic based on the observation that this
situation (hot entry, dead exit) doesn't happen very often in practice?
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits