aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMapFile.cpp
diff options
context:
space:
mode:
authorLuke Lau <luke@igalia.com>2025-05-28 09:45:54 +0100
committerGitHub <noreply@github.com>2025-05-28 09:45:54 +0100
commit2b9ded64b0221f4159ab603518c5f88edb8bf958 (patch)
treed8a26d348e66de083f7237c2e57c00d3e8a2fff8 /clang/lib/Lex/ModuleMapFile.cpp
parent783b39934623e734565c9d919b74d12c2f244f7d (diff)
downloadllvm-2b9ded64b0221f4159ab603518c5f88edb8bf958.zip
llvm-2b9ded64b0221f4159ab603518c5f88edb8bf958.tar.gz
llvm-2b9ded64b0221f4159ab603518c5f88edb8bf958.tar.bz2
[VectorCombine] Support nary operands and intrinsics in scalarizeOpOrCmp (#138406)
This adds support for unary operands, and unary + ternary intrinsics in scalarizeOpOrCmp (FKA scalarizeBinOpOrCmp). The motivation behind this is to scalarize more intrinsics in VectorCombine rather than in DAGCombine, so we can sink splats across basic blocks: see https://github.com/llvm/llvm-project/pull/137786 The main change required is to generalize the existing VecC0/VecC1 rules across n-ary ops: - An operand can either be a constant vector or an insert of a scalar into a constant vector - If it's an insert, the index needs to be static and in bounds - If it's an insert, all indices need to be the same across all operands - If all the operands are constant vectors, bail as it will get constant folded anyway
Diffstat (limited to 'clang/lib/Lex/ModuleMapFile.cpp')
0 files changed, 0 insertions, 0 deletions