[CallSiteSplitting] Simplify isPredicateOnPHI & continue checking PHIs.
authorFlorian Hahn <flo@fhahn.com>
Thu, 2 Apr 2020 09:06:44 +0000 (10:06 +0100)
committerFlorian Hahn <flo@fhahn.com>
Thu, 2 Apr 2020 09:11:27 +0000 (10:11 +0100)
commita63b5c9e53199b866b804164285a2c40531b31a1
tree396afc1b50072f93d2e2fb9169a6e48d3f93dacd
parent189d2e215f686e5ad1604a2ba437c4c9789b6a36
[CallSiteSplitting] Simplify isPredicateOnPHI & continue checking PHIs.

As pointed out by @thakis, currently CallSiteSplitting bails out after
checking the first PHI node. We should check all PHI nodes, until we
find one where call site splitting is beneficial.

This patch also slightly simplifies the code using BasicBlock::phis().

Reviewers: davidxl, junbuml, thakis

Reviewed By: davidxl

Differential Revision: https://reviews.llvm.org/D77089
llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
llvm/test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll