Add loop distribution to the LTO pipeline
authorSanne Wouda <Sanne.Wouda@arm.com>
Wed, 21 Oct 2020 11:01:59 +0000 (11:01 +0000)
committerSanne Wouda <Sanne.Wouda@arm.com>
Tue, 10 Nov 2020 12:04:32 +0000 (12:04 +0000)
commitdd03881bd504f3ad78400260ae572f9c47fa8e63
tree42e54a5c4ef399c49a82102e6dda14823fea00ed
parentbd01a66675f641faeb13f0b9c19c01f8d7f5d8e6
Add loop distribution to the LTO pipeline

The LoopDistribute pass is missing from the LTO pipeline, so
-enable-loop-distribute has no effect during post-link. The pre-link
loop distribution doesn't seem to survive the LTO pipeline either.

With this patch (and -flto -mllvm -enable-loop-distribute) we see a 43%
uplift on SPEC 2006 hmmer for AArch64. The rest of SPECINT 2006 is
unaffected.

Differential Revision: https://reviews.llvm.org/D89896
llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/test/Other/opt-LTO-pipeline.ll