Lines Matching +refs:is +refs:effective +refs:target

5 Polly is a loop optimizer for LLVM. Starting from LLVM-IR it detects and
6 extracts interesting loop kernels. For each kernel a mathematical model is
10 optimizations have been derived and applied, optimized LLVM-IR is regenerated
19 The standard LLVM pass pipeline as it is used in -O1/-O2/-O3 mode of clang/opt
21 phases. The first phase, we call it here **Canonicalization**, is a scalar
26 executed in the so-called **Inliner cycle**, This is again a set of **Scalar
29 pass pipeline, the primary goal of these passes is still canonicalization
35 perform some optimizations, their primary goal is still the simplification of
36 the program code. Loop invariant code motion is one such optimization that
40 **Target Specialization** phase is run, where IR complexity is deliberately
41 increased to take advantage of target specific features that maximize the
42 execution performance on the device we target. One of the principal
43 optimizations in this phase is vectorization, but also target specific loop
52 optimizer as part of the target specialization sequence, and theoretically also
54 options, as running Polly in the inline loop, is likely to disturb the inliner
55 and is consequently not a good idea.
61 LLVM-IR processed by Polly is still very close to the original input code.
62 Hence, it is less likely that transformations applied by LLVM change the IR in
63 ways not easily understandable for the programmer. As a result, user feedback is
64 likely better and it is less likely that kernels that in C seem a perfect fit
67 benefit if Polly is scheduled at this position. The additional set of
78 theoretically benefit from Polly (more work is necessary to make Polly here
79 really effective). As the IR that is passed to Polly has already been
80 canonicalized, there is also no need to run additional canonicalization passes.
81 General compile time is almost not affected by Polly, as detection of loop
82 kernels is generally very fast and the actual optimization and cleanup passes
87 the option *-polly-position=before-vectorizer*. This position is not yet the
88 default for Polly, but work is on its way to be effective even in presence of