This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR58315] reset inlined debug vars at return-to point
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 26 Feb 2015 13:55:04 -0300
- Subject: Re: [PR58315] reset inlined debug vars at return-to point
- Authentication-results: sourceware.org; auth=none
- References: <orlhjm2usl dot fsf at livre dot home> <CAFiYyc1a+cMHKk-dAJ3SbErhDotEGFRekK=xBy+DbHpFpZWE2g at mail dot gmail dot com> <20150225161256 dot GT1746 at tucnak dot redhat dot com> <or7fv53d3m dot fsf at livre dot home> <20150225212231 dot GX1746 at tucnak dot redhat dot com> <ortwy91qyi dot fsf at livre dot home>
On Feb 25, 2015, Alexandre Oliva <aoliva@redhat.com> wrote:
> if a function is called within a loop and we inline it, bindings from
> the call in one iteration of the loop will carry over onto the
> subsequent iteration until a new binding occurs.
Wait, I have to take that back and revisit the code I looked at.
var-tracking handles confluences differently between VTA-tracked and
old-style var-tracking vars, and I was probably confused by that: it
occurred to me this morning that confluence points of VTA-tracked
variables perform a set intersection, whereas old-style VTA performs set
union across locations at all incoming edges. So, what I have concluded
should only apply to old-style var-tracking vars, or to VTA-tracked vars
in unrolled loops whose intermediate conditions were optimized out (so
that there isn't any confluence with incoming edges without bindings for
the var).
I'm afraid I'll have to look again and figure out what I got wrong.
Apologies for the noise.
--
Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/
You must be the change you wish to see in the world. -- Gandhi
Be Free! -- http://FSFLA.org/ FSF Latin America board member
Free Software Evangelist|Red Hat Brasil GNU Toolchain Engineer