GCC has a debugging
-fdump-ipa-inline. When given, GCC will
output a log file that describes, on a call-site-by-call-site basis,
what inlining decision it made and why.
(As a result, with this flag set, one can write unit tests to check the outcome of critical inlining decisions!)
If you’ve found an inlining decision that makes you unhappy and
static inline ... declaration isn’t cutting the
mustard, then GCC’s
attributes might be what you’re looking for!
-vec-report3with ICC) or
-fdump-tree-vectwill give you lots of information