[llvm-dev] Is every intrinsic norecurse?

Piotr Padlewski via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 16 08:33:28 PDT 2017


(adding back llvm-dev)
Hi David,
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.

Piotr

2017-10-16 15:26 GMT+00:00 David Stenberg <david.stenberg at ericsson.com>:

> Hi!
>
> What is the status of your patch?
>
> 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.)
>
> Best regards,
> David
>
> > -----Original Message-----
> > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of
> > Piotr Padlewski via llvm-dev
> > Sent: den 5 juni 2017 13:34
> > To: Sanjoy Das <sanjoy at playingwithpointers.com>
> > Cc: llvm-dev <llvm-dev at lists.llvm.org>
> > Subject: Re: [llvm-dev] Is every intrinsic norecurse?
> >
> > Oh right, here is a patch: https://reviews.llvm.org/D33889. I hope it
> > will get through because I spent much time fixing all of the tests :)
> >
> > Piotr
> >
> > 2017-06-05 5:24 GMT+02:00 Sanjoy Das <sanjoy at playingwithpointers.com
> > <mailto:sanjoy at playingwithpointers.com> >:
> >
> >
> >       On Sun, Jun 4, 2017 at 7:16 PM, Hal Finkel <hfinkel at anl.gov
> > <mailto:hfinkel at anl.gov> > wrote:
> >       > I'm not sure that it is a universal property of all
> > intrinsics, strictly
> >       > speaking. patchpoints, for example, might recurse? It is
> > certainly true for
> >       > most of them.
> >
> >       Yes, patchpoints and statepoints may recurse.  For instance
> >
> >       void f() {
> >         llvm.patchpoint(&f);
> >       }
> >
> >       has "mutual recursion" between the patchpoint intrinsic and f.
> >
> >       -- Sanjoy
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20171016/2a086fbe/attachment.html>


More information about the llvm-dev mailing list