[LLVMdev] SSAPRE for LLVM

Carolina Simões Gomes carolina.sgomes at gmail.com
Fri Nov 25 10:13:09 PST 2011


GVN performs PRE, but covers only the "diamond" case, i.e. it only hoists
expressions to immediate predecessor blocks in order to avoid an increase
in live ranges, and only does so when there is no increase in code size.

>From what I know, previously there was SSAPRE in LLVM but it was removed
because SSAPRE caused code bloat and the benefit of redundancy elimination
didn't make up for that.

Josey: I attempted some months ago to implement an actual PRE pass using
GVN that covers more general cases using path profiling and a heuristic to
only eliminate redundancies when really worthy, but didn't get to finish
yet. Would you be interested in knowing more about it?

On Fri, Nov 25, 2011 at 5:37 AM, Jianzhou Zhao <jianzhou at seas.upenn.edu>wrote:

> On Fri, Nov 25, 2011 at 6:41 AM, josey's...JJ frm kollam nw @
> calicut.... <joseykollam at gmail.com> wrote:
> > i wish to develop llvm SSAPRE compiler optimization for my engineering
> > academic project .for,that i have a sample c++ program and its .ll
> > file.anyone have SSAPRE implementation in c++. if anyone have, please
> give
> > me that implementation immediately.
>
> In the old version of LLVM, the GVN pass also does PRE. But by
> default, PRE is not on. We need to set -gvnpre to make it work. ''opt
> --help'' will list all flags for optimizations. I am not sure if the
> latest LLVM still has the flag.
>
>
> >
> > joseykollam at gmail.com
> >
> > josey @ 9895685353
> > elw technologies
> > cochin
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
>
>
>
> --
> Jianzhou
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



-- 
[Carolina Simões Gomes]
M.Sc. Student in Computing Science
University of Alberta, Canada
CAS Partner - IBM Toronto
+1 (780) 863-0155
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111125/94dec77c/attachment.html>


More information about the llvm-dev mailing list