[PATCH] D44338: [LV][VPlan] Build plain CFG with simple VPInstructions for outer loops.

Adrian Prantl via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 11 14:01:22 PDT 2018


aprantl added a comment.

> Vectorized loop by nature executes multiple iterations of the sequential loop at the same time. So, the same variable X (say, i32 type) is widened to widenedX (4 x i32 type) to represent 4 different values of X, say, for iterations i, i+1, i+2, and i+3 executing together. In terms of debugging vectorized code, when the programmer points to X during vector execution, debugger needs to show 4 different values of X in this scenario. It's different from placing one value in a larger sized register.

I see. This is not directly representable in debug info. You could either introduce a new artificial $X_vectorized variable that shows the entire vector, or you could represent only the first element in the vector and hide the other unrolled iterations. DWARF cannot currently represent more than one value per variable per pc address.


https://reviews.llvm.org/D44338





More information about the llvm-commits mailing list