]> granicus.if.org Git - llvm/commit
[SelectionDAG] [ARM CodeGen] Fix chain information of LowerMUL
authorHuihui Zhang <huihuiz@codeaurora.org>
Thu, 6 Apr 2017 20:22:51 +0000 (20:22 +0000)
committerHuihui Zhang <huihuiz@codeaurora.org>
Thu, 6 Apr 2017 20:22:51 +0000 (20:22 +0000)
commite184e1f870781de387225a96eb7b0f4692b79aa3
treee34ce5faebad5e87aa601454dce3a9d65d48f01c
parent753bd2a772884fced63111b5d41c02c2d5f6ff7e
[SelectionDAG] [ARM CodeGen] Fix chain information of LowerMUL

In LowerMUL, the chain information is not preserved for the new
created Load SDNode.

For example, if a Store alias with one of the operand of Mul.
The Load for that operand need to be scheduled before the Store.
The dependence is recorded in the chain of Store, in TokenFactor.
However, when lowering MUL, the SDNodes for the new Loads for
VMULL are not updated in the TokenFactor for the Store. Thus the
chain is not preserved for the lowered VMULL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299701 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/lowerMUL-newload.ll [new file with mode: 0644]