For PR950:

This patch replaces signed integer types with signless ones:
1. [US]Byte -> Int8
2. [U]Short -> Int16
3. [U]Int   -> Int32
4. [U]Long  -> Int64.
5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion
   and other methods related to signedness. In a few places this warranted
   identifying the signedness information from other sources.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32785 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2006-12-31 05:48:39 +00:00
parent 05e52a1b35
commit c5b206b6be
32 changed files with 400 additions and 521 deletions

View File

@ -173,7 +173,7 @@ void IndVarSimplify::EliminatePointerRecurrence(PHINode *PN,
Constant *NCE = ConstantExpr::getGetElementPtr(CE->getOperand(0),
CEIdxs);
GetElementPtrInst *NGEPI =
new GetElementPtrInst(NCE, Constant::getNullValue(Type::IntTy),
new GetElementPtrInst(NCE, Constant::getNullValue(Type::Int32Ty),
NewAdd, GEPI->getName(), GEPI);
GEPI->replaceAllUsesWith(NGEPI);
GEPI->eraseFromParent();
@ -499,7 +499,6 @@ void IndVarSimplify::runOnLoop(Loop *L) {
// Now that we know the largest of of the induction variables in this loop,
// insert a canonical induction variable of the largest size.
LargestType = LargestType->getUnsignedVersion();
Value *IndVar = Rewriter.getOrInsertCanonicalInductionVariable(L,LargestType);
++NumInserted;
Changed = true;
@ -525,7 +524,7 @@ void IndVarSimplify::runOnLoop(Loop *L) {
PHINode *PN = IndVars[i].first;
InsertedSizes[PN->getType()->getPrimitiveSize()] = true;
Instruction *New = CastInst::create(Instruction::Trunc, IndVar,
PN->getType()->getUnsignedVersion(), "indvar", InsertPt);
PN->getType(), "indvar", InsertPt);
Rewriter.addInsertedValue(New, SE->getSCEV(New));
}
}