Page MenuHomePhabricator

[DebugInfo] Add tests for ISel handling of variadic debug values

Authored by StephenTozer on Sep 30 2020, 10:10 AM.



This patch concludes the implementation of ISel support for multi-location-operand debug values, simply adding a set of lit tests. The reason these tests are put into a separate patch to the implementation is because all of these tests depend on the complete implementation, but there are two separate patches that complete the implementation and do not depend on each other (one for reading and processing dbg.values, the other for emitting DBG_VALUE_LIST instructions). Adding any of these tests to either of those patches could be misleading, as the tests would not pass within that patch (they would require the other).

If this is a confusing or difficult-to-read patch layout as a result however, I'm happy to move these tests into one of the other patches and make that patch dependent on the other.

Diff Detail

Unit TestsFailed

20 mslinux > LLVM.DebugInfo/X86::arg-dbg-value-list.ll
Script: -- : 'RUN: at line 5'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llc /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/arg-dbg-value-list.ll -start-after=codegenprepare -stop-before=finalize-isel -o - | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/arg-dbg-value-list.ll
20 mslinux > LLVM.DebugInfo/X86::dbg-val-list-dangling.ll
Script: -- : 'RUN: at line 8'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llc /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll -start-after=codegenprepare -stop-before=finalize-isel -o - | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
20 mslinux > LLVM.DebugInfo/X86::dbg-val-list-undef.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llc /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-val-list-undef.ll -start-after=codegenprepare -stop-before=finalize-isel -o - | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-val-list-undef.ll
30 mslinux > LLVM.DebugInfo/X86::dbg-value-list-dag-combine.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llc < /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-value-list-dag-combine.ll -start-after=codegenprepare -stop-before=finalize-isel | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-value-list-dag-combine.ll --implicit-check-not=DBG_VALUE
40 mslinux > LLVM.DebugInfo/X86::dbg-value-list-selectiondag-salvage.ll
Script: -- : 'RUN: at line 1'; /mnt/disks/ssd0/agent/llvm-project/build/bin/llc /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll -start-after=codegenprepare -stop-before=finalize-isel -o - | /mnt/disks/ssd0/agent/llvm-project/build/bin/FileCheck /mnt/disks/ssd0/agent/llvm-project/llvm/test/DebugInfo/X86/dbg-value-list-selectiondag-salvage.ll
View Full Test Results (6 Failed)

Event Timeline

StephenTozer created this revision.Sep 30 2020, 10:10 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 30 2020, 10:10 AM
aprantl accepted this revision.Oct 5 2020, 9:24 AM

Are you going to do GlobalISel, too?

This revision is now accepted and ready to land.Oct 5 2020, 9:24 AM
StephenTozer added a comment.EditedOct 5 2020, 9:52 AM

Are you going to do GlobalISel, too?

Eventually! I'm going to be mostly sidelined by other work for a while, but there are still some gaps in the ISel implementation that I'd like to fix up when I get the chance (of course it could also be implemented by others, but it's not currently being done), which includes GlobalISel, enabling salvaging at ISel, and handling dangling variadic debug values.

I'm currently assuming that even without GlobalISel it will still be possible to merge this work if/when it's all approved, as long as we are able to still handle the "old" debug info without issue.

djtodoro accepted this revision.Oct 6 2020, 12:47 AM
This revision was landed with ongoing or failed builds.Mar 9 2021, 4:51 AM
This revision was automatically updated to reflect the committed changes.