diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2021-04-07 11:04:57 +0300 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2021-04-07 12:06:25 +0300 |
commit | 2829094a8e252d04f13aabdf6f416c42a06af695 (patch) | |
tree | e5e22d4714b45721c068faac843988ffe883181f /clang/lib/Basic/SourceManager.cpp | |
parent | 93d1d94b745b940c9ad0adf20322eb16ed624ef3 (diff) | |
download | llvm-2829094a8e252d04f13aabdf6f416c42a06af695.zip llvm-2829094a8e252d04f13aabdf6f416c42a06af695.tar.gz llvm-2829094a8e252d04f13aabdf6f416c42a06af695.tar.bz2 |
Reland [InstCombine] Fold `((X - Y) - Z)` to `X - (Y + Z)` (PR49858)
This reverts commit a547b4e26b311e417cd51100e379693f51a3f448,
relanding commit 31d219d2997fed1b7dc97e0adf170d5aaf65883e,
which was reverted because there was a conflicting inverse transform,
which was causing an endless combine loop, which has now been adjusted.
Original commit message:
https://alive2.llvm.org/ce/z/67w-wQ
We prefer `add`s over `sub`, and this particular xform
allows further folds to happen:
Fixes https://bugs.llvm.org/show_bug.cgi?id=49858
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions