There is no extension point for LTO passes, this patch provides two basic extension points. They don't apply to ThinLTO but it's a debatable question.
I wonder if the LTO pass pipeline shouldn't honor the existing EP_EarlyAsPossible extension point?
EP_EarlyAsPossible is referenced by populateFunctionPassManager which seems to be called wathever the optimization level, but maybe you're proposing to have it applied twice, once for compilation unit level, and once for link level?
If that's the case, I find it confusing, and EP_LinkTimeOptimizationEarly would play that role.