LLVM/project 2c57c89llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll

Merge branch 'main' of https://github.com/llvm/llvm-project into remove-old-res-middle
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+2,915-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+10,875-9,2902,274 files not shown
+97,298-62,3572,280 files

LLVM/project ed3f871llvm/test/Analysis/CostModel/AArch64 arith-widening.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge branch 'main' into users/vitalybuka/spr/ir-optimize-cfi-in-writecombinedglobalvaluesummary
DeltaFile
+2,099-2,096llvm/test/MC/AMDGPU/gfx12_asm_sop2.s
+2,053-2,052llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,434-1,418llvm/test/MC/AMDGPU/gfx12_asm_sop1.s
+940-1,896llvm/test/Analysis/CostModel/AArch64/arith-widening.ll
+1,240-1,230llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt
+9,200-10,5201,240 files not shown
+47,494-33,1451,246 files

LLVM/project 397c487llvm/test/CodeGen/AMDGPU global_atomics_scan_fadd.ll global_atomics_scan_fsub.ll, llvm/test/CodeGen/RISCV/rvv fixed-vectors-cttz-vp.ll

Merge remote-tracking branch 'origin/main' into users/ccc03-08-_astmatcher_templateargumentcountis_support_functiondecl_
DeltaFile
+1,434-1,828llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
+1,246-1,246llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
+1,214-1,214llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+726-1,509llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
+7,080-8,2571,023 files not shown
+37,140-28,4421,029 files

LLVM/project 32717eaclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

