var-tracking bugfix

Bernd Schmidt bernds_cb1@t-online.de
Thu Nov 23 17:34:00 GMT 2006


Daniel Jacobowitz wrote:
> On Thu, Nov 23, 2006 at 01:56:45PM +0100, Bernd Schmidt wrote:
>> 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
> time bomb.

Why would this be a problem, as long as it's in the same place in the
insn stream?

I suppose instead I could use the same hack as the ia64 backend and move
variable tracking into reorg.


Bernd



More information about the Gcc-patches mailing list