Reland "[InstCombine] Fold nested selects"
authorRoman Lebedev <lebedev.ri@gmail.com>
Thu, 12 Jan 2023 14:55:24 +0000 (17:55 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Thu, 12 Jan 2023 15:02:43 +0000 (18:02 +0300)
commitc02e4a40c4e1be4887748d0ff3849ed613e579d0
tree1d0ccfe77fd6e8f5df8301834bf490b2a2badca1
parentb7fe0d346b3049df6e3950159a5de74438d2737a
Reland "[InstCombine] Fold nested selects"

The change was reverted because one of the changes were suspected of
causing a miscompile, but said miscompile was (confirmed to be) fixed
before the revert happened, by 07ecdd9b1a8af51f07d5f4dfe46845c801482a39.

https://alive2.llvm.org/ce/z/GjCXkB
https://alive2.llvm.org/ce/z/Guz2tt

Fixes https://github.com/llvm/llvm-project/issues/59393

This reverts commit d73383c145ea83d25063246e0c34f5a41fd35293,
and relands commmit 9ddff66d0c9c3e18d56e6b20aa26a2a8cdfb6d2b.
llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
llvm/test/Transforms/InstCombine/nested-select.ll
llvm/test/Transforms/InstCombine/select-factorize.ll