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: Robert Dewar <dewar@adacore.com>,
		Richard Guenther <richard.guenther@gmail.com>,
		gcc-patches@gcc.gnu.org, gcc@gcc.gnu.org
Subject: Re: Designs for better debug info in GCC
Date: Tue, 13 Nov 2007 13:56:00 -0000	[thread overview]
Message-ID: <Pine.LNX.4.64.0711131300370.23011@wotan.suse.de> (raw)
In-Reply-To: <ormytjxsfd.fsf@oliva.athome.lsd.ic.unicamp.br>

Hi,

On Mon, 12 Nov 2007, Alexandre Oliva wrote:

> With the design I've proposed, it is possible to compute the value of i, 

No.  Only if the function is reservible.  There are many which aren't:

static inline int foo(int i)
{
  return i % 10;
}
int foobar(int j)
{
  return foo(j % 20);
}
int main(int argc, char **argv)
{
  return foobar(argc);
}

If foo is inlined and foobar simplified (to return j%10), the value for 
'i' (j % 20) can not be recovered anymore.  Hence for a 100% solution (and 
for systemtap you want that) you have no choice than to force the value to 
be live, e.g. by a volatile asm or the like.

> As I wrote before, I'm not aware of any systemtap bug report about a
> situation in which an argument was actually optimized away.

I think it all started from PR23551.  For us it also happened in the 
kernel in namei.c, where real_lookup is inlined sometimes, and it's 
arguments are missing.  That might or might not be reversible functions, 
so your scheme perhaps would have helped there.  But generally it won't 
solve the problem for good.

> I wouldn't go as far as stopping the optimization just so that systemtap 
> can monitor the code.

Like I said, at some point you have to or accept that some code remains to 
be not introspectable.

> > at which point you have to force the value of 'i' being live, if you 
> > want to be sure that systemtap works in all cases.
> 
> I don't want to be sure of that.  At least that was not the problem I 
> was asked to solve.

Then I'm probably still confused what problem you're actually trying to 
solve.  If you don't want to be sure you get precise location information 
100% of the time, then what percentage are you required to get?  And how 
do you measure this?  Or is the task rather "emit better debug info"?  But 
that can be done also in our scheme, so why is there a need for DEBUG_INSN 
if it can't solve the systemtap problem for good?

> And, indeed, it's not solvable without disabling optimizations.


Ciao,
Michael.

  reply	other threads:[~2007-11-13 12:14 UTC|newest]

Thread overview: 150+ 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     ` Designs for better debug info in GCC (was: Re: [vta] don't let debug insns get in the way of simple vect reduction) Michael Matz
2007-11-07 18:45       ` Designs for better debug info in GCC 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 [this message]
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               ` Joe Buck
2007-11-09 14:53                 ` Daniel Jacobowitz
2007-11-09 17:06                   ` Robert Dewar
2007-11-09  1:26               ` Robert Dewar
2007-11-12 16:56                 ` Alexandre Oliva
2007-11-08 16:32           ` Alexandre Oliva
2007-11-12 21:04 Steven Bosscher
2007-11-24  1:37 ` Alexandre Oliva
2007-11-24  2:35   ` Steven Bosscher
2007-11-24 15:08     ` Alexandre Oliva
2007-11-24 15:18       ` Richard Kenner
2007-11-24 20:11         ` Alexandre Oliva
2007-11-24 20:46           ` Bernd Schmidt
2007-11-25  0:42             ` Alexandre Oliva
2007-11-25  7:19               ` Richard Guenther
2007-11-25 14:30                 ` Alexandre Oliva
2007-11-25 14:46                   ` Richard Guenther
2007-11-26 10:11                     ` Alexandre Oliva
2007-11-26 12:26                       ` Richard Guenther
2007-11-26 18:58                         ` Alexandre Oliva
2007-11-25 14:22               ` Alexandre Oliva
2007-11-24 20:48           ` Richard Kenner
2007-11-25  0:02             ` Alexandre Oliva
2007-11-25 14:23           ` Robert Dewar
2007-12-15 20:32             ` Alexandre Oliva
2007-12-15 21:41               ` Robert Dewar
2007-11-24 16:45       ` Steven Bosscher
2007-11-24 18:50         ` Alexandre Oliva
2007-11-24 20:21           ` Richard Guenther

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.0711131300370.23011@wotan.suse.de \
    --to=matz@suse.de \
    --cc=aoliva@redhat.com \
    --cc=dewar@adacore.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).