public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Michael Matz <matz@suse.de>
To: Alexandre Oliva <aoliva@redhat.com>
Cc: Richard Guenther <richard.guenther@gmail.com>,
		gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org
Subject: Re: Designs for better debug info in GCC (was: Re: [vta] don't let  debug insns get in the way of simple vect reduction)
Date: Wed, 07 Nov 2007 17:20:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.64.0711071815540.23011@wotan.suse.de> (raw)
In-Reply-To: <or7ikuv6ex.fsf_-_@oliva.athome.lsd.ic.unicamp.br>

Hi,

On Wed, 7 Nov 2007, Alexandre Oliva wrote:

> > With the different approach I and Matz started (and to which we didn't 
> > yet spend enough time to get debug information actually output - but I 
> > hope we'll get there soon), on the tree level the extra information is 
> > stored in a bitmap per SSA_NAME (where necessary).
> 
> This will fail on a very fundamental level.  Consider code such as:
> 
> f(int x, int y) {
>   int c;
>   /* other vars */
> 
>   c = x;
>   do_something_with(c, ...); // doesn't touch x or y
> 
>   c = y;
>   do_something_else_with(c, ...); // doesn't touch x or y
> }
> 
> where do_something_*with are actually complex computations, be that
> explicit code, be it macros or inlined functions.
> 
> This can (and should) be trivially optimized to:
> 
> f(int x, int y) {
>   /* other vars */
> 
>   do_something_with(x, ...); // doesn't touch x or y
> 
>   do_something_else_with(y, ...); // doesn't touch x or y
> }
> 
> But now, if I 'print c' in a debugger in the middle of one of the
> do_something_*with expansions, what do I get?
> 
> With the approach I'm implementing, you should get x and y at the
> appropriate points, even though variable c doesn't really exist any
> more.
> 
> With your approach, what will you get?

x and y at the appropriate part.  Whatever holds 'x' at a point (SSA name, 
pseudo or mem) will also mention that it holds 'c'.  At a later point 
whichever holds 'y' will also mention in holds 'c' .

> There isn't any assignment to x or y you could hook your notes to.

But there are _places_ for x and y.  Those places can and are also 
associated with c.

> Even if you were to set up side representations to model the additional 
> variables that end up mapped to the incoming arguments, you'd have 'c' 
> in both, and at the entry point.  How would you tell?

I don't understand the question.


Ciao,
Michael.

  parent reply	other threads:[~2007-11-07 17:20 UTC|newest]

Thread overview: 127+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-05  8:28 [vta] don't let debug insns get in the way of simple vect reduction Alexandre Oliva
2007-11-05 11:27 ` Richard Guenther
2007-11-07  7:52   ` Designs for better debug info in GCC (was: Re: [vta] don't let debug insns get in the way of simple vect reduction) Alexandre Oliva
2007-11-07 16:16     ` Ian Lance Taylor
2007-11-07 19:11       ` Designs for better debug info in GCC Alexandre Oliva
2007-11-07 22:57         ` Ian Lance Taylor
2007-11-07 23:05           ` Daniel Jacobowitz
2007-11-08  0:00           ` Mark Mitchell
2007-11-08  0:15             ` David Edelsohn
2007-11-08  0:35               ` Mark Mitchell
2007-11-08  5:14                 ` Alexandre Oliva
2007-11-08 18:28                   ` Alexandre Oliva
2007-11-22 23:07                 ` Frank Ch. Eigler
2007-11-22 23:13                   ` Richard Guenther
2007-11-23 20:53                     ` Frank Ch. Eigler
2007-11-24  1:53                       ` Alexandre Oliva
2007-11-24 15:02                     ` Robert Dewar
2007-11-08  5:15               ` Alexandre Oliva
2007-11-08 18:18                 ` Alexandre Oliva
2007-11-08 19:46                 ` Andrew Pinski
2007-11-08 20:39                   ` Alexandre Oliva
2007-11-09  8:39                   ` Robert Dewar
2007-11-08  5:44             ` Alexandre Oliva
2007-11-08 18:37               ` Alexandre Oliva
2007-11-08 19:13               ` Mark Mitchell
2007-11-08 19:13                 ` David Daney
2007-11-08 19:17                   ` Mark Mitchell
2007-11-09  2:09                 ` Alexandre Oliva
2007-11-12  4:49                   ` Mark Mitchell
2007-11-12 18:45                     ` Alexandre Oliva
2007-11-12 18:49                       ` Joe Buck
2007-11-25  6:57                         ` Alexandre Oliva
2007-11-25 12:09                           ` Richard Kenner
2007-11-12 18:53                       ` Ian Lance Taylor
2007-11-24  2:12                         ` Alexandre Oliva
2007-11-13 10:30                       ` Mark Mitchell
2007-11-24  1:54                         ` Alexandre Oliva
2007-11-13 15:30                       ` Michael Matz
2007-11-24  2:00                         ` Alexandre Oliva
2007-11-26 21:01                           ` Michael Matz
2007-11-27  5:31                             ` Alexandre Oliva
2007-11-27 20:31                               ` Michael Matz
2007-11-27 21:44                                 ` Alexandre Oliva
2007-11-08  9:54             ` Richard Guenther
2007-11-08  5:01           ` Alexandre Oliva
2007-11-08 18:15             ` Alexandre Oliva
2007-11-08 19:13             ` Ian Lance Taylor
2007-11-08 20:27               ` Alexandre Oliva
2007-11-08 21:26                 ` Ian Lance Taylor
2007-11-09  9:53                   ` Robert Dewar
2007-11-12  5:36                     ` Mark Mitchell
2007-11-12 17:34                       ` Alexandre Oliva
2007-11-12 17:54                         ` Mark Mitchell
2007-11-24  1:55                           ` Alexandre Oliva
2007-11-26  1:08                             ` Mark Mitchell
2007-12-05 14:22                               ` Diego Novillo
2007-12-05 22:10                                 ` Joe Buck
2007-12-15 21:41                                 ` Alexandre Oliva
2007-12-16  3:15                                   ` Daniel Berlin
2007-12-16 13:09                                     ` Alexandre Oliva
2007-12-17  1:27                                       ` Daniel Berlin
2007-12-17  4:20                                         ` Joe Buck
2007-12-17  8:13                                           ` Geert Bosch
2007-12-18  1:24                                             ` Alexandre Oliva
2007-12-18  1:29                                               ` Joe Buck
2007-12-18  4:40                                                 ` Alexandre Oliva
2007-12-18  7:42                                                   ` Robert Dewar
2007-12-18  8:09                                                     ` Alexandre Oliva
2007-12-18 14:01                                                       ` Robert Dewar
2007-12-18 21:20                                                         ` Alexandre Oliva
2007-12-18  7:35                                               ` Robert Dewar
2007-12-18  8:34                                                 ` Alexandre Oliva
2007-12-17 18:36                                           ` Alexandre Oliva
2007-12-17 17:59                                         ` Alexandre Oliva
2007-12-17 18:02                                           ` Diego Novillo
2007-12-17 20:34                                             ` Alexandre Oliva
2007-12-17 20:45                                               ` Diego Novillo
2007-12-18  1:02                                                 ` Alexandre Oliva
2007-12-18  1:14                                                   ` Diego Novillo
2007-12-18  5:21                                                     ` Alexandre Oliva
2007-12-18  9:10                                                       ` Alexandre Oliva
2007-12-18 13:20                                                         ` Diego Novillo
2007-12-18 15:42                                                           ` Alexandre Oliva
2007-12-18 22:43                                                         ` Daniel Berlin
2007-12-19  6:07                                                           ` Alexandre Oliva
2007-12-19  8:39                                                             ` Daniel Berlin
2007-12-19 16:12                                                               ` Daniel Berlin
2007-12-19 16:36                                                                 ` Andrew MacLeod
2007-12-19 19:49                                                                   ` Daniel Berlin
2007-12-19 20:00                                                                 ` Andrew MacLeod
2007-12-19 20:57                                                                   ` Daniel Berlin
2007-12-19 20:07                                                                 ` Alexandre Oliva
2007-12-19 22:00                                                                   ` Daniel Berlin
2007-12-20  9:26                                                                     ` Alexandre Oliva
2007-12-20 17:04                                                                       ` Ian Lance Taylor
2007-12-20 20:53                                                                         ` Alexandre Oliva
2007-12-19 20:27                                                               ` Alexandre Oliva
2007-12-18 23:35                                                         ` Daniel Berlin
2007-12-19  5:50                                                           ` Alexandre Oliva
2007-12-19 16:35                                                             ` Daniel Berlin
2007-12-19 19:46                                                               ` Alexandre Oliva
2007-12-19 20:39                                                                 ` Daniel Jacobowitz
2007-12-31 15:40                                               ` Richard Guenther
2007-12-16 21:42                                   ` Mark Mitchell
2007-11-09  9:55                   ` Seongbae Park (박성배, 朴成培)
2007-11-09 11:08                     ` Robert Dewar
2007-11-08  8:58           ` Paolo Bonzini
2007-11-07 17:20     ` Michael Matz [this message]
2007-11-07 18:45       ` Alexandre Oliva
2007-11-08 10:23         ` Michael Matz
2007-11-08 14:02           ` Robert Dewar
2007-11-08 15:13             ` H.J. Lu
2007-11-08 16:11             ` Michael Matz
2007-11-08 17:48               ` Alexandre Oliva
2007-11-09 12:46                 ` Michael Matz
2007-11-12 18:31                   ` Alexandre Oliva
2007-11-13 13:56                     ` Michael Matz
2007-11-24  2:34                       ` Alexandre Oliva
2007-11-26 20:56                         ` Michael Matz
2007-11-27  5:30                           ` Alexandre Oliva
2007-11-08 16:37             ` Alexandre Oliva
2007-11-09  1:26               ` Robert Dewar
2007-11-12 16:56                 ` Alexandre Oliva
2007-11-09  1:26               ` Joe Buck
2007-11-09 14:53                 ` Daniel Jacobowitz
2007-11-09 17:06                   ` Robert Dewar
2007-11-08 16:32           ` Alexandre Oliva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0711071815540.23011@wotan.suse.de \
    --to=matz@suse.de \
    --cc=aoliva@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=gcc@gcc.gnu.org \
    --cc=richard.guenther@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).