@@ -959,25 +959,21 @@ class DICompileUnit : public DIScope {
StringRef Producer, bool IsOptimized, StringRef Flags,
unsigned RuntimeVersion, StringRef SplitDebugFilename,
unsigned EmissionKind, DICompositeTypeArray EnumTypes,
DITypeArray RetainedTypes, DISubprogramArray Subprograms,
DIGlobalVariableArray GlobalVariables,
DIScopeArray RetainedTypes, DIGlobalVariableArray GlobalVariables,
DIImportedEntityArray ImportedEntities, DIMacroNodeArray Macros,
uint64_t DWOId, StorageType Storage, bool ShouldCreate = true ) {
return getImpl (Context, SourceLanguage, File,
getCanonicalMDString (Context, Producer), IsOptimized,
getCanonicalMDString (Context, Flags), RuntimeVersion,
getCanonicalMDString (Context, SplitDebugFilename),
EmissionKind, EnumTypes.get (), RetainedTypes.get (),
Subprograms.get (), GlobalVariables.get (),
ImportedEntities.get (), Macros.get (), DWOId, Storage,
ShouldCreate);
return getImpl (
Context, SourceLanguage, File, getCanonicalMDString (Context, Producer),
IsOptimized, getCanonicalMDString (Context, Flags), RuntimeVersion,
getCanonicalMDString (Context, SplitDebugFilename), EmissionKind,
EnumTypes.get (), RetainedTypes.get (), GlobalVariables.get (),
ImportedEntities.get (), Macros.get (), DWOId, Storage, ShouldCreate);
}
static DICompileUnit *
getImpl (LLVMContext &Context, unsigned SourceLanguage, Metadata *File,
MDString *Producer, bool IsOptimized, MDString *Flags,
unsigned RuntimeVersion, MDString *SplitDebugFilename,
unsigned EmissionKind, Metadata *EnumTypes,
Metadata *RetainedTypes, Metadata *Subprograms,
unsigned EmissionKind, Metadata *EnumTypes, Metadata *RetainedTypes,
Metadata *GlobalVariables, Metadata *ImportedEntities,
Metadata *Macros, uint64_t DWOId, StorageType Storage,
bool ShouldCreate = true );
@@ -986,7 +982,7 @@ class DICompileUnit : public DIScope {
return getTemporary (
getContext (), getSourceLanguage (), getFile (), getProducer (),
isOptimized (), getFlags (), getRuntimeVersion (), getSplitDebugFilename (),
getEmissionKind (), getEnumTypes (), getRetainedTypes (), getSubprograms (),
getEmissionKind (), getEnumTypes (), getRetainedTypes (),
getGlobalVariables (), getImportedEntities (), getMacros (), DWOId);
}
@@ -999,23 +995,22 @@ class DICompileUnit : public DIScope {
(unsigned SourceLanguage, DIFile *File, StringRef Producer,
bool IsOptimized, StringRef Flags, unsigned RuntimeVersion,
StringRef SplitDebugFilename, DebugEmissionKind EmissionKind,
DICompositeTypeArray EnumTypes, DITypeArray RetainedTypes,
DISubprogramArray Subprograms, DIGlobalVariableArray GlobalVariables,
DICompositeTypeArray EnumTypes, DIScopeArray RetainedTypes,
DIGlobalVariableArray GlobalVariables,
DIImportedEntityArray ImportedEntities, DIMacroNodeArray Macros,
uint64_t DWOId),
(SourceLanguage, File, Producer, IsOptimized, Flags, RuntimeVersion,
SplitDebugFilename, EmissionKind, EnumTypes, RetainedTypes, Subprograms,
SplitDebugFilename, EmissionKind, EnumTypes, RetainedTypes,
GlobalVariables, ImportedEntities, Macros, DWOId))
DEFINE_MDNODE_GET_DISTINCT_TEMPORARY(
DICompileUnit,
(unsigned SourceLanguage, Metadata *File, MDString *Producer,
bool IsOptimized, MDString *Flags, unsigned RuntimeVersion,
MDString *SplitDebugFilename, unsigned EmissionKind, Metadata *EnumTypes,
Metadata *RetainedTypes, Metadata *Subprograms,
Metadata *GlobalVariables, Metadata *ImportedEntities, Metadata *Macros,
uint64_t DWOId),
Metadata *RetainedTypes, Metadata *GlobalVariables,
Metadata *ImportedEntities, Metadata *Macros, uint64_t DWOId),
(SourceLanguage, File, Producer, IsOptimized, Flags, RuntimeVersion,
SplitDebugFilename, EmissionKind, EnumTypes, RetainedTypes, Subprograms,
SplitDebugFilename, EmissionKind, EnumTypes, RetainedTypes,
GlobalVariables, ImportedEntities, Macros, DWOId))
TempDICompileUnit clone() const { return cloneImpl (); }
@@ -1032,12 +1027,9 @@ class DICompileUnit : public DIScope {
DICompositeTypeArray getEnumTypes () const {
return cast_or_null<MDTuple>(getRawEnumTypes ());
}
DITypeArray getRetainedTypes () const {
DIScopeArray getRetainedTypes () const {
return cast_or_null<MDTuple>(getRawRetainedTypes ());
}
DISubprogramArray getSubprograms () const {
return cast_or_null<MDTuple>(getRawSubprograms ());
}
DIGlobalVariableArray getGlobalVariables () const {
return cast_or_null<MDTuple>(getRawGlobalVariables ());
}
@@ -1057,10 +1049,9 @@ class DICompileUnit : public DIScope {
}
Metadata *getRawEnumTypes () const { return getOperand (4 ); }
Metadata *getRawRetainedTypes () const { return getOperand (5 ); }
Metadata *getRawSubprograms () const { return getOperand (6 ); }
Metadata *getRawGlobalVariables () const { return getOperand (7 ); }
Metadata *getRawImportedEntities () const { return getOperand (8 ); }
Metadata *getRawMacros () const { return getOperand (9 ); }
Metadata *getRawGlobalVariables () const { return getOperand (6 ); }
Metadata *getRawImportedEntities () const { return getOperand (7 ); }
Metadata *getRawMacros () const { return getOperand (8 ); }
// / \brief Replace arrays.
// /
@@ -1074,16 +1065,13 @@ class DICompileUnit : public DIScope {
void replaceRetainedTypes (DITypeArray N) {
replaceOperandWith (5 , N.get ());
}
void replaceSubprograms (DISubprogramArray N) {
replaceOperandWith (6 , N.get ());
}
void replaceGlobalVariables (DIGlobalVariableArray N) {
replaceOperandWith (7 , N.get ());
replaceOperandWith (6 , N.get ());
}
void replaceImportedEntities (DIImportedEntityArray N) {
replaceOperandWith (8 , N.get ());
replaceOperandWith (7 , N.get ());
}
void replaceMacros (DIMacroNodeArray N) { replaceOperandWith (9 , N.get ()); }
void replaceMacros (DIMacroNodeArray N) { replaceOperandWith (8 , N.get ()); }
// / @}
static bool classof (const Metadata *MD) {
@@ -1266,13 +1254,13 @@ class DISubprogram : public DILocalScope {
DISubroutineType *Type, bool IsLocalToUnit, bool IsDefinition,
unsigned ScopeLine, DITypeRef ContainingType, unsigned Virtuality,
unsigned VirtualIndex, unsigned Flags, bool IsOptimized,
DITemplateParameterArray TemplateParams, DISubprogram *Declaration ,
DILocalVariableArray Variables, StorageType Storage ,
bool ShouldCreate = true ) {
DICompileUnit *Unit, DITemplateParameterArray TemplateParams ,
DISubprogram *Declaration, DILocalVariableArray Variables ,
StorageType Storage, bool ShouldCreate = true ) {
return getImpl (Context, Scope, getCanonicalMDString (Context, Name),
getCanonicalMDString (Context, LinkageName), File, Line, Type,
IsLocalToUnit, IsDefinition, ScopeLine, ContainingType,
Virtuality, VirtualIndex, Flags, IsOptimized,
Virtuality, VirtualIndex, Flags, IsOptimized, Unit,
TemplateParams.get (), Declaration, Variables.get (), Storage,
ShouldCreate);
}
@@ -1281,16 +1269,17 @@ class DISubprogram : public DILocalScope {
MDString *LinkageName, Metadata *File, unsigned Line, Metadata *Type,
bool IsLocalToUnit, bool IsDefinition, unsigned ScopeLine,
Metadata *ContainingType, unsigned Virtuality, unsigned VirtualIndex,
unsigned Flags, bool IsOptimized, Metadata *TemplateParams ,
Metadata *Declaration , Metadata *Variables, StorageType Storage ,
bool ShouldCreate = true );
unsigned Flags, bool IsOptimized, Metadata *Unit ,
Metadata *TemplateParams , Metadata *Declaration, Metadata *Variables ,
StorageType Storage, bool ShouldCreate = true );
TempDISubprogram cloneImpl () const {
return getTemporary (
getContext (), getScope (), getName (), getLinkageName (), getFile (),
getLine (), getType (), isLocalToUnit (), isDefinition (), getScopeLine (),
getContainingType (), getVirtuality (), getVirtualIndex (), getFlags (),
isOptimized (), getTemplateParams (), getDeclaration (), getVariables ());
return getTemporary (getContext (), getScope (), getName (), getLinkageName (),
getFile (), getLine (), getType (), isLocalToUnit (),
isDefinition (), getScopeLine (), getContainingType (),
getVirtuality (), getVirtualIndex (), getFlags (),
isOptimized (), getUnit (), getTemplateParams (),
getDeclaration (), getVariables ());
}
public:
@@ -1300,24 +1289,25 @@ class DISubprogram : public DILocalScope {
bool IsLocalToUnit, bool IsDefinition, unsigned ScopeLine,
DITypeRef ContainingType, unsigned Virtuality,
unsigned VirtualIndex, unsigned Flags, bool IsOptimized,
DICompileUnit *Unit,
DITemplateParameterArray TemplateParams = nullptr ,
DISubprogram *Declaration = nullptr ,
DILocalVariableArray Variables = nullptr ),
(Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,
IsDefinition, ScopeLine, ContainingType, Virtuality,
VirtualIndex, Flags, IsOptimized, TemplateParams,
VirtualIndex, Flags, IsOptimized, Unit, TemplateParams,
Declaration, Variables))
DEFINE_MDNODE_GET(
DISubprogram,
(Metadata * Scope, MDString *Name, MDString *LinkageName, Metadata *File,
unsigned Line, Metadata *Type, bool IsLocalToUnit, bool IsDefinition,
unsigned ScopeLine, Metadata *ContainingType, unsigned Virtuality,
unsigned VirtualIndex, unsigned Flags, bool IsOptimized,
Metadata *TemplateParams = nullptr , Metadata *Declaration = nullptr ,
Metadata *Variables = nullptr ),
Metadata *Unit , Metadata *TemplateParams = nullptr ,
Metadata *Declaration = nullptr , Metadata * Variables = nullptr ),
(Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit, IsDefinition,
ScopeLine, ContainingType, Virtuality, VirtualIndex, Flags, IsOptimized,
TemplateParams, Declaration, Variables))
Unit, TemplateParams, Declaration, Variables))
TempDISubprogram clone() const { return cloneImpl (); }
@@ -1376,6 +1366,12 @@ class DISubprogram : public DILocalScope {
return DITypeRef (getRawContainingType ());
}
DICompileUnit *getUnit () const {
return cast_or_null<DICompileUnit>(getRawUnit ());
}
void replaceUnit (DICompileUnit *CU) {
replaceOperandWith (7 , CU);
}
DITemplateParameterArray getTemplateParams () const {
return cast_or_null<MDTuple>(getRawTemplateParams ());
}
@@ -1389,9 +1385,10 @@ class DISubprogram : public DILocalScope {
Metadata *getRawScope () const { return getOperand (1 ); }
Metadata *getRawType () const { return getOperand (5 ); }
Metadata *getRawContainingType () const { return getOperand (6 ); }
Metadata *getRawTemplateParams () const { return getOperand (7 ); }
Metadata *getRawDeclaration () const { return getOperand (8 ); }
Metadata *getRawVariables () const { return getOperand (9 ); }
Metadata *getRawUnit () const { return getOperand (7 ); }
Metadata *getRawTemplateParams () const { return getOperand (8 ); }
Metadata *getRawDeclaration () const { return getOperand (9 ); }
Metadata *getRawVariables () const { return getOperand (10 ); }
// / \brief Check if this subprogram describes the given function.
// /
0 comments on commit
4eeaa0d