mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 08:46:37 +00:00
Add section on the newly added Instruction and subclasses constructor
variant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13802 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f3ecf3a40c
commit
9a5dc4f7e5
@ -808,7 +808,22 @@ into an existing sequence of instructions that form a <tt>BasicBlock</tt>:</p>
|
||||
<tt>BasicBlock</tt>, and a newly-created instruction we wish to insert
|
||||
before <tt>*pi</tt>, we do the following: </p>
|
||||
|
||||
<pre> BasicBlock *pb = ...;<br> Instruction *pi = ...;<br> Instruction *newInst = new Instruction(...);<br> pb->getInstList().insert(pi, newInst); // inserts newInst before pi in pb<br></pre></li>
|
||||
<pre> BasicBlock *pb = ...;<br> Instruction *pi = ...;<br> Instruction *newInst = new Instruction(...);<br> pb->getInstList().insert(pi, newInst); // inserts newInst before pi in pb<br></pre>
|
||||
|
||||
<p>Appending to the end of a <tt>BasicBlock</tt> is so common that
|
||||
the <tt>Instruction</tt> class and <tt>Instruction</tt>-derived
|
||||
classes provide constructors which take a pointer to a
|
||||
<tt>BasicBlock</tt> to be appended to. For example code that
|
||||
looked like: </p>
|
||||
|
||||
<pre> BasicBlock *pb = ...;<br> Instruction *newInst = new Instruction(...);<br> pb->getInstList().push_back(newInst); // appends newInst to pb<br></pre>
|
||||
|
||||
<p>becomes: </p>
|
||||
|
||||
<pre> BasicBlock *pb = ...;<br> Instruction *newInst = new Instruction(..., pb);<br></pre>
|
||||
|
||||
<p>which is much cleaner, especially if you are creating
|
||||
long instruction streams.</p></li>
|
||||
|
||||
<li>Insertion into an implicit instruction list
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user