mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-01 01:30:36 +00:00
validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37205 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b348bb8125
commit
b5c87f6056
@ -264,7 +264,7 @@ time.</p>
|
|||||||
|
|
||||||
<div class="doc_code"><pre>
|
<div class="doc_code"><pre>
|
||||||
static char ID;
|
static char ID;
|
||||||
Hello() : FunctionPass((intptr_t)&ID) {}
|
Hello() : FunctionPass((intptr_t)&ID) {}
|
||||||
</pre></div><p>
|
</pre></div><p>
|
||||||
|
|
||||||
<p> This declares pass identifier used by LLVM to identify pass. This allows LLVM to
|
<p> This declares pass identifier used by LLVM to identify pass. This allows LLVM to
|
||||||
@ -485,7 +485,7 @@ refering to function bodies in no predictable order, or adding and removing
|
|||||||
functions. Because nothing is known about the behavior of <tt>ModulePass</tt>
|
functions. Because nothing is known about the behavior of <tt>ModulePass</tt>
|
||||||
subclasses, no optimization can be done for their execution. A module pass
|
subclasses, no optimization can be done for their execution. A module pass
|
||||||
can use function level passes (e.g. dominators) using getAnalysis interface
|
can use function level passes (e.g. dominators) using getAnalysis interface
|
||||||
<tt> getAnalysis<DominatorTree>(Function)</tt>. </p>
|
<tt> getAnalysis<DominatorTree>(Function)</tt>. </p>
|
||||||
|
|
||||||
<p>To write a correct <tt>ModulePass</tt> subclass, derive from
|
<p>To write a correct <tt>ModulePass</tt> subclass, derive from
|
||||||
<tt>ModulePass</tt> and overload the <tt>runOnModule</tt> method with the
|
<tt>ModulePass</tt> and overload the <tt>runOnModule</tt> method with the
|
||||||
@ -746,7 +746,7 @@ program, or false if they didn't. </p>
|
|||||||
<b>virtual bool</b> doInitialization(Loop *, LPPassManager &LPM);
|
<b>virtual bool</b> doInitialization(Loop *, LPPassManager &LPM);
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
The <tt>doInitialization</tt> method is designed to do simple initialization
|
<p>The <tt>doInitialization</tt> method is designed to do simple initialization
|
||||||
type of stuff that does not depend on the functions being processed. The
|
type of stuff that does not depend on the functions being processed. The
|
||||||
<tt>doInitialization</tt> method call is not scheduled to overlap with any
|
<tt>doInitialization</tt> method call is not scheduled to overlap with any
|
||||||
other pass executions (thus it should be very fast). LPPassManager
|
other pass executions (thus it should be very fast). LPPassManager
|
||||||
@ -1159,7 +1159,7 @@ For example:</p>
|
|||||||
}
|
}
|
||||||
</pre></div>
|
</pre></div>
|
||||||
|
|
||||||
In above example, runOnFunction for DominatorTree is called by pass manager
|
<p>In above example, runOnFunction for DominatorTree is called by pass manager
|
||||||
before returning a reference to the desired pass.</p>
|
before returning a reference to the desired pass.</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@ -1797,6 +1797,8 @@ places (for global resources). Although this is a simple extension, we simply
|
|||||||
haven't had time (or multiprocessor machines, thus a reason) to implement this.
|
haven't had time (or multiprocessor machines, thus a reason) to implement this.
|
||||||
Despite that, we have kept the LLVM passes SMP ready, and you should too.</p>
|
Despite that, we have kept the LLVM passes SMP ready, and you should too.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- *********************************************************************** -->
|
<!-- *********************************************************************** -->
|
||||||
<hr>
|
<hr>
|
||||||
<address>
|
<address>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user