This is the mail archive of the 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 15/3/30 äå5:40, "Richard Biener" <> wrote:

>On Mon, Mar 30, 2015 at 11:36 AM, Richard Biener
><> wrote:
>> On Fri, Mar 27, 2015 at 4:00 PM, xue yinsong <> wrote:
>>> Thanks for your reply to my proposal.
>>> AFAIS, most of the files generated by -fdump-tree-all are presented in C-like form instead
>>> of in lisp-like tuple form.
>>> So itâs better to implement a front end for the C-like gimple representations.
>>> I want to make sure if I get the idea right.
>>> Besides, Iâm uncertain about the following questions:
>>> 1.I suppose the syntax of the original gimple file generated by -fdump-tree-gimple would cover
>>> the syntax of those generated in later stages. Could some one tell me if thatâs correct?
>> Well - in 004t.gimple there is still no CFG and we are not in SSA
>> form, so syntax of 'gimple'
>> would change slightly dependent on properties of the IL.  GCC goes to
>> various lowering stages
>> (also for things like OpenMP, nested function and exception handling support).
>Btw, I wouldn't necessarily try to parse exactly those dump format -
>streamlining it for
>easier parsing would be ok, especially for the basic-block markers.
>There was a request
>multiple times to make it easier to adjust a function cut&pasted from
>a dump produced
>by -fdump-tree to valid C (thus accepted by gcc).  One annoying
>road-block is how we
>dump labels and goto destinations.

I tried to compile some simple programs with -fdump-treep-all and 
read some of the dumped files. I have the following comments. 
If I said something wrong please correct me. 

I suppose our goal is to translate the dumped program back to 
the C source code (otherwise we can simply retain the gotos and 
labels since they are already `validâ in C). In this case we have to 
convert the gotos back to if-elses and whiles. As long as 
CFG informations are given, itâs possible to get rid of these gotos.
 Apart from this, Gimple and C also have some differences 
in PHI nodes and exception handling code. They also need to be 
converted back to corresponding C syntax.


>>> 2.On my computer, it seems both -fdump-tree-gimple and -fdump-tree-gimple-raw dump the code to <filename>.004t.gimple.
>>> tf -fdump-tree-all is used, only the result of -fdump-tree-gimple will be presented.
>>> Does gcc behave this way on purpose?
>> I think so.  -raw is a dump modifier while -all selects '-gimple' and
>> all others.
>> Richard.
>>> ââ
>>> Best regards,
>>> Yinsong Xue

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