<pre>
<a href="#Instruction">Instruction</a> *I = .. ;
- <a href="#BasicBlock">BasicBlock</a> *BB = I->getParent();
- BB->getInstList().erase(I);
+ <a href="#BasicBlock">BasicBlock</a> *BB = I->getParent();
+ BB->getInstList().erase(I);
</pre><p>
<!--_______________________________________________________________________-->
<p><i>Replacing individual instructions</i></p>
<p>
Including "<a
-href="/doxygen/BasicBlock_8h-source.html">llvm/Transforms/Utils/BasicBlock.h
+href="/doxygen/BasicBlockUtils_8h-source.html">llvm/Transforms/Utils/BasicBlockUtils.h
</a>" permits use of two very useful replace functions:
<tt>ReplaceInstWithValue</tt> and <tt>ReplaceInstWithInst</tt>.
<ul>
-<li>ReplaceInstWithValue
+<li><tt>ReplaceInstWithValue</tt>
<p>This function replaces all uses (within a basic block) of a given
instruction with a value, and then removes the original instruction.
<pre>
AllocaInst* instToReplace = ...;
-ReplaceInstWithValue(*instToReplace->getParent(), instToReplace,
+ReplaceInstWithValue(*instToReplace->getParent(), instToReplace,
Constant::getNullValue(PointerType::get(Type::IntTy)));
</pre>
-<li>ReplaceInstWithInst
+<li><tt>ReplaceInstWithInst</tt>
<p>This function replaces a particular instruction with another
instruction. The following example illustrates the replacement of one
<pre>
AllocaInst* instToReplace = ...;
-ReplaceInstWithInst(*instToReplace->getParent(), instToReplace,
+ReplaceInstWithInst(*instToReplace->getParent(), instToReplace,
new AllocaInst(Type::IntTy, 0, "ptrToReplacedInt");
</pre>