Barcelona optimization guide

By: Rob Thorpe (, May 10, 2007 10:23 am
Room: Moderated Discussions
Linus Torvalds ( on 5/10/07 wrote:
>mas ( on 5/10/07 wrote:
>Looks pretty solid from a quick read-through.
>My only "oops, that's not nice" moment came with the
>discussion about conditionak branches directly to, and
>immediately preceding, the "ret" instruction. That's a
>fairly common pattern for simple functions with no need
>for a prologue/epilogue.
>Yes, those are also prime inlining material, but often
>build/size concerns make that not be a good option.

I don't think they're even always good inlining options. I've written lots of subroutines where the whole body of the routine is a single "if then else" or it ends in one. I expect many of these contain conditional branches to ret.

Still it's not that much of a problem, a code generator should be able to minimize the effect.

>The rest looks like some solid improvements. The stack
>tracking should help, and also means that we can finally
>go back to writing prologues with a sequence of small
>"push" ops instead of that idiotic "do explicit stack
>offsets" crud that just blows up the code size.

Slightly OT question:-
Are you sure that doing it that way has a significant effect on x86-64 code? Generally what's done is that the stack pointer is adjusted once then the local variables are MOVed into place.

(Also, I wonder if the two things you mention are connected. To make push faster they will have redesigned the way stack related ops work including ret.)
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Barcelona optimization guidemas2007/05/10 07:43 AM
  Barcelona optimization guideLinus Torvalds2007/05/10 10:00 AM
    Barcelona optimization guideRob Thorpe2007/05/10 10:23 AM
      Barcelona optimization guideLinus Torvalds2007/05/10 10:42 AM
        Barcelona optimization guideRob Thorpe2007/05/11 09:22 AM
          Barcelona optimization guideDavid Kanter2007/05/11 05:17 PM
            Barcelona optimization guideLinus Torvalds2007/05/11 05:30 PM
            Barcelona optimization guideanonymous2007/05/11 11:29 PM
              Barcelona optimization guideanonymous2007/05/12 07:47 AM
              Barcelona optimization guidehobold2007/05/14 05:30 AM
        Barcelona optimization guideAndreas Kaiser2007/05/12 09:32 AM
  Barcelona optimization guideVincent Diepeveen2007/05/13 05:20 AM
    Barcelona optimization guideEduardoS2007/05/13 07:01 AM
      Barcelona optimization guideVincent Diepeveen2007/05/13 09:18 AM
        Barcelona optimization guideMichael S2007/05/13 10:03 AM
        Barcelona optimization guideEduardoS2007/05/13 10:30 AM
        Barcelona optimization guideDresdenboy2007/05/14 08:18 AM
          Barcelona optimization guideVincent Diepeveen2007/05/16 02:36 AM
            Barcelona optimization guideEduardoS2007/05/16 06:57 AM
              Barcelona optimization guideVincent Diepeveen2007/05/16 09:51 AM
        Barcelona optimization guideDavid Kanter2007/05/16 04:13 AM
          Barcelona vs Core2 Vincent Diepeveen2007/05/16 06:35 AM
            Barcelona vs Core2 David Kanter2007/05/16 12:06 PM
            Barcelona vs Core2 EduardoS2007/05/16 12:41 PM
              Barcelona vs Core2 David Kanter2007/05/16 12:53 PM
                Barcelona vs Core2 EduardoS2007/05/16 01:37 PM
                  Barcelona vs Core2 David Kanter2007/05/16 02:43 PM
                    Barcelona vs Core2 EduardoS2007/05/16 04:32 PM
                    Barcelona vs Core2 Gabriele Svelto2007/05/17 06:38 AM
          Barcelona optimization guideanonymous2007/05/16 08:13 PM
            Barcelona optimization guideMichael S2007/05/17 05:26 AM
              Barcelona optimization guideanonymous2007/05/17 06:23 PM
Reply to this Topic
Body: No Text
How do you spell avocado?