summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen/non-affine-region-implicit-store.ll
Commit message (Collapse)AuthorAgeFilesLines
* Fix dominance when subregion exit is outside scopMichael Kruse2015-11-091-2/+2
| | | | | | | | | | | | | | | The dominance of the generated non-affine subregion block was based on the scop's merge block, therefore resulted in an invalid DominanceTree. It resulted in some values as assumed to be unusable in the actual generated exit block. We detect the case that the exit block has been moved and decide dominance using the BB at the original exit. If we create another exit node, that exit nodes is dominated by the one generated from where the original exit resides. This fixes llvm.org/PR25438 and part of llvm.org/PR25439. llvm-svn: 252526
* Revert r252375 "Fix non-affine region dominance of implicitely stored values"Michael Kruse2015-11-091-1/+1
| | | | | | | | It introduced indeterminism as it was iterating over an address-indexed hashtable. The corresponding bug PR25438 will be fixed in a successive commit. llvm-svn: 252522
* Fix non-affine region dominance of implicitely stored valuesMichael Kruse2015-11-071-0/+48
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 llvm-svn: 252375
OpenPOWER on IntegriCloud