[llvm-commits] [llvm] r103257 - in /llvm/trunk: include/llvm/LinkAllPasses.h include/llvm/Transforms/Scalar.h lib/Transforms/Scalar/Sink.cpp test/Transforms/Sink/ test/Transforms/Sink/basic.ll test/Transforms/Sink/dg.exp

Dan Gohman gohman at apple.com
Mon May 10 11:44:04 PDT 2010


On May 7, 2010, at 1:22 PM, Eli Friedman wrote:

> On Fri, May 7, 2010 at 8:40 AM, Dan Gohman <gohman at apple.com> wrote:
>> Author: djg
>> Date: Fri May  7 10:40:13 2010
>> New Revision: 103257
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=103257&view=rev
>> Log:
>> Add an LLVM IR version of code sinking. This uses the same simple algorithm
>> as MachineSink, but it isn't constrained by MachineInstr-level details.
> 
> Interesting... done any benchmarking yet?

It helps a whole bunch in one testcase. It doesn't make much difference in
a bunch of others.

> It looks like this pass could potentially sink allocas out of the
> entry block; am I missing something?

I believe the isSafeToMove function handles that, with the
isSafeToSpeculativelyExecute check.

Dan





More information about the llvm-commits mailing list