diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2024-02-06 01:29:38 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-06 01:29:38 +0800 |
commit | cb8d83a77c25e529f58eba17bb1ec76069a04e90 (patch) | |
tree | 4d0adcffd94f829d70b75114de29dd1aa3acacbf /lldb/source/Commands/CommandObjectScript.cpp | |
parent | 8f4d8945536e9fc45db0e349b91c2f4b3a9cae29 (diff) | |
download | llvm-cb8d83a77c25e529f58eba17bb1ec76069a04e90.zip llvm-cb8d83a77c25e529f58eba17bb1ec76069a04e90.tar.gz llvm-cb8d83a77c25e529f58eba17bb1ec76069a04e90.tar.bz2 |
[InstCombine] Fix assertion failure in issue80597 (#80614)
The assertion in #80597 failed when we were trying to compute known bits
of a value in an unreachable BB.
https://github.com/llvm/llvm-project/blob/859b09da08c2a47026ba0a7d2f21b7dca705864d/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp#L749-L810
In this case, `SignBits` is 30 (deduced from instr info), but `Known` is
`10000101010111010011110101000?0?00000000000000000000000000000000`
(deduced from dom cond). Setting high bits of `lshr Known, 1` will lead
to conflict.
This patch masks out high bits of `Known.Zero` to address this problem.
Fixes #80597.
Diffstat (limited to 'lldb/source/Commands/CommandObjectScript.cpp')
0 files changed, 0 insertions, 0 deletions