diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2025-07-04 23:34:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-04 23:34:33 +0800 |
commit | 2472cdcb69d2fe0ff3573403be1bd49eb2d62dd8 (patch) | |
tree | 3a793383b3d22685fb6d9ab0e606dd6b124ef4a5 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | fd5ed046fdca42603fef1cbc6f4e7e0f536dcff3 (diff) | |
download | llvm-2472cdcb69d2fe0ff3573403be1bd49eb2d62dd8.zip llvm-2472cdcb69d2fe0ff3573403be1bd49eb2d62dd8.tar.gz llvm-2472cdcb69d2fe0ff3573403be1bd49eb2d62dd8.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions