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: [PATCH] prevents labels referenced in the exception table to be deleted


On Wed, Feb 10, 2010 at 4:50 PM, Christian BRUEL <christian.bruel@st.com> wrote:
> Hello,
>
> While running validations on the SH for PR target/42841, we found an issue
> with undefined labels, that happened to be landing pad entries deleted by
> reorg_redirect_jump.
>
> The situation was that we had sh_reorg inserting a constant pool just
> bellow a barrier, which happens to be before a landing pad (whose first
> instruction was a jump), and creates a jump over the constant pool. Then
> reorg_redirect_jump (from dbr), deletes the label despite its reference in
> the exception table.
>
> A label referenced in the exception table is not dead and should not be
> deleted when jumps are merged, This patch just prevents this.

Looks like this would slow down the compiler for all targets, just to
make things work on the very few targets that still use the archaic
dbr-sched pass in reorg...  Please, no.

Ciao!
Steven


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