[PATCH] D30820: [Polly][Simplify] Add -polly-simplify pass.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 10 06:13:32 PST 2017


Meinersbur created this revision.
Herald added a subscriber: mgorny.

This new pass removes unnecessary accesses and writes. It currently supports 2 simplifications, but more are planned.

It removes write accesses that write a loaded value back to the location it was loaded from. It is a typical artifact from DeLICM. Removing it also removes bogus dependencies.

It also removes statements without side-effects. ScopInfo already removes these, but the removal of unnecessary writes can result in more side-effect free statements.


https://reviews.llvm.org/D30820

Files:
  include/polly/LinkAllPasses.h
  include/polly/ScopInfo.h
  include/polly/Simplify.h
  lib/Analysis/ScopInfo.cpp
  lib/CMakeLists.txt
  lib/Support/RegisterPasses.cpp
  lib/Transform/Simplify.cpp
  test/Simplify/pass_existence.ll
  test/Simplify/redundant.ll
  test/Simplify/redundant_differentindex.ll
  test/Simplify/redundant_storebetween.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D30820.91324.patch
Type: text/x-patch
Size: 18909 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170310/506aa427/attachment.bin>


More information about the llvm-commits mailing list