[PATCH] D147786: [AMDGPU] Less aggressively break large PHIs
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 7 15:35:45 PDT 2023
arsenm added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp:1412-1431
+ // Check if this is a simple chain of insertelement that fills the vector. If
+ // that's the case, we can break up this PHI node profitably because the
+ // extractelement we will insert will get folded out.
+ BasicBlock *BB = IE->getParent();
+ BitVector EltsCovered(FVT->getNumElements());
+ InsertElementInst *Next = IE;
+ while (Next && !EltsCovered.all()) {
----------------
I'm worried this heuristic is too simple and doesn't really recognize canonical IR. If I run instcombine on the test cases, nearly all of them fold out the insertelement chains
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147786/new/
https://reviews.llvm.org/D147786
More information about the llvm-commits
mailing list