This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] prevents labels referenced in the exception table to be deleted
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Christian BRUEL <christian dot bruel at st dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 10 Feb 2010 17:31:05 +0100
- Subject: Re: [PATCH] prevents labels referenced in the exception table to be deleted
- References: <4B72D5E3.7040801@st.com>
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