[PATCH] D106053: [CodeGen] Remove pending AssertZext AssertSext in promoting FP_TO_INT

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 19 03:04:45 PDT 2021


RKSimon added a comment.

In D106053#2886446 <https://reviews.llvm.org/D106053#2886446>, @aemerson wrote:

> In D106053#2885960 <https://reviews.llvm.org/D106053#2885960>, @RKSimon wrote:
>
>> @LuoYuanke AFAICT the current implementation is fine, we've just got to be more explicit that the DAG value tracking doesn't track poison.
>>
>> From D106222 <https://reviews.llvm.org/D106222>:  "I think we're going to have to add something to the SelectionDAG::computeKnownBits/ComputeNumSignBits doxygen comments explaining that the value could have the determined known/signbits BUT it could be a poison value (or if a vector any demanded element could be poison value)."
>>
>> Random thought - the GlobalISel value tracking is less developed, could we improve handling for potential poison values to it before it gets too complicated?
>
> The implementation of computeKnownBits is very similar to the one in SelectionDAG. Having tried to catch up on these threads, I'm not sure what's really missing though except for some clearer documentation?

I've trying to think if there would be a decent way to run the value tracking calls in a 'no poison' mode (working with isGuaranteedNotToBePoison functionality) - and I was wondering if it'd be easier to develop in GISel first which has accumulated less baggage so far.


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

https://reviews.llvm.org/D106053



More information about the llvm-commits mailing list