[InstCombine] Add support for max(a,b) + min(a,b) => a + b. Re-land.
The same optimization for max(a,b) * min(a,b) => a * b is added. Correctness check: uadd: https://alive2.llvm.org/ce/z/2rXDek sadd: https://alive2.llvm.org/ce/z/zNu_er uadd + nuw/nsw: https://alive2.llvm.org/ce/z/EaiNjB sadd + nuw/nsw: https://alive2.llvm.org/ce/z/w_2Nrs umul: https://alive2.llvm.org/ce/z/dgXRLr smul: https://alive2.llvm.org/ce/z/hBjGzz umul + nuw/nsw: https://alive2.llvm.org/ce/z/EaiNjB smul + nuw/nsw: https://alive2.llvm.org/ce/z/87MNeS Reviewed By: goldstein.w.n Differential Revision: https://reviews.llvm.org/D147296
Loading
Please sign in to comment