[PATCH] D137142: [WIP] DivergenceAnalysis: Infer uniformity from assume calls

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 12 02:38:53 PST 2023


foad added a comment.

> For the DA in isolation, ideally, we'd have something like:
>
>   %Y = llvm.assume.uniform(%X)
>   foo(%Y) ; <- Rewritten to use %Y instead of %X.

This is roughly what the target-specific @llvm.amdgcn.readfirstlane does today, and some frontends do use it to assert and/or enforce uniformity of particular values. There is some sublety about exactly what it means (or exactly what @llvm.assume.uniform //should// mean): Read the first active lane? Read an arbitrary active lane? Undefined/poison if active lanes do not all have the same value?


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

https://reviews.llvm.org/D137142



More information about the llvm-commits mailing list