<div dir="ltr"><div>(adding back llvm-dev)<br></div>Hi David,<div>The patch didn't get a lot of attention, so probably others does not consider it a huge deal. Anyway, if someone is willing to review this, I can pursue rebasing it.</div><div><br></div><div>Piotr</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-10-16 15:26 GMT+00:00 David Stenberg <span dir="ltr"><<a href="mailto:david.stenberg@ericsson.com" target="_blank">david.stenberg@ericsson.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
What is the status of your patch?<br>
<br>
With our out-of-trunk target, we have seen a lot of cases where -g affects code generation. This seems to be due to the lack of norecurse attributes on dbg intrinsics affecting the parent function's norecurse attribute, which in turn leads to GlobalOpt not localizing global variables that would otherwise be localized. (This issue should probably also be present when using clang on upstream targets, although I have not verified that.)<br>
<br>
Best regards,<br>
David<br>
<span class=""><br>
> -----Original Message-----<br>
> From: llvm-dev [mailto:<a href="mailto:llvm-dev-bounces@lists.llvm.org">llvm-dev-bounces@<wbr>lists.llvm.org</a>] On Behalf Of<br>
> Piotr Padlewski via llvm-dev<br>
> Sent: den 5 juni 2017 13:34<br>
> To: Sanjoy Das <<a href="mailto:sanjoy@playingwithpointers.com">sanjoy@playingwithpointers.<wbr>com</a>><br>
> Cc: llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>><br>
> Subject: Re: [llvm-dev] Is every intrinsic norecurse?<br>
><br>
> Oh right, here is a patch: <a href="https://reviews.llvm.org/D33889" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D33889</a>. I hope it<br>
> will get through because I spent much time fixing all of the tests :)<br>
><br>
> Piotr<br>
><br>
> 2017-06-05 5:24 GMT+02:00 Sanjoy Das <<a href="mailto:sanjoy@playingwithpointers.com">sanjoy@playingwithpointers.<wbr>com</a><br>
</span>> <mailto:<a href="mailto:sanjoy@playingwithpointers.com">sanjoy@<wbr>playingwithpointers.com</a>> >:<br>
<span class="im HOEnZb">><br>
><br>
>       On Sun, Jun 4, 2017 at 7:16 PM, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a><br>
</span><div class="HOEnZb"><div class="h5">> <mailto:<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> > wrote:<br>
>       > I'm not sure that it is a universal property of all<br>
> intrinsics, strictly<br>
>       > speaking. patchpoints, for example, might recurse? It is<br>
> certainly true for<br>
>       > most of them.<br>
><br>
>       Yes, patchpoints and statepoints may recurse.  For instance<br>
><br>
>       void f() {<br>
>         llvm.patchpoint(&f);<br>
>       }<br>
><br>
>       has "mutual recursion" between the patchpoint intrinsic and f.<br>
><br>
>       -- Sanjoy<br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>