Re: Unimpressed with pg_attribute_always_inline
Peter Geoghegan <pg@bowt.ie>
From: Peter Geoghegan <pg@bowt.ie>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andres Freund <andres@anarazel.de>, Thomas Munro <thomas.munro@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-01-09T01:13:33Z
Lists: pgsql-hackers
On Mon, Jan 8, 2018 at 5:09 PM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote: > However, at <https://gcc.gnu.org/onlinedocs/gcc/Inline.html> it says, > "GCC does not inline any functions when not optimizing unless you > specify the ‘always_inline’ attribute for the function". So, > apparently, if the goal is to turn off inlining when not optimizing, > then we should just use the normal inline attribute. The compiler isn't obligated to inline anything with the normal inline attribute. The whole point of always_inline is that the programmer may know better than the compiler about inlining in some specific cases, and may therefore want to make inlining absolutely mandatory. IIUC, that's almost what we want, except that it also inlines with -O0, which we do not want. Have I missed the point here? -- Peter Geoghegan
Commits
-
Improve implementation of pg_attribute_always_inline.
- 434e6e148441 11.0 landed
-
Add pg_attribute_always_inline.
- dbb3d6f0102e 11.0 cited