On Wed, Feb 6, 2013 at 3:23 PM, Kartik Singhal <kartiksing...@gmail.com> wrote:
> Hi
>
> I am an undergraduate CS student and a beginner to GCC development. I
> am trying to implement a new algorithm for Global Value Numbering
> proposed recently in our research group.
>
> I have basic experience in implementing simple optimization passes as
> dynamic plugins in GCC. I have some questions regarding my project,
> answers to which, I believe, GCC community can help me find:
>
> 1. On going through the archives and source code, I didn't find info
> on any GVN algorithm being used in GCC. Archives mention VanDrunen's
> GVN-PRE, but not much about GVN in particular. Is there currently no
> GVN implementation in GCC, if yes, why is that? If no, where should I
> look for it?

PRE is based on GVN-PRE but the GVN part was exchanged for
a SCC based VN (tree-ssa-sccvn.c) at some point (Cooper & Simpson).

> 2. I find that GCC switches to SSA form very early after CFG pass for
> most of the optimizations. The algorithm that I am trying to implement
> doesn't use SSA (we have found that some redundancies get skipped on
> introduction of SSA). I could not find information from the GCC
> Internals document or from archives on whether SSA could be skipped
> altogether. Is that even possible? If not, could somebody shed some
> light on how I can work with SSA representation, but ignore its
> properties.

Well, to ignore SSA form simply treat each SSA name as separate variable.
You of course need to handle PHI nodes as copies on CFG edges then.

Richard.

>
> Thanks
> --
> Kartik
> http://k4rtik.wordpress.com/

Reply via email to