aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ADT
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-12-21 04:04:05 +0000
committerChris Lattner <sabre@nondot.org>2009-12-21 04:04:05 +0000
commita54b96b6230699e5f66f62e3d6e336862c39e23b (patch)
tree396f56075134fb3d58520cdb78c3ccbe58bf6409 /include/llvm/ADT
parent258a2ffb1b6311aecc8ce986b1f99c99e638c3a1 (diff)
downloadexternal_llvm-a54b96b6230699e5f66f62e3d6e336862c39e23b.zip
external_llvm-a54b96b6230699e5f66f62e3d6e336862c39e23b.tar.gz
external_llvm-a54b96b6230699e5f66f62e3d6e336862c39e23b.tar.bz2
enhance x-(-A) -> x+A to preserve NUW/NSW.
Use the presence of NSW/NUW to fold "icmp (x+cst), x" to a constant in cases where it would otherwise be undefined behavior. Surprisingly (to me at least), this triggers hundreds of the times in a few benchmarks: lencode, ldecode, and 466.h264ref seem to *really* like this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91812 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT')
0 files changed, 0 insertions, 0 deletions