On 9/4/20 6:26 AM, 易会战 via Gcc wrote:
how to check the location corresponding to a gimple statement? My instrument 
stmt include some memory access, I wish get right source code line. By context 
it is possible get wrong line.

The gimple_location() function returns the location of the GIMPLE
statement passed to it as an argument.  When the location isn't
available (e.g., because the statement corresponds to two or more
source lines) there isn't much you can do to retrieve it.  Sometimes
it's possible to come close by using the location of the next (or
previous) GIMPLE statement.  Other times the best you can do is
point at the function body (either the opening or closing curly).

Martin




---Original---
From: "Richard Biener"<richard.guent...@gmail.com&gt;
Date: Fri, Sep 4, 2020 15:08 PM
To: "易会战"<huizha...@foxmail.com&gt;;
Cc: "gcc"<gcc@gcc.gnu.org&gt;;
Subject: Re: about souce code location


On Fri, Sep 4, 2020 at 2:23 AM 易会战 via Gcc <gcc@gcc.gnu.org&gt; wrote:
&gt;
&gt; I am working a instrumention tool, and need get the location info for a gimple 
statement. I use the location structure to get the info, and it can work when i use 
-O1. When I use -O2, sometimes the info seems to be lost and I get line num is 
zero.&amp;nbsp; anyone can tell me how to get the info?

Not all statements have a location, if you encounter such you need to
look at the "surrounding context"
to find one.


Reply via email to