[PATCH] D52125: X86, AArch64, ARM: Do not attach debug location to spill/reload instructions

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 2 14:32:49 PDT 2018


vsk added a comment.

In https://reviews.llvm.org/D52125#1253075, @eugenis wrote:

> In case someone wants to look at debug info issue:
>  F7347208: 1.ii <https://reviews.llvm.org/F7347208> test case
>  bin/clang++ -fsanitize=hwaddress --target=aarch64-linux-android  -gline-tables-only -O0 1.ii -c


I can reproduce the issue. I think the unexpected locations come from DwargDebug::beginInstruction:

  if (!DL) {
    // We have an unspecified location, which might want to be line 0.

Apparently there's a toggle which can switch off this behavior: -mllvm -use-unknown-locations=Disable.

... and trying again with that option set, the line table bloat is gone.

By default line 0 locations are enabled if the instruction is the first inst in a block, or is after a label. That seems reasonable, but in light of this issue it might be worth revisiting.


Repository:
  rL LLVM

https://reviews.llvm.org/D52125





More information about the llvm-commits mailing list