When LTO is used, the pre-link pipeline is supposed to only perform module simplification, but not optimization. The post-link pipeline is responsible for optimization. In particular, we should not perform size increasing optimizations like loop vectorization and runtime unrolling before the second inlining run in the post-link pipeline.
This is already handled correctly by the thin LTO pipeline, but not the full LTO pipeline. This patch effectively makes the pre-link pipelines for thin/full LTO the same. (There is a minor difference in a single GlobalDCE run that possibly shouldn't be there, but I'm leaving it for now.)