This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Model PHI nodes without demoting them
ClosedPublic

Authored by jdoerfert on Feb 4 2015, 11:10 AM.

Details

Summary
This allows us to model PHI nodes in the polyhedral description
without demoting them. The modeling however will result in the
same accesses as the demotion would have introduced.

Diff Detail

Event Timeline

jdoerfert updated this revision to Diff 19341.Feb 4 2015, 11:10 AM
jdoerfert retitled this revision from to [Polly] Model PHI nodes without demoting them.
jdoerfert updated this object.
jdoerfert edited the test plan for this revision. (Show Details)
jdoerfert added subscribers: Restricted Project, Unknown Object (MLST).
grosser edited edge metadata.Feb 4 2015, 11:20 PM

Hi Johannes,

the patch looks good in general. As you mentioned earlier, the test coverage is still a little low. I would be interested in a loop with a non-IV PHI node, as well as two tests where the values in the PHis are instructions, once executed in the incoming basic blocks and once in a block that is post-dominated by the relevant incoming block. What do you think?

Cheers,
Tobias

lib/Analysis/ScopDetection.cpp
155

without

lib/Analysis/TempScopInfo.cpp
102

Maybe a comment on how we handle PHI accesses, where loads/stores are created.

111

Can this ever happen? If it can, maybe this is worth a test case, otherwise maybe make this an assert?

247

No need for braces?

jdoerfert updated this revision to Diff 19408.Feb 5 2015, 7:59 AM
jdoerfert edited edge metadata.

I don't know what test you exactly want. I added some and also fixed an
inconsistency I encountered along the way. If you want a specific test please
give me some C snippet or a at least a more precise description.

This revision was automatically updated to reflect the committed changes.