[llvm] [ARM] Correction: hasNOP should be HasV6Ops, not HasV6KOps (PR #196625)

via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 13:06:00 PDT 2026


https://github.com/LumioseSil updated https://github.com/llvm/llvm-project/pull/196625

>From e822669f4bc5f69d9692813552463b259864d186 Mon Sep 17 00:00:00 2001
From: AZero13 <gfunni234 at gmail.com>
Date: Fri, 8 May 2026 15:46:27 -0400
Subject: [PATCH] [ARM] Correction: hasNOP should be HasV6Ops, not HasV6KOps

This is because NOP is actually just HINT, which ARMv6 has.
---
 llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp      |  2 +-
 .../xray-armv6-attribute-instrumentation.ll   | 24 +++++++++----------
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
index eb8ff794ad8a6..755d598555f8c 100644
--- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -5255,7 +5255,7 @@ void ARMBaseInstrInfo::breakPartialRegDependency(
 }
 
 bool ARMBaseInstrInfo::hasNOP() const {
-  return Subtarget.hasFeature(ARM::HasV6KOps);
+  return Subtarget.hasFeature(ARM::HasV6Ops);
 }
 
 bool ARMBaseInstrInfo::isSwiftFastImmShift(const MachineInstr *MI) const {
diff --git a/llvm/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll b/llvm/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
index 425ffc33bf810..dd65795097f24 100644
--- a/llvm/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
+++ b/llvm/test/CodeGen/ARM/xray-armv6-attribute-instrumentation.ll
@@ -4,22 +4,22 @@
 define i32 @foo() nounwind noinline uwtable "function-instrument"="xray-always" {
 ; CHECK-LABEL: Lxray_sled_0:
 ; CHECK-NEXT:  b  #20
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
 ; CHECK-NEXT:  Ltmp[[#]]:
   ret i32 0
 ; CHECK-LABEL: Lxray_sled_1:
 ; CHECK-NEXT:  b  #20
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
-; CHECK-NEXT:  mov	r0, r0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
+; CHECK-NEXT:  hint	#0
 ; CHECK-NEXT:  Ltmp[[#]]:
 ; CHECK-NEXT:  bx	lr
 }



More information about the llvm-commits mailing list