This is an archive of the discontinued LLVM Phabricator instance.

[Polly][PoC] First step to remove IndependentBlocks & CodeGeneration
AbandonedPublic

Authored by jdoerfert on Oct 12 2014, 5:27 PM.

Details

Summary
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.

Diff Detail

Event Timeline

jdoerfert updated this revision to Diff 14781.Oct 12 2014, 5:27 PM
jdoerfert retitled this revision from to [Polly][PoC] First step to remove IndependentBlocks & CodeGeneration.
jdoerfert updated this object.
jdoerfert edited the test plan for this revision. (Show Details)
jdoerfert added subscribers: Restricted Project, Unknown Object (MLST).
jdoerfert abandoned this revision.Feb 2 2015, 12:12 PM

I will chuck this patch in pieces and recommit them.

test/Isl/CodeGen/loop_with_condition_nested.ll