llvm-project
2472cdcb - [InstCombine] Refine nuw propagation in `OptimizePointerDifference` (#147059)

Commit
126 days ago
[InstCombine] Refine nuw propagation in `OptimizePointerDifference` (#147059) After https://github.com/llvm/llvm-project/pull/146100, the offset may be generated by a previous call to `EmitGEPOffsets`, causing the nuw flag on shl to be lost. This patch handles the `shl+ptradd` case as well. It also fixes a miscompilation in the case of `mul + ptradd`. Alive2: https://alive2.llvm.org/ce/z/BeaNzE This patch removes many unnecessary masking operations in Rust programs with the `ptr_offset_from_unsigned` intrinsic : https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2538/files
Author
Parents
Loading