[PATCH] D28766: [PM] Teach the loop PM to run LoopSimplify prior to the loop pipeline.

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 16 03:27:38 PST 2017


chandlerc created this revision.
chandlerc added a subscriber: llvm-commits.
chandlerc added a dependency: D28743: [PM] Teach the LoopPassManager to automatically canonicalize loops by runnig LCSSA over them prior to running the loop pipeline..
Herald added subscribers: mcrosier, mehdi_amini.

This adds the last remaining core feature of the loop pass pipeline in
the new PM and removes the last of the really egregious hacks in the
LICM tests.

Sadly, this requires really substantial changes in the unittests in
order to provide and maintain simplified loops. This is particularly
hard because for example LoopSimplify will try to fold undef branches to
an ideal direction and simplify the loop accordingly.

Depends on https://reviews.llvm.org/D28743.


https://reviews.llvm.org/D28766

Files:
  include/llvm/Transforms/Scalar/LoopPassManager.h
  test/Other/new-pass-manager.ll
  test/Transforms/LICM/hoist-bitcast-load.ll
  test/Transforms/LICM/hoist-deref-load.ll
  unittests/Transforms/Scalar/LoopPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28766.84537.patch
Type: text/x-patch
Size: 34325 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170116/ed8d8292/attachment.bin>


More information about the llvm-commits mailing list