This is an archive of the discontinued LLVM Phabricator instance.

Fix non-affine region dominance of implicitely stored values
AbandonedPublic

Authored by Meinersbur on Nov 8 2015, 8:07 PM.

Details

Summary

After loop versioning, a dominance check of a non-affine subregion's
exit node causes the dominance check to always fail on any block in the
subregion if it shares the same exit block with the scop. The
subregion's exit block has become polly_merge_new_and_old, which also
receives the control flow of the generated code. This would cause that
any value for implicit stores is assumed to be not from the scop.

We check dominance with the generated exit node instead.

This fixes llvm.org/PR25438

Diff Detail

Event Timeline

Meinersbur updated this revision to Diff 39662.Nov 8 2015, 8:07 PM
Meinersbur retitled this revision from to Fix non-affine region dominance of implicitely stored values.
Meinersbur updated this object.
Meinersbur added reviewers: grosser, jdoerfert.
Meinersbur added subscribers: pollydev, llvm-commits.
Meinersbur abandoned this revision.Nov 8 2015, 8:50 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: Groverkss. · View Herald Transcript