[llvm] [NFC][AMDGPU] Separate VOPD candidate selection (PR #223518)
Shilei Tian via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 16 16:54:02 PDT 2026
================
@@ -148,16 +136,22 @@ class GCNCreateVOPD {
continue;
auto *SecondMI = &*MII;
- if (auto Match = tryMatchVOPDPair(*SII, *FirstMI, *SecondMI)) {
- ReplaceCandidates.push_back(
- VOPDCombineInfo(Match->MIX, Match->MIY, Match->IsVOPD3));
- ++MII;
- }
+ if (std::optional<VOPDMatchInfo> Match =
+ tryMatchVOPDPair(*SII, *FirstMI, *SecondMI))
+ ReplaceCandidates.push_back(std::move(*Match));
}
}
- for (auto &CI : ReplaceCandidates) {
- Changed |= doReplace(SII, CI);
+
+ SmallVector<VOPDMatchInfo *> Selected;
+ MachineInstr *LastSelectedSecond = nullptr;
+ for (VOPDMatchInfo &Match : ReplaceCandidates) {
+ if (Match.InOrder[0] == LastSelectedSecond)
----------------
shiltian wrote:
Done.
https://github.com/llvm/llvm-project/pull/223518
More information about the llvm-commits
mailing list