mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Update post-r203364 http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140303/207915.html
and ranged for loops. http://reviews.llvm.org/D3582 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207755 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3c5651a003
commit
3152576ea4
@ -1738,16 +1738,12 @@ chain of ``F``:
|
|||||||
|
|
||||||
Function *F = ...;
|
Function *F = ...;
|
||||||
|
|
||||||
for (Value::use_iterator i = F->use_begin(), e = F->use_end(); i != e; ++i)
|
for (User *U : GV->users()) {
|
||||||
if (Instruction *Inst = dyn_cast<Instruction>(*i)) {
|
if (Instruction *Inst = dyn_cast<Instruction>(U)) {
|
||||||
errs() << "F is used in instruction:\n";
|
errs() << "F is used in instruction:\n";
|
||||||
errs() << *Inst << "\n";
|
errs() << *Inst << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
Note that dereferencing a ``Value::use_iterator`` is not a very cheap operation.
|
|
||||||
Instead of performing ``*i`` above several times, consider doing it only once in
|
|
||||||
the loop body and reusing its result.
|
|
||||||
|
|
||||||
Alternatively, it's common to have an instance of the ``User`` Class (`doxygen
|
Alternatively, it's common to have an instance of the ``User`` Class (`doxygen
|
||||||
<http://llvm.org/doxygen/classllvm_1_1User.html>`__) and need to know what
|
<http://llvm.org/doxygen/classllvm_1_1User.html>`__) and need to know what
|
||||||
``Value``\ s are used by it. The list of all ``Value``\ s used by a ``User`` is
|
``Value``\ s are used by it. The list of all ``Value``\ s used by a ``User`` is
|
||||||
@ -1759,8 +1755,8 @@ instruction uses (that is, the operands of the particular ``Instruction``):
|
|||||||
|
|
||||||
Instruction *pi = ...;
|
Instruction *pi = ...;
|
||||||
|
|
||||||
for (User::op_iterator i = pi->op_begin(), e = pi->op_end(); i != e; ++i) {
|
for (Use& U : pi->operands()) {
|
||||||
Value *v = *i;
|
Value *v = U.get();
|
||||||
// ...
|
// ...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user