Removed tautological checks.

They were probably used during initial development of the
pass to be able to disable emission of the global reference
by setting TD_TypeInfo to -1.
This commit is contained in:
David Nadlinger
2013-06-07 02:45:44 +02:00
parent af699bd76e
commit 9fbad3c4ba
2 changed files with 5 additions and 4 deletions

View File

@@ -495,8 +495,9 @@ Type* Analysis::getTypeFor(Value* typeinfo) const {
if (node->getNumOperands() != TD_NumFields)
return NULL;
if (TD_TypeInfo >= 0 && (!node->getOperand(TD_TypeInfo) ||
node->getOperand(TD_TypeInfo)->stripPointerCasts() != ti_global))
Value* ti = node->getOperand(TD_TypeInfo);
if (!ti || ti->stripPointerCasts() != ti_global)
return NULL;
return node->getOperand(TD_Type)->getType();

View File

@@ -328,9 +328,9 @@ void DtoResolveTypeInfo(TypeInfoDeclaration* tid)
if (!meta && tid->tinfo->toBasetype()->ty < Terror) {
// Construct the fields
MDNodeField* mdVals[TD_NumFields];
if (TD_TypeInfo >= 0)
mdVals[TD_TypeInfo] = llvm::cast<MDNodeField>(irg->value);
mdVals[TD_TypeInfo] = llvm::cast<MDNodeField>(irg->value);
mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo));
// Construct the metadata and insert it into the module.
llvm::NamedMDNode* node = gIR->module->getOrInsertNamedMetadata(metaname);
node->addOperand(llvm::MDNode::get(gIR->context(),