[llvm-dev] [RFC] Interprocedural MIR-level outlining pass

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Wed Aug 31 15:25:43 PDT 2016


----- Original Message -----

> From: "Andrey Bokhanko" <andreybokhanko at gmail.com>
> To: "Daniel Berlin" <dberlin at dberlin.org>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, "llvm-dev"
> <llvm-dev at lists.llvm.org>
> Sent: Wednesday, August 31, 2016 7:17:08 AM
> Subject: Re: [llvm-dev] [RFC] Interprocedural MIR-level outlining
> pass

> On Tue, Aug 30, 2016 at 7:28 PM, Daniel Berlin < dberlin at dberlin.org
> > wrote:

> > > I tend to agree with Hal -- value numbering computes equivalent
> > > *values*,
> > 
> 
> > Sorry, but this is just flat out wrong
> 

> > "A Global Value Numbering(GVN) algorithm is considered to be
> > complete
> > (or precise), if it can detect all Herbrand equivalences among
> > expressions in a program.
> 
> > Two expressions are said to be Herbrand equivalent (or transparent
> > equivalent ), if they are computed by the same operator applied to
> > equivalent operands "
> 

> > This is, AFAIK, precisely what you want.
> 

> I'm not entirely happy with this definition (IMHO, it's overly
> restrictive), but this in irrelevant.

> What relevant is what one considers to be "equivalent operands". Take
> my example again -- for outlining (Jessica's name) / code folding
> (your name) optimization reads of "a" and "b" globals are
> equivalent; for VN and its users they are not.
Yes, this was exactly my point. We want to recognize structurally-equivalent sequences of instructions on inequivalent operands. 

-Hal 

> Yours,
> Andrey

-- 

Hal Finkel 
Assistant Computational Scientist 
Leadership Computing Facility 
Argonne National Laboratory 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160831/669f5214/attachment.html>


More information about the llvm-dev mailing list