This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Add block debug info to phi_arg_d


On Fri, Jul 13, 2012 at 3:36 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
>
> On Fri, Jul 13, 2012 at 9:18 AM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> > On Fri, Jul 13, 2012 at 3:36 AM, Dehao Chen <dehao@google.com> wrote:
> >> I'd suggest:
> >> 1. Remove this unittest for now.
> >
> > And revert the patch for now.
> >
> >
> >> 2. Integrate locus with block, and store them as an index. (This will
> >> incur big operation to GCC)
> >
> > I'm not sure what you mean with "integrate"...?
> >
> > A lot of the code you'll need already exists in emit-rtl.c. That code
> > should be split out to a new file and be shared between rtl and
> > gimple. You'll probably want to make block_locators_locs,
> > block_locators_blocks, and locations_locators_locs part of struct
> > function. The biggest challenges will be avoiding bloat and managing
> > the locators for inlining/cloning...
>
> Btw, we discussed this briefly on the summit with Dodji and libcpp
> virtual locations already provide a way to associate a location_t with
> something else resulting in a new location_t.  For inlining we simply have
> to say that the location_t's we use would always refer to the original
> BLOCK (thus, the abstract origin).  There is no point to update the BLOCKs
> to point to the copies as far as debug information is concerned (?).

I'm not quite sure if I understand correctly: we will clone all blocks
and update them during function inline/clone, and assign new
location_t to the cloned gimple/phi_arg_t/expr etc. Otherwise, the
inline stack cannot be maintained, right?

Thanks,
Dehao


>
> Richard.
>
> > Ciao!
> > Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]