[llvm] [GlobalISel][AArch64] Combine unmerge(G_EXT v, undef) to unmerge(v). (PR #65263)

Amara Emerson via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 5 05:27:57 PDT 2023


================
@@ -1071,18 +1071,18 @@ void applyVectorSextInReg(MachineInstr &MI, MachineRegisterInfo &MRI,
 bool matchUnmergeExtToUnmerge(MachineInstr &MI, MachineRegisterInfo &MRI,
                               Register &MatchInfo) {
   assert(MI.getOpcode() == TargetOpcode::G_UNMERGE_VALUES);
-  if (MI.getNumDefs() != 2)
+  auto &Unmerge = cast<GUnmerge>(MI);
+  if (Unmerge.getNumDefs() != 2)
     return false;
-  if (!MRI.use_nodbg_empty(MI.getOperand(1).getReg()))
+  if (!MRI.use_nodbg_empty(Unmerge.getOperand(1).getReg()))
----------------
aemerson wrote:

`GenericMachineInstr` also gives you `getReg(N)`

https://github.com/llvm/llvm-project/pull/65263


More information about the llvm-commits mailing list