[PATCH] D142192: [AMDGPU] Run unmerge combines post regbankselect
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 20 09:22:08 PST 2023
arsenm added inline comments.
================
Comment at: llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp:1767-1775
+ // This combine may run after RegBankSelect, so we need to be aware of
+ // register banks.
+ if (MRI.getRegBankOrNull(DstReg) != MRI.getRegBankOrNull(SrcReg)) {
+ SrcReg = Builder.buildCopy(MRI.getType(SrcReg), SrcReg).getReg(0);
+ if (const RegisterBank *DstRB = MRI.getRegBankOrNull(DstReg))
+ MRI.setRegBank(SrcReg, *DstRB);
+ if (const TargetRegisterClass *RC = MRI.getRegClassOrNull(SrcReg))
----------------
arsenm wrote:
> I'm pretty sure we have a helper for this already (at least the artifact combiner handles this already)
What I was thinking of was canReplaceReg. We should have another flavor that only accepts virtual registers and inserts the copy if needed
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D142192/new/
https://reviews.llvm.org/D142192
More information about the llvm-commits
mailing list