[PATCH] D31548: [IR] Redesign the case iterator in SwitchInst to actually be an iterator and to expose a handle to represent the actual case rather than having the iterator return a reference to itself.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 31 13:49:56 PDT 2017


chandlerc created this revision.
Herald added subscribers: eraman, mzolotukhin, mcrosier.

All of this allows the iterator to be used with common STL facilities,
standard algorithms, etc.

Doing this exposed some missing facilities in the iterator facade that
I've fixed and required some work to the actual iterator to fully
support the necessary API.


https://reviews.llvm.org/D31548

Files:
  include/llvm/ADT/iterator.h
  include/llvm/Analysis/CFGPrinter.h
  include/llvm/IR/Instructions.h
  lib/Analysis/InlineCost.cpp
  lib/Analysis/LazyValueInfo.cpp
  lib/Analysis/SparsePropagation.cpp
  lib/Bitcode/Writer/BitcodeWriter.cpp
  lib/CodeGen/CodeGenPrepare.cpp
  lib/ExecutionEngine/Interpreter/Execution.cpp
  lib/IR/AsmWriter.cpp
  lib/IR/Instructions.cpp
  lib/Transforms/Coroutines/CoroSplit.cpp
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  lib/Transforms/Scalar/GVN.cpp
  lib/Transforms/Scalar/JumpThreading.cpp
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  lib/Transforms/Scalar/LoopUnswitch.cpp
  lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  lib/Transforms/Scalar/NewGVN.cpp
  lib/Transforms/Scalar/SCCP.cpp
  lib/Transforms/Utils/CloneFunction.cpp
  lib/Transforms/Utils/Evaluator.cpp
  lib/Transforms/Utils/Local.cpp
  lib/Transforms/Utils/LowerSwitch.cpp
  lib/Transforms/Utils/SimplifyCFG.cpp
  tools/llvm-diff/DifferenceEngine.cpp
  unittests/IR/InstructionsTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31548.93703.patch
Type: text/x-patch
Size: 42668 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170331/79ef9594/attachment.bin>


More information about the llvm-commits mailing list