LLVM/project 2c57c89 — llvm/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
Delta | File |
---|
+2,099 | -2,096 | llvm/test/MC/AMDGPU/gfx12_asm_sop2.s |
+2,053 | -2,052 | llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt |
+1,434 | -1,828 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll |
+2,915 | -0 | llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll |
+1,434 | -1,418 | llvm/test/MC/AMDGPU/gfx12_asm_sop1.s |
+940 | -1,896 | llvm/test/Analysis/CostModel/AArch64/arith-widening.ll |
+10,875 | -9,290 | 2,274 files not shown |
+97,298 | -62,357 | 2,280 files |
LLVM/project ed3f871 — llvm/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
Delta | File |
---|
+2,099 | -2,096 | llvm/test/MC/AMDGPU/gfx12_asm_sop2.s |
+2,053 | -2,052 | llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt |
+1,434 | -1,828 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll |
+1,434 | -1,418 | llvm/test/MC/AMDGPU/gfx12_asm_sop1.s |
+940 | -1,896 | llvm/test/Analysis/CostModel/AArch64/arith-widening.ll |
+1,240 | -1,230 | llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop1.txt |
+9,200 | -10,520 | 1,240 files not shown |
+47,494 | -33,145 | 1,246 files |
LLVM/project 397c487 — llvm/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_
Delta | File |
---|
+1,434 | -1,828 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll |
+1,246 | -1,246 | llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll |
+1,246 | -1,246 | llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll |
+1,214 | -1,214 | llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll |
+1,214 | -1,214 | llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll |
+726 | -1,509 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
+7,080 | -8,257 | 1,023 files not shown |
+37,140 | -28,442 | 1,029 files |
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]
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
LLVM/project 7dc7264 — llvm/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
Delta | File |
---|
+65,595 | -0 | llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll |
+29,745 | -0 | llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll |
+27,655 | -0 | llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll |
+27,655 | -0 | llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll |
+27,139 | -0 | llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll |
+25,933 | -0 | llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll |
+203,722 | -0 | 16,100 files not shown |
+2,040,184 | -604,855 | 16,106 files |
LLVM/project 33f623d — llvm/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
LLVM/project 2ff290b — llvm/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
Delta | File |
---|
+3,951 | -0 | llvm/test/CodeGen/RISCV/xqccmp-push-pop-popret.ll |
+3,860 | -0 | llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll |
+1,746 | -1,734 | llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll |
+1,532 | -1,534 | llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll |
+2,927 | -0 | llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll |
+2,821 | -0 | llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll |
+16,837 | -3,268 | 1,830 files not shown |
+73,594 | -27,591 | 1,836 files |
[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]
[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]
[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]
[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]
LLVM/project e094d95 — clang/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]
LLVM/project ae8b23b — clang/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]
LLVM/project 4a2467a — clang/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]
LLVM/project 3179a53 — clang/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]
LLVM/project ce343a5 — clang/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]
LLVM/project ad22130 — clang/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]
LLVM/project 2811a38 — clang/test/OpenMP atomic_compare_codegen.cpp nvptx_SPMD_codegen.cpp, libc/src/__support ryu_long_double_constants.h
Merge commit 'dd699c1333daeaea1c50c1506a66e9c7372afbb5' into users/meinersbur/irbuilder-extract
Delta | File |
---|
+119,926 | -0 | libc/src/__support/ryu_long_double_constants.h |
+20,887 | -20,814 | llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp |
+34,181 | -35 | clang/test/OpenMP/atomic_compare_codegen.cpp |
+12,436 | -12,678 | clang/test/OpenMP/nvptx_SPMD_codegen.cpp |
+16,298 | -0 | llvm/test/CodeGen/X86/pcsections-atomics.ll |
+12,455 | -3,587 | llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll |
+216,183 | -37,114 | 41,232 files not shown |
+4,417,032 | -1,979,316 | 41,238 files |
LLVM/project dd699c1 — clang/test/OpenMP atomic_compare_codegen.cpp nvptx_SPMD_codegen.cpp, libc/src/__support ryu_long_double_constants.h
Merge commit '6942c64e8128e4ccd891b813d0240f574f80f59e^' into users/meinersbur/irbuilder-extract-refactor
Delta | File |
---|
+119,926 | -0 | libc/src/__support/ryu_long_double_constants.h |
+20,887 | -20,814 | llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp |
+34,181 | -35 | clang/test/OpenMP/atomic_compare_codegen.cpp |
+12,436 | -12,678 | clang/test/OpenMP/nvptx_SPMD_codegen.cpp |
+16,298 | -0 | llvm/test/CodeGen/X86/pcsections-atomics.ll |
+12,455 | -3,587 | llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-8.ll |
+216,183 | -37,114 | 41,232 files not shown |
+4,417,032 | -1,979,316 | 41,238 files |
LLVM/project 0aa4af7 — clang/include/clang/Driver Options.td, clang/lib/Driver/ToolChains Clang.cpp
[Driver] Change some Separate CC1 options to use the Joined = form
-f{constexpr,macro,template}-backtrace-limit=, -fspell-checking-limit=, -ftemplate-depth=
LLVM/project c457a1b — clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplateInstantiate.cpp SemaTemplateInstantiateDecl.cpp
Merging rr280190:
------------------------------------------------------------------------
r280190 | rsmith | 2016-08-30 20:15:21 -0600 (Tue, 30 Aug 2016) | 12 lines
PR12298 et al: don't recursively instantiate a template specialization from
within the instantiation of that same specialization. This could previously
happen for eagerly-instantiated function templates, variable templates,
exception specifications, default arguments, and a handful of other cases.
We still have an issue here for default template arguments that recursively
make use of themselves and likewise for substitution into the type of a
non-type template parameter, but in those cases we're producing a different
entity each time, so they should instead be caught by the instantiation depth
limit. However, currently we will typically run out of stack before we reach
it. :(
------------------------------------------------------------------------
llvm-svn: 282636
LLVM/project 54f18e8 — clang/include/clang/Sema Sema.h, clang/lib/Sema SemaTemplateInstantiate.cpp SemaTemplateInstantiateDecl.cpp
PR12298 et al: don't recursively instantiate a template specialization from
within the instantiation of that same specialization. This could previously
happen for eagerly-instantiated function templates, variable templates,
exception specifications, default arguments, and a handful of other cases.
We still have an issue here for default template arguments that recursively
make use of themselves and likewise for substitution into the type of a
non-type template parameter, but in those cases we're producing a different
entity each time, so they should instead be caught by the instantiation depth
limit. However, currently we will typically run out of stack before we reach
it. :(
llvm-svn: 280190
3.2 release branch r167713
llvm-svn: 167713
llvm-svn: 167708
llvm-svn: 167707
llvm-svn: 167706
llvm-svn: 167704
Delta | File |
---|
+29,647 | -0 | libcxxabi/test/test_demangle.cpp |
+26,245 | -0 | libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp |
+24,676 | -0 | clang/test/Analysis/retain-release.m |
+17,887 | -0 | libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp |
+13,619 | -0 | lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp |
+11,985 | -0 | clang/lib/Sema/SemaExpr.cpp |
+124,059 | -0 | 13,815 files not shown |
+2,122,455 | -0 | 13,821 files |
LLVM/project e8a1be6 — clang/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
Delta | File |
---|
+0 | -93,319 | llvm/test/MC/ELF/many-section.s |
+0 | -29,647 | libcxxabi/test/test_demangle.cpp |
+0 | -26,245 | libcxx/test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp |
+0 | -24,676 | clang/test/Analysis/retain-release.m |
+0 | -22,700 | llvm/configure |
+0 | -22,312 | llvm/projects/sample/configure |
+0 | -218,899 | 24,136 files not shown |
+0 | -3,905,343 | 24,142 files |
LLVM/project 6d12af7 — clang/include/clang/Basic Diagnostic.h, clang/test/SemaTemplate instantiate-exception-spec-cxx11.cpp instantiation-depth-exception-spec.cpp
Fix bug which sometimes resulted in further diagnostics being produced after a
fatal error. Previously, if a fatal error was followed by a diagnostic which
was suppressed due to a SFINAETrap, we'd forget that we'd seen a fatal error.
llvm-svn: 164437