[PATCH] D51976: [DebugInfo][Dexter] Speculated BB presents illegal variable value to debugger

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 17 14:06:32 PDT 2018


vsk added a comment.

In https://reviews.llvm.org/D51976#1237210, @CarlosAlbertoEnciso wrote:

> @aprantl and @probinson,
>
> Based on your views and comments, I am happy to "change" the current fix towards implementing the extension of 'llvm.dbg.value', as it seems it would be more beneficial for a better debug information.
>
> The added comments (https://bugs.llvm.org/show_bug.cgi?id=38763) by @aprantl, are a good starting point.
>
> @vsk, how do you feel about moving the current proposed patch, to be in terms of extending the 'llvm.dbg.value'?


I expect that extending dbg.value in this way will be fairly involved. There are a couple questions worth thinking about, imo:

- Would the extra SSA values need to be constants (or live in registers)? If not, how will their locations be represented in a TAG_variable entry?
- What's the expected memory size overhead of adding an extra operand to dbg.value? Does it need to be counterbalanced by introducing dbg.value.simple() [for the case where there is an empty DIExpression/extended SSA stack]?
- How will LiveDebugVariables determine where to insert DBG_VALUEs into the MI stream when there are extra SSA values? How do you ensure that the live intervals of those values aren't disjoint?

I think we should separate out the task of investigating these questions (& maybe collecting some numbers with a prototype) from driving this patch forward.

My preference would be to land this patch as-is.



================
Comment at: test/CodeGen/X86/pr38763.ll:1
+; RUN: opt %s -S -simplifycfg | FileCheck %s
+
----------------
Do you need to pipe in the input ('< %s') here? I assumed that opt would write its output to %s.ll otherwise.


https://reviews.llvm.org/D51976





More information about the llvm-commits mailing list