diff options
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 55f37a65846..3b4b4f91750 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -1546,6 +1546,11 @@ static bool translateX86CC(ISD::CondCode SetCCOpcode, bool isFP,          // X < 0   -> X == 0, jump on sign.          X86CC = X86::COND_S;          return true; +      } else if (SetCCOpcode == ISD::SETLT && RHSC->getValue() == 1) { +        // X < 1   -> X <= 0 +        RHS = DAG.getConstant(0, RHS.getValueType()); +        X86CC = X86::COND_LE; +        return true;        }      } | 

