mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-25 00:29:20 +00:00
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102661 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
8c5358c936
commit
719f6a9d9c
@ -402,6 +402,17 @@ uint64_t DIDerivedType::getOriginalTypeSize() const {
|
||||
return getSizeInBits();
|
||||
}
|
||||
|
||||
/// isInlinedFnArgument - Return trule if this variable provides debugging
|
||||
/// information for an inlined function arguments.
|
||||
bool DIVariable::isInlinedFnArgument(const Function *CurFn) {
|
||||
assert(CurFn && "Invalid function");
|
||||
if (!getContext().isSubprogram())
|
||||
return false;
|
||||
// This variable is not inlined function argument if its scope
|
||||
// does not describe current function.
|
||||
return !(DISubprogram(getContext().getNode()).describes(CurFn));
|
||||
}
|
||||
|
||||
/// describes - Return true if this subprogram provides debugging
|
||||
/// information for the function F.
|
||||
bool DISubprogram::describes(const Function *F) {
|
||||
|
@ -3691,14 +3691,12 @@ SelectionDAGBuilder::EmitFuncArgumentDbgValue(const DbgValueInst &DI,
|
||||
if (!isa<Argument>(V))
|
||||
return false;
|
||||
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
// Ignore inlined function arguments here.
|
||||
DIVariable DV(Variable);
|
||||
if (DV.getContext().isSubprogram()
|
||||
&& DISubprogram(DV.getContext().getNode()).getLinkageName()
|
||||
!= cast<Argument>(V)->getParent()->getName())
|
||||
if (DV.isInlinedFnArgument(MF.getFunction()))
|
||||
return false;
|
||||
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
MachineBasicBlock *MBB = FuncInfo.MBBMap[DI.getParent()];
|
||||
if (MBB != &MF.front())
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user