<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 30, 2014 at 12:45 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.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="HOEnZb"><div class="h5">On Fri, May 30, 2014 at 10:26 AM, Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br>

><br>
>> On May 29, 2014, at 10:03 PM, Alexey Samsonov <<a href="mailto:vonosmas@gmail.com">vonosmas@gmail.com</a>> wrote:<br>
>><br>
>> Yeah, well, we can add "FrameTeardown" machine instruction flag in addition to "FrameSetup", and annotate machine instructions added in frame lowering code. But do we expect many users of this flag (assuming that this usage is also somewhat questionable)?<br>

><br>
> The FrameSetup flag is also only used by the debug info, so at least it wouldn’t be any more questionable than that :-)<br></div></div></blockquote><div><br></div><div>OK. Why don't we land the patch as-is now (don't terminate the register at the end of MBB if this register is only modified in frame setup and the last MBB - it should be safe), and then replace "the last MBB" condition with</div>
<div>checking a "FrameTeardown" flag, attached to certain machine instructions? In this way we won't have to special-case certain registers and make assumptions about their constant-ness.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">
><br>
<br>
:)<br>
<br>
>> I can also make this patch even less general and just special-case the frame pointer and the stack pointer registers, so that the code wouldn't pretend to solve a general problem we're facing.<br>
><br>
> The frame pointer should be stable over the entire function, special casing it seems to be appropriate. I don’t know whether, e.g, stack coloring would cause the stack pointer to be modified in the middle of a function.<br>

><br>
<br>
</div></div>FWIW it may not _now_ but there's nothing from stopping it either. :\<br>
<span class="HOEnZb"><font color="#888888"><br>
-eric</font></span></blockquote></div><div><br></div>-- <br><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div>
</div></div>