summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-02-06 21:47:04 +0000
committerCraig Topper <craig.topper@intel.com>2018-02-06 21:47:04 +0000
commitdfea544c846f36b515edf7dda629842a7f972351 (patch)
tree365ce22a1ef79e7b661819c96c51cff505d46cc0 /llvm/lib/ExecutionEngine
parent0cdc273ada3d1dadce945dafaa090d3b29054172 (diff)
downloadbcm5719-llvm-dfea544c846f36b515edf7dda629842a7f972351.tar.gz
bcm5719-llvm-dfea544c846f36b515edf7dda629842a7f972351.zip
[X86] Add test cases that exercise the BSR/BSF optimization combineCMov.
combineCmov tries to remove compares against BSR/BSF if we can prove the input to the BSR/BSF are never zero. As far as I can tell most of the time codegenprepare despeculates ctlz/cttz and gives us a cttz_zero_undef/ctlz_zero_undef which don't use a cmov. So the only way I found to trigger this code is to show codegenprepare an illegal type which it won't despeculate. I think we should be turning ctlz/cttz into ctlz_zero_undef/cttz_zero_undef for these cases before we ever get to operation legalization where the cmov is created. But wanted to add these tests so we don't regress. llvm-svn: 324409
Diffstat (limited to 'llvm/lib/ExecutionEngine')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud