From: Yaron Keren Date: Thu, 1 May 2014 12:33:26 +0000 (+0000) Subject: Update post-r203364 http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3152576ea4768187f545efbffa1b542ab48eb9bc;p=oota-llvm.git Update post-r203364 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 --- diff --git a/docs/ProgrammersManual.rst b/docs/ProgrammersManual.rst index 9f388cc63f5..d545cb2b347 100644 --- a/docs/ProgrammersManual.rst +++ b/docs/ProgrammersManual.rst @@ -1738,16 +1738,12 @@ chain of ``F``: Function *F = ...; - for (Value::use_iterator i = F->use_begin(), e = F->use_end(); i != e; ++i) - if (Instruction *Inst = dyn_cast(*i)) { + for (User *U : GV->users()) { + if (Instruction *Inst = dyn_cast(U)) { errs() << "F is used in instruction:\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 `__) and need to know what ``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 = ...; - for (User::op_iterator i = pi->op_begin(), e = pi->op_end(); i != e; ++i) { - Value *v = *i; + for (Use& U : pi->operands()) { + Value *v = U.get(); // ... }