[PATCH] D32582: [InstCombine] Add range metadata to cttz/ctlz/ctpop intrinsic calls based on known bits

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 5 09:28:55 PDT 2017


craig.topper updated this revision to Diff 101417.
craig.topper added a comment.

Rebase due to changes that improved vector handling for the existing code. Now we have to explicitly block vectors in the new metadata code.

Also fixed a bug where we created bad metadata for cttz/ctlz if the input bits were unknown and the type was i1. In that case the output value could be 0 or 1 which would be a full set for the metadata which we can't encode.


https://reviews.llvm.org/D32582

Files:
  lib/Transforms/InstCombine/InstCombineCalls.cpp
  test/Transforms/InstCombine/ctpop.ll
  test/Transforms/InstCombine/intrinsics.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32582.101417.patch
Type: text/x-patch
Size: 6993 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170605/79ad5245/attachment.bin>


More information about the llvm-commits mailing list