Meinersbur added a comment. In https://reviews.llvm.org/D47267#1109912, @dmgreen wrote:
> > Could we maybe disable the #pragma clang loop unroll_and_jam spelling ftm > > to avoid compatibility issues? > > Sure, I'm not against. It sounds like you have opinions on how this should > work. That's good. If there are multiple clang loop pragma's, what is the > expected behaviour there? > > In the llvm side of this, in the unroll and jam pass, I made it so that a > loop with "llvm.loop.unroll" metadata without any "llvm.loop.unroll_and_jam" > metadata will not do unroll and jam, it will leave the loop for the unroller. > On the expectation that the use really wants to unroll (and it applies to > llvm.loop.unroll.disable too, disabling unroll and jam as well as unroll). I > haven't done anything with other loop metadata though. I'd expect that transformations "stack up". E.g. #pragma unroll_and_jam #pragma unroll(4) which I'd expect to unroll by a factor of 4 first, then try to unroll-and-jam (which I am not sure https://reviews.llvm.org/D41953 can do due to then containing 4 loops). On the other hand #pragma unroll(4) #pragma unroll_and_jam should unroll-and-jam, and then unroll the outer loop by a factor of 4. https://reviews.llvm.org/D47267 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits