[LLVMdev] inlining hint
Douglas Gregor
dgregor at apple.com
Wed Aug 26 11:11:31 PDT 2009
On Aug 26, 2009, at 10:59 AM, Dale Johannesen wrote:
> You may have noticed I added an "inlinehint" attribute to the IR
> yesterday, to represent user declarations that hint inlining would be
> a good idea ("inline" keyword). Chris and I have been discussing how
> to hook it up to the C++ FE. Consider:
>
> class X {
> int A(int x) {....}
> inline int B(int x);
> };
> inline int X::B(int x) {...}
>
> Per the language standard, A and B are semantically identical, both
> "inline". It's been suggested that we should omit the inlinehint on
> A, on the grounds that many C++ programmers do not know this, and
> therefore misuse the construct.
On the other hand, many C++ programmers know this and therefore omit
the "inline" as redundant :)
> I want to get some other views on
> this. Do you think it's a good idea?
Yes, I think it is a good idea. Having the "inlinehint" attribute
directly tied to the "inline" keyword is easy for users to reason
about, and we'll still have heuristics to inline simple functions like
accessors.
- Doug
More information about the llvm-dev
mailing list