OSDN Git Service

Precompute SCEV pointer analysis prior to instruction fusion in BBVectorize.
authorHal Finkel <hfinkel@anl.gov>
Thu, 28 Jun 2012 05:42:45 +0000 (05:42 +0000)
committerHal Finkel <hfinkel@anl.gov>
Thu, 28 Jun 2012 05:42:45 +0000 (05:42 +0000)
commit282969ed3641ffa426e0440d3824dd219152b2d8
treef6396a481f0870242720ba7cf28f679f6cde613b
parenta9ad9f64d56890852ff92639935eaf72b1157a98
Precompute SCEV pointer analysis prior to instruction fusion in BBVectorize.

When both a load/store and its address computation are being vectorized, it can
happen that the address-computation vectorization destroys SCEV's ability
to analyize the relative pointer offsets. As a result (like with the aliasing
analysis info), we need to precompute the necessary information prior to
instruction fusing.

This was found during stress testing (running through the test suite with a very
low required chain length); unfortunately, I don't have a small test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159332 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/BBVectorize.cpp