diff options
author | David Green <david.green@arm.com> | 2021-07-30 14:48:31 +0100 |
---|---|---|
committer | David Green <david.green@arm.com> | 2021-07-30 14:48:31 +0100 |
commit | 532d05b714b3f64603be53398571d49a6f4b2f92 (patch) | |
tree | b382ffb5cfd07e659173c96c24d6c151016a2828 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 4ffa1478fd1bbfdea9382786c0afc4e1303bbd06 (diff) | |
download | llvm-532d05b714b3f64603be53398571d49a6f4b2f92.zip llvm-532d05b714b3f64603be53398571d49a6f4b2f92.tar.gz llvm-532d05b714b3f64603be53398571d49a6f4b2f92.tar.bz2 |
[ARM] Attempt to distribute reductions
This adds a combine for adds of reductions, distributing them so that
they occur sequentially to enable better use of accumulating VADDVA
instructions. It combines:
add(X, add(vecreduce(Y), vecreduce(Z))) ->
add(add(X, vecreduce(Y)), vecreduce(Z))
and
add(add(A, reduce(B)), add(C, reduce(D))) ->
add(add(add(A, C), reduce(B)), reduce(D))
These together distribute the add's so that more reductions can be
selected to VADDVA.
Differential Revision: https://reviews.llvm.org/D106532
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions