[PATCH] D35754: [ForwardOpTree] Introduce the -polly-optree pass.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 21 19:00:10 PDT 2017


Meinersbur created this revision.
Meinersbur added a project: Polly.
Herald added a subscriber: mgorny.
Herald added a reviewer: bollu.

This pass 'forwards' operand trees into statements that use them in order to avoid scalar dependencies.

This minimal implementation handles only the case of speculatable instructions. We will successively add support for:

- Hoisted loads
- Read-only values
- Synthesizable values
- Loads
- PHIs
- Forwarding only parts of the tree


https://reviews.llvm.org/D35754

Files:
  include/polly/ForwardOpTree.h
  include/polly/ScopInfo.h
  lib/CMakeLists.txt
  lib/Support/RegisterPasses.cpp
  lib/Transform/ForwardOpTree.cpp
  test/ForwardOpTree/forward_instruction.ll
  test/ForwardOpTree/forward_transitive.ll
  test/ForwardOpTree/noforward_partial.ll
  test/ForwardOpTree/noforward_phi.ll
  test/ForwardOpTree/noforward_region.ll
  test/ForwardOpTree/noforward_sideffects.ll
  test/ForwardOpTree/noforward_synthesizable.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35754.107767.patch
Type: text/x-patch
Size: 25566 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170722/48e9d3b0/attachment.bin>


More information about the llvm-commits mailing list