Interprocedural Analysis
When analysis is confined to a single procedure, the optimizer is forced to make worst case assumptions about the possible effects of subroutines.
IPA analyzes the entire program at once and feeds that information into the other phases.