[all-commits] [llvm/llvm-project] 2bd72a: AMDGPU: Skip other terminators before inserting s_...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Fri Jul 24 13:52:22 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2bd72abef0f24d9f7da13af3a43a25409159a87e
https://github.com/llvm/llvm-project/commit/2bd72abef0f24d9f7da13af3a43a25409159a87e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2020-07-24 (Fri, 24 Jul 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
A llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
R llvm/test/CodeGen/AMDGPU/si-if-lower-user-terminators.mir
Log Message:
-----------
AMDGPU: Skip other terminators before inserting s_cbranch_exec[n]z
PHIElimination/createPHISourceCopy inserts non-branch terminators
after the control flow pseudo if a successor phi reads a register
defined by the control flow pseudo. If this happens, we need to split
the expansion of the control flow pseudo to ensure all the branches
are after all of the other mask management instructions.
GlobalISel hit this in testscases that happened to be tail
duplicated. The original testcase still does not work, since the same
problem appears to be present in a later pass.
More information about the All-commits
mailing list