[WebAssembly] Disable folding of GA+reg into load/store constant offsets
authorDerek Schuff <dschuff@google.com>
Wed, 31 Aug 2016 20:27:20 +0000 (20:27 +0000)
committerDerek Schuff <dschuff@google.com>
Wed, 31 Aug 2016 20:27:20 +0000 (20:27 +0000)
commit1b258d313c7760b046a5d76a5a06279e770f2315
tree9fa262b03fab368e10e2803725011d0a205100b8
parent95769b4a2907457c19d5f72c2f557ff099d1ffa3
[WebAssembly] Disable folding of GA+reg into load/store constant offsets

Summary:
If the register has a negative value then unsigned overflow will occur;
this case is sometimes even created intentionally by LSR. For now
disable GA+reg folding. Fixes PR29127

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

llvm-svn: 280285
llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
llvm/test/CodeGen/WebAssembly/address-offsets.ll
llvm/test/CodeGen/WebAssembly/negative-base-reg.ll [new file with mode: 0644]