<div dir="ltr">Thanks Tobias. I've sent <a href="https://reviews.llvm.org/D22793" target="_blank">https://reviews.llvm.org/D22793</a> which implements this IR extension, and updated D22295 to use the extension.<div><br></div><div>Peter</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 19, 2016 at 10:55 PM, Tobias Grosser <span dir="ltr"><<a href="mailto:tobias@grosser.es" target="_blank">tobias@grosser.es</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Jul 19, 2016, at 03:02 AM, Peter Collingbourne via llvm-dev<br>
wrote:<br>
<span class="">> Hi all,<br>
><br>
> I'd like to propose an IR extension that allows the inbounds keyword to<br>
> be<br>
> attached to indices in a getelementptr constantexpr.<br>
<br>
</span>Hi Peter,<br>
<br>
this proposal (in its updated version with load/stores triggering the<br>
undef) is a good idea. It will also help to propagate out-of-bounds<br>
information from C to LLVM-IR, which we are currently lacking at IR<br>
level. As a result, multi-dimensional data-dependence analysis must<br>
either take possible out-of-bounds accesses into consideration or emit<br>
run-time checks to be correct. In Polly we have already been considering<br>
to pass the information provided by your inbounds keywords using<br>
llvm.assume [1], to avoid this additional complexity. However, as this<br>
is littering the IR with assumptions, the relevant patch was never<br>
proposed for integration. Your approach is well targeted and due to the<br>
additional use cases you mention especially appealing.<br>
<br>
Best,<br>
Tobias<br>
<br>
[1] <a href="https://llvm.org/bugs/show_bug.cgi?id=27067" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=27067</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-- <div>Peter</div></div></div>
</div>