[llvm] RISCV: Use m_GImplicitDef instead of getVRegDef + opcode check (PR #216514)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 15 15:09:23 PDT 2026
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/216514
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
>From 2d6ec50862072414555dbb524922ae228c8a97e9 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Sat, 15 Aug 2026 14:58:07 +0200
Subject: [PATCH] RISCV: Use m_GImplicitDef instead of getVRegDef + opcode
check
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
---
llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp b/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
index c5459d862b03f..22f60dc0c1c24 100644
--- a/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+++ b/llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
@@ -17,6 +17,7 @@
#include "llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h"
#include "llvm/CodeGen/GlobalISel/GenericMachineInstrs.h"
#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"
+#include "llvm/CodeGen/GlobalISel/MIPatternMatch.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/MachineConstantPool.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
@@ -33,6 +34,7 @@
using namespace llvm;
using namespace LegalityPredicates;
using namespace LegalizeMutations;
+using namespace MIPatternMatch;
static LegalityPredicate
typeIsLegalIntOrFPVec(unsigned TypeIdx,
@@ -1311,8 +1313,7 @@ bool RISCVLegalizerInfo::legalizeInsertSubvector(MachineInstr &MI,
LLT BigTy = MRI.getType(BigVec);
LLT LitTy = MRI.getType(LitVec);
- if (Idx == 0 &&
- MRI.getVRegDef(BigVec)->getOpcode() == TargetOpcode::G_IMPLICIT_DEF)
+ if (Idx == 0 && mi_match(BigVec, MRI, m_GImplicitDef()))
return true;
// We don't have the ability to slide mask vectors up indexed by their i1
More information about the llvm-commits
mailing list