forked from OSchip/llvm-project
3ffd383a15
Summary: When an i1-value is defined inside of a loop and used outside of it, we cannot simply use the SGPR bitmask from the loop's last iteration. There are also useful and correct cases of an i1-value being copied between basic blocks, e.g. when a condition is computed outside of a loop and used inside it. The concept of dominators is not sufficient to capture what is going on, so I propose the notion of "lane-dominators". Fixes a bug encountered in Nier: Automata. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103743 Change-Id: If37b969ddc71d823ab3004aeafb9ea050e45bd9a Reviewers: arsenm, rampitec Subscribers: kzhuravl, wdng, mgorny, yaxunl, dstuttard, tpr, llvm-commits, t-tye Differential Revision: https://reviews.llvm.org/D40547 llvm-svn: 329164 |
||
---|---|---|
.. | ||
AMDGPUAsmUtils.cpp | ||
AMDGPUAsmUtils.h | ||
AMDGPUBaseInfo.cpp | ||
AMDGPUBaseInfo.h | ||
AMDGPULaneDominator.cpp | ||
AMDGPULaneDominator.h | ||
AMDKernelCodeTInfo.h | ||
AMDKernelCodeTUtils.cpp | ||
AMDKernelCodeTUtils.h | ||
CMakeLists.txt | ||
LLVMBuild.txt |