[PATCH] D74094: Reapply: [IRGen] Emit lifetime intrinsics around temporary aggregate argument allocas

Nick Desaulniers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 14 13:51:01 PDT 2023


nickdesaulniers added a comment.

In D74094#4646152 <https://reviews.llvm.org/D74094#4646152>, @nickdesaulniers wrote:

> In D74094#4645998 <https://reviews.llvm.org/D74094#4645998>, @dexonsmith wrote:
>
>> In D74094#4645562 <https://reviews.llvm.org/D74094#4645562>, @nickdesaulniers wrote:
>>
>>> I don't yet fully comprehend yet what's going wrong, and probably need to familiarize myself with the language rules around `auto`'s type deduction.
>>
>> For reduction purposes, it might be useful to factor out the auto type deduction on the return. I think you can do that with the help of `-Xclang -ast-dump`.
>
> Heh, yeah I tried that, and hit an assertion before we were able to dump the full AST.
>
>   | | |     | `-TypedefDecl 0x7f4a5cf03fb0 <line:72:3, line:73:106> col:106 referenced SegmentWrapper 'std::conditional_t<CanAlign, Ref<const Matrix<Scalar, Dynamic, 1, 0, blockSize, 1>, internal::evaluator<VectorTypeCopyClean>::Alignment>, typename VectorTypeCopyClean::ConstSegmentReturnType>':'clang-18: /android0/llvm-project/clang/lib/AST/NestedNameSpecifier.cpp:309: void clang::NestedNameSpecifier::print(raw_ostream &, const PrintingPolicy &, bool) const: Assertion `!isa<ElaboratedType>(T) && "Elaborated type in nested-name-specifier"' failed.

That can be worked around by adding `-Xclang -ast-dump-filter=<function>`, in this case `-Xclang -ast-dump -Xclang -ast-dump-filter=round`:
https://gist.github.com/nickdesaulniers/4ea4b46f112f1b3bc440020f3a2a01e1


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74094/new/

https://reviews.llvm.org/D74094



More information about the cfe-commits mailing list