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: [PR debug/46931] don't crash propagating removed DEFs into debug stmts


On Sat, Dec 18, 2010 at 8:34 AM, Alexandre Oliva <aoliva@redhat.com> wrote:
> The tree vectorizer sometimes creates DEFs and removes them before the
> end of the pass. ?By the time of the removal, the SSA name is still
> marked as needing updates, so we skip the code that might introduce a
> debug temp before the DEF.
>
> By the time we actually release the DEF, calling that code again, the
> DEF is no longer in the stmt seq, so we can't tell where to insert the
> debug temp.
>
> We could just drop the debug info on the floor, but if the value is
> unchanging, we can still propagate it to debug stmts that use that SSA
> name. ?This is what this patch does, also avoiding the ICE we got trying
> to figure out where to insert the debug temp.
>
> Regstrapped on x86_64-linux-gnu. ?Ok to install?

The statements are artificially created by the vectorizer, we should not
create extra debug info for them.  They are also the only statements that
are supposed to be removed by the very simple DCE - but we cannot
identify them reliably.  Is this patch not adding another hack above
the DCE hack I installed?

Richard.

>
>
> --
> 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]