Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Benjamin Kramer
2010-01-05 13:12:22 +00:00
parent 804272c8d6
commit f012705c7e
25 changed files with 46 additions and 58 deletions

View File

@@ -44,14 +44,12 @@ Value::Value(const Type *ty, unsigned scid)
SubclassOptionalData(0), SubclassData(0), VTy(checkType(ty)),
UseList(0), Name(0) {
if (isa<CallInst>(this) || isa<InvokeInst>(this))
assert((VTy->isFirstClassType() ||
VTy == Type::getVoidTy(ty->getContext()) ||
assert((VTy->isFirstClassType() || VTy->isVoidTy() ||
isa<OpaqueType>(ty) || VTy->getTypeID() == Type::StructTyID) &&
"invalid CallInst type!");
else if (!isa<Constant>(this) && !isa<BasicBlock>(this))
assert((VTy->isFirstClassType() ||
VTy == Type::getVoidTy(ty->getContext()) ||
isa<OpaqueType>(ty)) &&
assert((VTy->isFirstClassType() || VTy->isVoidTy() ||
isa<OpaqueType>(ty)) &&
"Cannot create non-first-class values except for constants!");
}
@@ -181,8 +179,7 @@ void Value::setName(const Twine &NewName) {
if (getName() == StringRef(NameStr, NameLen))
return;
assert(getType() != Type::getVoidTy(getContext()) &&
"Cannot assign a name to void values!");
assert(!getType()->isVoidTy() && "Cannot assign a name to void values!");
// Get the symbol table to update for this object.
ValueSymbolTable *ST;