]> granicus.if.org Git - llvm/commit
[X86] Fix chains update when lowering BUILD_VECTOR to a vector load
authorArtur Pilipenko <apilipenko@azulsystems.com>
Thu, 5 Oct 2017 16:28:21 +0000 (16:28 +0000)
committerArtur Pilipenko <apilipenko@azulsystems.com>
Thu, 5 Oct 2017 16:28:21 +0000 (16:28 +0000)
commit0292ee9cab39a74e097a9c853bac819dd87d3316
tree52b1ca7b673073956df00c1c7f3a9124a4fbadbf
parent9b90153e769d59f67cefc485065e28b04c5b6e7e
[X86] Fix chains update when lowering BUILD_VECTOR to a vector load

The code which lowers BUILD_VECTOR of consecutive loads into a single vector
load doesn't update chains properly. As a result the vector load can be
reordered with the store to the same location.

The current code in EltsFromConsecutiveLoads only updates the chain following
the first load. The fix is to update the chains following all the loads
comprising the vector.

This is a fix for PR10114.

Reviewed By: niravd

Differential Revision: https://reviews.llvm.org/D38547

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314988 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/merge-consecutive-loads-128.ll