diff options
author | Philip Reames <preames@rivosinc.com> | 2025-05-09 08:09:46 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-09 08:09:46 -0700 |
commit | 7e64ade2ef1af72db235f6d76ecd319abc09690e (patch) | |
tree | 2d2678e05d317a1a72b0ed50e6391a24b62bafc8 /clang/lib/Frontend/CompilerInstance.cpp | |
parent | 20d6def0ae45b0c7ebcc1627d299689fa34e8cc8 (diff) | |
download | llvm-7e64ade2ef1af72db235f6d76ecd319abc09690e.zip llvm-7e64ade2ef1af72db235f6d76ecd319abc09690e.tar.gz llvm-7e64ade2ef1af72db235f6d76ecd319abc09690e.tar.bz2 |
[RISCV] Extend zvqdot matching to handle reduction trees (#138965)
Now that we have matching for vqdot in it's basic variants, we can
extend the matcher to handle reduction trees instead of individual
reductions. This is important as we canonicalize reductions by
performing a tree in the vector domain before the root reduction
instruction.
The particular approach taken here has the unfortunate implication that
non-matches visit the entire reduction tree once for each time the
reduction root is visited in DAG. While conceptually problematic for
compile time, this is probably fine in practice as we should only visit
the root once per pass of DAGCombine. I don't really see a better
solution - suggestions welcome.
---------
Co-authored-by: Luke Lau <luke_lau@icloud.com>
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
0 files changed, 0 insertions, 0 deletions