EarlyFPM cleans up the output of the frontend. This isn't necessary in post link pipelines as the pre link pipeline already ran this.
~0.4% savings in ThinLTO builds:
https://llvm-compile-time-tracker.com/compare.php?from=8a5d4eb775c644d8683f24817d44c510d2b853b7&to=3580252a2162eadca0da99f1eeaa112f74a0353d&stat=instructions:u
I am reminded when reviewing this change that this method assumes it is not called during the FullLTOPostLink phase. Which it isn't today, but can you add an assert at the top of this function that the Phase is not FullLTOPostLink since all the checking here would break down if anything changed that?