OSDN Git Service

[DAGCombine] Improve Load-Store Forwarding
authorNirav Dave <niravd@google.com>
Wed, 10 Oct 2018 14:15:52 +0000 (14:15 +0000)
committerNirav Dave <niravd@google.com>
Wed, 10 Oct 2018 14:15:52 +0000 (14:15 +0000)
commitdf002d74e3e6588a8ffb2aa8459369696b2611c4
tree1fa15924a8d6e6a7b539fd2c25cb2ba2ee4c2580
parent8798ea68b0a34e7ecae43f4ccaf7a446697c51c8
[DAGCombine] Improve Load-Store Forwarding

Summary:
Extend analysis forwarding loads from preceeding stores to work with
extended loads and truncated stores to the same address so long as the
load is fully subsumed by the store.

Hexagon's swp-epilog-phis.ll and swp-memrefs-epilog1.ll test are
deleted as they've no longer seem to be relevant.

Reviewers: RKSimon, rnk, kparzysz, javed.absar

Subscribers: sdardis, nemanjai, hiraditya, atanasyan, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@344142 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/AArch64/arm64-ld-from-st.ll
test/CodeGen/AArch64/regress-tblgen-chains.ll
test/CodeGen/Hexagon/clr_set_toggle.ll
test/CodeGen/Hexagon/swp-epilog-phis.ll [deleted file]
test/CodeGen/Hexagon/swp-memrefs-epilog1.ll [deleted file]
test/CodeGen/Mips/cconv/vector.ll
test/CodeGen/Mips/indirect-jump-hazard/jumptables.ll
test/CodeGen/Mips/o32_cc_byval.ll
test/CodeGen/Mips/o32_cc_vararg.ll
test/CodeGen/PowerPC/addi-offset-fold.ll
test/CodeGen/SystemZ/store_nonbytesized_vecs.ll
test/CodeGen/X86/i386-shrink-wrapping.ll
test/CodeGen/X86/pr32108.ll
test/CodeGen/X86/pr38533.ll
test/CodeGen/X86/win64_vararg.ll