Don't narrow the load and store in a load+twiddle+store sequence unless
authorDan Gohman <gohman@apple.com>
Thu, 2 Sep 2010 21:18:42 +0000 (21:18 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 2 Sep 2010 21:18:42 +0000 (21:18 +0000)
commit24bde5bce192119ee0fc4f94ef8757fd4031e5f6
tree33efa1083f81d0600127fc08d38b6aac0ff7d819
parent8e741ed2fa16f46ab586bf3a54526cd9c2338c5b
Don't narrow the load and store in a load+twiddle+store sequence unless
there are clearly no stores between the load and the store. This fixes
this miscompile reported as PR7833.

This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is
safe, but awkward to prove safe. Move it to X86's README.txt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112861 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/Target/X86/README.txt
test/CodeGen/X86/narrow_op-2.ll [deleted file]
test/CodeGen/X86/store-narrow.ll