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: Question about Gimple FE


On 03/31/2015 09:34 AM, Trevor Saunders wrote:
On Thu, Mar 26, 2015 at 03:15:22PM +0100, Richard Biener wrote:
On Thu, Mar 26, 2015 at 2:31 PM, xue yinsong <xyshh94225@hotmail.com> wrote:
I think the gimple front end project would be quite useful to gcc so Iâd like to do work on it this summer.

The problem is, it seems the GIMPLE front end project hasnât been active for some time
and Diego Novillo told me it may not even make sense to use the same codebase, but start from scratch.

Iâm not sure if I should pick it up where it left off or write another one from scratch

Could you give me some advice?

I don't know the current codebase at all (unfortunately).  I think it
is useful to get yourself familiarized
with it even if you start from scratch as it will get you to learn
something about GIMPLE and about
writing a frontend.

Note that LTO support already is able to output everything needed to
re-create GIMPLE thus from
there you can also learn what is required to populate a GIMPLE
representation.  And LTO support
might be used to create output that can be read by the GIMPLE frontend
- the whole project
feels like finding a textual form of the LTO bytecode (in some way).

I think its part being able to convert LTO byte code to text, and part
refactoring byte code reading / writing such that we can do things like
read in byte code run a single pass and then dump the resulting byte
code.  I suppose in a sense you can probably already do that with lto1
and -r, but that's not exactly straight forward.
David has some code that allows creation of gimple on the fly and feeding it to a pass which is obviously designed with unit testing in mind.

Jeff


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