[PATCH] D41302: [LoopSimplify] Preserve Post Dom Trees across Loop Simplify

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 15 10:08:08 PST 2017


dmgreen created this revision.
Herald added subscribers: kbarton, nhaehnle, nemanjai, mehdi_amini, arsenm.

This is the logic for keeping PDT's up-to-date across LoopSimplify. It is mostly straight forward uses of splitBlocks and applyUpdates.

      

The interface I'm not sure about.


https://reviews.llvm.org/D41302

Files:
  include/llvm/Transforms/Utils/BasicBlockUtils.h
  include/llvm/Transforms/Utils/LoopSimplify.h
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
  lib/Target/PowerPC/PPCCTRLoops.cpp
  lib/Target/PowerPC/PPCLoopPreIncPrep.cpp
  lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Scalar/LoopInterchange.cpp
  lib/Transforms/Scalar/LoopRerollPass.cpp
  lib/Transforms/Scalar/LoopStrengthReduce.cpp
  lib/Transforms/Scalar/LoopUnrollPass.cpp
  lib/Transforms/Scalar/LoopUnswitch.cpp
  lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  lib/Transforms/Utils/BasicBlockUtils.cpp
  lib/Transforms/Utils/BreakCriticalEdges.cpp
  lib/Transforms/Utils/LoopSimplify.cpp
  lib/Transforms/Utils/LoopUnroll.cpp
  lib/Transforms/Utils/LoopUnrollPeel.cpp
  lib/Transforms/Utils/LoopUnrollRuntime.cpp
  lib/Transforms/Utils/LoopUtils.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  test/Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll
  test/Transforms/LoopSimplify/2010-07-15-IncorrectDomFrontierUpdate.ll
  test/Transforms/LoopSimplify/indirectbr.ll
  test/Transforms/LoopSimplify/merge-exits.ll
  test/Transforms/LoopSimplify/preserve-pdt.ll
  test/Transforms/LoopSimplify/unreachable-loop-pred.ll
  unittests/Transforms/Scalar/LoopPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41302.127155.patch
Type: text/x-patch
Size: 38668 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171215/2ba81b80/attachment.bin>


More information about the llvm-commits mailing list