[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

Eli Friedman eli.friedman at gmail.com
Mon May 10 13:12:59 PDT 2010


On Mon, May 10, 2010 at 11:44 AM, Dan Gohman <gohman at apple.com> wrote:
>
> 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.

Ah, right, I missed that bit.

-Eli




More information about the llvm-commits mailing list