[all-commits] [llvm/llvm-project] e921ed: [AMDGPU] Fix Vreg_1 PHI lowering in SILowerI1Copies.
cdevadas via All-commits
all-commits at lists.llvm.org
Sat Oct 26 02:14:05 PDT 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e921ede54068b94702efcc1654dd0027c844012c
https://github.com/llvm/llvm-project/commit/e921ede54068b94702efcc1654dd0027c844012c
Author: cdevadas <cdevadas at amd.com>
Date: 2019-10-26 (Sat, 26 Oct 2019)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
A llvm/test/CodeGen/AMDGPU/i1_copy_phi_with_phi_incoming_value.mir
Log Message:
-----------
[AMDGPU] Fix Vreg_1 PHI lowering in SILowerI1Copies.
There is a minor flaw in the implementation of function lowerPhis.
This function replaces values of regclass Vreg_1 (boolean values)
involved in PHIs into an SGPR. Currently it iterates over the MBBs
and performs an inplace lowering of PHIs and fails to lower any
incoming value that itself is another PHI of Vreg_1 regclass.
The failure occurs only when the MBB where the incoming PHI value
belongs is not visited/lowered yet.
To fix this problem, collect all Vreg_1 PHIs upfront and then
perform the lowering.
Differential Revision: https://reviews.llvm.org/D69182
More information about the All-commits
mailing list