[PATCH] Disable passes on optnone functions

Reid Kleckner rnk at google.com
Thu Mar 27 13:52:48 PDT 2014


+grosbach

This seems totally consistent with what was done on the LLVM IR side.


On Thu, Mar 27, 2014 at 12:26 PM, Robinson, Paul <
Paul_Robinson at playstation.sony.com> wrote:

> +Philip Reames who offered to do the review.
> Restating the original email message:
>
> This patch disables a number of Machine Function Passes for functions
> with the 'optnone' attribute.
>
> To come up with the list of passes, I looked at CodeGen/Passes.cpp,
> and disabled whatever would be excluded under CodeGenOpt::None.
> Except, I did not disable anything listed in addOptimizedRegAlloc(),
> as I can't see how to substitute one RA pass sequence for another on
> a per-function basis.  Maybe there's a way to deal with that safely,
> but for now it seemed prudent (and not horribly harmful to the goals
> of 'optnone') to leave well enough alone.
> If anybody has an idea, we're open to it.
> --paulr
>
> > -----Original Message-----
> > From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> > bounces at cs.uiuc.edu] On Behalf Of Robinson, Paul
> > Sent: Tuesday, March 25, 2014 9:53 AM
> > To: llvm-commits at cs.uiuc.edu
> > Cc: Chandler Carruth (chandlerc at gmail.com)
> > Subject: RE: [PATCH] Disable passes on optnone functions
> >
> > Ping^3.  +chandlerc on the theory that nobody else is
> > willing to step on the toes of the Pass Manager Meister,
> > but I'll take review from anybody willing to do it.
> >
> > This is the last of the LLVM pieces of the 'optnone' work.
> > It would be really really nice to put this to bed.
> > --paulr
> >
> >
> > > -----Original Message-----
> > > From: Robinson, Paul
> > > Sent: Monday, March 17, 2014 10:35 AM
> > > To: Robinson, Paul; llvm-commits at cs.uiuc.edu
> > > Subject: RE: [PATCH] Disable passes on optnone functions
> > >
> > > Ping^2.
> > > --paulr
> > >
> > > > -----Original Message-----
> > > > From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> > > > bounces at cs.uiuc.edu] On Behalf Of Robinson, Paul
> > > > Sent: Friday, March 07, 2014 9:47 AM
> > > > To: llvm-commits at cs.uiuc.edu
> > > > Subject: RE: [PATCH] Disable passes on optnone functions
> > > >
> > > > Ping. Somebody willing to own MachineFunctionPass behavior?
> > > > --paulr
> > > >
> > > > > -----Original Message-----
> > > > > From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> > > > > bounces at cs.uiuc.edu] On Behalf Of Robinson, Paul
> > > > > Sent: Monday, March 03, 2014 6:25 PM
> > > > > To: Nick Lewycky
> > > > > Cc: llvm-commits at cs.uiuc.edu
> > > > > Subject: RE: [PATCH] Disable passes on optnone functions
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Nick Lewycky [mailto:nicholas at mxc.ca]
> > > > > > Sent: Saturday, March 01, 2014 1:17 AM
> > > > > > To: Robinson, Paul
> > > > > > Cc: llvm-commits at cs.uiuc.edu
> > > > > > Subject: Re: [PATCH] Disable passes on optnone functions
> > > > > >
> > > > > > Robinson, Paul wrote:
> > > > > > > This patch disables a number of Machine Function Passes for
> > > > > functions
> > > > > > > with the 'optnone' attribute.
> > > > > > >
> > > > > > > To come up with the list of passes, I looked at
> > > > CodeGen/Passes.cpp,
> > > > > > > and disabled whatever would be excluded under
> > CodeGenOpt::None.
> > > > > > > Except, I did not disable anything listed in
> > > > addOptimizedRegAlloc(),
> > > > > > > as I can't see how to substitute one RA pass sequence for
> > > another
> > > > on
> > > > > > > a per-function basis.  Maybe there's a way to deal with that
> > > > safely,
> > > > > > > but for now it seemed prudent (and not horribly harmful to the
> > > > goals
> > > > > > > of 'optnone') to leave well enough alone.
> > > > > > > If anybody has an idea, we're open to it.
> > > > > >
> > > > > > I note that I'm on the 'to' line, but I am certainly not the
> > right
> > > > > > person to review this. I know some high-level design of the
> > > codegen
> > > > > > parts, but that's about it.
> > > > >
> > > > > Ah, sorry.  You were there for me on the
> > > > {Function|BasicBlock|Loop}Pass
> > > > > part, I shouldn't have presumed about MachineFunctionPass.
> > > > >
> > > > > >
> > > > > > Would someone else please take a look?
> > > > > >
> > > > > > Nick
> > > > >
> > > > > --paulr
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > llvm-commits mailing list
> > > > > llvm-commits at cs.uiuc.edu
> > > > > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140327/4303f59c/attachment.html>


More information about the llvm-commits mailing list