diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-12-21 04:04:05 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-12-21 04:04:05 +0000 |
| commit | a54b96b6230699e5f66f62e3d6e336862c39e23b (patch) | |
| tree | 396f56075134fb3d58520cdb78c3ccbe58bf6409 /include/llvm/ADT | |
| parent | 258a2ffb1b6311aecc8ce986b1f99c99e638c3a1 (diff) | |
| download | external_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
