mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Add new DIE into the map asap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137998 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1030,26 +1030,26 @@ static const ConstantExpr *getMergedGlobalExpr(const Value *V) {
|
|||||||
|
|
||||||
/// createGlobalVariableDIE - create global variable DIE.
|
/// createGlobalVariableDIE - create global variable DIE.
|
||||||
void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
|
void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
|
||||||
DIGlobalVariable GV(N);
|
|
||||||
|
|
||||||
// Check for pre-existence.
|
// Check for pre-existence.
|
||||||
if (getDIE(GV))
|
if (getDIE(N))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
DIType GTy = GV.getType();
|
DIGlobalVariable GV(N);
|
||||||
DIE *VariableDIE = new DIE(GV.getTag());
|
DIE *VariableDIE = new DIE(GV.getTag());
|
||||||
|
// Add to map.
|
||||||
bool isGlobalVariable = GV.getGlobal() != NULL;
|
insertDIE(N, VariableDIE);
|
||||||
|
|
||||||
// Add name.
|
// Add name.
|
||||||
addString(VariableDIE, dwarf::DW_AT_name, dwarf::DW_FORM_string,
|
addString(VariableDIE, dwarf::DW_AT_name, dwarf::DW_FORM_string,
|
||||||
GV.getDisplayName());
|
GV.getDisplayName());
|
||||||
StringRef LinkageName = GV.getLinkageName();
|
StringRef LinkageName = GV.getLinkageName();
|
||||||
|
bool isGlobalVariable = GV.getGlobal() != NULL;
|
||||||
if (!LinkageName.empty() && isGlobalVariable)
|
if (!LinkageName.empty() && isGlobalVariable)
|
||||||
addString(VariableDIE, dwarf::DW_AT_MIPS_linkage_name,
|
addString(VariableDIE, dwarf::DW_AT_MIPS_linkage_name,
|
||||||
dwarf::DW_FORM_string,
|
dwarf::DW_FORM_string,
|
||||||
getRealLinkageName(LinkageName));
|
getRealLinkageName(LinkageName));
|
||||||
// Add type.
|
// Add type.
|
||||||
|
DIType GTy = GV.getType();
|
||||||
addType(VariableDIE, GTy);
|
addType(VariableDIE, GTy);
|
||||||
|
|
||||||
// Add scoping info.
|
// Add scoping info.
|
||||||
@ -1060,8 +1060,6 @@ void CompileUnit::createGlobalVariableDIE(const MDNode *N) {
|
|||||||
}
|
}
|
||||||
// Add line number info.
|
// Add line number info.
|
||||||
addSourceLine(VariableDIE, GV);
|
addSourceLine(VariableDIE, GV);
|
||||||
// Add to map.
|
|
||||||
insertDIE(N, VariableDIE);
|
|
||||||
// Add to context owner.
|
// Add to context owner.
|
||||||
DIDescriptor GVContext = GV.getContext();
|
DIDescriptor GVContext = GV.getContext();
|
||||||
addToContextOwner(VariableDIE, GVContext);
|
addToContextOwner(VariableDIE, GVContext);
|
||||||
|
Reference in New Issue
Block a user