My previous patch was too conservative. Reject FP and void types, but do

allow pointer types.

llvm-svn: 23859
This commit is contained in:
Chris Lattner 2005-10-21 05:45:41 +00:00
parent ae5d9bd65b
commit 5df0e36e98
1 changed files with 2 additions and 1 deletions

View File

@ -372,7 +372,8 @@ static bool IVUseShouldUsePostIncValue(Instruction *User, Instruction *IV,
/// return true. Otherwise, return false.
bool LoopStrengthReduce::AddUsersIfInteresting(Instruction *I, Loop *L,
std::set<Instruction*> &Processed) {
if (!I->getType()->isInteger()) return false;
if (!I->getType()->isInteger() && !isa<PointerType>(I->getType()))
return false; // Void and FP expressions cannot be reduced.
if (!Processed.insert(I).second)
return true; // Instruction already handled.