summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/raw_ostream.cpp
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-01-06 00:43:06 +0000
committerDan Gohman <dan433584@gmail.com>2016-01-06 00:43:06 +0000
commit797f639e79a90b59c3eea67e1577012b4cde77e0 (patch)
tree369b8fac066cf5d0ff6a22b96481f1eb55607c97 /llvm/lib/Support/raw_ostream.cpp
parent8260d0a9fabcc6358720c623a6e66a7b3f6a9f8a (diff)
downloadbcm5719-llvm-797f639e79a90b59c3eea67e1577012b4cde77e0.tar.gz
bcm5719-llvm-797f639e79a90b59c3eea67e1577012b4cde77e0.zip
[SelectionDAGBuilder] Set NoUnsignedWrap for inbounds gep and load/store offsets.
In an inbounds getelementptr, when an index produces a constant non-negative offset to add to the base, the add can be assumed to not have unsigned overflow. This relies on the assumption that addresses can't occupy more than half the address space, which isn't possible in C because it wouldn't be possible to represent the difference between the start of the object and one-past-the-end in a ptrdiff_t. Setting the NoUnsignedWrap flag is theoretically useful in general, and is specifically useful to the WebAssembly backend, since it permits stronger constant offset folding. Differential Revision: http://reviews.llvm.org/D15544 llvm-svn: 256890
Diffstat (limited to 'llvm/lib/Support/raw_ostream.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud