[PATCH] D75273: [entry values] ARM: Add a describeLoadedValue override (PR45025)

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 14:36:41 PST 2020


vsk marked an inline comment as done.
vsk added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp:1043-1044
+    //
+    // We'd like to describe the call site value of d0 as d8, but this requires
+    // gathering and merging the descriptions for the two VMOVS instructions.
+    //
----------------
dstenb wrote:
> This is a problem we're having for our downstream target also, as parameters may be produced by bundled instructions modifying different parts of the register. I have thought a bit about adding an optional Fragment or SubReg field to ParamLoadedValue, to specify which part of the register that was described, and let `collectCallSiteParameters()` keep the parameter in the worklist until all parts have been described, but I have not really thought more about how that could be implemented.
Interesting. I tried something along these lines to try and have `collectCallSiteParameters` "merge" the descriptions for different fragments of a forwarding reg. This turned out to be a good bit more complicated than what I had bargained for..


================
Comment at: llvm/test/DebugInfo/MIR/ARM/call-site-info-vmovd.mir:71
+  !22 = !DILocation(line: 0, scope: !16)
+  !23 = !DILocation(line: 3, column: 3, scope: !16)
+  !24 = !DILocation(line: 4, column: 5, scope: !16)
----------------
djtodoro wrote:
> We can attach only to !23.
I'll clean up the test a bit before committing, but we really need a tool to do this kind of reduction. Having narrow/reduced test cases is important, but doing this can cost a fairly outsized amount of engineering time relative to the benefit it delivers.

The number of debug info contributors has grown a lot the past few years, and I hope it keeps growing. For that to happen though we need for an off-the-shelf tool that can help reduce tests. I'll try to prototype something soon.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75273/new/

https://reviews.llvm.org/D75273





More information about the llvm-commits mailing list