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>