<div dir="ltr">Bleh.<div><br></div><div>Well, just to add a grain of salt, doing this won't *actually* simplify anything very much. The reality is that ConstantExpr's are much harder to handle than FCA Constants. =/</div>
<div><br></div><div>So, maybe this would be a small step in that direction, but that's about it.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 3, 2014 at 1:24 AM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Currently, you're allowed to form a constant of aggregate type using any number of other constants you like. This makes scanning the instructions of the IR needlessly complex when looking for references to constants.<div>
<br></div><div>There is no need to support this degree of complexity in the IR. We could require that for anything but 'zeroinitializer' you cannot write a constant of aggregate (structure or array) type. You have to build it using insertvalue.</div>
<div><br></div><div>Thoughts? This would simplify several things I'm working on currently, and it is a super easy auto-upgrade and verifier addition.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>
-Chandler</div></font></span></div>
</blockquote></div><br></div>