[PATCH 1/4] Mark all member functions with memory models always inline
Andi Kleen
andi@firstfloor.org
Tue Mar 19 17:30:00 GMT 2013
On Tue, Mar 19, 2013 at 05:10:22PM +0100, Jakub Jelinek wrote:
> On Tue, Mar 19, 2013 at 08:51:21AM -0700, Andi Kleen wrote:
> > > Using __always_inline as the name of the macro is a bad idea, glibc
> > > headers use that macro already. Just use something else in public headers
> > > that aren't part of glibc.
> >
> > That's why I had the ifdef, but ok. I'll use __force_inline then.
>
> I'd say Jonathan's _GLIBCXX_ALWAYS_INLINE would be better.
>
> BTW, have you verified always_inline works fine for -O0?
I did some simple tests and it seemed to work.
But thanks for the counter example.
>
> with -O0 -mhle doesn't result in xacquire, guess for !optimize
> get_memmodel would need to look through chain of SSA_NAMEs if SSA_NAME
> (that can appear because of inlining), looking for INTEGER_CSTs.
interesting. so need more fixes. i'll look into that. Is there
already a convenient helper for it?
There was an alternative approach of using a template, but I suppose
that would have the same problem.
-Andi
More information about the Libstdc++
mailing list