[prev in list] [next in list] [prev in thread] [next in thread]
List: pcc-list
Subject: Re: [Pcc] switch/case by MRST
From: "Gregory McGarry" <greg () bitlynx ! com>
Date: 2014-05-07 9:51:18
Message-ID: 20140507025118.ab62c74ef4fdac7a72bd4f4cde8f70c1.f8fab97444.wbe () email03 ! secureserver ! net
[Download RAW message or body]
Yeah, I think that was another of my unfinished projects.
Thanks for reviving it! We should do it.
> -------- Original Message --------
> Subject: [Pcc] switch/case by MRST
> From: Peter Kuschnerus <peter.kuschnerus@gmx.de>
> Date: Tue, May 06, 2014 9:23 am
> To: pcc@lists.ludd.ltu.se
>
>
> Hi !
>
> Multi-way Radix Search Tree (MRST)
>
>
> In arch powerpc, module code.c
> there I did find a not finished implementation ( inactive by #if 0 )
> of the MRST algorithm for generating code for switch/case
>
> Reading the papers of the originators of that algorithm
> I could understand this implementation.
>
> I adapted this to my port.
> I solved several issues.
>
> A main issue was: this code supports only int as argument for switch,
> while the standard allowes any width of integer.
> I changed that.
>
> I also rewrote the emitting of the "indexed jump"
> by using XASM.
>
> Then it seemed to work, but only without optimisation.
> Optimizing threated all code that is referenced by pointers
> as unreachable and removes it.
>
> Then I did find the interface to keep deljumps from removing a label,
> by setting a list of labels in epp->ip_labels.
> This interface looks never beeing used.
>
> I used this interface. Finaly it seemed to work.
>
> Most of the code is arch independent,
> exept the emitting of the instuction of "indexed jump".
> If the arch has suitable instructions for that,
> theese are not in table.c, but are instead expressable by XASM.
> I made a version for i386 and for amd64 and tested it.
>
> Of course all this needs more regession tests
> before it can be used generally.
>
> Now how to proceed with this ??
> My idea is, that someone reviews it.
>
>
> Regards
> Peter Kuschnerus
>
>
> _______________________________________________
> Pcc mailing list
> Pcc@lists.ludd.ltu.se
> http://lists.ludd.ltu.se/cgi-bin/mailman/listinfo/pcc
_______________________________________________
Pcc mailing list
Pcc@lists.ludd.ltu.se
http://lists.ludd.ltu.se/cgi-bin/mailman/listinfo/pcc
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic