<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jul 17, 2013, at 5:11 PM, Ali Javadi <<a href="mailto:aj14889@yahoo.com">aj14889@yahoo.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Hi,<br><br>In LLVM (using the opt tool), is it possible to force a nested loop be unrolled entirely? Something like a pass option?<br>I have a nested loop with depth of 4, and all trip counts are known at compile time, but so far I've only been able to do this by 4 invocations of the -loop-simplify, -loop-rotate, -loop-unroll passes.<br></div></blockquote></div><br><div>This has to do with the order that the LoopUnrollPass is applied to the loops. The unroll pass itself wouldn’t be able to control it.</div><div><br></div><div>The loop tree should be processed bottom-up, so nested loops should be fully unrolled. If you’re not seeing that for an obvious case, please file a bug.</div><div><br></div><div>-Andy</div></body></html>