<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Dear All,
<div><br>
</div>
<div>I think adding metadata and expecting transforms to repect it is a bad idea.  It is just too easy for someone who does not know about the metadata to add a transform that ignores it.</div>
<div><br>
</div>
<div>As for SAFECode, I think we have one of several options for handling load-widening.  The most obvious one is to have a pass that just boosts the allocation size of any alloca with an align 16 attribute; this pass would only be scheduled to execute when
 the other SAFECode instrumentation passes are scheduled to execute.  Another option would be to just disable the load-widening transform or to use a specialized version that only widens when the allocation size does not cause a problem.</div>
<div><br>
</div>
<div>-- John T.</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF691606" style="direction: ltr; "><font face="Tahoma" size="2" color="#000000"><b>From:</b> llvmdev-bounces@cs.uiuc.edu [llvmdev-bounces@cs.uiuc.edu] on behalf of Kostya Serebryany [kcc@google.com]<br>
<b>Sent:</b> Tuesday, December 27, 2011 12:57 PM<br>
<b>To:</b> Chris Lattner<br>
<b>Cc:</b> llvmdev@cs.uiuc.edu<br>
<b>Subject:</b> Re: [LLVMdev] load widening conflicts with AddressSanitizer<br>
</font><br>
</div>
<div></div>
<div><br>
<br>
<div class="gmail_quote">On Mon, Dec 19, 2011 at 4:27 PM, Chris Lattner <span dir="ltr">
<<a href="mailto:clattner@apple.com" target="_blank">clattner@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div class="im"><br>
On Dec 17, 2011, at 7:40 AM, Rafael Ávila de Espíndola wrote:<br>
<br>
> On 16/12/11 08:46 PM, Chris Lattner wrote:<br>
>> I'm not opposed to disabling this transformation when asan is on, we just need a clean way to express this in the IR.<br>
><br>
> Could clang be aware of asan being on and introduce a "please don't<br>
> widen" metadata on local variable accesses?<br>
<br>
</div>
Yes, "we just need a clean way to express this in the IR."<br>
<br>
LLVM can't have a global "bool ASANIsOn;" that the optimizers listen to.<br>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>A global is bad.</div>
<div>What about a metadata attached to a Function saying that transformations which will read out of bounds (even "safely") are illegal? </div>
<div>asan and SAFEcode will add this metadata, optimizers will listen to it. </div>
<div><br>
</div>
<div>Any other suggestion? </div>
<div><br>
</div>
<div><br>
</div>
<div>--kcc </div>
<div> </div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>