DIDeserializer() {}
~DIDeserializer() {}
DIDeserializer() {}
~DIDeserializer() {}
+ const std::map<GlobalVariable *, DebugInfoDesc *> &getGlobalDescs() const {
+ return GlobalDescs;
+ }
+
/// Deserialize - Reconstitute a GlobalVariable into it's component
/// DebugInfoDesc objects.
DebugInfoDesc *Deserialize(Value *V);
/// Deserialize - Reconstitute a GlobalVariable into it's component
/// DebugInfoDesc objects.
DebugInfoDesc *Deserialize(Value *V);
/// Serialize - Recursively cast the specified descriptor into a
/// GlobalVariable so that it can be serialized to a .bc or .ll file.
GlobalVariable *Serialize(DebugInfoDesc *DD);
/// Serialize - Recursively cast the specified descriptor into a
/// GlobalVariable so that it can be serialized to a .bc or .ll file.
GlobalVariable *Serialize(DebugInfoDesc *DD);
+
+ /// addDescriptor - Directly connect DD with existing GV.
+ void addDescriptor(DebugInfoDesc *DD, GlobalVariable *GV);
};
//===----------------------------------------------------------------------===//
};
//===----------------------------------------------------------------------===//
std::vector<T *> AnchoredDescs;
for (unsigned i = 0, N = Globals.size(); i < N; ++i) {
GlobalVariable *GV = Globals[i];
std::vector<T *> AnchoredDescs;
for (unsigned i = 0, N = Globals.size(); i < N; ++i) {
GlobalVariable *GV = Globals[i];
// FIXME - In the short term, changes are too drastic to continue.
if (DebugInfoDesc::TagFromGlobal(GV) == Desc.getTag() &&
DebugInfoDesc::VersionFromGlobal(GV) == LLVMDebugVersion) {
// FIXME - In the short term, changes are too drastic to continue.
if (DebugInfoDesc::TagFromGlobal(GV) == Desc.getTag() &&
DebugInfoDesc::VersionFromGlobal(GV) == LLVMDebugVersion) {
/// of one is required to emit exception handling info.
Function *getPersonality() const;
/// of one is required to emit exception handling info.
Function *getPersonality() const;
+ DIDeserializer *getDIDeserializer() { return &DR; }
}; // End class MachineModuleInfo
} // End llvm namespace
}; // End class MachineModuleInfo
} // End llvm namespace
+/// addDescriptor - Directly connect DD with existing GV.
+void DISerializer::addDescriptor(DebugInfoDesc *DD,
+ GlobalVariable *GV) {
+ DescGlobals[DD] = GV;
+}
+
//===----------------------------------------------------------------------===//
/// Verify - Return true if the GlobalVariable appears to be a valid
//===----------------------------------------------------------------------===//
/// Verify - Return true if the GlobalVariable appears to be a valid