[llvm] [CodeGen] Avoid temporary SmallVector for single memops (NFC) (PR #221254)

Cullen Rhodes via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 4 08:31:25 PDT 2026


https://github.com/c-rhodes created https://github.com/llvm/llvm-project/pull/221254

Assisted-by: codex

>From 8631fca325e3496b9aa40dc5ebce486a933bc1b5 Mon Sep 17 00:00:00 2001
From: Cullen Rhodes <cullen.rhodes at arm.com>
Date: Fri, 4 Sep 2026 12:11:48 +0000
Subject: [PATCH] [CodeGen] Avoid temporary SmallVector for single memops (NFC)

Assisted-by: codex
---
 llvm/lib/CodeGen/MachineInstr.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index e94de37261c53..a3dce5513deef 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/lib/CodeGen/MachineInstr.cpp
@@ -380,6 +380,11 @@ void MachineInstr::setMemRefs(MachineFunction &MF,
 
 void MachineInstr::addMemOperand(MachineFunction &MF,
                                  MachineMemOperand *MO) {
+  if (memoperands_empty()) {
+    setMemRefs(MF, {MO});
+    return;
+  }
+
   SmallVector<MachineMemOperand *, 2> MMOs;
   MMOs.append(memoperands_begin(), memoperands_end());
   MMOs.push_back(MO);



More information about the llvm-commits mailing list