diff options
| author | Dan Gohman <gohman@apple.com> | 2007-09-17 14:49:27 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2007-09-17 14:49:27 +0000 |
| commit | 863bdc332df2083e38d7d5c816892d45746ffeb4 (patch) | |
| tree | 33578a12116fadb2fc4e7ee874bb7af44b8d5e5a /llvm/lib | |
| parent | 83763f2c40f715212336b3848f98c52d9389addb (diff) | |
| download | bcm5719-llvm-863bdc332df2083e38d7d5c816892d45746ffeb4.tar.gz bcm5719-llvm-863bdc332df2083e38d7d5c816892d45746ffeb4.zip | |
Emit integer x<1 as x<=0, as comparisons with zero (now includeing
64-bit) can use test instead of cmp with an immediate.
llvm-svn: 42026
Diffstat (limited to 'llvm/lib')
| -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; } } |

