This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Introduce list of statements in Scop::StmtMap. NFC
ClosedPublic

Authored by nandini12396 on Jul 12 2017, 5:13 AM.

Details

Summary

Once statements are split, a Basic Block will comprise of multiple statements. To prepare for this change in future, we introduce a list of statements in the statement map.

Diff Detail

Repository
rL LLVM

Event Timeline

nandini12396 created this revision.Jul 12 2017, 5:13 AM
Meinersbur accepted this revision.Jul 13 2017, 9:52 AM
This revision is now accepted and ready to land.Jul 13 2017, 9:52 AM

I intended to commit, but r307907 seems to have broken the unit tests. I'll wait until it is green again.

grosser edited edge metadata.Jul 13 2017, 1:51 PM

The buildbots are green for me (except one older before-vectorizer issue) I can see.

sure, thank you.

bollu edited edge metadata.Jul 14 2017, 12:40 AM

@Meinersbur - Could you please tell me what breaks with r307907?

@Meinersbur: If you find time, would be great to check if the unit tests are still broken under windows.

This revision was automatically updated to reflect the committed changes.

@bollu: It wss fixed by 'r308215'. Somewhat strange, it looked like the change in ScopInfo.cpp was active already before that commit, but not its changed test cases, so they failed. For example:

FAIL: Polly :: DeLICM/reduction_looprotate_load.ll (16 of 959)
******************** TEST 'Polly :: DeLICM/reduction_looprotate_load.ll' FAILED ********************
Script:
--
opt  -polly-process-unprofitable  -polly-remarks-minimal  -polly-use-llvm-names  -polly-import-jscop-dir=C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM  -polly-flatten-schedule -polly-delicm-overapproximate-writes=true -polly-delicm-compute-known=true -polly-delicm -analyze < C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM\reduction_looprotate_load.ll | FileCheck C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM\reduction_looprotate_load.ll
--
Exit Code: 1

Command Output (stdout):
--
$ "opt" "-polly-process-unprofitable" "-polly-remarks-minimal" "-polly-use-llvm-names" "-polly-import-jscop-dir=C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM" "-polly-flatten-schedule" "-polly-delicm-overapproximate-writes=true" "-polly-delicm-compute-known=true" "-polly-delicm" "-analyze"
$ "FileCheck" "C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM\reduction_looprotate_load.ll"
# command stderr:
C:\Users\Meinersbur\src\llvm\tools\polly\test\DeLICM\reduction_looprotate_load.ll:71:15: error: expected string not found in input
; CHECK-NEXT: new: { Stmt_reduction_preheader[i0] -> MemRef_A[i0] : 0 <= i0 <= 1 };
              ^
<stdin>:35:2: note: scanning from here
 new: { Stmt_reduction_preheader[i0] -> MemRef_A[i0] };
 ^

error: command failed with exit status: 1

I am able to reproduce it under Windows, lxss (Bash on Windows) and Linux. SHA1 collision?