mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
DebugInfo: Change DIBuilder to make distinct DIGlobalVariables
A long overdue change to make DIGlobalVariable distinct. Much like DISubprogram definitions (changed in r246098), it isn't logical to unique DIGlobalVariable definitions from two different compile units. (Longer-term, we should also find a way to reverse the link between GlobalVariable and DIGlobalVariable, and between DIGlobalVariable and DICompileUnit, so that debug info to do with optimized-out globals disappears. Admittedly it's harder than with Function/DISubprogram, since global variables may be constant-folded and the debug info should still describe that somehow.) llvm-svn: 267301
This commit is contained in:
parent
bed5ce5d10
commit
b71e67a015
@ -560,10 +560,10 @@ DIGlobalVariable *DIBuilder::createGlobalVariable(
|
||||
MDNode *Decl) {
|
||||
checkGlobalVariableScope(Context);
|
||||
|
||||
auto *N =
|
||||
DIGlobalVariable::get(VMContext, cast_or_null<DIScope>(Context), Name,
|
||||
LinkageName, F, LineNumber, Ty, isLocalToUnit, true,
|
||||
Val, cast_or_null<DIDerivedType>(Decl));
|
||||
auto *N = DIGlobalVariable::getDistinct(
|
||||
VMContext, cast_or_null<DIScope>(Context), Name, LinkageName, F,
|
||||
LineNumber, Ty, isLocalToUnit, true, Val,
|
||||
cast_or_null<DIDerivedType>(Decl));
|
||||
AllGVs.push_back(N);
|
||||
return N;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user