Question about sibling call epilogues & registers

2016-10-14 Thread Daniel Santos
I'm working on my -foutline-masbi-xlouges optimization (targeting 64 bit Wine) and I've run into a snag with sibling calls. When -foutline-masbi-xlouges is disabled, the sibling call generates just fine. But when enabled the call to df_analyze() in the peephole2 pass deletes the insn that initi

DWARF Version 5 Public Review Draft Released

2016-10-14 Thread Michael Eager
DWARF Version 5 Public Review Draft Released October 14, 2016 The DWARF Debugging Information Format Committee has released the public review draft of Version 5 of the DWARF Debugging Information Format standard. The DWARF debugging format is used to communicate debugging information between a

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Richard Biener
On Fri, Oct 14, 2016 at 12:57 PM, Bernd Schmidt wrote: > On 10/14/2016 11:26 AM, Richard Biener wrote: >> >> On Fri, Oct 14, 2016 at 11:15 AM, Bernd Schmidt >> wrote: >>> >>> So maybe it should just call clear_bb_flags instead of doing the loop >>> itself? Ok if that works. >> >> >> That doesn't

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Richard Biener
On Fri, Oct 14, 2016 at 1:00 PM, Nathan Sidwell wrote: > On 10/14/16 05:28, Richard Biener wrote: > >> The BB_VISITED flag has indetermined state at the beginning of a pass. >> You have to ensure it is cleared yourself. > > > In that case the openacc (&nvptx?) passes should be modified to clear th

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Nathan Sidwell
On 10/14/16 05:28, Richard Biener wrote: The BB_VISITED flag has indetermined state at the beginning of a pass. You have to ensure it is cleared yourself. In that case the openacc (&nvptx?) passes should be modified to clear the flags at their start, rather than at their end. nathan

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Bernd Schmidt
On 10/14/2016 11:26 AM, Richard Biener wrote: On Fri, Oct 14, 2016 at 11:15 AM, Bernd Schmidt wrote: So maybe it should just call clear_bb_flags instead of doing the loop itself? Ok if that works. That doesn't generally work, it clears too many flags (it was appearantly designed for RTL). O

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Richard Biener
On Fri, Oct 14, 2016 at 10:01 AM, Thomas Schwinge wrote: > Hi! > > After the "Add Early VRP" GCC trunk commit r240291 (Kugan CC for your > information), I've been observing all kinds of OpenACC offloading > failures. I now figured out what's going on. > > The "evrp" pass uses basic_block's BB_VIS

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Richard Biener
On Fri, Oct 14, 2016 at 11:15 AM, Bernd Schmidt wrote: > On 10/14/2016 10:01 AM, Thomas Schwinge wrote: >> >> After the "Add Early VRP" GCC trunk commit r240291 (Kugan CC for your >> information), I've been observing all kinds of OpenACC offloading >> failures. I now figured out what's going on.

Re: basic_block flags, BB_VISITED

2016-10-14 Thread Bernd Schmidt
On 10/14/2016 10:01 AM, Thomas Schwinge wrote: After the "Add Early VRP" GCC trunk commit r240291 (Kugan CC for your information), I've been observing all kinds of OpenACC offloading failures. I now figured out what's going on. The "evrp" pass uses basic_block's BB_VISITED flag. It first clear

basic_block flags, BB_VISITED

2016-10-14 Thread Thomas Schwinge
Hi! After the "Add Early VRP" GCC trunk commit r240291 (Kugan CC for your information), I've been observing all kinds of OpenACC offloading failures. I now figured out what's going on. The "evrp" pass uses basic_block's BB_VISITED flag. It first clears these all, gcc/tree-vrp.c:execute_early_vr