[PATCH] D86458: GlobalISel: Artifact combine unmerge of unmerge
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 31 10:33:16 PDT 2020
aemerson added inline comments.
================
Comment at: llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h:548
+ // of an unmerge, this would involve the creation of an equivalent unmerge
+ // to copy back to the original result registers.
+ LegalizeActionStep ActionStep = LI.getAction(
----------------
I'm not sure what point this comment block is trying to get across? What do you mean "equivalent unmerge to copy back..."
```// %0:_(<4 x s16>) = G_FOO
// %1:_(<2 x s16>), %2:_(<2 x s16>) = G_UNMERGE_VALUES %0
// %3:_(s16), %4:_(s16) = G_UNMERGE_VALUES %1
//
// %3:_(s16), %4:_(s16), %5:_(s16), %6:_(s16) = G_UNMERGE_VALUES %0
```
For this case, the new unmerge is what this comment is referring to?
================
Comment at: llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h:569
+ // defs of the source unmerge are also unmerged, we end up with a separate
+ // unmerge for each one.
+ unsigned SrcDefIdx = getDefIndex(*SrcDef, SrcReg);
----------------
Is there a test that shows this case?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86458/new/
https://reviews.llvm.org/D86458
More information about the llvm-commits
mailing list