http://llvm.org/bugs/show_bug.cgi?id=19336

            Bug ID: 19336
           Summary: Delinearization fails when loop indexes are in reverse
                    order
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Loop Optimizer
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Created attachment 12342
  --> http://llvm.org/bugs/attachment.cgi?id=12342&action=edit
Reduced test case

We can sucessfully delinearize this piece of code:

A[][dim_size];

for (i = 0; i < n; i++)_
  for (j = 0; j < n; j++)
    A[i][j]

AddRec: {{%A,+,(4 * %dim_size)}<%loop.i>,+,4}<%loop.j>
Base offset: %A
ArrayDecl[UnknownSize][%dim_size] with elements of 4 bytes.
ArrayRef[{0,+,1}<%loop.i>][{0,+,1}<%loop.j>]

but fail for:

A[][dim_size];

for (i = 0; i < n; i++)_
  for (j = 0; j < n; j++)
    A[j][i]

AddRec: {{%A,+,4}<%loop.i>,+,(4 * %dim_size)}<%loop.j>
Base offset: %A
ArrayDecl[UnknownSize][1] with elements of 4 bytes.
ArrayRef[{0,+,1}<%loop.i>][{0,+,%dim_size}<%loop.j>]

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to