diff options
author | Younan Zhang <zyn7109@gmail.com> | 2025-01-27 23:04:57 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-27 23:04:57 +0800 |
commit | 27c917307563eae93c7fef9c3944e56e1f5b5f6d (patch) | |
tree | c62e205e7982b0971357e821a73dd2a713ee81d9 /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
parent | 1f5335c1db5d54b4465677c224b48e0ffc78e6d9 (diff) | |
download | llvm-27c917307563eae93c7fef9c3944e56e1f5b5f6d.zip llvm-27c917307563eae93c7fef9c3944e56e1f5b5f6d.tar.gz llvm-27c917307563eae93c7fef9c3944e56e1f5b5f6d.tar.bz2 |
[Clang] Remove unnecessary Decl transform & profiles for SizeOfPackExpr (#124533)
We used to always transform the pattern declaration for SizeOfPackExpr
to ensure the constraint expression's profile produced the desired
result. However, this approach failed to handle pack expansions when the
pack referred to function parameters. In such cases, the function
parameters were formerly expanded to 1 to avoid building Subst* nodes
(see e6974daa7). That workaround caused us to transform a pack without a
proper ArgumentPackSubstitutionIndex, leading to crashes when
transforming the pattern.
It turns out that profiling the pattern for partially substituted
SizeOfPackExprs is unnecessary because their transformed forms are also
profiled within the partial arguments.
Fixes https://github.com/llvm/llvm-project/issues/124161
Diffstat (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp')
0 files changed, 0 insertions, 0 deletions