This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Basic block construction on PA
- From: Richard Henderson <rth at redhat dot com>
- To: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc at gcc dot gnu dot org
- Date: Wed, 22 Jan 2003 18:05:44 -0800
- Subject: Re: Basic block construction on PA
- References: <200301222357.h0MNvSfv021906@hiauly1.hia.nrc.ca>
On Wed, Jan 22, 2003 at 06:57:28PM -0500, John David Anglin wrote:
> However, when a call can throw or return to the nonlocal goto
> handler, the basic block with the call is terminated after the
> call, and there is no in_post_call_group_p group. The pic restore
> insn lies in a new basic block and is no longer scheduled with
> the call.
I believe the correct solution is to not expose the pic restore
before reload. This should be done after reload in splitters
or peep2 expanders. See how Alpha does this. I've been meaning
to do the same thing for ia64, but havn't gotten around to it.
> I have the sense that the basic block should not terminate at the
> call but after any insns that would form an in call group. Then,
> the pic register restore would schedule with the call. However,
> I am not sure this would work.
It doesn't.
r~