LLVM/project 079451cclang/lib/Analysis/Scalable/Serialization JSONFormat.cpp, clang/test/CIR/Transforms flatten-try-op.cir

rebase

Created using spr 1.3.7
DeltaFile
+1,389-1,365llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+0-1,182clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
+638-502clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
+834-33lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
+737-0clang/test/CIR/Transforms/flatten-try-op.cir
+550-80lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
+4,148-3,162136 files not shown
+10,645-4,317142 files

LLVM/project 839b435clang/lib/Analysis/Scalable/Serialization JSONFormat.cpp, clang/test/CIR/Transforms flatten-try-op.cir

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1,389-1,365llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+0-1,182clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
+638-502clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
+834-33lldb/unittests/DAP/Inputs/linux-x86_64.core.yaml
+737-0clang/test/CIR/Transforms/flatten-try-op.cir
+550-80lldb/unittests/DAP/Inputs/linux-x86_64.out.yaml
+4,148-3,162136 files not shown
+10,645-4,317142 files

LLVM/project a56f147llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Fixes

Created using spr 1.3.7
DeltaFile
+13-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+13-11 files

LLVM/project 4477bf6llvm/lib/Transforms/InstCombine InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine simplify-demanded-fpclass.ll

InstCombine: Stop applying nofpclass from use nofpclass attribute

Functionally reverts a80d4329ce96856a02bd279c800c3d08619da4c9, with new test.
This should be applied somewhere, but this is the wrong place.

Fixes regression reported after #182444
DeltaFile
+21-2llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
+0-5llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+21-72 files

LLVM/project 94bd8b9llvm/test/CodeGen/AArch64 stack-tagging.ll

[NFC] [MTE] add test for duplicated lifetime end



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/183808
DeltaFile
+29-0llvm/test/CodeGen/AArch64/stack-tagging.ll
+29-01 files

LLVM/project 63ab568llvm/test/Instrumentation/HWAddressSanitizer use-after-scope.ll

[NFC] [HWASan] add test for duplicated lifetime end



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/183807
DeltaFile
+328-0llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
+328-01 files

LLVM/project c2f66f2llvm/lib/Target/WebAssembly WebAssemblyFixIrreducibleControlFlow.cpp

[WebAseembly] Fix -Wunused-variable in #181755

This variable ends up being unused in builds without assertions. Mark it
[[maybe_unused]] per the coding standards.
DeltaFile
+1-1llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp
+1-11 files

LLVM/project a71ded3bolt/unittests/Core MCPlusBuilder.cpp

