Re: Where are expression trees of SUIF in MachineSUIF?

"kanvard" <kanvard@gmail.com>
29 Nov 2006 11:54:13 -0500

          From comp.compilers

Related articles
Where are expression trees of SUIF in MachineSUIF? kanvard@gmail.com (kanvard) (2006-11-26)
Re: Where are expression trees of SUIF in MachineSUIF? nkavv@skiathos.physics.auth.gr (Uncle Noah) (2006-11-27)
Re: Where are expression trees of SUIF in MachineSUIF? kanvard@gmail.com (kanvard) (2006-11-29)
Re: Where are expression trees of SUIF in MachineSUIF? nkavv@skiathos.physics.auth.gr (Uncle Noah) (2006-11-30)
Re: Where are expression trees of SUIF in MachineSUIF? dmaze@mit.edu (David Z Maze) (2006-12-01)
Re: Where are expression trees of SUIF in MachineSUIF? nkavv@skiathos.physics.auth.gr (Uncle Noah) (2006-12-03)
| List of all articles for this month |

From: "kanvard" <kanvard@gmail.com>
Newsgroups: comp.compilers
Date: 29 Nov 2006 11:54:13 -0500
Organization: Compilers Central
References: 06-11-10706-11-108
Keywords: tools, code

>Uncle Noah wrote:
>
> LCC and LANCE work pretty well with these tools. Machine-SUIF would
> require quite some work. I've never heard of anyone doing it (and
> publicizing it).


Machine-SUIF is much powerful than LCC, and LCC has weak register
allocator. LANCE is not an open source project now, i can not get its
source code.


> You have to build clean expression trees. Unfortunately such facilities
> fall on the SUIF side. SUIF (1 or 2) are kind of frontends (down to
> high/low SUIF which are a form of typed expession trees).
>
> My 2c would be on bringing Machine-SUIF closer to the APIs of the code
> selection tools. Thus, you have to rebuild the required trees from
> SUIFvm rather from the SUIF (frontend) dat a structures.
>
> Still, i don't feel confident with SUIF frontend (and it's completely
> unsupported) that's why i believe my 2c is more pragmatic.


I think there are two means to accomplish tree parsing in
SUIF/MachineSUIF:


1) Build AST trees from expression trees (in "tree_instr" data
structure) of SUIF1, then use iburg/lburg to produce instruction
selector. The output of this instruction selector is the input of
graph-coloring register allocator of MachineSUIF.


2) Build AST trees from program SUIFvm IR of MachineSUIF. There are
cross references between nodes of the Ownership Tree of a SUIF progam.
That is, expression trees is hidden in the Ownership Tree of basic
blocks of CFG.


> Your last point is what i would bet on. Do your work on either SUIF or
> Machine-SUIF alone. To mess with both would be more difficult. Don't
> worry about "raga", it can be retargeted under small effort. Take
> example of Alpha or ARM.


I want to use some passes of SUIF1, and also need to use regsiter
allocator of MachineSUIF.


> You are welcome.


I really appreciate your help.


-Kan


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.