Add a field to the compile unit of where we plan on splitting out

the debug info for -gsplit-dwarf so we can encode that location
in the skeleton cu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175933 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher 2013-02-22 23:50:04 +00:00
parent 1683b304e0
commit e4b67906d3
3 changed files with 10 additions and 4 deletions

View File

@ -91,9 +91,12 @@ namespace llvm {
/// by a tool analyzing generated debugging information.
/// @param RV This indicates runtime version for languages like
/// Objective-C.
/// @param SplitName The name of the file that we'll split debug info out
/// into.
void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir,
StringRef Producer,
bool isOptimized, StringRef Flags, unsigned RV);
StringRef Producer, bool isOptimized,
StringRef Flags, unsigned RV,
StringRef SplitName = StringRef());
/// createFile - Create a file descriptor to hold debugging information
/// for a file.

View File

@ -203,6 +203,8 @@ namespace llvm {
DIArray getSubprograms() const;
DIArray getGlobalVariables() const;
StringRef getSplitDebugFilename() const { return getStringField(14); }
/// Verify - Verify that a compile unit is well formed.
bool Verify() const;
};

View File

@ -76,7 +76,7 @@ static MDNode *getNonCompileUnitScope(MDNode *N) {
void DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename,
StringRef Directory, StringRef Producer,
bool isOptimized, StringRef Flags,
unsigned RunTimeVer) {
unsigned RunTimeVer, StringRef SplitName) {
assert(((Lang <= dwarf::DW_LANG_Python && Lang >= dwarf::DW_LANG_C89) ||
(Lang <= dwarf::DW_LANG_hi_user && Lang >= dwarf::DW_LANG_lo_user)) &&
"Invalid Language tag");
@ -106,7 +106,8 @@ void DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename,
TempEnumTypes,
TempRetainTypes,
TempSubprograms,
TempGVs
TempGVs,
MDString::get(VMContext, SplitName)
};
TheCU = DICompileUnit(MDNode::get(VMContext, Elts));