[all-commits] [llvm/llvm-project] af2959: [AST] Reduce the size of TemplateArgumentLocInfo.

Haojian Wu via All-commits all-commits at lists.llvm.org
Mon Sep 21 04:09:35 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: af29591650c43bd3bdc380c9d47b8bfd0f1664a2
      https://github.com/llvm/llvm-project/commit/af29591650c43bd3bdc380c9d47b8bfd0f1664a2
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2020-09-21 (Mon, 21 Sep 2020)

  Changed paths:
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [AST] Reduce the size of TemplateArgumentLocInfo.

allocate the underlying data of Template kind separately, this would reduce AST
memory usage

- TemplateArgumentLocInfo 24 => 8 bytes
- TemplateArgumentLoc  48 => 32 bytes
- DynTypeNode 56 => 40 bytes

ASTContext::.getASTAllocatedMemory changes:
  SemaDecl.cpp 255.5 MB => 247.5MB
  SemaExpr.cpp 293.5 MB => 283.5MB

Differential Revision: https://reviews.llvm.org/D87080




More information about the All-commits mailing list