[DebugInfo] PATCH 2/3: Duplicate logics regarding debug_value_addr

This patch replace all in-memory objects of DebugValueAddrInst with
DebugValueInst + op_deref, and duplicates logics that handles
DebugValueAddrInst with the latter. All related check in the tests
have been updated as well.

Note that this patch neither remove the DebugValueAddrInst class nor
remove `debug_value_addr` syntax in the test inputs.
This commit is contained in:
Min-Yih Hsu
2021-08-23 15:22:01 -07:00
parent 33ec01a60c
commit e1023bc323
71 changed files with 356 additions and 149 deletions

View File

@@ -441,6 +441,10 @@ isStringStoreToIdentifyableObject(SILInstruction *inst) {
case SILInstructionKind::DeallocStackInst:
case SILInstructionKind::LoadInst:
break;
case SILInstructionKind::DebugValueInst:
if (DebugValueInst::hasAddrVal(user))
break;
LLVM_FALLTHROUGH;
default:
if (!mayWriteToIdentifyableObject(user)) {
// We don't handle user. It is some instruction which may write to