diff options
author | Antonio Frighetto <me@antoniofrighetto.com> | 2025-06-27 19:03:46 +0200 |
---|---|---|
committer | Antonio Frighetto <me@antoniofrighetto.com> | 2025-06-27 19:04:28 +0200 |
commit | c11ea449e59cfbd10b7ba2ed11a049ca5184164a (patch) | |
tree | e9f0ef33a55025ca28229fd1716684f2e491cfcd /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | ac7e3910350aed59495883d4193275106047645f (diff) | |
download | llvm-c11ea449e59cfbd10b7ba2ed11a049ca5184164a.zip llvm-c11ea449e59cfbd10b7ba2ed11a049ca5184164a.tar.gz llvm-c11ea449e59cfbd10b7ba2ed11a049ca5184164a.tar.bz2 |
[ValueTracking] Add `matchSimpleBinaryIntrinsicRecurrence` helper
Similarly to what it is being done to match simple recurrence cycle
relations, attempt to match value-accumulating recurrences of kind:
```
%umax.acc = phi i8 [ %umax, %backedge ], [ %a, %entry ]
%umax = call i8 @llvm.umax.i8(i8 %umax.acc, i8 %b)
```
Preliminary work to let InstCombine avoid folding such recurrences,
so that simple loop-invariant computation may get hoisted. Minor
opportunity to refactor out code as well.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions