This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Generate annotations for a binary translator
- From: ééä <chenwj at iis dot sinica dot edu dot tw>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 13 Jun 2011 14:27:57 +0800
- Subject: Re: Generate annotations for a binary translator
- References: <mcr7h9va1ta.fsf@coign.corp.google.com> <20110513033505.GA79308@cs.nctu.edu.tw> <mcrtycz8aaa.fsf@coign.corp.google.com> <20110516085156.GA67683@cs.nctu.edu.tw> <mcrei3y4cmh.fsf@coign.corp.google.com> <20110517053946.GA99002@cs.nctu.edu.tw> <mcrzkmlzur7.fsf@coign.corp.google.com> <20110517090528.GA56624@cs.nctu.edu.tw> <20110609053825.GA68628@cs.nctu.edu.tw> <mcr8vtb7bn1.fsf@coign.corp.google.com>
> > At the end of the link belows,
> > http://gcc.gnu.org/onlinedocs/gccint/Maintaining-the-CFG.html#Maintaining-the-CFG
> >
> > It says,
> >
> > "Note that at present, the representation of control flow in the tree
> > representation is discarded before expanding to RTL. Long term the CFG
> > should be maintained and "expanded" to the RTL representation along
> > with the function tree itself."
> >
> > Does this mean in the end of GCC compilation, the CFG information is
> > lost? Thanks!
>
> That documentation is out of date. The CFG is now retained through most
> of the RTL passes.
The comment on function gimple_expand_cfg in gcc/cfgexpand.c prove the
document is wrong, right?
"We do conversion per basic block and preserve/update the tree CFG.
This implies we have to do some magic as the CFG can simultaneously
consist of basic blocks containing RTL and GIMPLE trees."
Is there a way for me to correct the document? Thanks!
Regards,
chenwj
--
Wei-Ren Chen (ééä)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667