diff options
| author | Jeff Niu <jeff@modular.com> | 2023-06-25 17:44:38 -0700 |
|---|---|---|
| committer | Jeff Niu <jeff@modular.com> | 2023-06-26 11:49:09 -0700 |
| commit | 962f71be5a2b65d75e1f42c36bb134448f6e3a0d (patch) | |
| tree | 865708a4d06e9cf6fb87e1706b5b157442be81ee /lldb/packages/Python/lldbsuite/test/configuration.py | |
| parent | 3620af84d2ae577c7a12f83192c6dad2ce85e00c (diff) | |
| download | llvm-962f71be5a2b65d75e1f42c36bb134448f6e3a0d.zip llvm-962f71be5a2b65d75e1f42c36bb134448f6e3a0d.tar.gz llvm-962f71be5a2b65d75e1f42c36bb134448f6e3a0d.tar.bz2 | |
[mlir][index] Fold `cmp(max/min(x, cstA), cstB)`
This is a case that is not picked up by integer range inference and
suggests a weakness with integer range inference on the index dialect.
The problem is that when `[1, SMAX_64]` is truncated to 32 bits, the
resulting range could be `[SMIN_32, SMAX_32]`, making the subsequent
comparison worthless. This is because integer range inference doesn't
know that the result of the max/min inference also changes based on the
bitwidth, and doing the truncation locally at the input of the
comparison op loses that information.
This also was a pattern that frequently showed up in our code, so adding
it as a folder allows dead code to be pruned more frequently.
Depends on D153731
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D153732
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/configuration.py')
0 files changed, 0 insertions, 0 deletions
