[llvm] [X86] Fixed flags issue of onlyZeroFlagUsed (PR #180405)
via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 8 03:51:46 PST 2026
https://github.com/JaydeepChauhan14 created https://github.com/llvm/llvm-project/pull/180405
None
>From a5ef7439a3e90ffd49d3abc563c370a7252242b1 Mon Sep 17 00:00:00 2001
From: Chauhan Jaydeep Ashwinbhai <chauhan.jaydeep.ashwinbhai at intel.com>
Date: Sun, 8 Feb 2026 03:51:07 -0800
Subject: [PATCH] [X86] Fixed flags issue of onlyZeroFlagUsed
---
llvm/lib/Target/X86/X86ISelLowering.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index d60c049bee72b..40e2398bfe651 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -58515,7 +58515,11 @@ static bool needCarryOrOverflowFlag(SDValue Flags) {
static bool onlyZeroFlagUsed(SDValue Flags) {
assert(Flags.getValueType() == MVT::i32 && "Unexpected VT!");
- for (const SDNode *User : Flags->users()) {
+ for (const SDUse &Use : Flags->uses()) {
+ // Only check things that use the flags.
+ if (Use.getResNo() != Flags.getResNo())
+ continue;
+ const SDNode *User = Use.getUser();
unsigned CCOpNo;
switch (User->getOpcode()) {
default:
More information about the llvm-commits
mailing list