only one client of getOrCreateSlot can pass a void typed value. Check type

there.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34119 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-02-10 04:31:52 +00:00
parent 44bd331c22
commit 1ef9ca4442

View File

@ -261,7 +261,8 @@ void SlotCalculator::incorporateFunction(const Function *F) {
for (Function::const_iterator BB = F->begin(), E = F->end(); BB != E; ++BB) {
getOrCreateSlot(BB);
for (BasicBlock::const_iterator I = BB->begin(), E = BB->end(); I!=E; ++I) {
getOrCreateSlot(I);
if (I->getType() != Type::VoidTy)
getOrCreateSlot(I);
}
}
@ -332,7 +333,7 @@ int SlotCalculator::getTypeSlot(const Type*T) const {
int SlotCalculator::getOrCreateSlot(const Value *V) {
const Type *Ty = V->getType();
if (Ty == Type::VoidTy) return -1;
assert(Ty != Type::VoidTy && "Can't insert void values!");
int SlotNo = getSlot(V); // Check to see if it's already in!
if (SlotNo != -1) return SlotNo;