<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 17 jan 2012, at 16:02, Sven Verdoolaege wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On Tue, Jan 17, 2012 at 03:19:03PM +0100, Pieter Custers wrote:<br><blockquote type="cite">1) pet would be okay to use, but then I loose the ability to transform loops in a canonical form (now I use a LLVM pass for that). Right?<br></blockquote><br>No.  pet tries very hard not to canonicalize loops in order<br>to maintain a direct relationship between the original loop<br>variables and the elements of the iteration domains, but sometimes<br>it is forced to do so anyway.  If you really need your loops to<br>be in some canonical form, then it shouldn't be too hard<br>to add an option to pet to always canonicalize.<br></div></blockquote><div><br></div>Well, its not that I really need them in a canonical form. This is needed for Polly to output information in a polyhedral form. What I need is polyhedral information about loops/loop-nests in the source code to analyze them. The analyzed information must stay in relation to the source code as this information is input to a tool that does a source2source compilation on the source-code. Can I use <b>pet</b> for this?</div><div><br><blockquote type="cite"><div><br>Now, there may be other reasons why you may prefer<br>working on IR over working at the source level, but loop<br>normalization should not be one of them.<br><br>skimo<br></div></blockquote></div><br><div>Pieter</div></body></html>