[m-dev.] for review: MLDS tag switches
Peter Ross
peter.ross at miscrit.be
Wed Nov 15 03:44:51 AEDT 2000
On Wed, Nov 15, 2000 at 02:51:21AM +1100, Fergus Henderson wrote:
>
> Estimated hours taken: 8
>
> This is the first of three changes that I have planned which all
> relate to MLDS switch handling. This one following implements tag
> switches for the MLDS->C back-end. It compiles tag switches into MLDS
> switches (if the target supports them -- note that the IL back-end
> doesn't).
>
> The second part will fix some code duplication between the MLDS and
> LLDS back-ends that I've introduced in this change and in some of my
> earlier MLDS switch handling changes.
>
> The third part will be an MLDS to MLDS transformation pass that
> converts MLDS switches into computed gotos (eventually it should
> also handle binary searches too). This pass will allow tag switches
> to work for the IL back-end. This pass will also replace dense_switch.m.
>
> compiler/ml_tag_switch.m:
> New file. Handles switches on tags for the MLDS back-end.
>
> compiler/ml_code_util.m:
> Split the code for generating secondary tags out into a new
> function ml_gen_secondary_tag_rval and export that, for use
> by ml_tag_switch.m.
>
> compiler/ml_switch_gen.m:
> Uncomment the code for calling ml_tag_switch.m.
> Export ml_switch_generate_default, for use by ml_tag_switch.m.
>
This diff looks fine.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list