mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +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>
|
||||
|
||||
<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
|
||||
<tt>memcpy</tt> calls, unneeded copies of aggregates, and handles the return slot
|
||||
optimization. The LLVM optimizer now notices long sequences of consequtive
|
||||
|
Loading…
Reference in New Issue
Block a user