[llvm-commits] [llvm] r92508 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Dan Gohman gohman at apple.com
Mon Jan 4 12:52:50 PST 2010


Author: djg
Date: Mon Jan  4 14:52:50 2010
New Revision: 92508

URL: http://llvm.org/viewvc/llvm-project?rev=92508&view=rev
Log:
A use by operand 1 or 2 of a SELECT is not a FLAGS use. This
lets the test-elimination work in more conditional-move cases.

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

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=92508&r1=92507&r2=92508&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Mon Jan  4 14:52:50 2010
@@ -5612,7 +5612,7 @@
       for (SDNode::use_iterator UI = Op.getNode()->use_begin(),
            UE = Op.getNode()->use_end(); UI != UE; ++UI)
         if (UI->getOpcode() != ISD::BRCOND &&
-            UI->getOpcode() != ISD::SELECT &&
+            (UI->getOpcode() != ISD::SELECT || UI.getOperandNo() != 0) &&
             UI->getOpcode() != ISD::SETCC) {
           NonFlagUse = true;
           break;





More information about the llvm-commits mailing list