diff options
author | Philip Reames <preames@rivosinc.com> | 2024-08-30 17:13:51 -0700 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2024-09-04 08:23:21 -0700 |
commit | 3d9abfc9f841b13825e3d03cfba272f5eeab9a3b (patch) | |
tree | e8b7f6074af959d0f2591be744f39d63bbccf89f /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | c1a8283fcc735b1567c49bb6cd485f9e71a12cc4 (diff) | |
download | llvm-3d9abfc9f841b13825e3d03cfba272f5eeab9a3b.zip llvm-3d9abfc9f841b13825e3d03cfba272f5eeab9a3b.tar.gz llvm-3d9abfc9f841b13825e3d03cfba272f5eeab9a3b.tar.bz2 |
Consolidate all IR logic for getting the identity value of a reduction [nfc]
This change merges the three different places (at the IR layer) for
finding the identity value of a reduction into a single copy. This
depends on several prior commits which fix ommissions and bugs in
the distinct copies, but this patch itself should be fully
non-functional.
As the new comments and naming try to make clear, the identity value
is a property of the @llvm.vector.reduce.* intrinsic, not of e.g.
the recurrence descriptor. (We still provide an interface for
clients using recurrence descriptors, but the implementation simply
translates to the intrinsic which each corresponds to.)
As a note, the getIntrinsicIdentity API does not support fminnum/fmaxnum
or fminimum/fmaximum which is why we still need manual logic (but at
least only one copy of manual logic) for those cases.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions