[PATCH] [Polly][PoC] First step to remove IndependentBlocks & CodeGeneration
Johannes Doerfert
doerfert at cs.uni-saarland.de
Sun Oct 12 17:27:30 PDT 2014
Hi grosser, sebpop, dpeixott, simbuerg,
This is a proof of concept that we can model the SCoP and the
dependences as accurate as before even witout IndependentBlocks
and CodePreparation. It should help to start a discussion about
Polly as analyzer and make it more applicable at some point.
Changes include:
- Remove the CodeGeneration pass and tests
- Remove the IndependentBlocks pass and tests
- Removed some tests only testing the passes above (not all though)
- Modified some tests that were failing without good reason
- Allowed PHI nodes in ScopDetection
- Changed the SCoP creation to allow the proper handling of PHIs
- Modelt PHI nodes precicly in the SCoP
- Enabled -polly-codegen-scev and disabled "DisableIntraScopScalarToArray"
- A test case for non synthesizable PHI nodes
(test/ScopInfo/phi_scalar_simple_1.ll)
Missing changes:
- The code generation will not be able to handle PHI nodes properly
Thoughts of any kind are welcome.
http://reviews.llvm.org/D5748
Files:
include/polly/LinkAllPasses.h
include/polly/ScopDetection.h
include/polly/ScopInfo.h
include/polly/Support/ScopHelper.h
lib/Analysis/ScopDetection.cpp
lib/Analysis/ScopInfo.cpp
lib/Analysis/TempScopInfo.cpp
lib/CMakeLists.txt
lib/CodeGen/BlockGenerators.cpp
lib/CodeGen/CodeGeneration.cpp
lib/CodeGen/IslCodeGeneration.cpp
lib/Makefile
lib/Support/RegisterPasses.cpp
lib/Support/ScopHelper.cpp
lib/Transform/Canonicalization.cpp
lib/Transform/CodePreparation.cpp
lib/Transform/IndependentBlocks.cpp
test/Cloog/CodeGen/constant_condition.ll
test/CodePreparation/if_condition.ll
test/CodePreparation/multiple_loops_trivial_phis.ll
test/CodePreparation/single_loop_trivial_phi.ll
test/IndependentBlocks/inter_bb_scalar_dep.ll
test/IndependentBlocks/intra_and_inter_bb_scalar_dep.ll
test/IndependentBlocks/intra_bb_scalar_dep.ll
test/IndependentBlocks/phi_outside_scop.ll
test/IndependentBlocks/scalar_to_array.ll
test/IndependentBlocks/scev-invalidated.ll
test/Isl/Ast/dependence_distance_parametric_expr.ll
test/Isl/CodeGen/constant_condition.ll
test/Isl/CodeGen/loop_with_condition_nested.ll
test/ScopDetect/simple_loop_two_phi_nodes.ll
test/ScopInfo/bug_2011_1_5.ll
test/ScopInfo/loop_carry.ll
test/ScopInfo/phi_not_grouped_at_top.ll
test/ScopInfo/phi_scalar_simple_1.ll
test/ScopInfo/phi_with_invoke_edge.ll
test/ScopInfo/scalar.ll
test/TempScop/inter_bb_scalar_dep.ll
test/TempScop/intra_and_inter_bb_scalar_dep.ll
test/TempScop/intra_bb_scalar_dep.ll
test/TempScop/scalar_to_array.ll
test/TempScop/tempscop-printing.ll
www/documentation/passes.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5748.14781.patch
Type: text/x-patch
Size: 96033 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141013/d0682642/attachment.bin>
More information about the llvm-commits
mailing list