mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
indmemrem and lowerallocs are gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107587 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f43f6bc3ec
commit
aa6c855c8e
@ -128,7 +128,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
|||||||
<tr><td><a href="#globaldce">-globaldce</a></td><td>Dead Global Elimination</td></tr>
|
<tr><td><a href="#globaldce">-globaldce</a></td><td>Dead Global Elimination</td></tr>
|
||||||
<tr><td><a href="#globalopt">-globalopt</a></td><td>Global Variable Optimizer</td></tr>
|
<tr><td><a href="#globalopt">-globalopt</a></td><td>Global Variable Optimizer</td></tr>
|
||||||
<tr><td><a href="#gvn">-gvn</a></td><td>Global Value Numbering</td></tr>
|
<tr><td><a href="#gvn">-gvn</a></td><td>Global Value Numbering</td></tr>
|
||||||
<tr><td><a href="#indmemrem">-indmemrem</a></td><td>Indirect Malloc and Free Removal</td></tr>
|
|
||||||
<tr><td><a href="#indvars">-indvars</a></td><td>Canonicalize Induction Variables</td></tr>
|
<tr><td><a href="#indvars">-indvars</a></td><td>Canonicalize Induction Variables</td></tr>
|
||||||
<tr><td><a href="#inline">-inline</a></td><td>Function Integration/Inlining</td></tr>
|
<tr><td><a href="#inline">-inline</a></td><td>Function Integration/Inlining</td></tr>
|
||||||
<tr><td><a href="#insert-block-profiling">-insert-block-profiling</a></td><td>Insert instrumentation for block profiling</td></tr>
|
<tr><td><a href="#insert-block-profiling">-insert-block-profiling</a></td><td>Insert instrumentation for block profiling</td></tr>
|
||||||
@ -152,7 +151,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
|||||||
<tr><td><a href="#loop-unroll">-loop-unroll</a></td><td>Unroll loops</td></tr>
|
<tr><td><a href="#loop-unroll">-loop-unroll</a></td><td>Unroll loops</td></tr>
|
||||||
<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch loops</td></tr>
|
<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch loops</td></tr>
|
||||||
<tr><td><a href="#loopsimplify">-loopsimplify</a></td><td>Canonicalize natural loops</td></tr>
|
<tr><td><a href="#loopsimplify">-loopsimplify</a></td><td>Canonicalize natural loops</td></tr>
|
||||||
<tr><td><a href="#lowerallocs">-lowerallocs</a></td><td>Lower allocations from instructions to calls</td></tr>
|
|
||||||
<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower invoke and unwind, for unwindless code generators</td></tr>
|
<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower invoke and unwind, for unwindless code generators</td></tr>
|
||||||
<tr><td><a href="#lowersetjmp">-lowersetjmp</a></td><td>Lower Set Jump</td></tr>
|
<tr><td><a href="#lowersetjmp">-lowersetjmp</a></td><td>Lower Set Jump</td></tr>
|
||||||
<tr><td><a href="#lowerswitch">-lowerswitch</a></td><td>Lower SwitchInst's to branches</td></tr>
|
<tr><td><a href="#lowerswitch">-lowerswitch</a></td><td>Lower SwitchInst's to branches</td></tr>
|
||||||
@ -829,23 +827,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-------------------------------------------------------------------------- -->
|
|
||||||
<div class="doc_subsection">
|
|
||||||
<a name="indmemrem">Indirect Malloc and Free Removal</a>
|
|
||||||
</div>
|
|
||||||
<div class="doc_text">
|
|
||||||
<p>
|
|
||||||
This pass finds places where memory allocation functions may escape into
|
|
||||||
indirect land. Some transforms are much easier (aka possible) only if free
|
|
||||||
or malloc are not called indirectly.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Thus find places where the address of memory functions are taken and construct
|
|
||||||
bounce functions with direct calls of those functions.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-------------------------------------------------------------------------- -->
|
<!-------------------------------------------------------------------------- -->
|
||||||
<div class="doc_subsection">
|
<div class="doc_subsection">
|
||||||
<a name="indvars">Canonicalize Induction Variables</a>
|
<a name="indvars">Canonicalize Induction Variables</a>
|
||||||
@ -1327,22 +1308,6 @@ if (X < 3) {</pre>
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-------------------------------------------------------------------------- -->
|
|
||||||
<div class="doc_subsection">
|
|
||||||
<a name="lowerallocs">Lower allocations from instructions to calls</a>
|
|
||||||
</div>
|
|
||||||
<div class="doc_text">
|
|
||||||
<p>
|
|
||||||
Turn <tt>malloc</tt> and <tt>free</tt> instructions into <tt>@malloc</tt> and
|
|
||||||
<tt>@free</tt> calls.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
This is a target-dependent tranformation because it depends on the size of
|
|
||||||
data types and alignment constraints.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-------------------------------------------------------------------------- -->
|
<!-------------------------------------------------------------------------- -->
|
||||||
<div class="doc_subsection">
|
<div class="doc_subsection">
|
||||||
<a name="lowerinvoke">Lower invoke and unwind, for unwindless code generators</a>
|
<a name="lowerinvoke">Lower invoke and unwind, for unwindless code generators</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user