[PATCH] Add a shrink-wrapping pass to improve the placement of prologue and epilogue.

Kristof Beyls kristof.beyls at arm.com
Thu Apr 23 10:47:46 PDT 2015



> -----Original Message-----
> From: Quentin Colombet [mailto:qcolombet at apple.com]
> Sent: 23 April 2015 17:52
> To: qcolombet at apple.com; grosbach at apple.com
> Cc: kparzysz at codeaurora.org; Kristof Beyls; dberlin at dberlin.org; Amara
> Emerson; justin.holewinski at gmail.com; llvm-commits at cs.uiuc.edu
> Subject: Re: [PATCH] Add a shrink-wrapping pass to improve the placement
> of prologue and epilogue.
> 
> Hi Kristof,
> 
> Thanks for your feedbacks.
> 
> > Overall, I guess that this needs support in at least one backend, so
> regression tests can be added before this is in a state ready to commit?
> 
> 
> Whatever people prefers. I have a patch to add the support for shrink-
> wrapping for AArch64, I can just merge it with this one with the path
> disabled by default.

I guess I'm missing something obvious. I'm assuming that for the functions
where the shrink-wrapping optimization triggers, it's always, or almost always
a win? I am assuming that the effect of the patch as shown, when triggering,
moves a single prologue and a single epilogue sequence from a path that's
executed once per function call to a path that's executed at most once per
function call.

If that assumption were true, there would be no reason to disable this pass
by default, right? So, how is my assumption incorrect?

Thanks,

Kristof






More information about the llvm-commits mailing list