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.

llvm-svn: 112861
4 files changed
tree: ea498cabb8d700ced26f462c18e33871f642c8ec
  1. clang/
  2. compiler-rt/
  3. libcxx/
  4. lldb/
  5. llvm/