[cfe-dev] always_inline and noinline attributes

Devang Patel dpatel at apple.com
Wed Sep 3 14:24:48 PDT 2008


We discussed this at length. I've done some work on this front in llvm  
and llvm-gcc. Now,

1) always_inline and noinline attributes are encoded in llvm IR as  
function notes.
2) llvm-gcc encodes these attribute in llvm IR
3) The standard LLVM inliner respects these notes.
4) A new special purpose inliner (AlwaysInliner), that handles only  
functions that are marked as always_inline, is available.
5) llvm-gcc inserts AlwaysInliner pass in the pipeline if
         A) Regular inliner is not inserted in the pipeline
         B) AND, at least one always_inline function is seen

-
Devang



More information about the cfe-dev mailing list