[all-commits] [llvm/llvm-project] 64e768: [ValueTracking] Improve impliesPoison to look into...
Juneyoung Lee via All-commits
all-commits at lists.llvm.org
Sat May 1 20:04:14 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 64e768e8162a3d32049ed5c38fd533beecb0c9af
https://github.com/llvm/llvm-project/commit/64e768e8162a3d32049ed5c38fd533beecb0c9af
Author: Juneyoung Lee <aqjune at gmail.com>
Date: 2021-05-02 (Sun, 02 May 2021)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/div-by-0-guard-before-smul_ov-not.ll
M llvm/test/Transforms/InstCombine/div-by-0-guard-before-smul_ov.ll
M llvm/test/Transforms/InstCombine/div-by-0-guard-before-umul_ov-not.ll
M llvm/test/Transforms/InstCombine/div-by-0-guard-before-umul_ov.ll
Log Message:
-----------
[ValueTracking] Improve impliesPoison to look into overflow intrinsics
This update supports the following transformation:
```
select(extract(mul_with_overflow(a, _), _), (a == 0), false)
=>
and(extract(mul_with_overflow(a, _), _), (a == 0))
```
which is correct because if `a` was poison the select's condition was
also poison.
This update is splitted from D101423.
More information about the All-commits
mailing list