[PATCH] D103788: [InstCombine] Eliminate casts to optimize ctlz operation

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 10 11:04:05 PDT 2021


spatel added a comment.

In D103788#2810814 <https://reviews.llvm.org/D103788#2810814>, @datta.nagraj wrote:

> In D103788#2810722 <https://reviews.llvm.org/D103788#2810722>, @lebedev.ri wrote:
>
>> If we look at the sequence with `trunc`, then preconditions are different.
>> I'm not sure if we have *some* problematic combination of src bitwidth and bitwidth increase,
>> but the hard cut-off that is currently there is not correct.

It seems like we could go wrong if the narrow (destination) type can't hold at least the bitwidth of the wide type -- that's what we saw in the Alive2 example of the transform without the trunc -- but I haven't come up with an example where it fails when we have the trunc:
https://alive2.llvm.org/ce/z/89_wJb

> I am currently not sure of what to do here Sir, also I have no clue as to why some unit tests are failing, because they don't even contain trunc inst, and don't even hit my changes.

I don't understand this comment. What is failing?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103788/new/

https://reviews.llvm.org/D103788



More information about the llvm-commits mailing list