[PATCH] D152798: [AMDGPU][ValueTracking] Handle amdgcn intrinsics that cannot create poison

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 13 04:10:25 PDT 2023


arsenm added a comment.

In D152798#4416991 <https://reviews.llvm.org/D152798#4416991>, @foad wrote:

>> Also I would argue that no target intrinsics can produce poison. Arithmetic poison ultimately exists because of the desire to tolerate different edge case handling on different targets, but target instructions should be well defined
>
> That might work for creating poison, but what about propagating poison? Wouldn't it be beneficial to say that target arithmetic intrinsics still propagate poison like regular arithmetic does?

Yes.

I also realized we do have some sources of poison. The various intrinsics to access inputs return poison when called through functions with the corresponding "amdgpu-no..." attributes or incompatible calling conventions. I'd expect to cover every intrinsic which selects to a real instruction to be covered here


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152798



More information about the llvm-commits mailing list