mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
Debug info: Let LowerDbgDeclare perfom the dbg.declare -> dbg.value
lowering only for load/stores to scalar allocas. The resulting values confuse the backend and don't add anything because we can describe array-allocas with a dbg.declare intrinsic just fine. rdar://problem/15464571 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195052 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1045,7 +1045,11 @@ bool llvm::LowerDbgDeclare(Function &F) {
|
||||
for (SmallVectorImpl<DbgDeclareInst *>::iterator I = Dbgs.begin(),
|
||||
E = Dbgs.end(); I != E; ++I) {
|
||||
DbgDeclareInst *DDI = *I;
|
||||
if (AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress())) {
|
||||
AllocaInst *AI = dyn_cast_or_null<AllocaInst>(DDI->getAddress());
|
||||
// If this is an alloca for a scalar variable, insert a dbg.value
|
||||
// at each load and store to the alloca and erase the dbg.declare.
|
||||
if (AI && !AI->isArrayAllocation()) {
|
||||
|
||||
// We only remove the dbg.declare intrinsic if all uses are
|
||||
// converted to dbg.value intrinsics.
|
||||
bool RemoveDDI = true;
|
||||
|
Reference in New Issue
Block a user