Inlining
Replaces a subroutine call with the function itself.
Useful in loops that have a large iteration count and functions that don't do a lot of work.
Allows other optimizations.
Most compilers will do inlining but the decision process is conservative.