[JumpThreading] ProcessBranchOnXOR(): bailout if any pred ends in indirect branch...
authorRoman Lebedev <lebedev.ri@gmail.com>
Mon, 27 Jul 2020 12:07:51 +0000 (15:07 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Mon, 27 Jul 2020 12:39:03 +0000 (15:39 +0300)
commit1da9834557cd4302a5183b8228ce063e69f82602
treedac0a2471473ea39cf7114ad5329d82390448464
parent61480db6019d01a7a97de6ec64991664bf9b4996
[JumpThreading] ProcessBranchOnXOR(): bailout if any pred ends in indirect branch (PR46857)

SplitBlockPredecessors() can not split blocks that have such terminators,
and in two other places we already ensure that we don't end up calling
SplitBlockPredecessors() on such blocks. Do so in one more place.

Fixes https://bugs.llvm.org/show_bug.cgi?id=46857
llvm/lib/Transforms/Scalar/JumpThreading.cpp
llvm/test/Transforms/JumpThreading/pr46857-callbr.ll [new file with mode: 0644]