Prefer non-virtual calls to ConstantInt::isZero over virtual calls to

Constant::isNullValue() in situations where it is possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34821 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2007-03-02 00:28:52 +00:00
parent 34da0ac28f
commit cae5754619
9 changed files with 46 additions and 42 deletions

View File

@@ -1155,7 +1155,7 @@ static void ShrinkGlobalToBoolean(GlobalVariable *GV, Constant *OtherVal) {
// instead of a select to synthesize the desired value.
bool IsOneZero = false;
if (ConstantInt *CI = dyn_cast<ConstantInt>(OtherVal))
IsOneZero = InitVal->isNullValue() && CI->equalsInt(1);
IsOneZero = InitVal->isNullValue() && CI->isOne();
while (!GV->use_empty()) {
Instruction *UI = cast<Instruction>(GV->use_back());

View File

@@ -584,7 +584,7 @@ public:
for (uint64_t i = 0; i < len; ++i) {
if (ConstantInt* CI = dyn_cast<ConstantInt>(CA->getOperand(i))) {
// Check for the null terminator
if (CI->isNullValue())
if (CI->isZero())
break; // we found end of string
else if (CI->getSExtValue() == chr) {
char_found = true;
@@ -2023,7 +2023,7 @@ static bool getConstantStringLength(Value *V, uint64_t &len, ConstantArray **CA)
// Check to make sure that the first operand of the GEP is an integer and
// has value 0 so that we are sure we're indexing into the initializer.
if (ConstantInt* op1 = dyn_cast<ConstantInt>(GEP->getOperand(1))) {
if (!op1->isNullValue())
if (!op1->isZero())
return false;
} else
return false;
@@ -2069,7 +2069,7 @@ static bool getConstantStringLength(Value *V, uint64_t &len, ConstantArray **CA)
for (len = start_idx; len < max_elems; len++) {
if (ConstantInt *CI = dyn_cast<ConstantInt>(A->getOperand(len))) {
// Check for the null terminator
if (CI->isNullValue())
if (CI->isZero())
break; // we found end of string
} else
return false; // This array isn't suitable, non-int initializer