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: var-tracking bugfix


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.

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 basic block?

Paolo


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