[PATCH] D12264: Identify and hoist loop invariant loads

Tobias Grosser via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 22 04:49:11 PDT 2015


grosser added a comment.

>   As a first step in the direction of assumed invariant loads (loads

>   that are not written in some context) we now detect and hoist

>   definitively invariant loads. As hoisting is the goal we will not

>   detect non-loop carried invariant loads. Invariant loads that are

>   detected will be preloaded in the code generation and used within

>   the SCoP. If the load is only conditionally executed the preloaded

>   version will also only be executed under the same condition, hence

>   we will never access memory that wouldn't have been accessed

>   otherwise. This is also the most distinguishing feature to licm.


Hi Johannes,

I did not yet look at this patch in detail, but here already one test case that
I wanted to handle and which does not seem to be resolved by your patch (intentionally?).
This test case still fails with SCEV not being able to derive the number of loop
iterations.

Best,
Tobias

- F775067: rhs-no-outline.c <http://reviews.llvm.org/F775067>


http://reviews.llvm.org/D12264





More information about the llvm-commits mailing list