[PATCH] D86301: [Verifier] Additional check for get.active.lane.mask

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 00:57:05 PDT 2020


SjoerdMeijer added a comment.

In D86301#2237384 <https://reviews.llvm.org/D86301#2237384>, @efriedma wrote:

> This check isn't appropriate.  Given that the second argument to @llvm.get.active.lane.mask.v4i1.i32 is a variable, in general, it isn't appropriate to print an error in cases where we can prove the value is 0.  You can add a Lint check if you want.

Thanks for pointing this out, I would not have guessed that we shouldn't verify the cases that we can verify.... Just for my understanding, before I revert this, can you explain this? I do see of course that variables and constants get a different treatment here. Is it this discrepancy that makes this not appropriate?

> Also, if `@llvm.get.active.lane.mask.v4i1.i32(i32 0, i32 0)` is supposed to produce poison, that isn't documented at all.

We have added that `%n > 0` to the definition, but it sounds like I need to add " and it produces poison values otherwise". I will create a diff for that.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86301



More information about the llvm-commits mailing list