This is an archive of the discontinued LLVM Phabricator instance.

[Polly][Simplify] Add -polly-simplify pass.
ClosedPublic

Authored by Meinersbur on Mar 10 2017, 6:13 AM.

Details

Summary

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.

Diff Detail

Repository
rL LLVM

Event Timeline

Meinersbur created this revision.Mar 10 2017, 6:13 AM
grosser accepted this revision.Mar 10 2017, 6:26 AM

LGTM.

This revision is now accepted and ready to land.Mar 10 2017, 6:26 AM
Meinersbur updated this revision to Diff 91349.Mar 10 2017, 8:06 AM
  • Rebase to r297466
  • Fix codegen crash
This revision was automatically updated to reflect the committed changes.