[BOLT][AArch64] Add a unittest for compare-and-branch inversion. (#181177)

Checks that isReversibleBranch() returns false
 - when the immediate value is 63 and needs +1 adjustment
 - when the immediate value is 0 and needs -1 adjustment

Checks that reverseBranchCondition() adjusts
 - the opcode
 - the immediate operand if necessary (+/-1)
 - the register operands if necessary (swap)
DeltaFile
+101-0bolt/unittests/Core/MCPlusBuilder.cpp
+101-01 files

LLVM/project b53cc9fllvm/test/CodeGen/AMDGPU llvm.exp10.f64.ll llvm.exp.f64.ll, llvm/test/CodeGen/RISCV clmul.ll clmulr.ll

Merge branch 'main' into users/evelez7/clang-doc-markdown-mustache
DeltaFile
+25,051-14,920llvm/test/CodeGen/RISCV/clmul.ll
+16,004-0llvm/test/MC/AMDGPU/gfx13_asm_vopd3.s
+13,198-0llvm/test/CodeGen/RISCV/clmulr.ll
+12,863-0llvm/test/CodeGen/RISCV/clmulh.ll
+11,178-0llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
+10,242-0llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
+88,536-14,9205,570 files not shown
+407,476-142,2165,576 files

LLVM/project 1073951mlir/lib/Dialect/ControlFlow/IR ControlFlowOps.cpp, mlir/test/Dialect/ControlFlow canonicalize.mlir

[mlir][cf] Fix crash in simplifyBrToBlockWithSinglePred when branch operand is a block argument of its successor (#183797)

When `simplifyBrToBlockWithSinglePred` merges a block into its sole
predecessor, it calls `inlineBlockBefore` which replaces each block
argument with the corresponding value passed by the branch. If one of
those values is itself a block argument of the successor block, the call
`replaceAllUsesWith(arg, arg)` is a no-op. Any uses of that argument
outside the block (e.g. in a downstream block) are therefore not
replaced, and when the successor block is erased the argument is
destroyed while those uses are still live, triggering the assertion
`use_empty() && "Cannot destroy a value that still has uses\!"` in
`IRObjectWithUseList::~IRObjectWithUseList`.

Guard against this by returning early when any branch operand is a block
argument owned by the destination block.

Fixes #126213
DeltaFile
+30-0mlir/test/Dialect/ControlFlow/canonicalize.mlir
+8-0mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
+38-02 files

LLVM/project d0afaeaclang/lib/Lex HeaderSearch.cpp, clang/test/Modules lazy-by-header-extern.c lazy-by-header-umbrella-dir.c

[clang][modulemap] Lazily load module maps by header name (#181916)

After header search has found a header it looks for module maps that
cover that header. This patch uses the parsed representation of module
maps to do this search instead of relying on FileEntryRef lookups after
stating headers in module maps.

This behavior is currently gated behind the
`-fmodules-lazy-load-module-maps` `-cc1` flag.
DeltaFile
+237-43clang/lib/Lex/HeaderSearch.cpp
+69-0clang/test/Modules/lazy-by-header-extern.c
+66-0clang/test/Modules/lazy-by-header-umbrella-dir.c
+46-0clang/test/Modules/lazy-by-header-umbrella-header.c
+46-0clang/test/Modules/lazy-by-header-nested.c
+41-0clang/test/Modules/lazy-by-header-private.c
+505-439 files not shown
+667-5515 files

LLVM/project 977702cclang/docs ReleaseNotes.rst, clang/lib/Sema SemaExpr.cpp

[clang] fix crash when casting a parenthesized unresolved template-id (#183633)

this fix uses ignoreparens() in checkplaceholderexpr to prevent a crash
when an unresolved template-id is wrapped in parentheses. fixes #183505
DeltaFile
+8-0clang/test/SemaCXX/gh183505.cpp
+2-2clang/lib/Sema/SemaExpr.cpp
+1-0clang/docs/ReleaseNotes.rst
+11-23 files

LLVM/project 2c98566clang/include/clang/Basic DiagnosticDriverKinds.td, clang/include/clang/Options Options.td

Revert "[Metal][HLSL] Add support for dumping reflection" (#183818)

Reverts llvm/llvm-project#181258

`env PATH=""` will prevent finding any binary run by `env`.
DeltaFile
+0-22clang/lib/Driver/ToolChains/HLSL.cpp
+0-8clang/test/Driver/HLSL/fre-errors.hlsl
+0-8clang/test/Driver/HLSL/metal-converter.hlsl
+0-2clang/include/clang/Basic/DiagnosticDriverKinds.td
+0-2clang/include/clang/Options/Options.td
+0-425 files

LLVM/project 02ebe23clang/docs AddressSanitizer.rst

[ASan] Document limitations of container overflow checks (#183590)

Mention that partially poisoning stack objects can
lead to false positives and negatives.

See #182720.

---------

Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
DeltaFile
+5-2clang/docs/AddressSanitizer.rst
+5-21 files

LLVM/project 05c3152clang/lib/AST DeclTemplate.cpp, clang/test/SemaTemplate GH181062.cpp

[clang] Backport: fix transformation of substituted constant template parameters of partial specializations

This fixes a helper so it implements retrieval of the argument replaced
for a template parameter for partial spcializations.

This was left out of the original patch, since it's quite hard to actually test.

This helper implements the retrieval for variable templates, but only for
completeness sake, as no current users rely on this, and I don't think a similar
test case is possible to implement with variable templates.

This fixes a regression introduced in #161029 which will be backported to llvm-22,
so there are no release notes.

Backport from #183348

Fixes #181062
Fixes #181410
DeltaFile
+24-0clang/test/SemaTemplate/GH181062.cpp
+10-10clang/lib/AST/DeclTemplate.cpp
+34-102 files

LLVM/project 1c043afclang/lib/AST ASTContext.cpp, clang/test/SemaTemplate GH183075.cpp

[clang] Backport: allow canonicalizing assumed template names

Assumed template names are part of error recovery and encode just a
declaration name, making them always canonical. This patch allows
them to be canonicalized, which is trivial.

Backport from #183222

Fixes #183075
DeltaFile
+13-0clang/test/SemaTemplate/GH183075.cpp
+5-2clang/lib/AST/ASTContext.cpp
+18-22 files

LLVM/project c8fa3f4clang/lib/Sema SemaCXXScopeSpec.cpp, clang/test/SemaCXX GH167120.cpp

[clang] Backport: NestedNameSpecifier typo correction fix

This stops typo correction from considering template parameters
as candidates for a NestedNameSpecifier when it has a prefix itself.

I think this is better than the alternative of accepting these candidates,
but otherwise droping the prefix, because it seems more far-fetched that
someone would actually try to refer to a template parameter this way.

Since this regression was never released, there are no release notes.

Backport from #181239

Fixes #167120
DeltaFile
+11-4clang/lib/Sema/SemaCXXScopeSpec.cpp
+5-0clang/test/SemaCXX/GH167120.cpp
+16-42 files

LLVM/project a25ca60clang/include/clang/Lex LiteralSupport.h, clang/lib/Lex LiteralSupport.cpp

move code into CopyStringFragment
DeltaFile
+29-72clang/lib/Lex/LiteralSupport.cpp
+2-1clang/include/clang/Lex/LiteralSupport.h
+31-732 files

LLVM/project 5e5548fclang/lib/CodeGen CGExpr.cpp, clang/test/CodeGenCXX cxx2a-consteval.cpp template-cxx20.cpp

[clang] Backport: CodeGen: fix ConstantExpr LValue emission

This fixes a regression introduced in #161029, though not the fault of that
patch, only by incidental changes regarding the preservation of constant expression
nodes.

The LValue emission of ConstantExpr was doing strange things with regards to
what type corresponds to the result of the constant expression, which are not
justified by any tests or in the discussions of the relevant patches.

See
https://github.com/llvm/llvm-project/commit/09669e6c5fa1e8db9c1091cc264640fb0377d6b6
and https://github.com/llvm/llvm-project/pull/78041 and
https://github.com/llvm/llvm-project/commit/51e4aa87e05c45bebf9658a47980b1934c88be31

This simplifies it to just use the expression type.

Since this regression was never released, there are no release notes.


    [3 lines not shown]
DeltaFile
+25-2clang/test/CodeGenCXX/cxx2a-consteval.cpp
+2-12clang/lib/CodeGen/CGExpr.cpp
+12-1clang/test/CodeGenCXX/template-cxx20.cpp
+39-153 files

LLVM/project 86996aaclang/lib/Sema SemaOverload.cpp, clang/test/SemaTemplate temp_arg_nontype_cxx11.cpp

[clang] Backport: stop error recovery in SFINAE for narrowing in converted constant expressions

A narrowing conversion in a converted constant expression should produce an
invalid expression so that [temp.deduct.general]p7 is satisfied, by stopping
substitution at this point.

Fixes #167709
DeltaFile
+10-1clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
+8-0clang/lib/Sema/SemaOverload.cpp
+18-12 files

LLVM/project 2a338d8clang/include/clang/Basic DiagnosticDriverKinds.td, clang/include/clang/Options Options.td

Revert "[Metal][HLSL] Add support for dumping reflection (#181258)"

This reverts commit 3d469665a286cac528c2ef2fb018032d80843716.
DeltaFile
+0-22clang/lib/Driver/ToolChains/HLSL.cpp
+0-8clang/test/Driver/HLSL/fre-errors.hlsl
+0-8clang/test/Driver/HLSL/metal-converter.hlsl
+0-2clang/include/clang/Options/Options.td
+0-2clang/include/clang/Basic/DiagnosticDriverKinds.td
+0-425 files

LLVM/project fff2f0bllvm/lib/Target/AMDGPU GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU wmma-coexecution-valu-hazards.mir

[AMDGPU] Handle GFX1250 hazards between WMMA and VOPD (#183573)

Hazards between WMMA and VALU were handled in #149865 but this only
worked for regular VOP* VALU encodings, not for VOPD.

Fixes: #183546
DeltaFile
+30-0llvm/test/CodeGen/AMDGPU/wmma-coexecution-valu-hazards.mir
+11-14llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+41-142 files

LLVM/project c5ddaa2clang/lib/Sema SemaTemplateDeduction.cpp, clang/test/SemaTemplate temp_arg_template_p0522.cpp

[clang] create local instantiation scope for matching template template parameters

This fixes a bug where a partial substitution from the enclosing scope
is used to prepopulate an unrelated template argument deduction.

Backport from #183219

Fixes #181166
DeltaFile
+7-0clang/test/SemaTemplate/temp_arg_template_p0522.cpp
+2-0clang/lib/Sema/SemaTemplateDeduction.cpp
+9-02 files

LLVM/project c357171clang/docs AddressSanitizer.rst

reword

Created using spr 1.3.7
DeltaFile
+3-3clang/docs/AddressSanitizer.rst
+3-31 files

LLVM/project fc153b1clang/lib/StaticAnalyzer/Checkers/WebKit PtrTypesSemantics.cpp, clang/test/Analysis/Checkers/WebKit nodelete-annotation.cpp

[alpha.webkit.NoDeleteChecker] Check if each field is trivially destructive (#183711)

This PR fixes the bug that NoDeleteChecker and trivial function analysis
were not detecting any non-trivial destruction of class member
variables.

When evaluating a delete expression or calling a destructor directly for
triviality, check if each field in the class and its base classes is
trivially destructive.
DeltaFile
+150-2clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+46-0clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+196-22 files

LLVM/project ca04a70libc/shared/math bf16subf128.h, libc/src/__support/math bf16subf128.h CMakeLists.txt

[libc][math] Refactor bf16sub family to header-only (#182115)

Refactors the bf16sub math family to be header-only.

Closes https://github.com/llvm/llvm-project/issues/182114

Target Functions:
  - bf16sub
  - bf16subf
  - bf16subf128
DeltaFile
+46-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/bf16subf128.h
+31-0libc/src/__support/math/CMakeLists.txt
+28-0libc/shared/math/bf16subf128.h
+27-0libc/src/__support/math/bf16subf.h
+27-0libc/src/__support/math/bf16sub.h
+192-09 files not shown
+255-3015 files

LLVM/project 6f612cfclang/lib/Sema SemaOverload.cpp, clang/test/SemaTemplate temp_arg_nontype_cxx11.cpp

[clang] stop error recovery in SFINAE for narrowing in converted constant expressions (#183614)

A narrowing conversion in a converted constant expression should produce
an invalid expression so that [temp.deduct.general]p7 is satisfied, by
stopping substitution at this point.

This regression was introduced in #164703, and this will be backported
to clang-22, so no release notes.

Fixes #167709
DeltaFile
+10-1clang/test/SemaTemplate/temp_arg_nontype_cxx11.cpp
+8-0clang/lib/Sema/SemaOverload.cpp
+18-12 files

LLVM/project d1f4f94flang/include/flang/Semantics expression.h, flang/lib/Semantics expression.cpp

[flang] Fix explanatory messages for generic resolution error (#183565)

The compiler emits messages to explain why each of a generic procedure's
specific procedures is not a match for a given set of actual arguments.
In the case of specific procedures with PASS arguments in derived type
procedure bindings or procedure components, these explanatory messages
are often bogus, because the re-analysis didn't adjust the actual
arguments to account for the PASS argument. Fix.
DeltaFile
+24-0flang/test/Semantics/bug2295.f90
+16-6flang/lib/Semantics/expression.cpp
+2-1flang/include/flang/Semantics/expression.h
+42-73 files

LLVM/project 4f05592clang/test/Driver sycl-offload-jit-xarch.cpp

[Driver][SYCL] Add tests for -Xarch_<arch> option forwarding to SYCL JIT compilation. (#178025)

This change adds test coverage to verify that options passed via
`-Xarch_<arch> <option>` are correctly forwarded to SYCL JIT
compilations.
DeltaFile
+13-0clang/test/Driver/sycl-offload-jit-xarch.cpp
+13-01 files

LLVM/project 3d889c4clang/lib/Format TokenAnnotator.cpp, clang/unittests/Format FormatTest.cpp

[clang-format] Fix SpaceBeforeParens with explicit template instantiations (#183183)

This fixes explicit template instantiated functions not having spaces
added/removed based on the value of `SpaceBeforeParens`.

Attribution Note - I have been authorized to contribute this change on
behalf of my company: ArenaNet LLC
DeltaFile
+10-9clang/lib/Format/TokenAnnotator.cpp
+4-0clang/unittests/Format/FormatTest.cpp
+14-92 files