[PATCH] D53496: AMDGPU: Rewrite SILowerI1Copies to always stay on SALU

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 1 07:52:18 PDT 2018


arsenm added a comment.

In https://reviews.llvm.org/D53496#1282067, @nhaehnle wrote:

> It's probably not worth trying to preserve SCC across basic block boundaries, at least not in the beginning, unless it happens to be easy. There are just too many SALU instructions that overwrite it -- basically all of them except for move-like instructions. So usually you'd just have an S_CSELECT.


LLVM tries very hard to avoid live in physical registers until very late, so we want to avoid this.

I did have some patches trying to enable if conversion and early if conversion which were capable of turning uniform branches into s_cselect, but I don't remember what the issues were (mostly I think I was confused by why there are two passes that more or less accomplish the same thing, one with a difficult to use API)


Repository:
  rL LLVM

https://reviews.llvm.org/D53496





More information about the llvm-commits mailing list