diff options
author | Rik Huijzer <github@huijzer.xyz> | 2023-10-13 12:35:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 12:35:04 +0200 |
commit | 7ef1754301a88ea0cbcffae53c2027abad3cc357 (patch) | |
tree | a65ff33c1699b0053ac5edcf3311eeb2a20338cf /lldb/source/Commands/CommandObjectExpression.cpp | |
parent | c6f065d9d99738f1aca1a29f1f9f8900d2d38cbb (diff) | |
download | llvm-7ef1754301a88ea0cbcffae53c2027abad3cc357.zip llvm-7ef1754301a88ea0cbcffae53c2027abad3cc357.tar.gz llvm-7ef1754301a88ea0cbcffae53c2027abad3cc357.tar.bz2 |
[mlir][arith] Fix canon pattern for large ints in chained arith (#68900)
The logic for chained basic arithmetic operations in the `arith` dialect
was using `getInt()` on `IntegerAttr`. This is a problem for very large
integers. Specifically, in
https://github.com/llvm/llvm-project/issues/64774 the following
assertion failed:
```
Assertion failed: (getSignificantBits() <= 64 && "Too many bits for int64_t"), function getSExtValue, file APInt.h, line 1510.
```
According to a comment on `getInt()`, calls to `getInt()` should be
replaced by `getValue()`:
https://github.com/llvm/llvm-project/blob/ab6a66dbec61654d0962f6abf6d6c5b776937584/mlir/include/mlir/IR/BuiltinAttributes.td#L707-L708
This patch fixes https://github.com/llvm/llvm-project/issues/64774 by
doing such a replacement.
---------
Co-authored-by: Markus Böck <markus.boeck02@gmail.com>
Diffstat (limited to 'lldb/source/Commands/CommandObjectExpression.cpp')
0 files changed, 0 insertions, 0 deletions