[PATCH] D24716: [Polly] DeLICM/DePRE (WIP)
Michael Kruse via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 19 02:27:50 PDT 2016
Meinersbur created this revision.
Meinersbur added a reviewer: grosser.
Meinersbur added subscribers: llvm-commits, pollydev.
Meinersbur added a project: Polly.
Herald added subscribers: mgorny, beanz.
Implement -polly-delicm pass. The pass intends to undo the effects of LoadInvariantCodeMotion and GVN's Partial Redundancy Elimination (Load PTR) which adds additional scalar dependencies into scops.
DeLICM/DePRE will try to map those scalars back to the array elements they were promoted from, as long as the array element is unused.
This is work in progress. The patch is not as tidy as it could be, not all functions have been commended yet, most test cases fail and some refactoring is still planned.
https://reviews.llvm.org/D24716
Files:
include/polly/DeLICM.h
include/polly/LinkAllPasses.h
include/polly/ScopInfo.h
include/polly/Support/GICHelper.h
lib/Analysis/ScopInfo.cpp
lib/CMakeLists.txt
lib/CodeGen/BlockGenerators.cpp
lib/CodeGen/IslNodeBuilder.cpp
lib/Support/GICHelper.cpp
lib/Support/RegisterPasses.cpp
lib/Transform/DeLICM.cpp
test/CMakeLists.txt
test/DeLICM/block.ll
test/DeLICM/block0.ll
test/DeLICM/delicm_GVN.ll
test/DeLICM/delicm_LICM_cond.ll
test/DeLICM/delicm_LICM_conditional_reductions.ll
test/DeLICM/delicm_LICM_consecutive_reductions.ll
test/DeLICM/delicm_LICM_loads.ll
test/DeLICM/delicm_LICM_nested_reductions.ll
test/DeLICM/delicm_LICM_nonaffine.ll
test/DeLICM/delicm_LICM_reduction.ll
test/DeLICM/delicm_LICM_split.ll
test/DeLICM/delicm_LICM_two_reductions.ll
test/DeLICM/delicm_LICM_writes.ll
test/DeLICM/delicm_base.ll
test/DeLICM/doubleacc.ll
test/DeLICM/durbin.ll
test/DeLICM/gemm-before.ll
test/DeLICM/gemm.ll
test/DeLICM/gemm_complete.ll
test/DeLICM/incomplete_phi.ll
test/DeLICM/licm_potential_store.ll
test/DeLICM/licm_reduction_nested.ll
test/DeLICM/licm_store.ll
test/DeLICM/macroblock0.ll
test/DeLICM/oggenc.ll
test/DeLICM/reduction.ll
test/DeLICM/reduction_embedded.ll
test/DeLICM/tsc.ll
test/DeLICM/tsc0.ll
test/ScopInfo/NonAffine/non_affine_loop_used_later.ll
test/ScopInfo/licm_load.ll
test/ScopInfo/licm_potential_store.ll
test/ScopInfo/licm_reduction.ll
test/ScopInfo/licm_reduction_nested.ll
test/ScopInfo/licm_store.ll
test/update_check.py
unittests/CMakeLists.txt
unittests/DeLICM/CMakeLists.txt
unittests/DeLICM/DeLICMTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24716.71782.patch
Type: text/x-patch
Size: 614636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160919/a578e6f7/attachment-0001.bin>
More information about the llvm-commits
mailing list