[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