This paper describes critical implementation issues that
must be addressed to develop a fully automatic inliner.
These issues are: integration into a compiler, program
representation, hazard prevention, expansion sequence control,
and program modification. An automatic inter-file inliner
that uses profile information has been implemented and integrated
into an optimizing C compiler. The experimental results show
that this inliner achieves significant speedups for production C
programs.