After ICF folds functions, FoldedIntoFunction may point to a function that was also folded. Add a post-processing step at the end of ICF to flatten all chains so FoldedIntoFunction always points to the ultimate root parent (a function that is not itself folded).