[cfe-dev] always_inline and noinline attributes
matthijs at stdin.nl
Tue Jul 22 00:08:36 PDT 2008
> I'd strongly prefer to do this in the LLVM IR level instead of on clang
That was the plan, AFAIU. Yet it would make sense to have clang do it at the
end of its compilation (by running an inliner over the generated IR).
> No, it should only happen within a translation unit. The semantics of the
> program should not change based on whether you're using LTO or not, and
> inlining can sometimes change semantics for (arguably very broken) uses.
Woah, you're saying to only do inlining withing a translation unit? Does this
mean that inlining does not happen at all in LTO? I would say that inlining is
one of the more obvious uses for LTO and IMHO it would be a waste not to do it
because it would change broken programs. Could you perhaps give an example of
a use that would be semantically changed by inlining?
At the very least, I would make it an option whether to strip the
always_inline info after compiling a single translation unit, so people can
explicitely choose to still do (forced) inlining at link time.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 189 bytes
Desc: Digital signature
More information about the cfe-dev