aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/InlineFunction.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2025-06-26 11:19:09 +0100
committerGitHub <noreply@github.com>2025-06-26 11:19:09 +0100
commitaa2402931908317f5cc19b164ef17c5a74f2ae67 (patch)
tree2a8a0d2a4aea6e9c271166030f77dc5debd10def /llvm/lib/Transforms/Utils/InlineFunction.cpp
parent696c0f92e0fef955e331895cd8d65fb6cc080ad3 (diff)
downloadllvm-aa2402931908317f5cc19b164ef17c5a74f2ae67.zip
llvm-aa2402931908317f5cc19b164ef17c5a74f2ae67.tar.gz
llvm-aa2402931908317f5cc19b164ef17c5a74f2ae67.tar.bz2
[VPlan] Unroll VPReplicateRecipe by VF. (#142433)
Explicitly unroll VPReplicateRecipes outside replicate regions by VF, replacing them by VF single-scalar recipes. Extracts for operands are added as needed and the scalar results are combined to a vector using a new BuildVector VPInstruction. It also adds a few folds to simplify unnecessary extracts/BuildVectors. It also adds a BuildStructVector opcode for handling of calls that have struct return types. VPReplicateRecipe in replicate regions can will be unrolled as follow up, turing non-single-scalar VPReplicateRecipes into 'abstract', i.e. not executable. PR: https://github.com/llvm/llvm-project/pull/142433
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions