DebugInfo: Gut DIVariable and DIGlobalVariable

Gut all the non-pointer API from the variable wrappers, except an
implicit conversion from `DIGlobalVariable` to `DIDescriptor`.  Note
that if you're updating out-of-tree code, `DIVariable` wraps
`MDLocalVariable` (`MDVariable` is a common base class shared with
`MDGlobalVariable`).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234840 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan P. N. Exon Smith
2015-04-14 02:22:36 +00:00
parent 4edb309c27
commit 355ec009e5
14 changed files with 74 additions and 111 deletions

View File

@@ -335,7 +335,7 @@ bool StripDeadDebugInfo::runOnModule(Module &M) {
// If the global variable referenced by DIG is not null, the global
// variable is live.
if (DIG.getConstant())
if (DIG->getVariable())
LiveGlobalVariables.push_back(DIG);
else
GlobalVariableChange = true;
@@ -350,7 +350,7 @@ bool StripDeadDebugInfo::runOnModule(Module &M) {
}
if (GlobalVariableChange) {
DIC.replaceGlobalVariables(DIArray(MDNode::get(C, LiveGlobalVariables)));
DIC.replaceGlobalVariables(MDTuple::get(C, LiveGlobalVariables));
Changed = true;
}