<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello,</p>
<p><br>
</p>
<p>Currently the noalias attribute can be applied on function parameters and return value, or via scoped alias on store.</p>
<p>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)</p>
<p><br>
</p>
<p>The idea would be to provide some kind of intrinsic that can transform a pointer to a noalias pointer, something in the lines of:<br>
</p>
<p><br>
</p>
<p><span>define noalias i32* @noalias(i32 *%a) {</span></p>
<p><span>  ret i32* %a<br>
</span></p>
<p><span>}</span></p>
<p><span><br>
</span></p>
<p>What do you think? Would it fit an intrinsic?</p>
<p><br>
</p>
<p>Alexandre<br>
</p>
</div>
</body>
</html>