[PATCH] Generate better location ranges for some register-described variables.

Alexey Samsonov vonosmas at gmail.com
Thu Jun 5 17:55:28 PDT 2014


On Wed, Jun 4, 2014 at 5:18 PM, David Blaikie <dblaikie at gmail.com> wrote:

> I do rather feel this perhaps rises beyond my idea comfort level for "work
> around" to "we should probably fix this the right way", but I realize I'll
> probably be argued down on this.
>
> Out of curiosity, does anyone happen to be able to explain
> LiveDebugVariables.cpp:956-966. It /looks/ like this code, based on the
> comment, is trying to do what we want: add dbg.value intrinsics to every
> basic block for which the variable is live. Any idea if this works? Why it
> doesn't? etc...
>

This code doesn't work because the whole LiveDebugVariables pass is run
only in greedy register allocator, while we use a fast register allocator
in -O0 mode. From a brief examination, it seems
that -livedebug pass is somewhat tied to greedy regalloc implementation,
and we can't simply flip the flag and "enable" it unconditionally. However,
we should go along this path:
apparently we need this kind of analysis on all opt levels.

I'd feel more comfortable to work on these passes (which for now is  having
suggested workaround applied, though.


>
> http://reviews.llvm.org/D3933
>
>
>
-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140605/5f061d0e/attachment.html>


More information about the llvm-commits mailing list