Debug Info: Move a helper function getTypeIdentifier from DIBuilder to be part
of DIType.
Implement DIType::generateRef to return a type reference. This function will be
used in setContaintingType and in DIBuilder to generete the type reference.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190188 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/IR/DIBuilder.cpp b/lib/IR/DIBuilder.cpp
index 2ff10b5..d58a9dc 100644
--- a/lib/IR/DIBuilder.cpp
+++ b/lib/IR/DIBuilder.cpp
@@ -75,18 +75,6 @@
DIType(TempImportedModules).replaceAllUsesWith(IMs);
}
-/// Use the type identifier instead of the actual MDNode if possible,
-/// to help type uniquing. This function returns the identifier if it
-/// exists for the given type, otherwise returns the MDNode.
-static Value *getTypeIdentifier(DIType T) {
- if (!T.isCompositeType())
- return T;
- DICompositeType DTy(T);
- if (!DTy.getIdentifier())
- return T;
- return DTy.getIdentifier();
-}
-
/// getNonCompileUnitScope - If N is compile unit return NULL otherwise return
/// N.
static MDNode *getNonCompileUnitScope(MDNode *N) {
@@ -334,7 +322,7 @@
ConstantInt::get(Type::getInt64Ty(VMContext), 0), // Offset
ConstantInt::get(Type::getInt32Ty(VMContext), 0), // Flags
PointeeTy,
- getTypeIdentifier(Base)
+ Base.generateRef()
};
return DIDerivedType(MDNode::get(VMContext, Elts));
}