[PATCH] D46668: [STLExtras] Add a range-based distance()

Vedant Kumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 9 17:29:13 PDT 2018


vsk created this revision.
vsk added reviewers: timshen, zturner, bjope.
Herald added subscribers: kbarton, nemanjai.

Add a wrapper for std::distance() which works with ranges.

For example, instead of writing this:

  NumPreds = std::distance(pred_begin(BB), pred_end(BB))

You could write this:

  NumPreds = distance(predecessors(BB))


https://reviews.llvm.org/D46668

Files:
  include/llvm/ADT/STLExtras.h
  lib/Analysis/BranchProbabilityInfo.cpp
  lib/Analysis/LazyCallGraph.cpp
  lib/Analysis/LoopInfo.cpp
  lib/AsmParser/LLParser.cpp
  lib/Bitcode/Writer/ValueEnumerator.cpp
  lib/CodeGen/CodeGenPrepare.cpp
  lib/CodeGen/ImplicitNullChecks.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/IR/Value.cpp
  lib/Target/PowerPC/PPCLoopPreIncPrep.cpp
  lib/Transforms/IPO/PartialInlining.cpp
  lib/Transforms/Scalar/GVNHoist.cpp
  lib/Transforms/Scalar/JumpThreading.cpp
  lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
  lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  lib/Transforms/Utils/CloneFunction.cpp
  lib/Transforms/Utils/Local.cpp
  lib/Transforms/Utils/PromoteMemoryToRegister.cpp
  lib/Transforms/Utils/SimplifyCFG.cpp
  lib/Transforms/Vectorize/VPlan.cpp
  unittests/ADT/IteratorTest.cpp
  unittests/IR/BasicBlockTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46668.146038.patch
Type: text/x-patch
Size: 17746 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180510/111f1808/attachment.bin>


More information about the llvm-commits mailing list