[PATCH] D57894: AMDGPU: Fix @llvm.amdgcn.wqm.vote implementation

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 12 01:19:28 PST 2019


nhaehnle accepted this revision.
nhaehnle added a comment.
Herald added a subscriber: jdoerfert.

FWIW, the problem is a bit more involved than that. Consider

  bool value = ...;
  if (divergent condition) {
    use(value);
  }

So the undefinedness of inactive bits in this case is not due to suboptimal lowering of NOT, but inherently due to the fact that we're in a different region of control flow.

This needs a proper solution at some point, possibly with some knownbits-like analysis in the backend to check whether bits outside of EXEC are known to be 0, in order to be able to generate optimal or at least better code in all cases.

For now, I think this is a reasonable enough bug fix.


Repository:
  rL LLVM

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

https://reviews.llvm.org/D57894





More information about the llvm-commits mailing list