Reland: [clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [8 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+28-9clang/include/clang/Sema/Sema.h
+16-16clang/test/SemaTemplate/cwg2398.cpp
+192-25191 files not shown
+633-56097 files

LLVM/project 07f3388clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

Revert "[clang] Implement instantiation context note for checking template parameters (#126088)"

This reverts commit a24523ac8dc07f3478311a5969184b922b520395.

This is causing significant compile-time regressions for C++ code, see:
https://github.com/llvm/llvm-project/pull/126088#issuecomment-2704874202
DeltaFile
+148-73clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+26-23clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+9-28clang/include/clang/Sema/Sema.h
+255-19691 files not shown
+575-64897 files

LLVM/project 7dc7264llvm/test/CodeGen/AMDGPU shufflevector.v2i64.v8i64.ll shufflevector.v2bf16.v8bf16.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites long-spec-const-composite.ll

Merge branch 'main' into users/ylzsx/r-tls-noie
DeltaFile
+65,595-0llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
+29,745-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
+27,655-0llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
+27,139-0llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
+25,933-0llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
+203,722-016,100 files not shown
+2,040,184-604,85516,106 files

LLVM/project 33f623dllvm/test/CodeGen/AMDGPU vni8-across-blocks.ll shufflevector-physreg-copy.ll, llvm/test/CodeGen/RISCV qci-interrupt-attr.ll qci-interrupt-attr-fpr.ll

Merge branch 'main' into users/kparzysz/spr/o02-metadirective-flush
DeltaFile
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+603-1,206llvm/test/CodeGen/X86/matrix-multiply.ll
+706-540llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
+812-407llvm/test/CodeGen/Thumb2/mve-vld3.ll
+795-0llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
+8,664-2,153747 files not shown
+23,408-10,802753 files

LLVM/project 2ff290bllvm/test/CodeGen/RISCV xqccmp-push-pop-popret.ll qci-interrupt-attr.ll, llvm/test/CodeGen/X86 vector-interleaved-store-i16-stride-7.ll vector-interleaved-store-i8-stride-7.ll

Rebase

Created using spr 1.3.5
DeltaFile
+3,951-0llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll
+3,860-0llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
+1,746-1,734llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
+1,532-1,534llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
+2,927-0llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
+2,821-0llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll
+16,837-3,2681,830 files not shown
+73,594-27,5911,836 files

LLVM/project a24523aclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement instantiation context note for checking template parameters (#126088)

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss, this
patch adds a new instantiation context note, so that this can work using
RAII magic.

This fixes a bunch of places where these notes were missing, and is more
future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
which is missing an argument.
- Template Template parameter mismatches now refer to template
parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time and
the decrease in maintenance burden makes up for it.

    [5 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25591 files not shown
+648-57597 files

LLVM/project e30bd8aclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25591 files not shown
+648-57597 files

LLVM/project 59048ffclang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25590 files not shown
+645-57296 files

LLVM/project 339f296clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+73-148clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+23-26clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+20-20clang/test/SemaTemplate/cwg2398.cpp
+28-9clang/include/clang/Sema/Sema.h
+196-25590 files not shown
+645-57296 files

LLVM/project e094d95clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+574-45895 files

LLVM/project ae8b23bclang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+574-45895 files

LLVM/project 4a2467aclang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/drs cwg0xx.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+22-9clang/test/CXX/drs/cwg0xx.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+162-17689 files not shown
+564-45395 files

LLVM/project 3179a53clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/temp/temp.decls/temp.variadic fixed-expansion.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+12-12clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
+152-17989 files not shown
+548-44895 files

LLVM/project ce343a5clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp, clang/test/CXX/temp/temp.decls/temp.variadic fixed-expansion.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+12-12clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
+152-17989 files not shown
+544-44795 files

LLVM/project ad22130clang/lib/Frontend FrontendActions.cpp, clang/lib/Sema SemaTemplate.cpp SemaTemplateInstantiate.cpp

[clang] Implement evaluation context for checking template parameters

Instead of manually adding a note pointing to the relevant template
parameter to every relevant error, which is very easy to miss,
this patch adds a new instantiation context note, so that this
can work using RAII magic.

This fixes a bunch of places where these notes were missing, and is
more future-proof.

Some diagnostics are reworked to make better use of this note:
- Errors about missing template arguments now refer to the parameter
  which is missing an argument.
- Template Template parameter mismatches now refer to template
  parameters as parameters instead of arguments.

It's likely this will add the note to some diagnostics where the
parameter is not super relevant, but this can be reworked with time
and the decrease in maintenance burden makes up for it.

    [6 lines not shown]
DeltaFile
+48-93clang/lib/Sema/SemaTemplate.cpp
+31-31clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
+21-21clang/test/CXX/temp/temp.decls/temp.variadic/fixed-expansion.cpp
+16-16clang/test/SemaTemplate/cwg2398.cpp
+24-6clang/lib/Sema/SemaTemplateInstantiate.cpp
+16-8clang/lib/Frontend/FrontendActions.cpp
+156-17589 files not shown
+545-44795 files

LLVM/project ad220d9clang/test/OpenMP target_teams_distribute_parallel_for_simd_schedule_codegen.cpp teams_distribute_parallel_for_simd_schedule_codegen.cpp, llvm/test/CodeGen/X86 large-gep-chain.ll

Merge commit 'e2d1e2183a9615c669392eefcfe632cc0b59a649' into users/meinersbur/irbuilder-extract
DeltaFile
+0-116,484llvm/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
+0-115,677llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt
+0-98,954llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt
+25,277-25,277llvm/test/CodeGen/X86/large-gep-chain.ll
+9,540-24,668clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+9,364-24,292clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+44,181-405,35242,672 files not shown
+3,761,432-2,721,70342,678 files

LLVM/project cb8dae6llvm/include/llvm/IR IntrinsicsX86.td, llvm/test/MC/AArch64/SME2 mova.s

Merge branch 'main' into HEAD
DeltaFile
+6,177-0third-party/unittest/googletest/src/gtest.cc
+0-6,177llvm/utils/unittest/googletest/src/gtest.cc
+3,046-2,678llvm/include/llvm/IR/IntrinsicsX86.td
+17-5,689llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
+5,521-0llvm/test/MC/AArch64/SME2/mova.s
+1-5,123llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
+14,762-19,6674,315 files not shown
+198,948-112,0264,321 files

LLVM/project ab11408clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp SemaTemplateDeduction.cpp

[clang] Instantiate NTTPs and template default arguments with sugar

This makes use of the changes introduced in D134604, in order to
instantiate non-type template parameters and default template arguments
with a final sugared substitution.

This comes at no additional relevant cost.
Since we don't track / unique them in specializations, we wouldn't be
able to resugar them later anyway.

Signed-off-by: Matheus Izvekov <mizvekov at gmail.com>

Differential Revision: https://reviews.llvm.org/D136564
DeltaFile
+53-67clang/lib/Sema/SemaTemplate.cpp
+10-11clang/lib/Sema/SemaTemplateDeduction.cpp
+5-8clang/include/clang/Sema/Sema.h
+3-5clang/test/AST/ast-dump-template-decls.cpp
+4-4clang/test/SemaTemplate/make_integer_seq.cpp
+2-2clang/test/CXX/drs/dr3xx.cpp
+77-973 files not shown
+80-1009 files

LLVM/project bf07c33clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp SemaTemplateDeduction.cpp

Revert "[clang] Instantiate NTTPs and template default arguments with sugar"

This patch reverts
- commit d4b1964f0554046b1e64908e5c1cd701b25f4c9e
- commit 59f0827e2cf3755834620e7e0b6d946832440f80([clang] Instantiate alias templates with sugar)

As it makes clang fail to pass some code it used to compile.
See comments: https://reviews.llvm.org/D136564#3891065
DeltaFile
+69-55clang/lib/Sema/SemaTemplate.cpp
+30-10clang/test/AST/ast-dump-template-decls.cpp
+16-12clang/test/SemaTemplate/make_integer_seq.cpp
+13-10clang/test/Misc/diag-template-diffing.cpp
+11-10clang/lib/Sema/SemaTemplateDeduction.cpp
+8-5clang/include/clang/Sema/Sema.h
+147-10210 files not shown
+162-11716 files

LLVM/project d4b1964clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp SemaTemplateDeduction.cpp

[clang] Instantiate NTTPs and template default arguments with sugar

This makes use of the changes introduced in D134604, in order to
instantiate non-type template parameters and default template arguments
with a final sugared substitution.

This comes at no additional relevant cost.
Since we don't track / unique them in specializations, we wouldn't be
able to resugar them later anyway.

Signed-off-by: Matheus Izvekov <mizvekov at gmail.com>

Differential Revision: https://reviews.llvm.org/D136564
DeltaFile
+53-67clang/lib/Sema/SemaTemplate.cpp
+10-11clang/lib/Sema/SemaTemplateDeduction.cpp
+5-8clang/include/clang/Sema/Sema.h
+3-5clang/test/AST/ast-dump-template-decls.cpp
+4-4clang/test/SemaTemplate/make_integer_seq.cpp
+2-2clang/test/CXX/drs/dr3xx.cpp
+77-973 files not shown
+80-1009 files

LLVM/project a88ebd4clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp SemaTemplateDeduction.cpp

Revert "[clang] Instantiate NTTPs and template default arguments with sugar"

This reverts commit 2560c1266993af6e6c15900ce673c6db23132f8b.
DeltaFile
+67-53clang/lib/Sema/SemaTemplate.cpp
+11-10clang/lib/Sema/SemaTemplateDeduction.cpp
+8-5clang/include/clang/Sema/Sema.h
+5-3clang/test/AST/ast-dump-template-decls.cpp
+4-4clang/test/SemaTemplate/make_integer_seq.cpp
+2-2clang/test/CXX/drs/dr3xx.cpp
+97-773 files not shown
+100-809 files

LLVM/project 2560c12clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplate.cpp SemaTemplateDeduction.cpp

[clang] Instantiate NTTPs and template default arguments with sugar

This makes use of the changes introduced in D134604, in order to
instantiate non-type template parameters and default template arguments
with a final sugared substitution.

This comes at no additional relevant cost.
Since we don't track / unique them in specializations, we wouldn't be
able to resugar them later anyway.

Signed-off-by: Matheus Izvekov <mizvekov at gmail.com>

Differential Revision: https://reviews.llvm.org/D136564
DeltaFile
+53-67clang/lib/Sema/SemaTemplate.cpp
+10-11clang/lib/Sema/SemaTemplateDeduction.cpp
+5-8clang/include/clang/Sema/Sema.h
+3-5clang/test/AST/ast-dump-template-decls.cpp
+4-4clang/test/SemaTemplate/make_integer_seq.cpp
+2-2clang/test/CXX/drs/dr3xx.cpp
+77-973 files not shown
+80-1009 files

LLVM/project e7f3e21clang/include/clang/AST Type.h PrettyPrinter.h, clang/lib/AST TypePrinter.cpp DeclTemplate.cpp

Suppress printing template arguments that match default template
arguments of types by default.

This somewhat improves the worst-case printing of types like
std::string, std::vector, etc., where many irrelevant default arguments
can be included in the type as printed if we've lost the type sugar.
DeltaFile
+175-12clang/lib/AST/TypePrinter.cpp
+37-0clang/test/Misc/diag-template.cpp
+12-4clang/lib/AST/DeclTemplate.cpp
+7-3clang/include/clang/AST/Type.h
+6-1clang/include/clang/AST/PrettyPrinter.h
+4-1clang/lib/Frontend/FrontendActions.cpp
+241-215 files not shown
+247-2711 files

LLVM/project 792c22dclang/include/clang/Basic DiagnosticSemaKinds.td, clang/lib/AST DeclTemplate.cpp

When producing a name of a partial specialization in a diagnostic, use the
template arguments as written rather than the canonical template arguments,
so we print more user-friendly names for template parameters.

llvm-svn: 290483
DeltaFile
+20-6clang/lib/AST/DeclTemplate.cpp
+8-8clang/test/Modules/cxx-templates.cpp
+15-0clang/test/SemaTemplate/deduction.cpp
+4-4clang/test/CXX/temp/temp.spec/temp.expl.spec/examples.cpp
+2-3clang/lib/Sema/SemaTemplateInstantiate.cpp
+2-2clang/include/clang/Basic/DiagnosticSemaKinds.td
+51-234 files not shown
+58-2710 files

LLVM/project 6ca80beclang/lib/Sema SemaExpr.cpp, clang/test/Analysis retain-release.m

3.2 release branch r167713

llvm-svn: 167713
llvm-svn: 167708
llvm-svn: 167707
llvm-svn: 167706
llvm-svn: 167704
DeltaFile
+29,647-0libcxxabi/test/test_demangle.cpp
+26,245-0libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+24,676-0clang/test/Analysis/retain-release.m
+17,887-0libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
+13,619-0lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+11,985-0clang/lib/Sema/SemaExpr.cpp
+124,059-013,815 files not shown
+2,122,455-013,821 files

LLVM/project e8a1be6clang/test/Analysis retain-release.m, libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members put_long_double.pass.cpp

3.2 release branch r167700

llvm-svn: 167701
DeltaFile
+0-93,319llvm/test/MC/ELF/many-section.s
+0-29,647libcxxabi/test/test_demangle.cpp
+0-26,245libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+0-24,676clang/test/Analysis/retain-release.m
+0-22,700llvm/configure
+0-22,312llvm/projects/sample/configure
+0-218,89924,136 files not shown
+0-3,905,34324,142 files

LLVM/project 53fa049clang/lib/AST TypePrinter.cpp, clang/test/CXX/temp/temp.arg/temp.arg.nontype p5.cpp

make clang print types as "const int *" instead of "int const*",
which is should have done from the beginning.  As usual, the most
fun with this sort of change is updating all the testcases.

llvm-svn: 113090
DeltaFile
+21-1clang/lib/AST/TypePrinter.cpp
+7-7clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
+4-4clang/test/Sema/block-return.c
+4-4clang/test/SemaCXX/reinterpret-cast.cpp
+3-3clang/test/SemaCXX/overload-call.cpp
+3-3clang/test/SemaCXX/const-cast.cpp
+42-2239 files not shown
+89-6945 files