aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2024-03-22 07:08:51 +0800
committerGitHub <noreply@github.com>2024-03-22 07:08:51 +0800
commit06d245242e3e24cd4558f545fb5ceba0582c4f03 (patch)
tree7c521b3b2b6e5ab1440b325d00f23b7001169fef /clang/lib/Frontend/CompilerInvocation.cpp
parentdc74bf7a5412df82223f7062d9a6b814abbfca45 (diff)
downloadllvm-06d245242e3e24cd4558f545fb5ceba0582c4f03.zip
llvm-06d245242e3e24cd4558f545fb5ceba0582c4f03.tar.gz
llvm-06d245242e3e24cd4558f545fb5ceba0582c4f03.tar.bz2
[RISCV] Recursively split concat_vector into smaller LMULs when lowering (#85825)
This is a reimplementation of the combine added in #83035 but as a lowering instead of a combine, so we don't regress the test case added in e59f120e3a14ccdc55fcb7be996efaa768daabe0 by interfering with the strided load combine Previously the combine had to concatenate the split vectors with insert_subvector instead of concat_vectors to prevent an infinite combine loop. And the reasoning behind keeping it as a combine was because if we emitted the insert_subvector during lowering then we didn't fold away inserts of undef subvectors. However it turns out we can avoid this if we just do this in lowering and select a concat_vector directly, since we get the undef folding for free with `DAG.getNode(ISD::CONCAT_VECTOR, ...)` via foldCONCAT_VECTORS.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions