OSDN Git Service

[LLE] Check for mismatching types between the store and the load earlier
authorAdam Nemet <anemet@apple.com>
Thu, 24 Mar 2016 17:59:26 +0000 (17:59 +0000)
committerAdam Nemet <anemet@apple.com>
Thu, 24 Mar 2016 17:59:26 +0000 (17:59 +0000)
commit1123cc74dff602ee5f52a1542433e18a5416dc55
treef73fc8cf4d3f92f299566ff8d3bc772deaaa1f44
parent8674e1c5a332d22cb0486d7737af3f0e2e46fa4b
[LLE] Check for mismatching types between the store and the load earlier

isDependenceDistanceOfOne asserts that the store and the load access
through the same type.  This function is also used by
removeDependencesFromMultipleStores so we need to make sure we filter
out mismatching types before reaching this point.

Now we do this when the initial candidates are gathered.

This is a refinement of the fix made in r262267.

Fixes PR27048.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@264313 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopLoadElimination.cpp
test/Transforms/LoopLoadElim/type-mismatch.ll