<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 08/18/2015 08:52 PM, Hal Finkel via
llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:29264254.277.1439956371708.JavaMail.javamailuser@localhost"
type="cite">
<style type="text/css">p { margin: 0; }</style>
<div style="font-family: arial,helvetica,sans-serif; font-size:
10pt; color: #000000"><br>
<hr id="zwchr">
<blockquote style="border-left: 2px solid rgb(16, 16, 255);
margin-left: 5px; padding-left: 5px; color: rgb(0, 0, 0);
font-weight: normal; font-style: normal; text-decoration:
none; font-family: Helvetica,Arial,sans-serif; font-size:
12pt;"><b>From: </b>"Gerolf Hoflehner"
<a class="moz-txt-link-rfc2396E" href="mailto:ghoflehner@apple.com"><ghoflehner@apple.com></a><br>
<b>To: </b>"Hal Finkel" <a class="moz-txt-link-rfc2396E" href="mailto:hfinkel@anl.gov"><hfinkel@anl.gov></a><br>
<b>Cc: </b>"Hyojin Sung" <a class="moz-txt-link-rfc2396E" href="mailto:hsung@us.ibm.com"><hsung@us.ibm.com></a>, "llvm-dev"
<a class="moz-txt-link-rfc2396E" href="mailto:llvm-dev@lists.llvm.org"><llvm-dev@lists.llvm.org></a><br>
<b>Sent: </b>Thursday, August 13, 2015 7:50:27 PM<br>
<b>Subject: </b>Re: [LLVMdev] Improving loop vectorizer
support for loops with a volatile iteration variable<br>
<br>
Hi Hal,
<div class=""><br class="">
</div>
<div class="">Please see below. I like your break down. <br
class="">
<div>
<blockquote class="">
<div class="">On Aug 13, 2015, at 11:00 AM, Hal Finkel
<<a moz-do-not-send="true"
href="mailto:hfinkel@anl.gov" class=""
target="_blank">hfinkel@anl.gov</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Helvetica;
font-size: 18px; font-style: normal; font-variant:
normal; font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; float: none; display: inline !
important;" class="">Hi Gerolf,</span><br
style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px;" class="">
<br style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px;" class="">
<span style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; float: none; display: inline !
important;" class="">I think we have several
(perhaps separable) issues here:</span><br
style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px;" class="">
<br style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px;" class="">
<span style="font-family: Helvetica; font-size: 18px;
font-style: normal; font-variant: normal;
font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px; float: none; display: inline !
important;" class="">1. Do we have a canonical form
for loops, preserved through the optimizer, that
allows naturally-constructed loop nests to remain
separable?</span><br style="font-family: Helvetica;
font-size: 18px; font-style: normal; font-variant:
normal; font-weight: normal; letter-spacing: normal;
line-height: normal; text-align: start; text-indent:
0px; text-transform: none; white-space: normal;
word-spacing: 0px;" class="">
</div>
</blockquote>
<div id="DWT6073">Are you going to take a stab at the
documentation like you mention below?</div>
</div>
</div>
</blockquote>
<br>
I'm really not the right person to do this; but I'm happy to
help. Chandler also told me that he would help. The basic
structure is described in the comments at the top of
LoopSimplify.cpp, and there are some additional comments
regarding nested loops interspersed with the code. Then there is
LCSSA (which is described briefly in LCSSA.cpp). Starting from
those pieces likely makes sense.
</div>
</blockquote>
I'm happy to volunteer myself and Sanjoy to help out here. If
someone wants to take a first pass, we're happy to help revise and
point out the exceptions to the general rules we've encountered.
Having this documented would be very helpful.<br>
<br>
Philip<br>
<br>
</body>
</html>