[llvm] 6d5bb4d - [X86] Fixed flags issue of onlyZeroFlagUsed (#180405)

via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 10 04:23:06 PST 2026


Author: JaydeepChauhan14
Date: 2026-02-10T17:53:01+05:30
New Revision: 6d5bb4def15a5ad1ccd7b28fb2cd9b3a11ee74c0

URL: https://github.com/llvm/llvm-project/commit/6d5bb4def15a5ad1ccd7b28fb2cd9b3a11ee74c0
DIFF: https://github.com/llvm/llvm-project/commit/6d5bb4def15a5ad1ccd7b28fb2cd9b3a11ee74c0.diff

LOG: [X86] Fixed flags issue of onlyZeroFlagUsed (#180405)

Fixes
https://github.com/llvm/llvm-project/pull/173543#discussion_r2670058843

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86ISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 36d650671251d..594cfdc26312a 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -58562,7 +58562,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