This is the mail archive of the gcc@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: Basic block construction on PA


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~


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