block movement and eh

Richard Henderson rth@cygnus.com
Tue Sep 21 12:52:00 GMT 1999


On Tue, Sep 21, 1999 at 12:03:31PM -0700, Jason Merrill wrote:
> Makes sense to me.  In fact, HP's proposal for ia64 EH involves using a
> table of EH PC values (i.e. the call sites), rather than ranges.

Hmm.  I wonder if we could do something like that, at least for
internal representation, now.  Correct me if I'm wrong:

The REG_EH_REGION note indicates what region a call can throw to.
We make an initial pass over the rtl, annotate all of the calls
that don't already have such notes.  We then delete all of the
NOTE_INSN_EH_REGION notes, and don't have to worry about regions
at all for the rest of compilation.

Just before (or during) final, we find the maximum span of calls
that have compatible region notes (the same region or 0 or -1 but
not no note) and re-create NOTE_INSN_EH_REGION notes.


r~


More information about the Gcc-patches mailing list