1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00

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.

llvm-svn: 175933
This commit is contained in:
Eric Christopher 2013-02-22 23:50:04 +00:00
parent 446940d29d
commit fb90604970
3 changed files with 10 additions and 4 deletions

View File

@ -91,9 +91,12 @@ namespace llvm {
/// by a tool analyzing generated debugging information. /// by a tool analyzing generated debugging information.
/// @param RV This indicates runtime version for languages like /// @param RV This indicates runtime version for languages like
/// Objective-C. /// 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, void createCompileUnit(unsigned Lang, StringRef File, StringRef Dir,
StringRef Producer, StringRef Producer, bool isOptimized,
bool isOptimized, StringRef Flags, unsigned RV); StringRef Flags, unsigned RV,
StringRef SplitName = StringRef());
/// createFile - Create a file descriptor to hold debugging information /// createFile - Create a file descriptor to hold debugging information
/// for a file. /// for a file.

View File

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

View File

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