<div dir="ltr">If a stack pointer is passed to another function it can't be promoted to a register, as that function will need to load or store through the pointer. But while these intrinsics look like functions, they aren't really.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 30, 2015 at 8:59 PM, guoqing zhang <span dir="ltr"><<a href="mailto:gqzhang81@gmail.com" target="_blank">gqzhang81@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 dir="ltr">Hi,<div><br></div><div>In PromoteMemoryToRegister.cpp, it seems to rely on the fact that the only users of bitcast/GEP instruction are lifetime intrinsics (llvm.lifetime.start/end). I did some searching in llvm/test folder, it seems to be true.</div><div><br></div><div>However, by reading LLVM IR manual, I don't see any restriction stated on the possible user of bitcast/GEP instruction. So my question is who impose the restriction ? Is it Clang ?</div><div><br></div><div>Regards</div><span class="HOEnZb"><font color="#888888"><div>-guoqing</div></font></span></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>