[LV] Avoid unnecessary IV scalar-to-vector-to-scalar conversions
authorMatthew Simpson <mssimpso@codeaurora.org>
Thu, 14 Jul 2016 14:36:06 +0000 (14:36 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Thu, 14 Jul 2016 14:36:06 +0000 (14:36 +0000)
commit3c3b4a257b2fd34e572f9df28404619734251b76
tree162ec31f71590eb99e334167a7ab2d0d4e6e4d66
parent4eaedde53031bf4c4342b983b08019c206698cee
[LV] Avoid unnecessary IV scalar-to-vector-to-scalar conversions

This patch prevents increases in the number of instructions, pre-instcombine,
due to induction variable scalarization. An increase in instructions can lead
to an increase in the compile-time required to simplify the induction
variables. We now maintain a new map for scalarized induction variables to
prevent us from converting between the scalar and vector forms.

This patch should resolve compile-time regressions seen after r274627.

llvm-svn: 275419
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/induction.ll
llvm/test/Transforms/LoopVectorize/reverse_induction.ll