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] Fix up var-tracking notes emitted in between bbs (PR middle-end/43631)


On Nov 14, 2012, Jakub Jelinek <jakub@redhat.com> wrote:

> Steven has been complaining for some years that var-tracking inserts
> NOTE_INSN_VAR_LOCATION (and NOTE_INSN_CALL_ARG_LOCATION) notes sometimes
> in between basic blocks, but with BLOCK_FOR_INSN set (or sometimes extends
> a bb ending originally with a noreturn or throwing call by a note or more
> after it).  Fixed thusly, bootstrapped/regtested on x86_64-linux and
> i686-linux, ok for trunk?

This is ok with me, although I'm thinking it might make more sense to
consolidate the rules to decide whether or not to add basic block info
to a note in add_insn_{before,after}, where this added in the first
place.  Ideally we'd use the same rules used by cfg to determine where
the block boundaries are, i.e., what kinds of notes can be at BB
boundaries and which are outside BBs.  (Incidentally, it looks like
add_insn_after, unlike add_insn_before, completely ignores and
overwrites the bb it is passed as an argument; this seems wrong)

-- 
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 Brazil Compiler Engineer


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