Displaying 1 result from an estimated 1 matches for "miv8".
Did you mean:
iv8
2012 Sep 22
0
[LLVMdev] sign extensions, SCEVs, and wrap flags
...ned.
If n, i, and j are all declared as long ints, I get the much cleaner
*src = {{0,+,(2 * %n)}<%for.cond1.preheader>,+,4}<%for.body3>*
*dst = {{1,+,(8 * %n)}<%for.cond1.preheader>,+,6}<%for.body3>*
which I can analyze accurately.
The manually linearized version
*void miv8(int n, int *A, int *B) {*
* for (int i = 0; i < n; i++)*
* for (int j = 0; j < n; j++) {*
* A[n*2*i + 4*j] = i;*
* *B++ = A[n*8*i + 6*j + 1];*
* }*
*}*
yields
*src = (sext i32 {{0,+,(2 * %n)}<%for.cond1.preheader>,+,4}<%for.body3> to
i64)*
*dst = (sext i32 {{1,...