SuccessChanges

Summary

  1. [Concepts] Constraint Enforcement & Diagnostics (details)
  2. [lldb] Update hardcoded Makefile.rules inclusions. (details)
  3. [Concepts] Fix build failures in D41569 (details)
  4. gn build: Merge fdf80e86a52 (details)
  5. [AutoFDO] Properly merge context-sensitive profile of inlinee back to (details)
Commit fdf80e86a52849813d05da4b6c25884c06ba9e98 by saar
[Concepts] Constraint Enforcement & Diagnostics
Part of the C++20 concepts implementation effort.
- Associated constraints (requires clauses, currently) are now enforced
when instantiating/specializing templates and when considering partial
specializations and function overloads.
- Elaborated diagnostics give helpful insight as to why the constraints
were not satisfied. Phabricator: D41569
Re-commit, after fixing some memory bugs.
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/AST/CMakeLists.txt
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/include/clang/Sema/TemplateDeduction.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/function-templates.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/partial-specializations.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was addedclang/lib/AST/ASTConcept.cpp
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was addedclang/include/clang/AST/ASTConcept.h
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.constr/non-function-templates.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit 0d236d8b4f8aecc258e26ad53755a39d9b76032e by rupprecht
[lldb] Update hardcoded Makefile.rules inclusions.
This replaces `include $(LEVEL)/Makefile.rules` with `include
Makefile.rules`. The lldb test driver already passes the include path
when running make, and specifically looking for "../../Makefile.rules"
forces the test to be in a specific location. Removing this hardcoded
relative path will make it possible to move this test as-is.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/float-display/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/thread_local/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/Makefile
Commit e7c24667816edc1a3754b46a49f9eac011dc1fee by saar
[Concepts] Fix build failures in D41569
Fix build failures in previous commit.
The file was modifiedclang/lib/AST/ASTConcept.cpp
Commit 6e8322deb3f984467c302165149a597dbbc5e279 by llvmgnsyncbot
gn build: Merge fdf80e86a52
The file was modifiedllvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
Commit e503fd85d3ac9d3e1493a7a63bc43c6939e132cc by aktoon
[AutoFDO] Properly merge context-sensitive profile of inlinee back to
outlined function
Summary: When sample profile loader decides not to inline a previously
inlined call-site, we adjust the profile of outlined function simply by
scaling up its profile counts by call-site count. This means the
context-sensitive profile of that inlined instance will be thrown away.
This commit try to keep context-sensitive profile for such cases:
- Instead of scaling outlined function's profile, we now properly merge
the FunctionSamples of inlined instance into outlined function,
including all recursively inlined profile.
- Instead of adjusting the profile for negative inline decision at the
end of the sample profile loader pass, we do the profile merge right
after processing each function. This change paired with top-down
ordering of annotation/inline-replay (a separate diff) will make sure we
recursively merge profile back before the profile is used for annotation
and inline replay.
A new switch -sample-profile-merge-inlinee is added to enable the new
profile merge for tuning. It should be the default behavior eventually.
Reviewers: wmi, davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70653
The file was modifiedllvm/test/CodeGen/X86/insert-prefetch-inline.afdo
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/inline-mergeprof.prof
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/einline.prof
The file was addedllvm/test/Transforms/SampleProfile/inline-mergeprof.ll
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/test/Transforms/SampleProfile/Inputs/inline-callee-update.prof
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h