<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hi, Alexandre,<br>
</p>
<p><br>
</p>
<p>As Ehsan mentions, this is something we've been planning for a
while. I'll likely commit the patches to add the intrinsic soon.
As soon as the AA implementation patches (and the patch to use the
intrinsic in the inliner) finish the review process, we'll be able
to handle this effectively.</p>
<p><br>
</p>
<p>In short, yes. :-)<br>
</p>
<p><br>
</p>
<p> -Hal<br>
</p>
<br>
<div class="moz-cite-prefix">On 09/14/2017 08:15 PM, Ehsan Amiri via
llvm-dev wrote:<br>
</div>
<blockquote
cite="mid:EC4B66F0E2E42D4E93F29F4C33F698E80269D9F7@YYZEML701-CHM.china.huawei.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p
{mso-style-priority:99;
margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">How
is this different from the work that Hal has been doing:<o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a
moz-do-not-send="true"
href="https://reviews.llvm.org/search/query/qa3.P4sG6bA8/#R">https://reviews.llvm.org/search/query/qa3.P4sG6bA8/#R</a><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a
moz-do-not-send="true"
href="https://llvm.org/devmtg/2017-02-04/Restrict-Qualified-Pointers-in-LLVM.pdf">https://llvm.org/devmtg/2017-02-04/Restrict-Qualified-Pointers-in-LLVM.pdf</a><o:p></o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF
1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
llvm-dev [<a class="moz-txt-link-freetext" href="mailto:llvm-dev-bounces@lists.llvm.org">mailto:llvm-dev-bounces@lists.llvm.org</a>]
<b>On Behalf Of </b>Alexandre Mutel via llvm-dev<br>
<b>Sent:</b> Thursday, September 14, 2017 4:34 AM<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<b>Subject:</b> [llvm-dev] [RFC] noalias intrinsic<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div id="divtagdefaultwrapper">
<p><span
style="font-family:"Calibri","sans-serif";color:black">Hello,<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">Currently
the noalias attribute can be applied on
function parameters and return value, or via scoped alias
on store.<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">The
problem is that there is no easy way to apply the noalias
attribute on a pointer that is loaded indirectly (e.g from
the field of an aggregate, or from a memory location -
though for this you can still use scoped alias, but they
are a lot more intrusive)<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">The
idea would be to provide some kind of intrinsic that can
transform a pointer to a noalias pointer, something in the
lines of:<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">define
noalias i32* @noalias(i32 *%a) {<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">
ret i32* %a<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">}<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">What
do you think? Would it fit an intrinsic?<o:p></o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black"><o:p> </o:p></span></p>
<p><span
style="font-family:"Calibri","sans-serif";color:black">Alexandre<o:p></o:p></span></p>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory</pre>
</body>
</html>