не будет - в случае рекурсии, которую компилятор в цикл не сможет заоптимизировать. А фактически - см на выхлоп gcc -S. Выигрыш от встраивания функции будет ощутим только тогда, когда время выполнения тела функции сопоставимо с временем на вызов и возврат из функции.
Компилятор вообще _не обязан_ встраивать. inline - это рекомендация компилятору. ЕМНИП gcc умеет встраивать и без этой рекомендации.
Сначала, что нибудь по машинной архитектуре, e.g. Structured Computer Organization Танненбаума, а потом - Intel Architecture Software Developers Manual.
основной смысл от инлайн в том что зная контекст можно легче оптимизировать. Поэтому даже если функция тяжелая, но часть аргументов константы, есть шанс что она встроится потому что знание констант позволит отбросить массу лишнего кода.