[Bug 15771] New: Extending scops to handle loops with unknown (parametric) trip count

31 views
Skip to first unread message

bugzill...@llvm.org

unread,
Apr 17, 2013, 2:51:56 PM4/17/13
to poll...@googlegroups.com
Bug ID 15771
Summary Extending scops to handle loops with unknown (parametric) trip count
Product Projects
Version unspecified
Hardware Other
OS Linux
Status NEW
Severity normal
Priority P
Component Polly
Assignee poll...@googlegroups.com
Reporter sp...@codeaurora.org
Classification Unclassified

The following testcase

int A[100];
void foo(int n) { 
  for (int i = 0, j = 0; i < n; i+=2, j++)
    A[j] += 1;
}

is not recognized as a valid scop: -debug-only=polly-detect prints:

Checking region: entry => <Function Return>
    Top level region is invalid
Checking region: entry.split => for.end
    Non affine loop bound '***COULDNOTCOMPUTE***' in loop: for.body
Checking region: for.body => for.cond.for.end_crit_edge
    Non affine loop bound '***COULDNOTCOMPUTE***' in loop: for.body

And this corresponds to this code:

  // Is the loop count affine?
  const SCEV *LoopCount = SE->getBackedgeTakenCount(L);
  if (!isAffineExpr(&Context.CurRegion, LoopCount, *SE))
    INVALID(LoopBound,
            "Non affine loop bound '"
                << *LoopCount << "' in loop: " << L->getHeader()->getName());

I think that unknown loop trip counts could be handled by adding a new
parameter.


You are receiving this mail because:
  • You are the assignee for the bug.

bugzill...@llvm.org

unread,
Sep 26, 2015, 10:05:28 AM9/26/15
to poll...@googlegroups.com
Johannes Doerfert changed bug 15771
What Removed Added
Status NEW RESOLVED
CC   doer...@cs.uni-saarland.de
Resolution --- FIXED

Comment # 5 on bug 15771 from Johannes Doerfert
Fixed with the new domain generation and test case added in r248668.

Reply all
Reply to author
Forward
0 new messages