[PATCH] D36380: [Polly][ForwardOpTree] Use known array content analysis to forward load instruction.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 6 10:49:18 PDT 2017


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

This is an addition to the -polly-optree pass that reuses the array content analysis from DeLICM to find array elements that contain the same value as the value loaded when the target statement instance is executed.

The analysis is enabled by default -polly-position=before-vectorizer.

The known content analysis could also be used to rematerialize any llvm::Value that was written to some array element, but currently only loads are forwarded.


https://reviews.llvm.org/D36380

Files:
  include/polly/RegisterPasses.h
  include/polly/ScopInfo.h
  include/polly/Support/ISLTools.h
  include/polly/ZoneAlgo.h
  lib/Analysis/ScopInfo.cpp
  lib/Support/ISLTools.cpp
  lib/Support/RegisterPasses.cpp
  lib/Transform/DeLICM.cpp
  lib/Transform/ForwardOpTree.cpp
  lib/Transform/ZoneAlgo.cpp
  test/ForwardOpTree/forward_load.ll
  test/ForwardOpTree/forward_load_differentarray.ll
  test/ForwardOpTree/forward_load_fromloop.ll
  test/ForwardOpTree/noforward_load_conditional.ll
  test/ForwardOpTree/noforward_load_writebetween.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36380.109929.patch
Type: text/x-patch
Size: 46731 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170806/89ba66bb/attachment.bin>


More information about the llvm-commits mailing list