[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20211110121428.GD614@gate.crashing.org>
Date: Wed, 10 Nov 2021 06:14:28 -0600
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>,
Bill Wendling <morbo@...gle.com>,
Josh Poimboeuf <jpoimboe@...hat.com>, x86@...nel.org,
linux-kernel@...r.kernel.org, mark.rutland@....com,
dvyukov@...gle.com, seanjc@...gle.com, pbonzini@...hat.com,
mbenes@...e.cz, llvm@...ts.linux.dev,
linux-toolchains@...r.kernel.org
Subject: Re: [PATCH 20/22] x86,word-at-a-time: Remove .fixup usage
Hi!
On Tue, Nov 09, 2021 at 10:07:36PM +0100, Peter Zijlstra wrote:
> On Tue, Nov 09, 2021 at 11:22:44AM -0800, Nick Desaulniers wrote:
> > I think the use of this feature (label-attributes) here isn't
> > necessary though; because of the use of outputs, the "fallthrough"
> > basic block needs to be placed immediately after the basic block
> > terminated by the asm goto, at least in LLVM. Was different ordering
> > of basic blocks observed with GCC without this label attribute?
>
> GCC does the same, but I wanted to have the exception stuff be in
> .text.cold, but alas it doesn't do that. I left the attribute because of
> it's descriptive value.
>
> > Unless the cold attribute is helping move
> > ("shrink-wrap"?)
Shrink-wrapping is something else entirely.
>> the basic block to a whole other section
> > (.text.cold.)?
>
> I was hoping it would do that, but it doesn't on gcc-11.
A cold basic block can never dominate a non-cold basic block. GCC will
fix things up when it notices this property is violated, so marking
random blocks as "cold" will not be very effective.
Segher
Powered by blists - more mailing lists