This is the mail archive of the
mailing list for the GCC project.
Re: var-tracking bugfix
- From: Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>
- To: Bernd Schmidt <bernds_cb1 at t-online dot de>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Daniel Jacobowitz <drow at false dot org>
- Date: Thu, 23 Nov 2006 17:33:42 +0100
- Subject: Re: var-tracking bugfix
- References: <45659A8D.firstname.lastname@example.org> <20061123162322.GA11926@nevyn.them.org>
The next Blackfin patch will add a call to split_all_insns from the
reorg pass. split_all_insns calls verify_flow_info, and in 4.3 this
often aborts when debugging information is generated. The var-tracking
pass can change basic block boundaries in such a way that a control flow
insn is no longer the last insn in a basic block, since a var tracking
note can replace it.
Fixed with this patch which just slightly changes the way these notes
are emitted. Bootstrapped and regression tested on i686-linux; I've
also compiled a large number of files with -g before and after the
change, the output was identical. Committed as 119116.
Could you explain this a little more? If I read it right, then the
var tracking note can move from one basic block to another because of
this patch. Seems like that would be a problem, or at least a lurking
I think Daniel is right. I think the note should be moved to all
successors in this case, or not emitted at all?
Or possibly, verify_flow_info could allow notes after the last insn in a