diff options
author | Antonio Frighetto <me@antoniofrighetto.com> | 2025-08-08 09:31:21 +0200 |
---|---|---|
committer | Antonio Frighetto <me@antoniofrighetto.com> | 2025-08-08 09:31:50 +0200 |
commit | e977b28c37c174c1b93ad78314650e03b545f560 (patch) | |
tree | 993644a6e66b45b163a2172174c8b2d7dff4f764 /llvm/lib/MC/MCDisassembler/Disassembler.h | |
parent | 5f864560a6514bb74ecc1e0c7d3ff8c412228bfe (diff) | |
download | llvm-e977b28c37c174c1b93ad78314650e03b545f560.zip llvm-e977b28c37c174c1b93ad78314650e03b545f560.tar.gz llvm-e977b28c37c174c1b93ad78314650e03b545f560.tar.bz2 |
[InstCombine] Match intrinsic recurrences when known to be hoisted
For value-accumulating recurrences of kind:
```
%umax.acc = phi i8 [ %umax, %backedge ], [ %a, %entry ]
%umax = call i8 @llvm.umax.i8(i8 %umax.acc, i8 %b)
```
The binary intrinsic may be simplified into an intrinsic with init
value and the other operand, if the latter is loop-invariant:
```
%umax = call i8 @llvm.umax.i8(i8 %a, i8 %b)
```
Proofs: https://alive2.llvm.org/ce/z/ea2cVC.
Fixes: https://github.com/llvm/llvm-project/issues/145875.
Diffstat (limited to 'llvm/lib/MC/MCDisassembler/Disassembler.h')
0 files changed, 0 insertions, 0 deletions