<div dir="ltr"><br><div class="gmail_extra">On Thu, Jun 20, 2013 at 3:36 PM, Stephen Lin <span dir="ltr"><<a href="mailto:swlin@post.harvard.edu" target="_blank">swlin@post.harvard.edu</a>></span> wrote:<br><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
This patch makes the DeadArgElimination IPO pass treat any return<br>
value of any function with a 'returned' argument as live even if there<br>
are no uses. This is meant to allow the clang patch committed as<br>
revision r184205 (and subsequent minor fixes) to be recommitted after<br>
being reverted in revision r184205 due to broken builds on ARM when<br>
compiling with LTO.<br></blockquote><div><br></div><div>This does conflict with the theoretical separation of concerns between optimizer and codegen in LLVM though. This patch does not promote subsequent mid-level optimization opportunities; treating values as live when they are actually unused may actually obscure other mid-level optimization opportunities.</div>

<div><br></div><div>Dan</div><div><br></div></div></div></div>