[all-commits] [llvm/llvm-project] 6f7050: WIP: [clang] store sugared converted arguments on ...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Fri Mar 21 11:04:09 PDT 2025


  Branch: refs/heads/users/mizvekov/clang-sugar-sugared-converted-tst
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f705031ce3646a5699a8cfdeeeb32569409be49
      https://github.com/llvm/llvm-project/commit/6f705031ce3646a5699a8cfdeeeb32569409be49
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-03-21 (Fri, 21 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.cpp
    M clang-tools-extra/clang-tidy/mpi/TypeMismatchCheck.cpp
    M clang-tools-extra/clangd/AST.cpp
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeLoc.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NestedNameSpecifier.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/Index/USRGeneration.cpp
    M clang/lib/Sema/HeuristicResolver.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/TemplateArgumentHasher.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdVariantChecker.cpp
    M clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/drs/cwg15xx.cpp
    M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
    M clang/test/CodeGen/preferred_name.cpp
    M clang/test/SemaCXX/pr100095.cpp
    M clang/test/SemaCXX/references.cpp
    M clang/test/SemaCXX/undefined-partial-specialization.cpp
    M clang/test/SemaTemplate/cwg2398.cpp
    M clang/test/SemaTemplate/make_integer_seq.cpp
    M clang/test/SemaTemplate/type_pack_element.cpp
    M clang/tools/libclang/CXType.cpp
    M libcxx/test/std/utilities/optional/optional.object/optional_requires_destructible_object.verify.cpp

  Log Message:
  -----------
  WIP: [clang] store sugared converted arguments on TemplateSpecializationType

Not ready for review

This is a quite large patch, half of which will
be redone following a different approach.

Although it improves sugar retention in template argument
deduction on its own, this is an enabler for resugaring.

This stores the sugared converted template arguments in
a TST, in addition to the existing as-written ones,
so this is quite wasteful.

This is the biggest performance impact on the whole
of resugaring so far, although it is hoped the
new approach will have negligible impact.

This is a continuation of https://reviews.llvm.org/D134113



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list