aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ModuleUtils.cpp
diff options
context:
space:
mode:
authorpvanhout <pierre.vanhoutryve@amd.com>2023-07-13 13:49:43 +0200
committerpvanhout <pierre.vanhoutryve@amd.com>2023-07-14 09:02:51 +0200
commite5296c52e51bf214da32734d2344c9380c58a347 (patch)
treebb26bd2cd1a5c4a8a291655c7d497ff6ca5bbbd6 /llvm/lib/Transforms/Utils/ModuleUtils.cpp
parent3277aaae6feca4960b6546d20c17bcd796934a52 (diff)
downloadllvm-e5296c52e51bf214da32734d2344c9380c58a347.zip
llvm-e5296c52e51bf214da32734d2344c9380c58a347.tar.gz
llvm-e5296c52e51bf214da32734d2344c9380c58a347.tar.bz2
[AMDGPU] Relax restrictions on unbreakable PHI users in BreakLargePHis
The previous heuristic rejected a PHI if one of its user was an unbreakable PHI, no matter what the other users were. This worked well in most cases, but there's one case in rocRAND where it doesn't work. In that case, a PHI node has 2 PHI users where one is breakable but not the other. When that PHI node isn't broken performance falls by 35%. Relaxing the restriction to "require that half of the PHI node users are breakable" fixes the issue, and seems like a sensible change. Solves SWDEV-409648, SWDEV-398393 Reviewed By: #amdgpu, arsenm Differential Revision: https://reviews.llvm.org/D155184
Diffstat (limited to 'llvm/lib/Transforms/Utils/ModuleUtils.cpp')
0 files changed, 0 insertions, 0 deletions