mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Describe loop index split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52021 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6e60ea42e8
commit
83a15d7209
@ -219,7 +219,21 @@ LLVM 2.3 optimizers support a few major enhancements:</p>
|
|||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li>Loop index set splitting on by default: describe me.</li>
|
<li>Loop index set splitting on by default.<p>
|
||||||
|
This transformation hoists conditions from loop bodies and reduces loop's
|
||||||
|
iteration space to improve performance. For example, <p>
|
||||||
|
<pre>
|
||||||
|
for (i = LB; i < UB; ++i)
|
||||||
|
if (i <= NV)
|
||||||
|
LOOP_BODY
|
||||||
|
</pre>
|
||||||
|
is transformed into
|
||||||
|
<pre>
|
||||||
|
NUB = min(NV+1, UB)
|
||||||
|
for (i = LB; i < NUB; ++i)
|
||||||
|
LOOP_BODY
|
||||||
|
</pre>
|
||||||
|
</li>
|
||||||
<li>LLVM includes a new <tt>memcpy</tt> optimization pass which optimizes out dead
|
<li>LLVM includes a new <tt>memcpy</tt> optimization pass which optimizes out dead
|
||||||
<tt>memcpy</tt> calls, unneeded copies of aggregates, and handles the return slot
|
<tt>memcpy</tt> calls, unneeded copies of aggregates, and handles the return slot
|
||||||
optimization. The LLVM optimizer now notices long sequences of consequtive
|
optimization. The LLVM optimizer now notices long sequences of consequtive
|
||||||
|
Loading…
Reference in New Issue
Block a user