[llvm-commits] [llvm] r51215 - in /llvm/trunk: include/llvm/Instructions.h lib/Transforms/Scalar/InstructionCombining.cpp
Nick Lewycky
nicholas at mxc.ca
Sat May 17 00:33:40 PDT 2008
Author: nicholas
Date: Sat May 17 02:33:39 2008
New Revision: 51215
URL: http://llvm.org/viewvc/llvm-project?rev=51215&view=rev
Log:
Move isTrueWhenEqual to ICmpInst.
Modified:
llvm/trunk/include/llvm/Instructions.h
llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
Modified: llvm/trunk/include/llvm/Instructions.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Instructions.h?rev=51215&r1=51214&r2=51215&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Instructions.h (original)
+++ llvm/trunk/include/llvm/Instructions.h Sat May 17 02:33:39 2008
@@ -741,6 +741,22 @@
/// @brief Determine if the predicate is signed.
static bool isSignedPredicate(Predicate pred);
+ /// @returns true if the specified compare predicate is
+ /// true when both operands are equal...
+ /// @brief Determine if the icmp is true when both operands are equal
+ static bool isTrueWhenEqual(ICmpInst::Predicate pred) {
+ return pred == ICmpInst::ICMP_EQ || pred == ICmpInst::ICMP_UGE ||
+ pred == ICmpInst::ICMP_SGE || pred == ICmpInst::ICMP_ULE ||
+ pred == ICmpInst::ICMP_SLE;
+ }
+
+ /// @returns true if the specified compare instruction is
+ /// true when both operands are equal...
+ /// @brief Determine if the ICmpInst returns true when both operands are equal
+ bool isTrueWhenEqual() {
+ return isTrueWhenEqual(getPredicate());
+ }
+
/// Initialize a set of values that all satisfy the predicate with C.
/// @brief Make a ConstantRange for a relation with a constant value.
static ConstantRange makeConstantRange(Predicate pred, const APInt &C);
Modified: llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp?rev=51215&r1=51214&r2=51215&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp (original)
+++ llvm/trunk/lib/Transforms/Scalar/InstructionCombining.cpp Sat May 17 02:33:39 2008
@@ -2056,22 +2056,6 @@
return MadeChange ? I : 0;
}
-/// @returns true if the specified compare predicate is
-/// true when both operands are equal...
-/// @brief Determine if the icmp Predicate is true when both operands are equal
-static bool isTrueWhenEqual(ICmpInst::Predicate pred) {
- return pred == ICmpInst::ICMP_EQ || pred == ICmpInst::ICMP_UGE ||
- pred == ICmpInst::ICMP_SGE || pred == ICmpInst::ICMP_ULE ||
- pred == ICmpInst::ICMP_SLE;
-}
-
-/// @returns true if the specified compare instruction is
-/// true when both operands are equal...
-/// @brief Determine if the ICmpInst returns true when both operands are equal
-static bool isTrueWhenEqual(ICmpInst &ICI) {
- return isTrueWhenEqual(ICI.getPredicate());
-}
-
/// AssociativeOpt - Perform an optimization on an associative operator. This
/// function is designed to check a chain of associative operators for a
/// potential to apply a certain optimization. Since the optimization may be
@@ -5204,7 +5188,7 @@
if (NumDifferences == 0) // SAME GEP?
return ReplaceInstUsesWith(I, // No comparison is needed here.
ConstantInt::get(Type::Int1Ty,
- isTrueWhenEqual(Cond)));
+ ICmpInst::isTrueWhenEqual(Cond)));
else if (NumDifferences == 1) {
Value *LHSV = GEPLHS->getOperand(DiffOperand);
@@ -5321,7 +5305,7 @@
// icmp X, X
if (Op0 == Op1)
return ReplaceInstUsesWith(I, ConstantInt::get(Type::Int1Ty,
- isTrueWhenEqual(I)));
+ I.isTrueWhenEqual()));
if (isa<UndefValue>(Op1)) // X icmp undef -> undef
return ReplaceInstUsesWith(I, UndefValue::get(Type::Int1Ty));
@@ -5333,7 +5317,7 @@
(isa<GlobalValue>(Op1) || isa<AllocaInst>(Op1) ||
isa<ConstantPointerNull>(Op1)))
return ReplaceInstUsesWith(I, ConstantInt::get(Type::Int1Ty,
- !isTrueWhenEqual(I)));
+ !I.isTrueWhenEqual()));
// icmp's with boolean values can always be turned into bitwise operations
if (Ty == Type::Int1Ty) {
@@ -5614,7 +5598,7 @@
if (LHSI->hasOneUse() && isa<ConstantPointerNull>(RHSC)) {
AddToWorkList(LHSI);
return ReplaceInstUsesWith(I, ConstantInt::get(Type::Int1Ty,
- !isTrueWhenEqual(I)));
+ !I.isTrueWhenEqual()));
}
break;
}
More information about the llvm-commits
mailing list