[PATCH] D127831: BasicBlockUtils: Add a new way for CreateControlFlowHub()
Brendon Cahoon via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 10 14:22:34 PDT 2022
bcahoon updated this revision to Diff 466611.
bcahoon added a comment.
Herald added subscribers: kosarev, kerbowa, jvesely.
I'd like to try to move this patch by Ruiling forward. Using integer values instead of
boolean values for regions with many outgoing blocks is beneficial by reducing
register pressure. Using boolean vlaues requires a live value for each outgoing block,
but using an integer requires one only. In loops with lot of outgoing blocks, we see
a significant reduction in register pressure and faster compile-time.
Added a test case when using integers. Existing test changes are needed because
Phis are added in a different order now. Another change is that a comand-line
option may be used to specify when to use boolean or integer values.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D127831/new/
https://reviews.llvm.org/D127831
Files:
llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll
llvm/test/Transforms/FixIrreducible/basic.ll
llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
llvm/test/Transforms/StructurizeCFG/workarounds/needs-unified-loop-exits.ll
llvm/test/Transforms/UnifyLoopExits/integer_guards.ll
llvm/test/Transforms/UnifyLoopExits/nested.ll
llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D127831.466611.patch
Type: text/x-patch
Size: 38124 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221010/507645d6/attachment.bin>
More information about the llvm-commits
mailing list