[llvm] [GlobalISel] Implement `llvm.memset.inline` (PR #203198)

Ömer Sinan Ağacan via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 12 05:17:32 PDT 2026


================
@@ -2150,9 +2153,10 @@ void MachineVerifier::verifyPreISelGenericInstruction(const MachineInstr *MI) {
     if (DstPtrTy.getAddressSpace() != MMOs[0]->getAddrSpace())
       report("inconsistent " + Twine(Name, " address space"), MI);
 
-    if (!MI->getOperand(MI->getNumOperands() - 1).isImm() ||
-        (MI->getOperand(MI->getNumOperands() - 1).getImm() & ~1LL))
-      report("'tail' flag (last operand) must be an immediate 0 or 1", MI);
+    if (Opc != TargetOpcode::G_MEMSET_INLINE)
+      if (!MI->getOperand(MI->getNumOperands() - 1).isImm() ||
+          (MI->getOperand(MI->getNumOperands() - 1).getImm() & ~1LL))
+        report("'tail' flag (last operand) must be an immediate 0 or 1", MI);
----------------
osa1 wrote:

Compliance with what exactly? If you mean https://llvm.org/docs/CodingStandards.html#use-early-exits-and-continue-to-simplify-code there's just one statement below this one so the extra early exit doesn't make much difference.

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


More information about the llvm-commits mailing list