[all-commits] [llvm/llvm-project] d59163: [CIR] Upstream initial support for fixed size Vect...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Thu May 1 11:55:07 PDT 2025
Branch: refs/heads/users/kparzysz/spr/a04-atomic-one
Home: https://github.com/llvm/llvm-project
Commit: d59163092dfa7ec94391121ffdcb7b9b0e58f3b4
https://github.com/llvm/llvm-project/commit/d59163092dfa7ec94391121ffdcb7b9b0e58f3b4
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/vector-ext.cpp
A clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/IR/invalid-vector-zero-size.cir
A clang/test/CIR/IR/invalid-vector.cir
A clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream initial support for fixed size VectorType (#136488)
This change adds the initial support for VectorType
Issue #136487
Commit: e71c8ea3cc73c8f7b0382468f355a254166d3a72
https://github.com/llvm/llvm-project/commit/e71c8ea3cc73c8f7b0382468f355a254166d3a72
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
Log Message:
-----------
[Driver] Fix _XOPEN_SOURCE definition on Solaris (#137141)
Since commit 613a077b05b8352a48695be295037306f5fca151, `flang` doesn't
build any longer on Solaris/amd64:
```
flang/lib/Evaluate/intrinsics-library.cpp:225:26:
error: address of overloaded function 'acos' does not match required type '__float128 (__float128)'
225 | FolderFactory<F, F{std::acos}>::Create("acos"),
| ^~~~~~~~~
```
That patch led to the version of `quadmath.h` deep inside `/usr/gcc/<N>`
to be found, thus `HAS_QUADMATHLIB` is defined. However, the `struct
HostRuntimeLibrary<__float128, LibraryVersion::Libm>` template is
guarded by `_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600`, while
`clang` only predefines `_XOPEN_SOURCE=500`.
This code dates back to commit 0c1941cb055fcf008e17faa6605969673211bea3
back in 2012. Currently, this is long obsolete and `gcc` prefefines
`_XOPEN_SOURCE=600` instead since GCC 4.6 back in 2011.
This patch follows that.
Tested on `amd64-pc-solaris2.11` and `sparcv9-sun-solaris2.11`.
Commit: 41f7a85317f4f345895395697f9129b10f1802b3
https://github.com/llvm/llvm-project/commit/41f7a85317f4f345895395697f9129b10f1802b3
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/test/CodeGen/SPARC/cttz.ll
Log Message:
-----------
[SPARC] Promote i32 CTTZ when we have VIS3
CTTZ can be implemented in terms of CTLZ, for which there's a native
instruction in VIS3.
Promote i32 CTTZ in that case so that the native instruction gets used.
Reviewers: rorth, brad0, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135894
Commit: 7afbffb5c2e40edd6c2b3164f1dc4faf90d7d332
https://github.com/llvm/llvm-project/commit/7afbffb5c2e40edd6c2b3164f1dc4faf90d7d332
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/test/CMakeLists.txt
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/clang_f_opts_withspaces.c
A clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/darwin-header-search-libcxx.cpp
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
[clang] Split out and disable tests that break relative rpaths (#137411)
These two tests copy the clang binary into the test tree and assume it
will run from a new location. This is incompatible with relative rpath
values, which is what you typically get in a dylib developer build.
Disable these tests if shared libraries are involved. Another way to
make these tests work would be to update the loader search path
environment variables, but it is difficult to do that portably.
Commit: f5a30f111dc4ad6422863722eb708059a68a9d5c
https://github.com/llvm/llvm-project/commit/f5a30f111dc4ad6422863722eb708059a68a9d5c
Author: Losy001 <64610343+Losy001 at users.noreply.github.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
A clang/test/CodeGenCXX/mangle-ms-matrix.cpp
Log Message:
-----------
[Clang][MicrosoftMangle] Implement mangling for ConstantMatrixType (#134930)
This pull request implements mangling for ConstantMatrixType, allowing
matrices to be used on Windows.
Related issues: #53158, #127127
This example code:
```cpp
#include <typeinfo>
#include <stdio.h>
typedef float Matrix4 __attribute__((matrix_type(4, 4)));
int main()
{
printf("%s\n", typeid(Matrix4).name());
}
```
Outputs this:
```
struct __clang::__matrix<float,4,4>
```
Commit: ccdd55c518277d749eff878ffcb5ca3de55c2a60
https://github.com/llvm/llvm-project/commit/ccdd55c518277d749eff878ffcb5ca3de55c2a60
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/lib/AST/MicrosoftMangle.cpp
Log Message:
-----------
[clang] Fix unused variable warning in MS mangler from constant matrix patch
Commit: 3f5dc586efd751b0e9d9abb8f5e38f11df76fede
https://github.com/llvm/llvm-project/commit/3f5dc586efd751b0e9d9abb8f5e38f11df76fede
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M lldb/test/Shell/Settings/TestCxxFrameFormat.test
Log Message:
-----------
[lldb][test] XFAIL TestCxxFrameFormat.test for Windows target
Fails on Windows CI:
```
| 10: (lldb) break set -l 3
| check:30'0 ~~~~~~~~~~~~~~~~~~~~~~
| 11: error: No selected frame to use to find the default file.
| check:30'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 12: error: No file supplied and no default file available.
| check:30'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 13: (lldb) exit
```
This passes fine when compiling on Windows for Linux targets.
Commit: 2f08927fd5f44418482dd583d3d451acc6669fe6
https://github.com/llvm/llvm-project/commit/2f08927fd5f44418482dd583d3d451acc6669fe6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M cmake/Modules/CMakePolicy.cmake
M llvm/cmake/modules/TableGen.cmake
M mlir/cmake/modules/AddMLIR.cmake
Log Message:
-----------
Reland "[CMake] Do not set CMP0116 explicitly to old (#90385)"
This reverts commit fa65a228f4b46346e69e9b95805a8bcfa8483a60.
This relands commit ab405fb6e9ff9202ca722f632b945d4b84c653f5.
There was an issue where CMake versions <3.23.0 would not properly parse
dep files, causing the build to file. This patch fixes that by just
making CMake versions <3.23.0 use the fallback behavior.
Commit: 419a2cb218245b90ace9e0a460d94057e7091002
https://github.com/llvm/llvm-project/commit/419a2cb218245b90ace9e0a460d94057e7091002
Author: sallto <68823230+sallto at users.noreply.github.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/byval-align.ll
M llvm/test/Transforms/Inline/byval-with-non-alloca-addrspace.ll
M llvm/test/Transforms/Inline/byval.ll
M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
M llvm/test/Transforms/Inline/inline-tail.ll
Log Message:
-----------
[Inliner] Preserve alignment of byval arguments (#137455)
Previously the inliner always produced a memcpy with alignment 1 for src
and destination, leading to potentially suboptimal Codegen.
Since the Src ptr alignment is only available through the CallBase it
has to be passed to HandleByValArgumentInit. Dst Alignment is already
known so it doesn't have to be passed along.
If there is no specified Src Alignment my changes cause the ptr to have
no align data attached instead of align 1 as before (see
inline-tail.ll), I believe this is fine but since I'm a first time
contributor, please confirm.
My changes are already covered by 4 existing regression tests, so I did
not add any additional ones.
The example from #45778 now results in:
```C
opt -S -passes=inline,instcombine,sroa,instcombine test.ll
define dso_local i32 @test(ptr %t) {
entry:
%.sroa.0.0.copyload = load ptr, ptr %t, align 8 # this used to be align 1 in the original issue
%arrayidx.i = getelementptr inbounds nuw i8, ptr %.sroa.0.0.copyload, i64 24
%0 = load i32, ptr %arrayidx.i, align 4
ret i32 %0
}
```
Fixes #45778.
Commit: 165acd3734b0bd04c5ae01f62cf01b5240606410
https://github.com/llvm/llvm-project/commit/165acd3734b0bd04c5ae01f62cf01b5240606410
Author: Quinton Miller <nicetas.c at gmail.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
[LLVM-C] Support debug info for enumerators of arbitrary sizes (#76735)
Since `LLVMDIBuilderCreateEnumerator` only supports up to 64 bits, this
PR adds a new `LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision`
function that takes an arbitrary number of words, based on
`LLVMConstIntOfArbitraryPrecision`. This allows even larger enumeration
types to represent their values exactly. (It seems LLVM should already
support i128 enums since 13.0.0.)
Commit: ae07f48913faa44ea050e4e0602d0aa62449d942
https://github.com/llvm/llvm-project/commit/ae07f48913faa44ea050e4e0602d0aa62449d942
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly handle C# new modifier (#137430)
Fix #75815
Commit: d403c70ff31830bf5311be11b51363ae98d06068
https://github.com/llvm/llvm-project/commit/d403c70ff31830bf5311be11b51363ae98d06068
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Annotate tok::star in a*b*c as BinaryOperator (#137433)
Fix #137400
Commit: 826f237cb4b44f6d95d66eea0e58f7d24585986b
https://github.com/llvm/llvm-project/commit/826f237cb4b44f6d95d66eea0e58f7d24585986b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Don't added separate vector latch block (NFC).
Simplify initial VPlan construction by not creating a separate
vector.latch block, which isn't needed and will get folded away later.
This has been suggested as independent clean-up multiple times.
Commit: fd3ca29fa00de35e7f99839a71d7a0d87f87a584
https://github.com/llvm/llvm-project/commit/fd3ca29fa00de35e7f99839a71d7a0d87f87a584
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/util.py
A llvm/utils/lit/tests/Inputs/googletest-prefix/DummySubDir/test_one.py
A llvm/utils/lit/tests/Inputs/googletest-prefix/lit.cfg
A llvm/utils/lit/tests/googletest-prefix.py
Log Message:
-----------
[lit] Support GoogleTest test discovery through prefixes, too (#137423)
Commit: 8ba3a232d1985a75cf771f8832e911b6f8abe86b
https://github.com/llvm/llvm-project/commit/8ba3a232d1985a75cf771f8832e911b6f8abe86b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/ObjCopy/COFF/COFFWriter.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.cpp
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[llvm] Use llvm::copy (NFC) (#137470)
Commit: fda8b751bd676190251721cb4840e82dd378f3fb
https://github.com/llvm/llvm-project/commit/fda8b751bd676190251721cb4840e82dd378f3fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[llvm] Use llvm::copy_if (NFC) (#137480)
Commit: 8210cdd764cb0b334f2bc205b316e94480c47c88
https://github.com/llvm/llvm-project/commit/8210cdd764cb0b334f2bc205b316e94480c47c88
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
M llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
M llvm/lib/Support/GraphWriter.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/tools/llvm-config/llvm-config.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[llvm] Use llvm::replace (NFC) (#137481)
Commit: 654c00aaf380f737465d4420b046ea0b2b6a86c4
https://github.com/llvm/llvm-project/commit/654c00aaf380f737465d4420b046ea0b2b6a86c4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[IR] Use llvm::interleaved (NFC) (#137482)
Commit: 4c1dc85e265fb55612d589415dd439edac5f1545
https://github.com/llvm/llvm-project/commit/4c1dc85e265fb55612d589415dd439edac5f1545
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Use llvm::interleaved (NFC) (#137483)
Commit: af223bc696c1f5d0c3f6d21ca9dc25c9605d82b2
https://github.com/llvm/llvm-project/commit/af223bc696c1f5d0c3f6d21ca9dc25c9605d82b2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr116153.ll
M llvm/test/CodeGen/X86/pr91005.ll
M llvm/test/CodeGen/X86/vector-llrint-f16.ll
M llvm/test/CodeGen/X86/vector-lrint-f16.ll
Log Message:
-----------
[X86] Avoid zero extend i16 when inserting fp16 (#126194)
Commit: 0132451b2c60e17e132cab34d62d46ab3547df1e
https://github.com/llvm/llvm-project/commit/0132451b2c60e17e132cab34d62d46ab3547df1e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Fix command not found error in monolithic-linux (#137486)
When editing the premerge.yaml file it seems like I left some extra yaml
in there that ended up in the run section of one of the steps that ended
up throwing the error.
Commit: 6c3373534305a2ce23dd939344dd0a387a09fe88
https://github.com/llvm/llvm-project/commit/6c3373534305a2ce23dd939344dd0a387a09fe88
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Allow `Zicsr`/`Zifencei` to duplicate with `g` (#136842)
This matches GCC and we supported it in LLVM 17/18.
Fixes #136803
Commit: f11d46c1514d0ef4d3e92a96a9d330a9bc3164e1
https://github.com/llvm/llvm-project/commit/f11d46c1514d0ef4d3e92a96a9d330a9bc3164e1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Remove invalid comment from pr-code-format.yaml
The comment was originally added in
b3af755254599f474601d0d7b7374dcc36af279a, but
2898c3e0bbf904c68efb194525bcdfeedb3014c2 greatly simplified things
making the previous comment invalid. We no longer need to look at
diffing main versus the PR and whether we are doing a two dot or three
dot diff as we are just diffing the merge commit.
Commit: a87d8e944257812ed537115c58e39dbaeb7b2cc1
https://github.com/llvm/llvm-project/commit/a87d8e944257812ed537115c58e39dbaeb7b2cc1
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/Headers/avx512fp16intrin.h
M clang/test/CodeGen/X86/avx512fp16-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/Preprocessor/x86_target_features.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmac-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt-ph-w-vl-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-fma-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fp-logic.ll
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-machine-combiner.ll
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
M llvm/test/CodeGen/X86/avx512fp16-rndscale.ll
M llvm/test/CodeGen/X86/avx512fp16-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/avx512fp16vl-fma-intrinsics.ll
M llvm/test/CodeGen/X86/fp-round-with-concat-vector-undef-elem.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16-fma.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl-fma.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-256-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-512-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-512-fp16.ll
M llvm/test/CodeGen/X86/vec_fabs.ll
M llvm/test/CodeGen/X86/vec_fcopysign.ll
M llvm/test/CodeGen/X86/vec_fneg.ll
Log Message:
-----------
[X86][AVX512FP16] Decouple AVX512VL and AVX512DQ from AVX512FP16 (#137450)
Fixes: #136209
Commit: 4f71e1ebfc6e1ee8aa783387a363f83d51eeca10
https://github.com/llvm/llvm-project/commit/4f71e1ebfc6e1ee8aa783387a363f83d51eeca10
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
Log Message:
-----------
[AMDGPU] Use llvm::count_if (NFC) (#137492)
Commit: 9c356b233cf0abb81d8ef656823441881eba0651
https://github.com/llvm/llvm-project/commit/9c356b233cf0abb81d8ef656823441881eba0651
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/FixIrreducible.cpp
Log Message:
-----------
[Utils] Use llvm::partition (NFC) (#137494)
Commit: 60641e0abd3357511182c641756ae8b219fe46fa
https://github.com/llvm/llvm-project/commit/60641e0abd3357511182c641756ae8b219fe46fa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/AddressRanges.h
Log Message:
-----------
[ADT] Use llvm::partition_point (NFC) (#137495)
Commit: 2e230f5685391bd07bd2ef41dfdc832df86d4181
https://github.com/llvm/llvm-project/commit/2e230f5685391bd07bd2ef41dfdc832df86d4181
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-26 (Sat, 26 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm] Use llvm::interleaved (NFC) (#137496)
Commit: 031101c66f152a1885ece1d7620071cb049edf51
https://github.com/llvm/llvm-project/commit/031101c66f152a1885ece1d7620071cb049edf51
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Diagnose delete of non-heap-allocated blocks (#137475)
With std::allocator::deallocate() calls
Commit: e43d64ebe92ed0f61d6ba70d83eb9fc25b717548
https://github.com/llvm/llvm-project/commit/e43d64ebe92ed0f61d6ba70d83eb9fc25b717548
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
Log Message:
-----------
[RISCV] Sink vp.splat operands of VP intrinsic. (#133245)
This patch introduces a `vp.splat` matching method for VP support by
sinking the `vp.splat` operand of VP operations back into the same basic
block as the VP operation, facilitating the generation of .vx
instructions to reduce vector register pressure.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: edb05c405e4358a3f753c23bb9e2decd41b11f8f
https://github.com/llvm/llvm-project/commit/edb05c405e4358a3f753c23bb9e2decd41b11f8f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/VE/CMakeLists.txt
Log Message:
-----------
[VE] Add missing dependency on TargetParser
Resolves a link failure in shared library debug build:
```
ld.lld: error: undefined symbol: llvm::Triple::isArch64Bit() const
>>> referenced by BasicTTIImpl.h:626 (../llvm/include/llvm/CodeGen/BasicTTIImpl.h:626)
>>> lib/Target/VE/CMakeFiles/LLVMVECodeGen.dir/VETargetMachine.cpp.o:(llvm::BasicTTIImplBase<llvm::VETTIImpl>::shouldBuildRelLookupTables() const)
```
Commit: d605a0d70e3c2f53209c4320c2b6a9a9d86c8227
https://github.com/llvm/llvm-project/commit/d605a0d70e3c2f53209c4320c2b6a9a9d86c8227
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/test/Shell/Settings/TestCxxFrameFormat.test
M lldb/test/Shell/Settings/TestCxxFrameFormatObjC.test
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
[lldb][test] FrameFormat tests: Specify filename when setting breakpoints
Try to work around following error on some of the Linux CI:
```
8: (lldb) settings set -f frame-format "custom-frame '${function.basename}'\n"
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:50'1 ? possible intended match
9: (lldb) break set -l 5
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~
10: error: No selected frame to use to find the default file.
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11: error: No file supplied and no default file available.
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: (lldb) exit
check:50'0 ~~~~~~~~~~~~
```
Commit: d8e81756b35f9379a9b1f9ed7537f406c856399d
https://github.com/llvm/llvm-project/commit/d8e81756b35f9379a9b1f9ed7537f406c856399d
Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc][stdfix] Fix riscv entrypoints for idivfx (#137499)
Fixes a typo in riscv entrypoints that caused buildbot failures.
https://lab.llvm.org/buildbot/#/builders/196/builds/7352
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Commit: e9a34e42369eb4278fdd73105eeb25ff7a4d96c6
https://github.com/llvm/llvm-project/commit/e9a34e42369eb4278fdd73105eeb25ff7a4d96c6
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximumnum.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimumnum.ll
A llvm/test/CodeGen/RISCV/rvv/fmaximumnum-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fminimumnum-sdnode.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
Log Message:
-----------
[RISCV] Support vectorizing FMINIMUMNUM and FMAXIMUMNUM (#135727)
RISC-V V extension support vfmax and vfmin, which follow IEEE754-2019.
We can use them directly.
Commit: d1adb0b8cd64607ef64d8bebc3197964a06de73a
https://github.com/llvm/llvm-project/commit/d1adb0b8cd64607ef64d8bebc3197964a06de73a
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueArch.h
M lldb/include/lldb/Interpreter/OptionValueArray.h
M lldb/include/lldb/Interpreter/OptionValueBoolean.h
M lldb/include/lldb/Interpreter/OptionValueChar.h
M lldb/include/lldb/Interpreter/OptionValueDictionary.h
M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Interpreter/OptionValueFormat.h
M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
M lldb/include/lldb/Interpreter/OptionValueLanguage.h
M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/OptionValueRegex.h
M lldb/include/lldb/Interpreter/OptionValueSInt64.h
M lldb/include/lldb/Interpreter/OptionValueString.h
M lldb/include/lldb/Interpreter/OptionValueUInt64.h
M lldb/include/lldb/Interpreter/OptionValueUUID.h
M lldb/include/lldb/Target/PathMappingList.h
M lldb/source/Interpreter/OptionValueArch.cpp
M lldb/source/Interpreter/OptionValueArray.cpp
M lldb/source/Interpreter/OptionValueDictionary.cpp
M lldb/source/Interpreter/OptionValueEnumeration.cpp
M lldb/source/Interpreter/OptionValueFileColonLine.cpp
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Interpreter/OptionValueFormat.cpp
M lldb/source/Interpreter/OptionValueFormatEntity.cpp
M lldb/source/Interpreter/OptionValueLanguage.cpp
M lldb/source/Interpreter/OptionValuePathMappings.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
Complete ToJSON for OptionValues (#137375)
Completes the ToJSON function for `OptionValue` types and make the interface function pure virtual
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 9b39c82bfd7e228acbc53ef8e374d40b0a7f2b3f
https://github.com/llvm/llvm-project/commit/9b39c82bfd7e228acbc53ef8e374d40b0a7f2b3f
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/pr107950.ll
Log Message:
-----------
[RISCV][NFC] Remove attributes in pr107950.ll (#137500)
There exists some stale experimental features and the llc complains
it.
We can simply remove these attributes and add the desired features
in `-mattr`.
Commit: 7670af5a274b801adf83fcc0c7c4011e0be0bc91
https://github.com/llvm/llvm-project/commit/7670af5a274b801adf83fcc0c7c4011e0be0bc91
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
Log Message:
-----------
[lldb][lldb-dap] Respect x86 disassembly flavor setting (#134722)
Ensure the disassembly respects the "target.x86-disassembly-flavor"
setting for x86 and x86_64 targets.
Depends on #134626
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 4149ec9970f10dc5f4bdc92563cad6229c8fa3ea
https://github.com/llvm/llvm-project/commit/4149ec9970f10dc5f4bdc92563cad6229c8fa3ea
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
Log Message:
-----------
[MLIR] Remove redundant verifier code in arith::ConstantOp
This is already checked by the `AllTypesMatch` traits defined in ODS.
Commit: ee4b34cf3292382b153ba777fa1092858bea13f5
https://github.com/llvm/llvm-project/commit/ee4b34cf3292382b153ba777fa1092858bea13f5
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
Log Message:
-----------
[NFC][lldb] Fix unresolved test in buildbot lldb-aarch64-windows (#137516)
object indexing causes key error.
Initial commit #290ba2
Commit: e7313421f1ad2e269a55e1f31280936d8d5395a3
https://github.com/llvm/llvm-project/commit/e7313421f1ad2e269a55e1f31280936d8d5395a3
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.td
M mlir/lib/Dialect/Ptr/IR/PtrAttrs.cpp
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir][ptr] Switch `LogicalResult` to `bool` in `MemorySpaceAttrInterrface` (#137513)
This patch switches the return type in `MemorySpaceAttrInterface`
methods from `LogicalResult` to `bool`. As `is*` methods are predicates.
Users of the `MemorySpaceAttrInterface` API must note that, if
`emitError` is non-null and the result of a `is*` method is `false`,
then an error was likely emitted. To avoid the emission of an error the
user can pass a default constructed `emitError`.
Commit: 2c1d4b0404187f0162d3b2df64dae062e53c3c79
https://github.com/llvm/llvm-project/commit/2c1d4b0404187f0162d3b2df64dae062e53c3c79
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Install sccache from apt repo in CI container (#137491)
This patch installs sccache using apt-get in the CI container build
process rather than manually downloading it from github releases. This
makes things quite a bit simpler and means we are not manually handling
things like hash/signature verification. This is only possible now that
we are using ubuntu 24.04 by default.
Commit: e4feb2d5ca0766284354d8062912fa51a671c0b8
https://github.com/llvm/llvm-project/commit/e4feb2d5ca0766284354d8062912fa51a671c0b8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
A .ci/all_requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Hash pin CI python deps (#137489)
The CI scripts install some python dependencies primarily for testing
this patch moves these over to a single requirements file that also hash
pins everything using pip-compile to conform to best security and
reproducibility practices.
Commit: cbd32833fb17b678171a49fce7f98dfd305261a4
https://github.com/llvm/llvm-project/commit/cbd32833fb17b678171a49fce7f98dfd305261a4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
Log Message:
-----------
[AMDGPU] Simplify PrintField::printField (NFC) (#137502)
We can use "constexpr if" to combine the two variants of functions.
Commit: 49eb7d0485bc2d9887f8cdf386aa6adaa39e8a57
https://github.com/llvm/llvm-project/commit/49eb7d0485bc2d9887f8cdf386aa6adaa39e8a57
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/PassManagerInternal.h
Log Message:
-----------
[IR] Simplify isRequired and passIsRequiredImpl (NFC) (#137503)
We can use "constexpr if" to combine the two variants of functions.
Commit: 8c73fee407291b1d769b6f22ba5c0d3d9eac5a0b
https://github.com/llvm/llvm-project/commit/8c73fee407291b1d769b6f22ba5c0d3d9eac5a0b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/PassSupport.h
Log Message:
-----------
[PassSupport] Simplify callDefaultCtor (NFC) (#137504)
We can use "constexpr if" to combine the two variants of functions.
Commit: 1395e0a3ec8b9d21d5112339e9315a9742764f75
https://github.com/llvm/llvm-project/commit/1395e0a3ec8b9d21d5112339e9315a9742764f75
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
Log Message:
-----------
[Scalar] Simplify addPass and createFunctionToLoopPassAdaptor (NFC) (#137505)
We can use "constexpt if" to combine the two variants of functions.
Commit: 95b2e234f97a4153574ec51fb44e27b072439a90
https://github.com/llvm/llvm-project/commit/95b2e234f97a4153574ec51fb44e27b072439a90
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/include/mlir/Pass/AnalysisManager.h
Log Message:
-----------
[mlir] Simplify PreservedAnalyses::isInvalidated (NFC) (#137506)
We can use "constexpr if" to combine the two variants of functions.
Commit: a1bcc8f757ff70e3504c7cca1219a474c55325d1
https://github.com/llvm/llvm-project/commit/a1bcc8f757ff70e3504c7cca1219a474c55325d1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Diagnose heap-allocated array elem pointers... (#137523)
... as "pointer to subobject".
Commit: b546baff48767d54da03049d4f30690649a5e599
https://github.com/llvm/llvm-project/commit/b546baff48767d54da03049d4f30690649a5e599
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Support the Module Event (#137380)
The module event indicates that some information about a module has
changed. The event is supported by the Emacs and Visual Studio DAP
clients. This PR adds support for emitting the event from lldb-dap.
Fixes #137058
Commit: e045d55dd51bfa6ee4ef29d518393cb57b4dc0c4
https://github.com/llvm/llvm-project/commit/e045d55dd51bfa6ee4ef29d518393cb57b4dc0c4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Check for global decls in destructors (#137525)
Destructors can't be called on global variables.
Commit: 7904298c794913489202467599c7eacc860dd6d7
https://github.com/llvm/llvm-project/commit/7904298c794913489202467599c7eacc860dd6d7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Don't ignore discarded ArraySubScriptExprs (#137526)
We need to evaluate them since the index might be out of bounds.
Commit: daa1e175531495b0ba07179a2c7fc609eb7d371c
https://github.com/llvm/llvm-project/commit/daa1e175531495b0ba07179a2c7fc609eb7d371c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Make lldb-dap.executable-path machine specific (#137485)
Change the scope [1] of lldb-dap.executable-path to
"machine-overridable":
> Machine specific settings that can be overridden by workspace or
> folder settings.
Practically speaking, this means that the path won't be synced across
machines and "(Not synced)" will show up next to the setting. I believe
it doesn't make sense to sync this setting (and I remember a bug report
where this caused trouble when using VS Code remotely), plus it matches
what clangd does for its corresponding setting. The extension has logic
to find the binary in your path or with `xcrun` which in most cases
should do the right thing and prevent you from having to override this
setting.
[1]
https://code.visualstudio.com/api/references/contribution-points#Configuration-property-schema
Commit: 72bc0525d88c2df4a2c370ad8a11de8d0fdd52bf
https://github.com/llvm/llvm-project/commit/72bc0525d88c2df4a2c370ad8a11de8d0fdd52bf
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
A llvm/test/CodeGen/AMDGPU/wwm-reg-shift-down-gfx11plus.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] update wwm reg sorting check condition (#135053)
We currently just need to shift down 32bit wwm registers.
Previous check condition mistakenly select 16bit registers in true16
mode. Update check condition to skip the 16bit register in wmm reg
sorting
Commit: 2e934170b0b998e95fae3a47268293d7896f5bab
https://github.com/llvm/llvm-project/commit/2e934170b0b998e95fae3a47268293d7896f5bab
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove LoopVectorizationLegality from InnerLoopVectorizer (NFC).
a51e28278 removed the last real use of Legal in InnerLoopVectorizer. Now
that it isn't used any longer, remove it to avoid new users being
introduced.
Commit: 1f56716a7eb42be67b9e42d11d95b622fdb605e5
https://github.com/llvm/llvm-project/commit/1f56716a7eb42be67b9e42d11d95b622fdb605e5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[llvm] Use hash_combine_range with ranges (NFC) (#137530)
Commit: 89b3de6cfefcf643c0cb51d61eaa5b6639a4a01c
https://github.com/llvm/llvm-project/commit/89b3de6cfefcf643c0cb51d61eaa5b6639a4a01c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[llvm] Use llvm::interleaved (NFC) (#137531)
Commit: 52fcb076c01c907467814345f5ebdb7b6f140ba1
https://github.com/llvm/llvm-project/commit/52fcb076c01c907467814345f5ebdb7b6f140ba1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[llvm] Use llvm::transform (NFC) (#137532)
Commit: 3170599fd4de02b5417223ff0d16776d2fe6af69
https://github.com/llvm/llvm-project/commit/3170599fd4de02b5417223ff0d16776d2fe6af69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
Log Message:
-----------
[Support] Simplify yamlizeMappingEnumInput (NFC) (#137537)
We can use "constexpr if" to combine the two variants of functions.
Commit: f4d3a0cb6a4d2e60ec969b5b5f94baefd7904bf9
https://github.com/llvm/llvm-project/commit/f4d3a0cb6a4d2e60ec969b5b5f94baefd7904bf9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Simplify insertBits (NFC) (#137538)
We can use "constexpr if" to combine the two variants of functions.
Commit: ae71055e6664caf7f74f2e21fb76513bef22a099
https://github.com/llvm/llvm-project/commit/ae71055e6664caf7f74f2e21fb76513bef22a099
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBTimer.h
Log Message:
-----------
[debugserver] Migrate DNBTimer away from PThreadMutex (NFC) (#137540)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
DNBTimer away from that class in preparation for removing PThreadMutex.
Commit: 0755e024fcfc9313d866ed5432133f8755901c95
https://github.com/llvm/llvm-project/commit/0755e024fcfc9313d866ed5432133f8755901c95
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBLog.cpp
Log Message:
-----------
[debugserver] Migrate DNBLog away from PThreadMutex (NFC) (#137541)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
DNBLog away from that class in preparation for removing PThreadMutex.
Commit: 503ebad14cd9d147ae9aae27f935ff450a685748
https://github.com/llvm/llvm-project/commit/503ebad14cd9d147ae9aae27f935ff450a685748
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachThreadList.cpp
M lldb/tools/debugserver/source/MacOSX/MachThreadList.h
Log Message:
-----------
[debugserver] Migrate MachThreadList away from PThreadMutex (NFC) (#137542)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
MachThreadList away from that class in preparation for removing
PThreadMutex.
Commit: 33a0a786f2002cf1b0a13a8984d0933e7dc048d7
https://github.com/llvm/llvm-project/commit/33a0a786f2002cf1b0a13a8984d0933e7dc048d7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/MachThread.h
Log Message:
-----------
[debugserver] Migrate MachThread away from PThreadMutex (NFC) (#137543)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
MachThread away from PThreadMutex in preparation for removing it.
Commit: 10f379e68660af931e367dba988ef2e3a1073bf5
https://github.com/llvm/llvm-project/commit/10f379e68660af931e367dba988ef2e3a1073bf5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
[lldb][test] TestFrameFormat: set breakpoints by name
Without this for some reason Linux PR CI was failing with:
```
(lldb) settings set -f frame-format "custom-frame '${function.basename}'\n"
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:50'1 ? possible intended match
9: (lldb) break set -l 5 -f main.cpp
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10: Breakpoint 1: no locations (pending).
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11: WARNING: Unable to resolve breakpoint to any actual locations.
check:50'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: 4ca8f65b6c4fd554783848f77094622b9f9ea776
https://github.com/llvm/llvm-project/commit/4ca8f65b6c4fd554783848f77094622b9f9ea776
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
Log Message:
-----------
[Support] Simplify setDefaultImpl (NFC) (#137528)
We can use "constexpr if" to combine the two variants of functions.
Commit: ebbe970c86c99eeee5e480346847dbe6bcb1c95e
https://github.com/llvm/llvm-project/commit/ebbe970c86c99eeee5e480346847dbe6bcb1c95e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/YAMLTraits.h
Log Message:
-----------
[Support] Simplify mapOptionalWithContext (NFC) (#137529)
We can use "constexpt if" to combine the two variants of functions.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: fcd066412624a80ef2bacbe83c5aef99240083e2
https://github.com/llvm/llvm-project/commit/fcd066412624a80ef2bacbe83c5aef99240083e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
Log Message:
-----------
[AMDGPU] Simplify GetMember...::Get (NFC) (#137536)
We can use "constexpr if" to combine the two variants of functions.
Commit: 08beaa868ecc4846755f8679a68e79f4642b268b
https://github.com/llvm/llvm-project/commit/08beaa868ecc4846755f8679a68e79f4642b268b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
Log Message:
-----------
[CodeGen] Use OwningArrayRef in NodeMetadata (NFC) (#137539)
Commit: 16e5c3ddadaa8d25698a71c0308b1d0ca887d11f
https://github.com/llvm/llvm-project/commit/16e5c3ddadaa8d25698a71c0308b1d0ca887d11f
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] An assortment of small enhancements (#135329)
This PR implements various small enhancements to
alpha.webkit.RetainPtrCtorAdoptChecker:
- Detect leaks from [[X alloc] init] when ARC is disabled.
- Detect leaks from calling Create, Copy, and other +1 CF functions.
- Recognize [allocX() init] pattern where allocX is a C/C++ function.
- Recognize _init in addition to init as an init function.
- Recognize [[[X alloc] init] autorelease].
- Recognize CFBridgingRelease.
- Support CF_RETRUNS_RETAINED on out arguments of a C function.
- Support returning +1 object in Create, Copy, and other +1 functions or
+1 selectors.
- Support variadic Create, Copy, and other +1 C/C++ functions.
To make these enhancements, this PR introduces new visit functions for
ObjCMessageExpr, ReturnStmt, VarDecl, and BinaryOperator. These
functions look for a specific construct mentioned above and adds an
expression such as [[X alloc] init] or CreateX to a DenseSet
CreateOrCopyFnCall when the expression does not result in leaks. When
the code to detect leaks such as the one in visitObjCMessageExpr later
encounters this expression, it can bail out early if the expression is
in the set.
Commit: cf035e8abbf50efc9ea64c8bf4cdcb7133255a08
https://github.com/llvm/llvm-project/commit/cf035e8abbf50efc9ea64c8bf4cdcb7133255a08
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachThread.h
Log Message:
-----------
[lldb] Add missing include
Commit: b15adefefffb23fc5de7e26892b22a8716a53621
https://github.com/llvm/llvm-project/commit/b15adefefffb23fc5de7e26892b22a8716a53621
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBTimer.h
Log Message:
-----------
[lldb] Add missing include
Commit: 834d4260a042cd33e6346256aab66eca7390e83b
https://github.com/llvm/llvm-project/commit/834d4260a042cd33e6346256aab66eca7390e83b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/PBQP/Math.h
Log Message:
-----------
[CodeGen] Use OwningArrayRef in PBQP::Vector (NFC) (#137548)
Commit: c3858e55f457cd5c918df7c8ec9cff587e7b100a
https://github.com/llvm/llvm-project/commit/c3858e55f457cd5c918df7c8ec9cff587e7b100a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/test/Integration/GPU/CUDA/concurrent-kernels.mlir
Log Message:
-----------
[MLIR] Fix test run line: use `env` to set environment variable
Commit: e886ba1d5971ddb3b9242f7300cc97646670e9ce
https://github.com/llvm/llvm-project/commit/e886ba1d5971ddb3b9242f7300cc97646670e9ce
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
Log Message:
-----------
[debugserver] Migrate RNBRemote away from PThreadMutex (NFC) (#137547)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
RNBRemote away from PThreadMutex in preparation for removing it.
Commit: 992e92864142ef3e3313b7cbc11d5724ded414a7
https://github.com/llvm/llvm-project/commit/992e92864142ef3e3313b7cbc11d5724ded414a7
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Check nullity before calling IgnoreParenCasts. (#137556)
Commit: 25b05e0b234fe4d26f9717bf505566892479bee6
https://github.com/llvm/llvm-project/commit/25b05e0b234fe4d26f9717bf505566892479bee6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Pass/PassOptions.h
Log Message:
-----------
[mlir] Simplify functions with "constexpr if" (NFC) (#137551)
We can use "constexpr if" to combine the two variants of functions.
Commit: 5cfd81b0cc9f92f3d4903f4e7b97769fe7b565b9
https://github.com/llvm/llvm-project/commit/5cfd81b0cc9f92f3d4903f4e7b97769fe7b565b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[llvm] Use range constructors of *Set (NFC) (#137552)
Commit: 89f3dc9074d9672cd8ff49deccf8d9cd1be6ec7d
https://github.com/llvm/llvm-project/commit/89f3dc9074d9672cd8ff49deccf8d9cd1be6ec7d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachProcess.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
Log Message:
-----------
[debugserver] Migrate MachProcess away from PThreadMutex (NFC) (#137553)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
MachProcess away from PThreadMutex in preparation for removing it.
Commit: 3eab094c457c03539854398b47f3f20d85323f5c
https://github.com/llvm/llvm-project/commit/3eab094c457c03539854398b47f3f20d85323f5c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ByteProvider.h
Log Message:
-----------
[CodeGen] Use llvm::is_detected (NFC) (#137561)
Commit: e13b79cc14237a8a1c4533d435d6ccd519e5a364
https://github.com/llvm/llvm-project/commit/e13b79cc14237a8a1c4533d435d6ccd519e5a364
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
Log Message:
-----------
[IR] Use llvm::is_detected (NFC) (#137562)
Commit: d1e85a0ea0992962b749eb5f57058f900f752dcc
https://github.com/llvm/llvm-project/commit/d1e85a0ea0992962b749eb5f57058f900f752dcc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVEnums.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Use range constructors of *Set (NFC) (#137563)
Commit: ed3c8702a2582d4a8bbd9a292f6a191c0a656775
https://github.com/llvm/llvm-project/commit/ed3c8702a2582d4a8bbd9a292f6a191c0a656775
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[ASTMatchers] Use llvm::is_detected (NFC) (#137560)
Commit: d3d856ad84698fa4ec66177d00558b2f5b438d3b
https://github.com/llvm/llvm-project/commit/d3d856ad84698fa4ec66177d00558b2f5b438d3b
Author: Owen Rodley <orodley at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
Log Message:
-----------
Clean up external users of GlobalValue::getGUID(StringRef) (#129644)
See https://discourse.llvm.org/t/rfc-keep-globalvalue-guids-stable/84801
for context.
This is a non-functional change which just changes the interface of
GlobalValue, in preparation for future functional changes. This part
touches a fair few users, so is split out for ease of review. Future
changes to the GlobalValue implementation can then be focused purely on
that class.
This does the following:
* Rename GlobalValue::getGUID(StringRef) to
getGUIDAssumingExternalLinkage. This is simply making explicit at the
callsite what is currently implicit.
* Where possible, migrate users to directly calling getGUID on a
GlobalValue instance.
* Otherwise, where possible, have them call the newly renamed
getGUIDAssumingExternalLinkage, to make the assumption explicit.
There are a few cases where neither of the above are possible, as the
caller saves and reconstructs the necessary information to compute the
GUID themselves. We want to migrate these callers eventually, but for
this first step we leave them be.
Commit: c6cec7bd9cef993b377903b88375e00badcbf11b
https://github.com/llvm/llvm-project/commit/c6cec7bd9cef993b377903b88375e00badcbf11b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/PBQP/Math.h
Log Message:
-----------
[CodeGen] Make hash_value a non-friend function (NFC) (#137564)
We can implement hash_value with publicly available methods of Vector.
Commit: c785ef82ab8a7b5cd19e564896414597a593aee5
https://github.com/llvm/llvm-project/commit/c785ef82ab8a7b5cd19e564896414597a593aee5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
[gn] port 7afbffb5c2e4
Commit: 185ba025dadcefd7185f4d88bc94e5e75e010530
https://github.com/llvm/llvm-project/commit/185ba025dadcefd7185f4d88bc94e5e75e010530
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare.ll
Log Message:
-----------
[RISCV] Widen i1 AnyOf reductions (#134898)
With EVL tail folding an AnyOf reduction will end up emitting an i1
vp.merge.
Unfortunately due to RVV not containing any tail undisturbed mask
instructions, an i1 vp.merge will get expanded to a lengthy sequence:
```asm
vsetvli a1, zero, e64, m1, ta, ma
vid.v v10
vmsltu.vx v10, v10, a0
vmand.mm v9, v9, v10
vmandn.mm v8, v8, v9
vmand.mm v9, v0, v9
vmor.mm v0, v9, v8
```
This addresses this by matching this specific AnyOf pattern in
RISCVCodegenPrepare and widening it from i1 to i8, which will end up
producing a single masked i8 vor.vi inside the loop:
```llvm
loop:
%phi = phi <vscale x 4 x i1> [ zeroinitializer, %entry ], [ %rec, %loop ]
%cmp = icmp ...
%rec = call <vscale x 4 x i1> @llvm.vp.merge(%cmp, true, %phi, %evl)
```
```llvm
loop:
%phi = phi <vscale x 4 x i8> [ zeroinitializer, %entry ], [ %rec, %loop ]
%cmp = icmp ...
%rec = call <vscale x 4 x i8> @llvm.vp.merge(%cmp, true, %phi, %evl)
%trunc = trunc <vscale x 4 x i8> %rec to <vscale x 4 x i1>
```
I ended up adding this in RISCVCodegenPrepare instead of the
LoopVectorizer itself since it would have required adding a target hook.
It may also be possible to generalize this to other i1 vp.merges in
future.
Normally the trunc will be sunk outside of the loop. But it also doesn't
check to see if all the non-phi users of the vp.merge are outside of the
loop: If there are in-loop users this still seems to be profitable, see
the test diff in `@widen_anyof_rdx_use_in_loop`
Fixes #132180
Commit: 92c3af7c3e3163254cdd84b135ce87de9886be94
https://github.com/llvm/llvm-project/commit/92c3af7c3e3163254cdd84b135ce87de9886be94
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Use correct constructor when cloning VPWidenIntrinsicRecipe without underlying CallInst (#137493)
I noticed this when working on a patch downstream, and I don't think
this is an issue upstream yet.
But if a VPWidenIntrinsicRecipe is created without an underlying
CallInst, e.g. in createEVLRecipe, it will crash if you try to clone it
because it assumes the CallInst always exists.
This fixes it by using the CallInst-less constructor in this case.
Commit: a129ca7f178e5cb26735f4ceb82f0c92ea43ca1b
https://github.com/llvm/llvm-project/commit/a129ca7f178e5cb26735f4ceb82f0c92ea43ca1b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
[Analysis] Remove has_arg_iterator_range (NFC) (#137568)
The last use was removed by:
commit f8afb8fdedae04ad2670857c97925c439d47d862
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: Fri Apr 29 22:12:21 2022 +0200
Commit: c21531895a5d5e6ffc349d6e229d71dd1463860a
https://github.com/llvm/llvm-project/commit/c21531895a5d5e6ffc349d6e229d71dd1463860a
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
A clang/test/SemaCXX/ptrauth-triviality.cpp
Log Message:
-----------
[clang] Fix and test triviality of __ptrauth types (#137474)
Address-discriminated __ptrauth types do not have unique object
representations so they are not trivially comparable. Test all other
trivialities too even though they are not incorrect.
Fixes #137473
Commit: ed95624e208e5bf7c3eeadfccee0fb6060a4ca98
https://github.com/llvm/llvm-project/commit/ed95624e208e5bf7c3eeadfccee0fb6060a4ca98
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang][NFC] Convert `StmtDiscardKind` to a scoped enum
Commit: 096c20c0b1284ccf3d3af106a026450403bc288f
https://github.com/llvm/llvm-project/commit/096c20c0b1284ccf3d3af106a026450403bc288f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/Sema/TypeLocBuilder.h
Log Message:
-----------
[clang][NFC] Convert enums in TypeLocBuilder into constants
Commit: 55651e743b413af8787aa526de63d8c26c4a718b
https://github.com/llvm/llvm-project/commit/55651e743b413af8787aa526de63d8c26c4a718b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/unittests/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp
Log Message:
-----------
[clang] Use range constructors of *Set (NFC) (#137574)
Commit: 268f0d4ebe47d73c361f8f2bce051d58994a33bc
https://github.com/llvm/llvm-project/commit/268f0d4ebe47d73c361f8f2bce051d58994a33bc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
Log Message:
-----------
[ASTMatchers] Simplify isDefaultedHelper (NFC) (#137571)
We can use "constexpt if" to combine the two variants of functions.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: a28f65752d2a77dac4c9c7cd6179ae73c12c7032
https://github.com/llvm/llvm-project/commit/a28f65752d2a77dac4c9c7cd6179ae73c12c7032
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/cvt_fp6x2.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for f6x2 conversion (#136537)
This patch adds the `cvt.to.fp6x2` NVVM dialect Op for conversions into
the f6x2 types, `e2m3x2` and `e3m2x2`.
For more information, see PTX ISA:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 576be7b19f91ad3a3a44e66a398575b8c417bfe5
https://github.com/llvm/llvm-project/commit/576be7b19f91ad3a3a44e66a398575b8c417bfe5
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
Log Message:
-----------
[AArch64][SVE] Generate asrd instruction for positive pow-2 divisors … (#137151)
…when SVE is available
Currently,
```
sdiv(x, y) --> cmlt + usra + sshr , where y is positive pow-2 integer
sdiv(x, y) --> cmlt + usra + sshr + neg , where y is negative pow-2 integer
```
Patch aims to transform this into
```
sdiv(x, y) --> ptrue + asrd , where y is positive pow-2 integer
sdiv(x, y) --> ptrue + asrd + subr , where y is negative pow-2 integer
```
Commit: a764358a9d86e9169bea895c8efbb61cc37ec788
https://github.com/llvm/llvm-project/commit/a764358a9d86e9169bea895c8efbb61cc37ec788
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[clang][NFC] Convert DeclUpdateKind to scoped enum
Commit: 98eeedd4a100600dd91cda14e0096483403c408b
https://github.com/llvm/llvm-project/commit/98eeedd4a100600dd91cda14e0096483403c408b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/Linkage.h
Log Message:
-----------
[clang][NFC] Convert `NumLVComputationKindBits` to a constant
Commit: f3a61f61eef53ecc0b59d14c52396df4f47ee5e8
https://github.com/llvm/llvm-project/commit/f3a61f61eef53ecc0b59d14c52396df4f47ee5e8
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Lookup.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaLookup.cpp
Log Message:
-----------
[clang][NFC] Convert `LookupResult::AmbiguityKind` to scoped enum
Commit: e17f07c4debbe76f5ebcdeeda619e7438700e2ad
https://github.com/llvm/llvm-project/commit/e17f07c4debbe76f5ebcdeeda619e7438700e2ad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Reduce code duplication between getStore, getTruncStore, and getIndexedStore. (#137435)
Create an extra overload of getStore that can handle of the 3 types of
stores. This is similar to how getLoad/getExtLoad/getIndexLoad is
structure.
Commit: 3579fc003dcb7879c2d500dedb850f9ba0169bef
https://github.com/llvm/llvm-project/commit/3579fc003dcb7879c2d500dedb850f9ba0169bef
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCSectionCOFF.cpp
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/ctor-priority-coff.ll
M llvm/test/CodeGen/X86/data-section-prefix.ll
M llvm/test/CodeGen/X86/dtor-priority-coff.ll
M llvm/test/CodeGen/X86/global-sections.ll
M llvm/test/CodeGen/X86/mingw-comdats.ll
M llvm/test/CodeGen/X86/text-section-prefix.ll
M llvm/test/MC/COFF/global_ctors_dtors.ll
A llvm/test/MC/COFF/section-unique.s
Log Message:
-----------
[COFF] Preserve UniqueID used to create MCSectionCOFF (#123869)
This UniqueID can be used later to create associative section.
e.g. A .pseudo_probe associated to the section of the corresponding
function.
Commit: ee29afe1e56d911f2fde54f5de141f4c4a0a1feb
https://github.com/llvm/llvm-project/commit/ee29afe1e56d911f2fde54f5de141f4c4a0a1feb
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Lookup.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/utils/ClangVisualizers/clang.natvis
Log Message:
-----------
[clang][NFC] Convert LookupResultKind to scoped enum
Commit: 41112db5a5a7806b27de9b6a460894b82036b41a
https://github.com/llvm/llvm-project/commit/41112db5a5a7806b27de9b6a460894b82036b41a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[clang][NFC] Remove old commented out code
`CheckedConversionKind` was converted to a scoped enum quite a while ago.
Commit: 936e5284652e6a2c4f15e2659deaa3034446a013
https://github.com/llvm/llvm-project/commit/936e5284652e6a2c4f15e2659deaa3034446a013
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-27 (Sun, 27 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp:1304:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: b10296eff0c26497aac01b96d57a5dffacebec67
https://github.com/llvm/llvm-project/commit/b10296eff0c26497aac01b96d57a5dffacebec67
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PragmaClangSectionKind` to scoped enum
Commit: 4f96ce414bcc35ec7e3d8bec18f6a4d7a4c4632a
https://github.com/llvm/llvm-project/commit/4f96ce414bcc35ec7e3d8bec18f6a4d7a4c4632a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PragmaClangSectionAction` to scoped enum
Commit: 6f6af49938bfd0b1649f25064fd9619552f82b23
https://github.com/llvm/llvm-project/commit/6f6af49938bfd0b1649f25064fd9619552f82b23
Author: i-ky <gl.ivanovsky at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
Clarify `lit`'s definition of failure and conditions when it exits with exit code 1 (#136190)
Documentation of when `lit` exits with code 1 is out of date.
It is no longer just "FAIL or XPASS", there are more failure types:
https://github.com/llvm/llvm-project/blob/b30100b87f24847afd6407b4939a184ebcf16ef9/llvm/utils/lit/lit/Test.py#L51-L55
Exit code can also be affected by `--ignore-fail` option:
https://github.com/llvm/llvm-project/blob/b30100b87f24847afd6407b4939a184ebcf16ef9/llvm/utils/lit/lit/main.py#L154-L162
This PR extracts a clear definition of "failure" from the description of
`--report-failures-only` option:
https://github.com/llvm/llvm-project/blob/b30100b87f24847afd6407b4939a184ebcf16ef9/llvm/docs/CommandGuide/lit.rst?plain=1#L194-L196
...puts it into "Test Status Results" section and references it when
describing exit codes and `--ignore-fail` option.
Commit: 21444e37ab3fa1a62e6113c85954e3f98ee48698
https://github.com/llvm/llvm-project/commit/21444e37ab3fa1a62e6113c85954e3f98ee48698
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PragmaMsStackAction` to scoped enum
Commit: ab680c55c724ba894269fb687464961a2066c17f
https://github.com/llvm/llvm-project/commit/ab680c55c724ba894269fb687464961a2066c17f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
Revert "[clang][NFC] Convert `Sema::PragmaMsStackAction` to scoped enum"
This reverts commit bd2a3f8d90368288a73dd2ef1926f714acd9eff3.
Commit: 34845ac35a31ccfb4f28bbd76c4a3442b0dee3d2
https://github.com/llvm/llvm-project/commit/34845ac35a31ccfb4f28bbd76c4a3442b0dee3d2
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/widen-shuffle-mask.ll
M llvm/test/CodeGen/LoongArch/lsx/widen-shuffle-mask.ll
Log Message:
-----------
[LoongArch] Try to widen shuffle mask (#136081)
Commit: c2d47a912f9bef427ff249f6e6ebfab89ac37902
https://github.com/llvm/llvm-project/commit/c2d47a912f9bef427ff249f6e6ebfab89ac37902
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Sema/SemaAttr.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::PragmaOptionsAlignKind` to scoped enum
Commit: 0cd3fd4c5c636311f044c395ccd7f02b8039fca8
https://github.com/llvm/llvm-project/commit/0cd3fd4c5c636311f044c395ccd7f02b8039fca8
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
Log Message:
-----------
[RISCV][test] Add (add x, C) -> (sub x, -C) tests
Commit: f5ba3d0c6d413e46fa962be80cfb37857e35b9ab
https://github.com/llvm/llvm-project/commit/f5ba3d0c6d413e46fa962be80cfb37857e35b9ab
Author: Andrew Savonichev <andrew.savonichev at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/test/CodeGenCXX/visibility.cpp
Log Message:
-----------
[clang] Fix computeTypeLinkageInfo for dependent member pointers (#136689)
MemberPointerType may refer to a dependent class (qualifier), for
which getMostRecentCXXRecordDecl returns NULL. It seems that the
compiler never executed this code path before patch #136128 where the
issue was reported.
LIT tests 74 and 75 are reduced from Chromium and LLVM libc test
harness as reported in #136128.
Function member (test74):
MemberPointerType 'type-parameter-0-0 (type-parameter-0-1::*)(void)' dependent
|-TemplateTypeParmType 'type-parameter-0-1' dependent depth 0 index 1
`-FunctionProtoType 'type-parameter-0-0 (void)' dependent cdecl
`-TemplateTypeParmType 'type-parameter-0-0' dependent depth 0 index 0
Template parameter (test75):
MemberPointerType 'type-parameter-0-1 type-parameter-0-0::*' dependent
|-TemplateTypeParmType 'type-parameter-0-0' dependent depth 0 index 0
`-TemplateTypeParmType 'type-parameter-0-1' dependent depth 0 index 1
Commit: dae63e2c0ff1b7d64e186fe72e06a80ef895402c
https://github.com/llvm/llvm-project/commit/dae63e2c0ff1b7d64e186fe72e06a80ef895402c
Author: Andrew Savonichev <andrew.savonichev at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Decl.cpp
M clang/test/CodeGenCXX/visibility.cpp
Log Message:
-----------
Reland [clang] Handle instantiated members to determine visibility (#136128) (#136689)
As reported in issue #103477, visibility of instantiated member
functions used to be ignored when calculating visibility of a
specialization.
This patch modifies `getLVForClassMember` to look up for a source
template for an instantiated member, and changes `mergeTemplateLV` to
apply it.
A similar issue was reported in #31462, but it seems that `extern`
declaration with visibility prevents the function from being emitted
as hidden. This behavior seems correct, even though GCC emits it as
with default visibility instead.
Both tests from #103477 and #31462 are added as LIT tests `test72` and
`test73` respectively.
Commit: 50aacb9e1b51811f12cb017719678962411c50dd
https://github.com/llvm/llvm-project/commit/50aacb9e1b51811f12cb017719678962411c50dd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/cast_ptr.ll
Log Message:
-----------
[InstCombine] Support ptrtoint of gep folds for chain of geps (#137323)
Support the ptrtoint(gep null, x) -> x and ptrtoint(gep inttoptr(x), y)
-> x+y folds for the case where there is a chain of geps that ends in
null or inttoptr. This avoids some regressions from #137297.
While here, also be a bit more careful about edge cases like pointer to
vector splats and mismatched pointer and index size.
Commit: 59fbb9e7751b36bbca1064abb6c21ce59c038a70
https://github.com/llvm/llvm-project/commit/59fbb9e7751b36bbca1064abb6c21ce59c038a70
Author: David Green <david.green at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/shuffle-extend.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
Log Message:
-----------
[AArch64] Add tablegen patterns for i8 and i16 vector insert/extract pairs (#136091)
An i8 and i16 vector extract/insert has to go via a i32 to make sure the
types are legal. This patch adds patterns for extract from a i8/i16
vector, inserted into a i16/i32 vector. This avoids the round trip via a
GPR which can limit performance.
Commit: 60b3a5b7e7db40ec74d3c4839a3fae8b73d98851
https://github.com/llvm/llvm-project/commit/60b3a5b7e7db40ec74d3c4839a3fae8b73d98851
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Fix two small builtin_constant_p cases (#137587)
Only accept string literals if we're pointing to the first index and do
accept complex literals.
Commit: fcb1a481cec002f4e505d165cfba85d8b5986a57
https://github.com/llvm/llvm-project/commit/fcb1a481cec002f4e505d165cfba85d8b5986a57
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/docs/use/formatting.rst
Log Message:
-----------
[lldb][docs] Document new frame-format variables (#137522)
Documents https://github.com/llvm/llvm-project/pull/131836
Commit: e665d95426a454b8f4a04252b815e6366491dfad
https://github.com/llvm/llvm-project/commit/e665d95426a454b8f4a04252b815e6366491dfad
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
Log Message:
-----------
[lldb] Highlight basenames in backtraces (#137301)
Also changes the PC value color so it doesn't visually clash with the
function names
Before:
<img width="1510" alt="Screenshot 2025-04-25 at 10 38 58 AM"
src="https://github.com/user-attachments/assets/1ec35ba3-a3d9-4e5b-bac9-fc738bfe6d25"
/>
After:

Commit: b55fa20d838cff48d060b8f211795bc8b84c265b
https://github.com/llvm/llvm-project/commit/b55fa20d838cff48d060b8f211795bc8b84c265b
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Async/Passes.h
M mlir/include/mlir/Dialect/Async/Passes.td
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCountingOpt.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for Async (#137461)
let constructor is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Note: The following constructor has been retired:
```cpp
std::unique_ptr<Pass> createAsyncParallelForPass(bool asyncDispatch,
int32_t numWorkerThreads,
int32_t minTaskSize);
```
To update your codebase, replace it with the new options-based API:
```cpp
AsyncParallelForPassOptions options{/*asyncDispatch=*/, /*numWorkerThreads=*/, /*minTaskSize=*/};
createAsyncParallelForPass(options);
```
Commit: af329725d4d70cb79f34c40061d04995afedc605
https://github.com/llvm/llvm-project/commit/af329725d4d70cb79f34c40061d04995afedc605
Author: Peng Sun <peng.sun at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Enhance verify checks for PAD Op (#137177)
* add padding shape verification
* add and update LIT test
Signed-off-by: Peng Sun <peng.sun at arm.com>
Commit: 2319a1eb8112ee7d2f5338f7d2fadd0a893a3cb6
https://github.com/llvm/llvm-project/commit/2319a1eb8112ee7d2f5338f7d2fadd0a893a3cb6
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
Log Message:
-----------
[RISCV] Select (add x, C) -> (sub x, -C) if -C cheaper to materialize (#137309)
RV64 only. For 32-bit constants, a negated constant is never cheaper.
This change is similar to how #120221 selects inverted bitwise instructions.
Commit: 5f704f929d0d0d2f3438c951492212d6816b439c
https://github.com/llvm/llvm-project/commit/5f704f929d0d0d2f3438c951492212d6816b439c
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M polly/include/polly/Support/ScopHelper.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/ScopHelper.cpp
Log Message:
-----------
[RemoveDI][Polly] Migrate to adapt to the new DebugRecord format in more areas (#135935)
Some of the changes in the patch include:
1. Using iterators instead of instruction pointers when applicable.
2. Modifying Polly functions to accept iterators instead of inst
pointers.
3. Updating API usages such as use begin instead of front.
Commit: ec6b61943009ed695bdf268bf5a8bf448085df1e
https://github.com/llvm/llvm-project/commit/ec6b61943009ed695bdf268bf5a8bf448085df1e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBLog.cpp
Log Message:
-----------
[lldb][DNB] Add missing include
On the buildbots:
```
user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/tools/debugserver/source/DNBLog.cpp
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/tools/debugserver/source/DNBLog.cpp:66:15: error: no type named 'recursive_mutex' in namespace 'std'
static std::recursive_mutex g_LogThreadedMutex;
~~~~~^
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/tools/debugserver/source/DNBLog.cpp:67:8: error: no member named 'lock_guard' in namespace 'std'
std::lock_guard<std::recursive_mutex> guard(g_LogThreadedMutex);
~~~~~^
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/tools/debugserver/source/DNBLog.cpp:67:24: error: no member named 'recursive_mutex' in namespace 'std'
std::lock_guard<std::recursive_mutex> guard(g_LogThreadedMutex);
~~~~~^
```
Commit: 92bfbbc4e5f4c7c6a7b677b1da9765b2507a98ce
https://github.com/llvm/llvm-project/commit/92bfbbc4e5f4c7c6a7b677b1da9765b2507a98ce
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
Log Message:
-----------
[VPlan] Invert condition if needed when creating inner regions. (#132292)
As pointed out by @iamlouk in
https://github.com/llvm/llvm-project/pull/129402, the current code
doesn't handle latches with different successor orders correctly.
Introduce a `NOT`, if needed.
Depends on https://github.com/llvm/llvm-project/pull/129402
PR: https://github.com/llvm/llvm-project/pull/132292
Commit: be7cf63b4a402ebc5b1dacc6579a693c92e1328e
https://github.com/llvm/llvm-project/commit/be7cf63b4a402ebc5b1dacc6579a693c92e1328e
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/SMEInstrFormats.td
Log Message:
-----------
[AArch64] Add FPCR register usages to mop4 instructions (#135641)
Ensure all floating mop4 instructions implicitly use FPCR
Commit: 1f69d6354a4b088bda5ee62c31411a75eead8b0c
https://github.com/llvm/llvm-project/commit/1f69d6354a4b088bda5ee62c31411a75eead8b0c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
Log Message:
-----------
[InstCombine] Preserve the sign bit of NaN in `SimplifyDemandedUseFPClass` (#137287)
Alive2: https://alive2.llvm.org/ce/z/uiUzEf
Closes https://github.com/llvm/llvm-project/issues/137196.
Note: To avoid regression in
`ret_nofpclass_nopositives_copysign_nnan_flag`, the second commit takes
FMF into account.
Commit: 8506980d30fd2faf41518f24e985f820609a7bd0
https://github.com/llvm/llvm-project/commit/8506980d30fd2faf41518f24e985f820609a7bd0
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
[Analysis] Ensure use of strict fp exceptions in ConstantFolding (#136139)
To perform constant folding in math operations, the implementation of
the ConstantFolding Analysis relies on the use of the math functions
from the host's libm. In particular, it relies on checking the value of
errno and IEEE exceptions to determine when an operation is safe to be
constant-folded.
On some platforms, such as BSD or Darwin, math library functions don't
set errno, so the ConstantFolding check depends only on the value of
IEEE exceptions. As the FP exception behaviour is set to `ignore` by
default, the compiler can perform optimisations that would get in the
way of such checks being performed correctly.
This patch sets the FP exception behaviour to `strict` when compiling
the `ConstantFolding.cpp` source file, ensuring the value of IEEE
exceptions can be reliably used by its implementation.
Commit: 5afe9c72e4bea2ea38beb1cb0d3a3edc9a958414
https://github.com/llvm/llvm-project/commit/5afe9c72e4bea2ea38beb1cb0d3a3edc9a958414
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
Log Message:
-----------
[lldb][lldb-dap] Disable launch tests that rely on get_stdout()
This appears not to work on Windows.
See https://github.com/llvm/llvm-project/issues/137599.
Commit: 6ba1a62a6c512e32bf85f21b59b2c8e507d1a72e
https://github.com/llvm/llvm-project/commit/6ba1a62a6c512e32bf85f21b59b2c8e507d1a72e
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xandesperf-invalid.s
A llvm/test/MC/RISCV/xandesperf-rv64-invalid.s
A llvm/test/MC/RISCV/xandesperf-rv64-valid.s
A llvm/test/MC/RISCV/xandesperf-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesperf (Andes Performance) extension. (#135110)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
This patch only supports assembler.
Relocation and fixup for the branch and gp-implied instructions will be
added in a later patch.
Commit: a0c4876eede8e68de22dc5296b037556c7cca981
https://github.com/llvm/llvm-project/commit/a0c4876eede8e68de22dc5296b037556c7cca981
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
Log Message:
-----------
[InstCombine] Fix ninf propagation for fcmp+sel -> minmax (#136433)
Proof: https://alive2.llvm.org/ce/z/nCrvfr
Closes https://github.com/llvm/llvm-project/issues/136430
Commit: 6ae4030d4cfc1b994be8e100ef72707ff570c89d
https://github.com/llvm/llvm-project/commit/6ae4030d4cfc1b994be8e100ef72707ff570c89d
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
Revert "[Analysis] Ensure use of strict fp exceptions in ConstantFolding (#136139)"
This reverts commit 8506980d30fd2faf41518f24e985f820609a7bd0, multiple buildbot failures reported.
Commit: 2085119887397c4333d70e32a543fe32116756ce
https://github.com/llvm/llvm-project/commit/2085119887397c4333d70e32a543fe32116756ce
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Convert omp.cancel parallel to LLVMIR (#137192)
Support for other constructs will follow in subsequent PRs.
Commit: 32059ce1210da09ed3abfe3ff257b11897251650
https://github.com/llvm/llvm-project/commit/32059ce1210da09ed3abfe3ff257b11897251650
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Stop using Function in InterpBuiltin (#137597)
Prepare for the ultimate removal of Function instances for builtin
functions.
Commit: cebf86eb1de163faaf5f9781f6bbded70dc1f9f0
https://github.com/llvm/llvm-project/commit/cebf86eb1de163faaf5f9781f6bbded70dc1f9f0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
[lldb][Format] Make function name frame-format variables work without debug-info (#137408)
This patch makes the frame-format variables introduced in
https://github.com/llvm/llvm-project/pull/131836 also work when no
debug-info is available. Previously, we assumed `sc.function` was
available, but without debug-info we might only have `sc.symbol`. We
don't really need the `sc.function` apart from when formatting
arguments.
For the function arguments case I added a fallback that will just print
the arguments we get from the demangler (which is what LLDB does for
stacktraces with no debug-info anyway). Ideally we'd have a separate
`FormatEntity::Entry::Type::FunctionArguments` that will just print the
arguments from the demangler and have something like the following in
the `plugin.cplusplus.display.function-name-format`:
```
{ ${function.formatted-arguments} || ${function.arguments} }
```
I.e., when we can't format the arguments, print the ones from the
demangler. But we currently don't have the `||` operator in the
frame-format language yet.
Commit: 5147b83ee684470a8c903e2f05561abfb644ab28
https://github.com/llvm/llvm-project/commit/5147b83ee684470a8c903e2f05561abfb644ab28
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
Log Message:
-----------
[flang][Lower][nfc] vector subscript lhs first element to helper (#137456)
This encapsulates implementation details of hlfir.elemental_addr inside
of ConvertExprToHLFIR instead of leaking to OpenMP code.
Requested here:
https://github.com/llvm/llvm-project/pull/133892#issuecomment-2821559394
Commit: 0b6d71fe10d46741a6f50c17b3fc795fd82e27b7
https://github.com/llvm/llvm-project/commit/0b6d71fe10d46741a6f50c17b3fc795fd82e27b7
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
Log Message:
-----------
[clang][NFC] Convert `Sema::TUFragmentKind` to scoped enum
Commit: 475531b884a1a203af6367df35f1722fe2383e06
https://github.com/llvm/llvm-project/commit/475531b884a1a203af6367df35f1722fe2383e06
Author: Lakshay Kumar <lakshayk at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions fixed (#136868)
[llvm-exegesis][AArch64] Recommit: Disable pauth and ldgm as unsupported instructions.
Skipping AUT and LDGM opcode variants which currently throws "illegal
instruction".
Last pull request
[#132346](https://github.com/llvm/llvm-project/pull/132346) got reviewed
and merged but builder bot got failed. This was due to undefined
`PR_PAC_SET_ENABLED_KEYS` utilized were not defined in x86 arch,
resulting in build failure.
This is followup to merge the changes with following changes to fixup
the build failure.
Changes:
- Fixed up the problem with arch specific check for `prctl` library
import
- Defining `PR_PAC_SET_ENABLED_KEYS` if undefined.
Commit: cf17ee1d3a7ec78dbd922b3eb3944ac49cb78737
https://github.com/llvm/llvm-project/commit/cf17ee1d3a7ec78dbd922b3eb3944ac49cb78737
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/AST/OperationKinds.def
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/CodeGenCXX/nullptr.cpp
Log Message:
-----------
[CodeGen] Fix handling of nullptr in initializers (#137364)
Fixes https://github.com/llvm/llvm-project/issues/137276.
Commit: ec1016f7ef9ff97ecef6e2e84a55d36d7bfbe803
https://github.com/llvm/llvm-project/commit/ec1016f7ef9ff97ecef6e2e84a55d36d7bfbe803
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/reduce-maximumnum-minimumnum.ll
Log Message:
-----------
[IVDescriptors] Support reductions with minimumnum/maximumnum. (#137335)
Add a new reduction recurrence kind for reductions with
minimumnum/maximumnum. Such reductions can be vectorized without
nsz/nnans, same as reductions with maximum/minimum intrinsics.
Note that a new reduction kind is needed to make sure partial reductions
are also combined with minimumnum/maximumnum.
Note that the final reduction to a scalar value is performed with
vector.reduce.fmin/fmax. This should be fine, as the results of the
partial reductions with maximumnum/minimumnum silences any sNaNs.
In-loop and reductions in SLP are not supported yet, as there's no
reduction version of maximumnum/minimumnum yet and fmax may be
incorrect.
PR: https://github.com/llvm/llvm-project/pull/137335
Commit: dd87127f4e579d9c13480b40a79860d19a5891f1
https://github.com/llvm/llvm-project/commit/dd87127f4e579d9c13480b40a79860d19a5891f1
Author: John Brawn <john.brawn at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fp16_fast_math.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
A llvm/test/CodeGen/ARM/bf16_fast_math.ll
M llvm/test/CodeGen/ARM/fp16_fast_math.ll
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[DAGCombiner] Eliminate fp casts if we have the right fast math flags (#131345)
When floating-point operations are legalized to operations of a higher
precision (e.g. f16 fadd being legalized to f32 fadd) then we get
narrowing then widening operations between each operation. With the
appropriate fast math flags (nnan ninf contract) we can eliminate these
casts.
Commit: be82be281d92091af98f2d27f2a8dad7bc160a62
https://github.com/llvm/llvm-project/commit/be82be281d92091af98f2d27f2a8dad7bc160a62
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/test/CodeGen/AArch64/neon-mov.ll
Log Message:
-----------
[LLVM][GlobalISel] Ensure G_{F}CONSTANT only store references to scalar Constant{Int,FP}. (#137319)
Commit: 12a4ec6b1af8a50d31ee91093666e0fa455a4c35
https://github.com/llvm/llvm-project/commit/12a4ec6b1af8a50d31ee91093666e0fa455a4c35
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaObjC.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::FormatStringType` to scoped enum
Commit: 73d90ec8257488deaf6cc9b00dc778b109d5dfc0
https://github.com/llvm/llvm-project/commit/73d90ec8257488deaf6cc9b00dc778b109d5dfc0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Consider non-profitable trees with only phis, gathers, splits and small nodes with reuses
Improves compile time for non-profitable cases.
Fixes #135965
Commit: e086d7b1464ad091ae849cb907f8647c8439cb66
https://github.com/llvm/llvm-project/commit/e086d7b1464ad091ae849cb907f8647c8439cb66
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Don't create function frames for builtin calls (#137607)
They don't have local variables etc. so don't create frames for them.
Commit: 959905a5adca4dc697160f8cbab302fefe610034
https://github.com/llvm/llvm-project/commit/959905a5adca4dc697160f8cbab302fefe610034
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
Log Message:
-----------
[clang][bytecode] Don't create Function instances for builtins (#137618)
Now that we don't use them anymore in InterpBuiltin.cpp and we don't
create frames for them anymore anyway, just don't create Function
instances.
Commit: b8b35b924f6263e2da9509f5bbb23fbd7b69cb92
https://github.com/llvm/llvm-project/commit/b8b35b924f6263e2da9509f5bbb23fbd7b69cb92
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
Log Message:
-----------
[mlir][linalg] Fix memory leak in `runtime-verification.mlir` (#137591)
This fixes the test when running with ASAN.
Commit: 1a32613dacac8de3f41be5e75ea1f70cba87dd0f
https://github.com/llvm/llvm-project/commit/1a32613dacac8de3f41be5e75ea1f70cba87dd0f
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
A llvm/test/CodeGen/AMDGPU/pal-metadata-3.6.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
Log Message:
-----------
[AMDGPU] Update pal metadata for v3.6 and fix v3.0 (#135196)
Update entry_point for all pal versions below 3.6.
3.6 and above removes entry_point.
Commit: 98b895da30c03b7061b8740d91c0e7998e69d091
https://github.com/llvm/llvm-project/commit/98b895da30c03b7061b8740d91c0e7998e69d091
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
Log Message:
-----------
[SystemZ] Fix compile time regression in adjustInliningThreshold(). (#137527)
Instead of always iterating over all GlobalVariable:s in the Module to
find the case where both Caller and Callee is using the same GV heavily,
first scan Callee (only if less than 200 instructions) for all GVs used
more than 10 times, and then do the counting for the Caller for just
those relevant GVs.
The limit of 200 instructions makes sense as this aims to inline a
relatively small function using a GV +10 times.
This resolves the compile time problem with zig where it is on main
(compared to removing the heuristic) a 380% increase, but with this
change <0.5% increase (total user compile time with opt).
Fixes #134714.
Commit: abfb2ce2f57fc02e222936aeb602681add752d9b
https://github.com/llvm/llvm-project/commit/abfb2ce2f57fc02e222936aeb602681add752d9b
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[OpenACC][NFCI] Implement 'helpers' for all of the clauses I've used so far (#137396)
As a follow up to 3c4dff3ac6884b85fe93fe512c5bdaf014738c45 I audited all
uses of 'process clause and use additive methods', and added explicit
functions to the construct to make it easier for the next project to
attempt to use this mechanism (vs construct all operands/etc in advance,
then add all at once).
I've only done ones that I have attempted to use so far(as a catch-up,
so no var-list clauses, and no constructs that can't be used without a
var-list, and no loop, and no compound constructs). I intend to do those
"as I go" with the lowering of each of those things instead.
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 642453c6bab896f792fa86a61837ea32ae46ae48
https://github.com/llvm/llvm-project/commit/642453c6bab896f792fa86a61837ea32ae46ae48
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Mark atomic clauses as unique (#137460)
The current implementation of the ATOMIC construct handles these clauses
individually, and this change does not have an observable effect. At the
same time these clauses are unique as per the OpenMP spec, and this
patch reflects that in the OMP.td file.
Commit: 357090851945472b0be82b4364f4b0c6e76ca4c8
https://github.com/llvm/llvm-project/commit/357090851945472b0be82b4364f4b0c6e76ca4c8
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
M llvm/test/CodeGen/AMDGPU/flat-offset-bug.ll
M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.dec.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.inc.ll
M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for some codegen tests (#137534)
Make preparation for #137488.
Commit: 064f9d03f23597495953f080d9aee415b0aab2e7
https://github.com/llvm/llvm-project/commit/064f9d03f23597495953f080d9aee415b0aab2e7
Author: jyli0116 <yu.li at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Add FEAT_FPAC to supported CPUs (#137330)
Added FEAT_FPAC onto supported AArch64 CPUs which don't have it under
the processor description.
Commit: ba420d8122239592a1fb7ad6efd2c186aecfdef5
https://github.com/llvm/llvm-project/commit/ba420d8122239592a1fb7ad6efd2c186aecfdef5
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
Log Message:
-----------
[llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions (#136759)
This patch adds support for LLVM IR atomicrmw `fmaximum` and `fminimum`
instructions.
These mirror the `llvm.maximum.*` and `llvm.minimum.*` instructions, but
are atomic and use IEEE754 2019 handling for NaNs, which is different to
`fmax` and `fmin`. See:
https://llvm.org/docs/LangRef.html#llvm-minimum-intrinsic
for more details.
Future changes will allow this LLVM IR to be lowered to specialised
assembler instructions on suitable targets, such as AArch64.
Commit: 985410f87f2d19910a8d327527fd30062b042b63
https://github.com/llvm/llvm-project/commit/985410f87f2d19910a8d327527fd30062b042b63
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/lib/Basic/Targets.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[clang] Hide the `TargetOptions` pointer from `CompilerInvocation` (#106271)
This PR hides the reference-counted pointer that holds `TargetOptions`
from the public API of `CompilerInvocation`. This gives
`CompilerInvocation` an exclusive control over the lifetime of this
member, which will eventually be leveraged to implement a copy-on-write
behavior.
There are two clients that currently share ownership of that pointer:
* `TargetInfo` - This was refactored to hold a non-owning reference to
`TargetOptions`. The options object is typically owned by the
`CompilerInvocation` or by the new `CompilerInstance::AuxTargetOpts` for
the auxiliary target. This needed a bit of care in `ASTUnit::Parse()` to
keep the `CompilerInvocation` alive.
* `clangd::PreambleData` - This was refactored to exclusively own the
`TargetOptions` that get moved out of the `CompilerInvocation`.
Commit: 258e1438c23c20cfe5c4908633401ab0adf4a364
https://github.com/llvm/llvm-project/commit/258e1438c23c20cfe5c4908633401ab0adf4a364
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
Log Message:
-----------
[OpenACC][CIR][NFC] Refactor to move 'loop' emit into its own file
The 'loop' emit for OpenACC is particularly complicated/involved, so it
makes sense to be in its own file. This patch splits it out into its own
file, as well as the clause emitter code (as loop is going to require
that).
Commit: 3f46af98caa2d0c3b8dcde02f0cc08fde03376c9
https://github.com/llvm/llvm-project/commit/3f46af98caa2d0c3b8dcde02f0cc08fde03376c9
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
Log Message:
-----------
[RISCV] Support Push/Pop with Xqci (#134191)
The `qc.c.mienter` and `qc.c.mienter.nest` instructions, broadly only
save the argument and temporary registers. The exceptions are that they
also save `fp` (`s0`) to construct a frame chain from the signal handler
to the frame below, and they also save `ra`. They are designed this way
so that (if needed) push and pop instructions can be used to save the
callee-saved registers.
This patch implements this optimisation, constructing the following
rather than a long sequence of `sw` and `lw` instructions for saving the
callee-saved registers:
```asm
qc.c.mienter
qc.cm.push {ra, s0-sN}, -M
...
qc.cm.pop {ra, s0-sN}, M
qc.c.mileaveret
```
There are some carefully-worked-out details here, especially around CFI
information. For any register saved by both `qc.c.mienter(.nest)` and
the push (which is `ra` and `s0` at most), we point the CFI information
at the version saved by `qc.c.mienter(.nest)`. This ensures the CFI
points at the same `fp` copy as a frame pointer unwinder would find.
Commit: 343c784f18bb244242bcfd5bcff00daf197537a4
https://github.com/llvm/llvm-project/commit/343c784f18bb244242bcfd5bcff00daf197537a4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_fake16_promote.s
R llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop1_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop1_fake16_promote.s
R llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err-fake16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_fake16_promote.s
Log Message:
-----------
[AMDGPU][True16][MC] add fake16 error and promote test (#135984)
This is a NFC patch.
Added error and promote test for fake16 flow. This includes two part:
1. "*vop1_t16_err-fake16.s" is renamed to "*vop1_fake16_err.s"
2. added missing "fake16-promote.s" and other "*fake16_err.s" files
These tests are about promoting the instruction encoding to 64 bits if
the used registers are not encodable in the 32-bit form.
Commit: 6b973f2baf66b05397d6caff3f29dbefabd5a214
https://github.com/llvm/llvm-project/commit/6b973f2baf66b05397d6caff3f29dbefabd5a214
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Remove FEM_Indeterminable (#137247)
Remove FEM_Indeterminable as it is unused and cannot be stored safely in
an unsigned bitfield
Commit: d1a84b99691e94aaf9b344cc84f1b8d98ebd3518
https://github.com/llvm/llvm-project/commit/d1a84b99691e94aaf9b344cc84f1b8d98ebd3518
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
Log Message:
-----------
[mlir][linalg] Fix memory leak in `pack-dynamic-inner-tile.mlir` (#137589)
This fixes the test when running with ASAN.
Commit: 1b5cd1dfb3b9597a2a04f25e04143f218ebf5459
https://github.com/llvm/llvm-project/commit/1b5cd1dfb3b9597a2a04f25e04143f218ebf5459
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/nested-simd.f90
Log Message:
-----------
[Flang][OpenMP] Permit loop construct in simd regions (#137020)
Simdizable constructs are permitted in a simd region. The loop construct
is a simdizable construct.
Also fixes the TODO corresponding to this.
Commit: 5953f191b94159bbced543ad07a85c93b5a12d33
https://github.com/llvm/llvm-project/commit/5953f191b94159bbced543ad07a85c93b5a12d33
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
Log Message:
-----------
[mlir][sparse_tensor] Fix memory leak in `sparse_index_dense.mlir` (#137454)
Commit: a6f4a54891979c7c6d3c9e01598827da8b413f4f
https://github.com/llvm/llvm-project/commit/a6f4a54891979c7c6d3c9e01598827da8b413f4f
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
Log Message:
-----------
[Clang][NFC] Const correctness fix for range based for loop (#137431)
Static analysis flagged that we did not make const a item declaration
b/c we did not modify it all during the loop.
Commit: d7e631c7cd6d9c13b9519991ec6becf08bc6b8aa
https://github.com/llvm/llvm-project/commit/d7e631c7cd6d9c13b9519991ec6becf08bc6b8aa
Author: Jan Górski <jan.a.gorski at wp.pl>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/test/CodeGen/RISCV/atomic-load-zext.ll
Log Message:
-----------
[RISCV] Remove `AND` mask generated by `( zext ( atomic_load ) )` by replacing the load with `zextload` for orderings not stronger then monotonic. (#136502)
Extends changes from
[ff687af](https://github.com/llvm/llvm-project/commit/ff687af04f5b0e85305250587b524cb0b3849aa0).
Fixes https://github.com/llvm/llvm-project/issues/131476.
This patch adds a DAG combine to replace an `AND` of an `ATOMIC_LOAD`
with a full-bit mask (e.g. `0xFF`, `0xFFFF`, etc.) which is generated as
a result of `(zext (atomic_load))`, by a zero-extended load, provided
the atomic operation is monotonic or weaker.
Commit: c52fdbe697eb0eee2484c5bf1aeb17d678430830
https://github.com/llvm/llvm-project/commit/c52fdbe697eb0eee2484c5bf1aeb17d678430830
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Fix ia32_addcarry/subborrow (#137642)
RHS is followed by another Pointer.
Commit: 41ab76bf0aafb35d6d023429560b44637dfb8de6
https://github.com/llvm/llvm-project/commit/41ab76bf0aafb35d6d023429560b44637dfb8de6
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBTimer.h
Log Message:
-----------
Revert "[debugserver] Migrate DNBTimer away from PThreadMutex (NFC) (#137540)"
This reverts commit ae71055e6664caf7f74f2e21fb76513bef22a099.
Commit: f8724bd873878df81720bdec8b7a9a24f2a40a03
https://github.com/llvm/llvm-project/commit/f8724bd873878df81720bdec8b7a9a24f2a40a03
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Check live-ness when calling dtors (#137645)
We can't call a destructor on a dead pointer.
Commit: ac40bc7d5f52db38fa3cbb9e2599dd4272dc2409
https://github.com/llvm/llvm-project/commit/ac40bc7d5f52db38fa3cbb9e2599dd4272dc2409
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Basic/FPOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
Revert "[clang] Remove FEM_Indeterminable" (#137654)
Reverts llvm/llvm-project#137247
Commit: 7ee0097b486b31be8b9a1750b2cd47580efd9587
https://github.com/llvm/llvm-project/commit/7ee0097b486b31be8b9a1750b2cd47580efd9587
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
Log Message:
-----------
Revert "[llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions" (#137657)
Reverts llvm/llvm-project#136759 due to bad interaction with c792b25e4
Commit: 0cd20537c697672bf0e7789b19bac63eb04f50f8
https://github.com/llvm/llvm-project/commit/0cd20537c697672bf0e7789b19bac63eb04f50f8
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/extensions/unused-but-allowed-SPV_INTEL_arbitrary_precision_integers.ll
Log Message:
-----------
[SPIRV] Stop unconditionally emitting SPV_INTEL_arbitrary_precision_integers when allowed (#137167)
When the SPV_INTEL_arbitrary_precision_integers extension is allowed to
be used, the backend will unconditionnally add it to the module used
extensions.
The patch prevent SPV_INTEL_arbitrary_precision_integers from being
declared if unneeded.
Commit: 76d83e62508548b5f43baa482f74d24886efb763
https://github.com/llvm/llvm-project/commit/76d83e62508548b5f43baa482f74d24886efb763
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
Log Message:
-----------
[SPIRV] Correctly map OpGenericCastToPtrExplicit builtins (#137189)
The __spirv_GenericCastToPtrExplicit_To* builtins and its equivalent
OpenCL builtins (to_global, to_local and to_private) were mapped to
OpGenericCastToPtr instead of OpGenericCastToPtrExplicit.
The patch now uses OpGenericCastToPtrExplicit for these builtins.
Commit: ca21508080031c3eda1c6085f1de9cc26be4c336
https://github.com/llvm/llvm-project/commit/ca21508080031c3eda1c6085f1de9cc26be4c336
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/Mips/MicroMipsInstrInfo.td
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[Targets] Migrate from atomic_load_8/16/32/64 to atomic_load_nonext_8/16/32/64. NFC (#137428)
This makes them more consistent with the checks performed by regular loads. We can't simply add IsNonExtLoad to the existing atomic_load_8/16/32/64 as that would affect out of tree targets.
Commit: 0d567994570becad7022524bfb50b78b03c04ced
https://github.com/llvm/llvm-project/commit/0d567994570becad7022524bfb50b78b03c04ced
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
Log Message:
-----------
[SPIRV] Use the range constructor of SmallPtrSet (NFC) (#137583)
Commit: 044ff78adcf6e5c6848ea8a8bb9dec2f4a32066c
https://github.com/llvm/llvm-project/commit/044ff78adcf6e5c6848ea8a8bb9dec2f4a32066c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[TableGen] Simplify a string comparison (NFC) (#137584)
Commit: 9f2bcc7a663dc36c3cd0b3d6c3616d9661a03c0f
https://github.com/llvm/llvm-project/commit/9f2bcc7a663dc36c3cd0b3d6c3616d9661a03c0f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/DNBTimer.h
Log Message:
-----------
[debugserver] Migrate DNBTimer away from PThreadMutex (NFC) (#137540)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
DNBTimer away from that class in preparation for removing PThreadMutex.
Commit: 2b57ebb50b6d418e70382e655feaa619b558e254
https://github.com/llvm/llvm-project/commit/2b57ebb50b6d418e70382e655feaa619b558e254
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M libcxx/utils/ci/Dockerfile
Log Message:
-----------
[libc++][CI] Improves updating Docker image. (#134497)
This makes it easier to build a new Docker image in the CI. Since the
new image is not used automatically it's safe to commit these changes
directly to main. Then use a PR to test the new image.
Commit: b25b51eb639da2e726c95bef00409e0d3913435d
https://github.com/llvm/llvm-project/commit/b25b51eb639da2e726c95bef00409e0d3913435d
Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/X86/avx-cmp.ll
M llvm/test/CodeGen/X86/eq-or-eq-range-of-2.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
M llvm/test/CodeGen/X86/mmx-fold-zero.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
Log Message:
-----------
[InlineSpiller] Check rematerialization before folding operand (#134015)
Current implementation tries to fold the operand before
rematerialization because it can reduce one register usage. But if there
is a physical register available we can still rematerialize it without
causing high register pressure.
This patch do this check to find the better choice. Then we can produce
xorps %xmm1, %xmm1
ucomiss %xmm1, %xmm0
instead of
ucomiss LCPI0_1(%rip), %xmm0
Commit: e44f7760fa6f9f2d70831a6e9bf9f8472d285f4d
https://github.com/llvm/llvm-project/commit/e44f7760fa6f9f2d70831a6e9bf9f8472d285f4d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#137466)
This fixes a warning where a variable assigned in 'if' statement wasn't referenced again.
Commit: c5f61908a75142491143c68fb09caacba8502ae2
https://github.com/llvm/llvm-project/commit/c5f61908a75142491143c68fb09caacba8502ae2
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/reexport-with-rpath.s
Log Message:
-----------
[lld-macho]Fix bug in finding "chained" re-exported libs. (#135241)
Details:
When we have the following scenario:
- lib_a re-exports lib_b
- lib_b re-exports @rpath/lib_c
+ lib_b contains LC_RPATH
Previously, lld-macho cannot find lib_c because it was attempting to
resolve the '@rpath' from lib_b (which had no LC_RPATH defined). The
change here is to also consider all the LC_RPATH rom lib_b when trying
to find lib_c.
Inspired by real-life example when linking with
libXCTestSwiftSupport.dylib (which re-exports XCTest, which re-exports
XCTestCore)
Commit: 0c57f89752ee36eea306347d42f5f75a6f2fa335
https://github.com/llvm/llvm-project/commit/0c57f89752ee36eea306347d42f5f75a6f2fa335
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lld/test/MachO/reexport-with-rpath.s
Log Message:
-----------
[lld-macho]Added missing commit from PR/135241 (#137672)
Commit: 4e4c6d7e273a91d230389b98c280c9dbde0f6c32
https://github.com/llvm/llvm-project/commit/4e4c6d7e273a91d230389b98c280c9dbde0f6c32
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb/Format] Make progress count show thousands separators (NFC) (#137446)
This patch changes the progress count formatting show thousands
separator making it easier to read big numbers.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: acaf403c6397dc0fcd8f0988bd057b4d5ee2460f
https://github.com/llvm/llvm-project/commit/acaf403c6397dc0fcd8f0988bd057b4d5ee2460f
Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
Log Message:
-----------
[SampleProfile] Fix UB in Demangler invocation. (#137659)
Currently the backing buffer of a `std::vector<char>` is passed[1] to
`Demangler.getFunctionBaseName`. However, deeply inside the call stack
`OutputBuffer::grow` will call[2] `std::realloc` if it needs to grow the
buffer, leading to UB.
The demangler APIs specify[3] that "`Buf` and `N` behave like the second
and third parameters to `__cxa_demangle`" and the docs for the latter
say[4] that the output buffer must be allocated with `malloc` (but can
also be `NULL` and will then be realloced accordingly).
Note: PR #135863 changed this from a stack array to a `std::vector` and
increased the size to 65K, but this can still lead to a crash if the
demangled name is longer than that - yes, I'm surprised that a >65K-long
function name happens in practice...
[1]:
https://github.com/llvm/llvm-project/blob/d7e631c7cd6d9c13b9519991ec6becf08bc6b8aa/llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp#L744
[2]:
https://github.com/llvm/llvm-project/blob/d7e631c7cd6d9c13b9519991ec6becf08bc6b8aa/llvm/include/llvm/Demangle/Utility.h#L50
[3]:
https://github.com/llvm/llvm-project/blob/d7e631c7cd6d9c13b9519991ec6becf08bc6b8aa/llvm/include/llvm/Demangle/Demangle.h#L92-L93
[4]:
https://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3/a01696.html
Commit: 46fd2b94affdb4727a2a0757d3de269989428df0
https://github.com/llvm/llvm-project/commit/46fd2b94affdb4727a2a0757d3de269989428df0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/PThreadEvent.cpp
M lldb/tools/debugserver/source/PThreadEvent.h
Log Message:
-----------
[debugserver] Migrate PThreadEvent away from PThreadMutex (NFC) (#137554)
The debugserver code predates modern C++, but with C++11 and later
there's no need to have something like PThreadMutex. This migrates
PThreadEvent away from PThreadMutex in preparation for removing it.
Commit: 64737ceb9a2060db940e4562fe04887e73f7a65c
https://github.com/llvm/llvm-project/commit/64737ceb9a2060db940e4562fe04887e73f7a65c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.12
Commit: 561a21f18c7a58e04e83a342f5e4c3afc585700c
https://github.com/llvm/llvm-project/commit/561a21f18c7a58e04e83a342f5e4c3afc585700c
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
A clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
A clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
A clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
Log Message:
-----------
[HLSL] Put tests for compatibility overloads for 'clamp', 'isinf', 'min', and 'max' in own files (#137004)
Put tests for compatibility overloads for 'clamp', 'isinf', 'min', and
'max' in own files which guarantee hlsl version 202x.
Closes #133277
Commit: 45411ac8953e61513bfe7767dc0fb34356f1fc33
https://github.com/llvm/llvm-project/commit/45411ac8953e61513bfe7767dc0fb34356f1fc33
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
Log Message:
-----------
[clang-tidy] Avoid diagnosing std::array initializations for modernize-use-designated-initializers (#134774)
**Edit:**
I suggest we avoid diagnosing initializers for `std::array` type. The
fixit provided is incorrect as observed in **#133715.** The only
workaround would require C99-style array designators which don’t really
align with the purpose of this check. This would also generate extra
compiler warnings.
Fixes #133715
Commit: a61048bbcd4708f6c89c16846d0bd89f997f4932
https://github.com/llvm/llvm-project/commit/a61048bbcd4708f6c89c16846d0bd89f997f4932
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[MemProf][NFC] Hoist size computation out of the loop for v3 (#137479)
Similar to the suggestion in #137394. In this case apply it to the current binary format (v3).
Commit: 9d77a3fa1a4a68a533090266662863d32e9d5717
https://github.com/llvm/llvm-project/commit/9d77a3fa1a4a68a533090266662863d32e9d5717
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/debugserver/source/DNBError.cpp
M lldb/tools/debugserver/source/DNBTimer.h
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
M lldb/tools/debugserver/source/MacOSX/MachTask.h
R lldb/tools/debugserver/source/PThreadMutex.cpp
R lldb/tools/debugserver/source/PThreadMutex.h
Log Message:
-----------
[debugserver] Remove PThreadMutex (NFC) (#137555)
Now that all uses of PThreadMutex have been migrated to their C++
equivalent, this PR removes PThreadMutex itself.
Commit: 6d7edbb59dfa267ea33a1acf8e3c9785084b2d52
https://github.com/llvm/llvm-project/commit/6d7edbb59dfa267ea33a1acf8e3c9785084b2d52
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocPBQP.h
Log Message:
-----------
Revert "[CodeGen] Use OwningArrayRef in NodeMetadata (NFC)" (#137684)
Reverts llvm/llvm-project#137539
This breaks the MSan buildbot. Please either fix the build or merge this
revert.
Commit: efd46bc1efb18180366798134164dc9f87a6c79d
https://github.com/llvm/llvm-project/commit/efd46bc1efb18180366798134164dc9f87a6c79d
Author: Douglas <Douglas.Gliner at sony.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGenCXX/lifetime-sanitizer.cpp
Log Message:
-----------
[sanitizer] Allow use-after-scope front-end argument to take effect with -fsanitize=kernel-address (#137015)
Allow `-f[no]-sanitize-address-use-after-scope` to take effect under
kernel-address sanitizer (`-fsanitize=kernel-address`). `use-after-scope` is
now enabled by default under kernel-address sanitizer.
Previously, users may have enabled `use-after-scope` checks for kernel-address
sanitizer via `-mllvm -asan-use-after-scope=true`. While this may have worked
for optimization levels > O0, the required lifetime intrinsics to allow for
`use-after-scope` detection were not emitted under O0. This commit ensures
the required lifetime intrinsics are emitted under O0 with kernel-address
sanitizer.
Commit: 043b04acff53f3c3b2dd0d6eeb8c2127a229ac72
https://github.com/llvm/llvm-project/commit/043b04acff53f3c3b2dd0d6eeb8c2127a229ac72
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
A llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
Reapply "[VPlan] Fold NOT into predicate of wide compares." (#130347)
This reverts commit 8dd160f4767f971572eac065c8650d9202ff5bf9.
The recommit contains an adjustment to planContainsAdditionalSimplifications,
which considers changes to the original predicate for compares.
Original commit message:
Add simplification to fold negation into a compare, if the negation is
the only user of the compare. This removes a number of redundant
negations.
Alive2 Proofs for FPCMP test changes: https://alive2.llvm.org/ce/z/WGDz9U
PR: https://github.com/llvm/llvm-project/pull/129430
Commit: abec9ff47da4fd8b614d0338203b2e3663c36aaf
https://github.com/llvm/llvm-project/commit/abec9ff47da4fd8b614d0338203b2e3663c36aaf
Author: Sirish Pande <sirpande at amd.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
A llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
A llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
Log Message:
-----------
[AMDGPU] Correctly merge noalias scopes during lowering of LDS data. (#131664)
Currently, if there is already noalias metadata present on loads and
stores, lower module lds pass is generating a more conservative aliasing
set. This results in inhibiting scheduling intrinsics that would have
otherwise generated a better pipelined instruction.
The fix is not to always intersect already existing noalias metadata
with noalias created for lowering of LDS. But to intersect only if
noalias scopes are from the same domain, otherwise concatenate exising
noalias sets with LDS noalias.
There a few patches that have come for scopedAA in the past. Following
three should be enough background information.
https://reviews.llvm.org/D91576
https://reviews.llvm.org/D108315
https://reviews.llvm.org/D110049
Essentially, after a pass that might change aliasing info, one should
check if that pass results in change number of MayAlias or ModRef using
the following:
`opt -S -aa-pipeline=basic-aa,scoped-noalias-aa -passes=aa-eval
-evaluate-aa-metadata -print-all-alias-modref-info -disable-output`
Commit: 9124e963a3bf73fd7430a17535d638601be5630f
https://github.com/llvm/llvm-project/commit/9124e963a3bf73fd7430a17535d638601be5630f
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M libc/include/assert.h.def
Log Message:
-----------
[libc] Update assert for C23 (#137402)
Previously the assert macro took one argument named "e", but this led to
possible errors if the caller had commas in their input. C23 changed the
definition of assert to use `__VA_ARGS__` to ensure comma cases are
handled properly. This patch doesn't introduce the enforcement function
mentioned in the standard update, though that may be done in a followup.
Fixes #136184
Commit: 95795ab7dc3029e64e0a0a7893b95f4bfab667f1
https://github.com/llvm/llvm-project/commit/95795ab7dc3029e64e0a0a7893b95f4bfab667f1
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/Linker/IRMover.cpp
Log Message:
-----------
Linker: Remove dropTriviallyDeadConstantArrays().
By calling this function after every link, we introduce quadratic
behavior during full LTO links that primarily affects links involving
large numbers of constant arrays, such as the full LTO part of a
ThinLTO link which will involve large numbers of vtable constants.
Removing this call resulted in a 1.3x speedup in the indexing phase
of a large internal Google binary.
This call was originally introduced to reduce memory consumption during
full LTO (see commit dab999d54f39af3ebb6a23e850dbc9742016fac8), but it
doesn't seem to be the case that this helps any more. I ran 3 stage2
links of clang with full LTO and ThinLTO with and without this change
and measured the max RSS. The results were as follows (all in KB):
```
FullLTO before 22362512 22383524 22387456
after 22383496 22365356 22364352
ThinLTO before 4391404 4478192 4383468
after 4399220 4363100 4417688
```
As you can see, any max RSS differences are in the noise.
Reviewers: nikic, teresajohnson
Reviewed By: teresajohnson, nikic
Pull Request: https://github.com/llvm/llvm-project/pull/137081
Commit: f9ee5ce605f94d905d3112fd0923a5fd23e48dd3
https://github.com/llvm/llvm-project/commit/f9ee5ce605f94d905d3112fd0923a5fd23e48dd3
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[clang][SPIR-V] Fix OpenCL addrspace mapping when using non-zero default AS (#137187)
Based on feedback from https://github.com/llvm/llvm-project/pull/136753,
remove the dummy values for OpenCL and make them match the zero default
AS map.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 882bae9f430e7d70246145839d41d95e40a7319a
https://github.com/llvm/llvm-project/commit/882bae9f430e7d70246145839d41d95e40a7319a
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
Log Message:
-----------
[libc][bazel] Make top section of BUILD.bazel files more uniform. (#137689)
Make sure all BUILD.bazel files under llvm-libc are specifying
package-level default_visibility and licenses.
Add top-level license notice and comment to new BUILD.bazel for
complex.h functions.
Commit: cebaf0cea1f2cf9d71b4d965104e08a7ff6c89c4
https://github.com/llvm/llvm-project/commit/cebaf0cea1f2cf9d71b4d965104e08a7ff6c89c4
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
Log Message:
-----------
[clang] Make the `AnalyzerOptions` reference count non-intrusive (#137680)
This PR makes `CompilerInvocation` the sole owner of the
`AnalyzerOptions` instance. Clients can no longer become co-owners by
doing something like this:
```c++
void shareOwnership(CompilerInvocation &CI) {
IntrusiveRefCntPtr Shared = &CI.getAnalyzerOpts();
}
```
The motivation for this is given here:
https://github.com/llvm/llvm-project/pull/133467#issuecomment-2762065443
Commit: c8b3d79961834e62e15e8350cb35a5bd7fafae50
https://github.com/llvm/llvm-project/commit/c8b3d79961834e62e15e8350cb35a5bd7fafae50
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
A llvm/test/CodeGen/DirectX/metadata-stripping.ll
Log Message:
-----------
[DXIL] Remove incompatible metadata types when preparing DXIL. (#136386)
This PR introduces a Metadata Node Kind allowlist. The purpose is to
prevent newer Metadata Node Kinds to be used and inserted into the
outputted DXIL module. Only the metadata kinds that are accepted in the
DXIL Validator are on the allowlist. The Github DXC validator doesn't
support these newer Metadata Node Kinds, so we need to filter them out.
We introduce this restrictive allowlist into LLVM and strip all metadata
that isn't found in the list.
The accompanying test would add the `llvm.loop.mustprogress` metadata
node kind, but thanks to the allowlist, filters it out, and so the
whitelist is proven to work.
The test also has two separate metadata kinds that are on the allowlist,
and remain after the DXIL Prepare pass.
Commit: cd116ee29e3f9e449f544de73769c0d8b8c0da94
https://github.com/llvm/llvm-project/commit/cd116ee29e3f9e449f544de73769c0d8b8c0da94
Author: ivangarcia44 <36650061+ivangarcia44 at users.noreply.github.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Log Message:
-----------
Add examples for reinterpret_cast and subview operators to show their behavior in relation to their input memref underlying memory and view (#135244)
While working on #134845 I was trying to understand the difference of
how the reinterpret_cast and subview operators see the input memref, but
it was not clear to me.
I did a couple of experiments in which I learned that the subview takes
into account the view of the input memref to create the view of the
output memref, while the reinterpret_cast just uses the underlying
memory of the input memref.
I thought it would help future readers to see these two experiements as
examples in the documentation to quickly figure out the difference
between these two operators.
@matthias-springer
@joker-eph
@sahas3
@Hanumanth04
@dixinzhou
@rafaelubalmw
---------
Co-authored-by: Ivan Garcia <igarcia at vdi-ah2ddp-178.dhcp.mathworks.com>
Commit: 31bd7a507152555ddb9dc4a90532d4f06b00ca8f
https://github.com/llvm/llvm-project/commit/31bd7a507152555ddb9dc4a90532d4f06b00ca8f
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
Log Message:
-----------
[RISCV] XFAIL SiFive Interrupt Test
Commit: 82a1d5078d3e3a1dff70601f8817c220a1f453ab
https://github.com/llvm/llvm-project/commit/82a1d5078d3e3a1dff70601f8817c220a1f453ab
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] Add dense math half-precision floating-point outer-product accumulate to DMR instructions (#133272)
This patch adds the following Dense Math Facility 16-bit half-precision
floating-point calculation instructions: dmxvf16gerx2, dmxvf16gerx2pp,
dmxvf16gerx2pn, dmxvf16gerx2np, dmxvf16gerx2nn, pmdmxvf16gerx2,
pmdmxvf16gerx2pp, pmdmxvf16gerx2pn, pmdmxvf16gerx2np, pmdmxvf16gerx2nn,
along with their corresponding intrinsics and tests.
Commit: 86b7ce949779a6b4809bcc4b73e41abb1f3aabfa
https://github.com/llvm/llvm-project/commit/86b7ce949779a6b4809bcc4b73e41abb1f3aabfa
Author: David Green <david.green at arm.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll
Log Message:
-----------
[CostModel] Remove some negative costs. (#135533)
The cost model in the past returned -1 for unknown costs, but over time
this has largely been removed. This cleans up some of the uses that have
remained. It uses 0/free for the cost of an insert and 1/basic for the
cost of anything that is unknown.
Commit: dfdc50be8e5dcc2fb574d530e95420540200cc19
https://github.com/llvm/llvm-project/commit/dfdc50be8e5dcc2fb574d530e95420540200cc19
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][acc] Remove declare attribute verification (#137676)
The part that verifies the declare attributes are preserved in the
verifier can fail easily during the FIR lowering pipeline. For example,
during FIR lowering to FIRCG, fir.declare can be removed. Thus, any
fir.declare that has acc.declare attributes will cause a verifier
failure. Since the declare attribute only existed to simplify the effort
of locating acc declare enter and exit points, which can be easily
replaced by a def-use chain traversal, we are considering removing the
verification of declare attributes in this MR.
Example:
```
%1 = fir.alloca !fir.array<10xf32> {bindc_name = "arr", uniq_name = "_QMmmFsubEarr"}
%2 = fir.shape %c10 : (index) -> !fir.shape<1>
%3 = fir.declare %1(%2) {acc.declare = #acc.declare<dataClause = acc_create>, uniq_name = "_QMmmFsubEarr"} : (!fir.ref<!fir.array<10xf32>>, !fir.shape<1>) -> !fir.ref<!fir.array<10xf32>>
%4 = acc.create varPtr(%3 : !fir.ref<!fir.array<10xf32>>) -> !fir.ref<!fir.array<10xf32>> {name = "arr"}
%5 = acc.declare_enter dataOperands(%4 : !fir.ref<!fir.array<10xf32>>)
```
the acc.declare_enter itself is enough to identify when the data region
starts.
Commit: 9ea5254f77ae5d5fe8e81f8e39b5d461cc95e9dc
https://github.com/llvm/llvm-project/commit/9ea5254f77ae5d5fe8e81f8e39b5d461cc95e9dc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/include/flang/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenACC][OpenMP] Separate implementations of ATOMIC constructs (#137517)
The OpenMP implementation of the ATOMIC construct will change in the
near future to accommodate atomic conditional-update and conditional-
update-capture operations. This patch separates the shared implemen-
tations to avoid interfering with OpenACC.
Commit: f9855917f6a4af4cedbfb2d6df927a308e6e5f4c
https://github.com/llvm/llvm-project/commit/f9855917f6a4af4cedbfb2d6df927a308e6e5f4c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/AST/HLSL/PackedStruct.hlsl
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
Log Message:
-----------
[HLSL] Treat classes and structs as packed by default (#137391)
Fixes #121010.
Commit: 59978b21ad9c65276ee8e14f26759691b8a65763
https://github.com/llvm/llvm-project/commit/59978b21ad9c65276ee8e14f26759691b8a65763
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[sanitizer_common] Remove interceptors for deprecated struct termio (#137403)
This struct will be removed from glibc-2.42 and has been deprecated for
a very long time.
Fixes #137321
Commit: e12ff331f14c766904c930054bcc94527f220212
https://github.com/llvm/llvm-project/commit/e12ff331f14c766904c930054bcc94527f220212
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
Log Message:
-----------
[CIR] Standardize element type name between Array and Vector Types (#137465)
Standardize the element type name
Commit: d2ce88a939413a59148f366f9d8cdc91c6f9aafa
https://github.com/llvm/llvm-project/commit/d2ce88a939413a59148f366f9d8cdc91c6f9aafa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Create initial skeleton before creating regions. (NFC)
Move out the logic to prepare for vectorization to a separate transform,
before creating loop regions. This was discussed as follow-up
in https://github.com/llvm/llvm-project/pull/136455.
This just moves the existing code around slightly and will simplify
follow-up patches to include the exiting edges during initial VPlan
construction.
Commit: 51bbebb6677bb0ea14ca62cc140492965c2a6e19
https://github.com/llvm/llvm-project/commit/51bbebb6677bb0ea14ca62cc140492965c2a6e19
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll
Log Message:
-----------
[LAA] Add tests with non-power-of-2 store-load forward distance (#136710)
Commit: 4fa0f1d166b6b39a80dd0b8eb820122ccc410c43
https://github.com/llvm/llvm-project/commit/4fa0f1d166b6b39a80dd0b8eb820122ccc410c43
Author: John Harrison <harjohn at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/.vscodeignore
A lldb/tools/lldb-dap/llvm-logo.png
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Adding an icon to the lldb-dap package. (#137695)
This shows up in the extension UI and in the VSCode extension
marketplace.
I used the llvm/llvm-www/blob/main/img/LLVMWyvernSmall.png for the
image.
Here is what this looks like locally:
<img width="1020" alt="Screenshot 2025-04-28 at 12 30 33 PM"
src="https://github.com/user-attachments/assets/cd615161-06db-4a37-8f8a-df65ca620a67"
/>
Commit: b73169ad3edc56fe2b4f5bd3d5259310168da50c
https://github.com/llvm/llvm-project/commit/b73169ad3edc56fe2b4f5bd3d5259310168da50c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb] Disable TestDAP_attachByPortNum
This test is flaky and creating a lot of noise in CI.
See https://github.com/llvm/llvm-project/issues/137660
Commit: 7d4e6ff2169998e43f5072e022e34c6e0324e123
https://github.com/llvm/llvm-project/commit/7d4e6ff2169998e43f5072e022e34c6e0324e123
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.13
Commit: 88f8637d22ffcaf2b4ca6189ef2f604a81f2c8c5
https://github.com/llvm/llvm-project/commit/88f8637d22ffcaf2b4ca6189ef2f604a81f2c8c5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
R llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll
Log Message:
-----------
Revert "[LAA] Add tests with non-power-of-2 store-load forward distance (#136710)"
This reverts commit 51bbebb6677bb0ea14ca62cc140492965c2a6e19 to fix
buildbots https://lab.llvm.org/buildbot/#/builders/137/builds/17662
Commit: b509f7cca58c8db060eebea6fb5b28c3d0b3727b
https://github.com/llvm/llvm-project/commit/b509f7cca58c8db060eebea6fb5b28c3d0b3727b
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/AST/OperationKinds.def
Log Message:
-----------
Revise CK_NullToPointer comment
This addresses a post-commit review comment in https://github.com/llvm/llvm-project/pull/137364#discussion_r2064772853.
Commit: a5024cd0d7b735d6c3dcb00159bcab37236d261a
https://github.com/llvm/llvm-project/commit/a5024cd0d7b735d6c3dcb00159bcab37236d261a
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] More on CG Profile: support null function entries (#137269)
Commit: ea1b525cebda05b804361823435e076170eaceb9
https://github.com/llvm/llvm-project/commit/ea1b525cebda05b804361823435e076170eaceb9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll
Log Message:
-----------
[LAA] Add tests with non-power-of-2 store-load forward distance (#136710)
Commit: b111da97e81f32fe0fb89f8daa2e7516909a8797
https://github.com/llvm/llvm-project/commit/b111da97e81f32fe0fb89f8daa2e7516909a8797
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
Log Message:
-----------
[NFC][asan] Try to deflake asan_lsan_deadlock test (#137718)
10s looks not enough. With highly parallel test
execution on VMs it's very possible that Asan
report will have no enough time to produce output.
I can reproduce locally 1s is not always enough,
but likely my workstation is faster then buildbot.
Additionally, don't use puts/CHECK to validate
timeout. We can exit with 0 and it should violate
"not" expectation.
Follow up to #131756.
Commit: fec003a18a8b5b3dc56c8b59e3516fafaeda7072
https://github.com/llvm/llvm-project/commit/fec003a18a8b5b3dc56c8b59e3516fafaeda7072
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/combined-construct.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
Log Message:
-----------
[OpenACC]Reimplement 'for' loop checks for a loop construct
The 'loop' construct has some pretty strict checks as to what the for
loop associated with it has to look like. The previous implementation
was a little convoluted and missed implementing the 'condition'
checking. Additionally, it did a bad job double-diagnosing with
templates.
This patch rewrites it in a way that does a much better job with the
double-diagnosing, and proeprly implements some checks for the
'condition' of the for loop.
Commit: 0e07478a5ea7df42a7ec0536b0dfd591e421d844
https://github.com/llvm/llvm-project/commit/0e07478a5ea7df42a7ec0536b0dfd591e421d844
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/test/CIR/CodeGen/linkage-spec.cpp
Log Message:
-----------
[CIR] Implement lowering for LinkageSpecDecl (#137634)
Like the NamespaceDecl, this is just emitted as a decl-context, where
all its internal declarations get emitted for it. The incubator doesn't
seem to have any good tests for this, so I wrote what I could think of
as a half-decent test for this one, though the lowering doesn't manage
whether these should be mangled, so the test is mostly just for
spot-checking purposes.
I'm implementing this as it will make writing further tests for future
features a little easier.
Commit: afdc4b1526d41ff48ae4aa5efd230cd4f9d1c430
https://github.com/llvm/llvm-project/commit/afdc4b1526d41ff48ae4aa5efd230cd4f9d1c430
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lld/test/wasm/Inputs/start-lib1.s
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.cpp
Log Message:
-----------
[lld][WebAssembly] Don't mark `--start-lib`/`--end-lib` files as live (#137714)
Without this change files in `--start-lib`/`--end-lib` groups were being
marked as live, which means there static constructors were being
included in the link.
Commit: 47de54e9a2cb2b8433f53e751e1c3413fcd7aa78
https://github.com/llvm/llvm-project/commit/47de54e9a2cb2b8433f53e751e1c3413fcd7aa78
Author: Wanyi <wanyi at meta.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
Log Message:
-----------
[lldb-dap] Fix TestDap_attach.py flakiness (#137278)
# Summary
This patch makes the `request_attach` wait for events `process` and
`initialized` just like `request_launch`. This ensure the DAP session
can move forward somewhat correctly.
Recently `TestDap_attach.test_terminate_commands` became flaky.
It's hitting:
```
lldbsuite/test/tools/lldb-dap/dap_server.py", line 350, in send_recv
raise ValueError(desc)
ValueError: no response for "disconnect"
```
I took a look at the DAP msg from that test case and noticed:
- It's not using the regular attaching, instead it's using the
`attachCommands` to launch debug the binary and it will stop at entry.
- The `initialized` event returned after the `disconnect` request. Which
means lldb-dap didn't really get ready yet.
### NOTE
The `dap_server.py` is doing things to mimic the VSCode (or other dap
clients) but it had some assumptions. For example, it's still missing
the `configurationDone` request and response because it relies on a
continue action to trigger the `configurationDone` request.
# Test Plan
```
./bin/llvm-lit -va /Users/wanyi/llvm-upstream/llvm-project/lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
./bin/llvm-lit -va /Users/wanyi/llvm-upstream/llvm-project/lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
```
To test the `wait_for_events` timeout case
```
events = self.wait_for_events(["process", "initialized", "fake", "event"], 1)
if events:
raise ValueError(f'no events {",".join(events)} found for within timeout 1')
```
Observed
<img width="696" alt="image"
src="https://github.com/user-attachments/assets/bc97c0ef-d91f-4561-8272-4d36f5f5d4e6"
/>
### Also
Looks like some test cases should be re-enabled in
https://github.com/llvm/llvm-project/commit/0b8dfb5762fdc350c5071c9eeffd4f7e4d495e98
But only comments was removed. The skip statements survived the change.
Commit: bdfa1ec01f81dc2cf164372d783d3c9d5afaf1e5
https://github.com/llvm/llvm-project/commit/bdfa1ec01f81dc2cf164372d783d3c9d5afaf1e5
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lld/test/MachO/reexport-with-rpath.s
Log Message:
-----------
[lld-macho] Fix test to write to correct test dir location (#137708)
(follow-up to #135241).
Commit: dd2a1590c34d250b70de6d9a4a11b9a13aacb8ac
https://github.com/llvm/llvm-project/commit/dd2a1590c34d250b70de6d9a4a11b9a13aacb8ac
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-declare-globals.f90
Log Message:
-----------
[flang][acc] Generate constructors and destructors for common blocks (#137691)
Commit: 11291e213b74b9aac65264e6649bee0c309d2912
https://github.com/llvm/llvm-project/commit/11291e213b74b9aac65264e6649bee0c309d2912
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[mlir] NFC: fix typo in `#nvvm.target` Tablegen record name (#137621)
Commit: b95cc91aafe8097e58ccbfde969e08ea8fa63aec
https://github.com/llvm/llvm-project/commit/b95cc91aafe8097e58ccbfde969e08ea8fa63aec
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
Log Message:
-----------
[flang][acc] Remove an unused variable (#137731)
Fixes what https://github.com/llvm/llvm-project/pull/137691 introduced.
Commit: 2ce6333a41a68c89866d4075527bd43ce8fd3b6c
https://github.com/llvm/llvm-project/commit/2ce6333a41a68c89866d4075527bd43ce8fd3b6c
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix lldb ODR issue (#137729)
In 42622c79592b98b899d787c89db11cea1b540b96, depending on the entire
utility library resulted in the lldb binary having more symbols that it
needs, duplicating those in liblldb, leading to odr violations. Now
instead we just expose the Host library's headers, which happens to be
enough for this to compile and link, referencing the symbols from
liblldb
Commit: a9a891029d2fa81b3f33d2430f2cc4cdfe426e99
https://github.com/llvm/llvm-project/commit/a9a891029d2fa81b3f33d2430f2cc4cdfe426e99
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix layering check violation (#137734)
I broke this in 2ce6333a41a68c89866d4075527bd43ce8fd3b6c since I only
tested with a toolchain that doesn't support layering checks
Commit: afbd2ce80f62d645eb1f7bee2ce6c14ac626c337
https://github.com/llvm/llvm-project/commit/afbd2ce80f62d645eb1f7bee2ce6c14ac626c337
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use StringRef::empty() instead of comparing to an empty string. NFC (#137673)
Commit: e4d2ff5b014250e2707b52b6d59f5bf9e393c7bf
https://github.com/llvm/llvm-project/commit/e4d2ff5b014250e2707b52b6d59f5bf9e393c7bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
Log Message:
-----------
[SelectionDAG][PowerPC] Remove setTruncatingStore from StoreSDNode. (#137667)
Mutating a node after it has been created isn't a good idea. After
e17f07c4debbe76f5ebcdeeda619e7438700e2ad, we have a version of setStore
that can create a truncating indexed store. Use that instead of
MorphNodeTo+setTruncatingStore in PowerPC.
Unfortunately, if we return the newly created node, DAGCombiner will
visit the node and change the constant. To prevent this, we use
DCI.CombineTo and avoid adding the new node to the worklist.
Commit: 82ab35961f62c8019f3b0129da42c42287a557b0
https://github.com/llvm/llvm-project/commit/82ab35961f62c8019f3b0129da42c42287a557b0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Fix machine-overridable scope (#137723)
My previous commit was a bit sloppy, I didn't spot that
`lldb-dap.executable-path` already had a scope and I didn't consider
that `lldb-dap.log-path` should have the same scope.
This PR addresses both:
- Fix duplicate scope for `lldb-dap.executable-path`.
- Change scope of `lldb-dap.log-path` to `machine-overridable` too.
Commit: aa940cedca8c825c5a46a3fc18a6f03c4dcd7f95
https://github.com/llvm/llvm-project/commit/aa940cedca8c825c5a46a3fc18a6f03c4dcd7f95
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Sema/SemaOpenACC.h
Log Message:
-----------
[OpenACC][NFC] Fix GCC7 build after fec003a18a8b5b
A GCC 7 requirement on the completeness of types before using them in a
variant means we need a constructor for these (or define them outside the
current thing). This patch should fix the build, as reported by
@kewen12
Commit: 4def437cdc0e7e58d066731af69133052dac694b
https://github.com/llvm/llvm-project/commit/4def437cdc0e7e58d066731af69133052dac694b
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M flang/docs/Extensions.md
Log Message:
-----------
[flang][NFC] Fixed a typo in Exensions.md (#137738)
Fixed a small typo regarding F'2023 15.5.2.5 paragraph number.
Commit: 5d0e26e571c08dc4c0b2a25ed6c9f845f054fa76
https://github.com/llvm/llvm-project/commit/5d0e26e571c08dc4c0b2a25ed6c9f845f054fa76
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M compiler-rt/lib/builtins/clzdi2.c
Log Message:
-----------
[compiler-rt] Make sure __clzdi2 doesn't call itself recursively on sparc64 (#136737)
On 64-bit platforms, libgcc doesn't ship with __clzsi2, so __builtin_clz
gets lowered to __clzdi2. A check already exists for GCC, but as of
commit 8210ca019839fc5430b3a95d7caf5c829df3232a clang also lowers
__builtin_clz to __clzdi2 on sparc64.
Update the check so that building __clzdi2 with clang/sparc64 also
works.
Commit: 1fc0a1401ac2fb092cf413b27e73c413a5d74c52
https://github.com/llvm/llvm-project/commit/1fc0a1401ac2fb092cf413b27e73c413a5d74c52
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
Log Message:
-----------
[LV][AArch64] Add test for fp128 fmuladd reduction.(NFC) (#137576)
This patch add the test for the fmuladd reduction to show the test
change/fail for the cost model change.
Note that without the fp128 load and trunc, there is no failure.
Pre-commit test for #113903.
Commit: d913ea307e32aa1412b67d02f2f76a5f2083f2e8
https://github.com/llvm/llvm-project/commit/d913ea307e32aa1412b67d02f2f76a5f2083f2e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512fp16-intrinsics.ll
Log Message:
-----------
[msan] Implement support for avx512fp16.mask.{add/sub/mul/div/max/min}.sh.round (#137441)
This adds a handler, visitGenericScalarHalfwordInst, which works for
mask.{add/sub/mul/div/max/min}.sh.round.
Updates the tests in https://github.com/llvm/llvm-project/pull/136260
Commit: 7ca6490636e758ec44ed149029b91163087d798e
https://github.com/llvm/llvm-project/commit/7ca6490636e758ec44ed149029b91163087d798e
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Factor out isUnrolled() helper in VPWidenIntOrFpInductionRecipe. NFC (#137635)
Split off from #129508, this generalizes getSplatVFValue and
getLastUnrolledPartOperand so they don't need changed if another operand
is added.
Commit: 4e175b889669b430113ce0216e0ee1fe7884889c
https://github.com/llvm/llvm-project/commit/4e175b889669b430113ce0216e0ee1fe7884889c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
Log Message:
-----------
[RISCV] Fix Defs/Uses for SiFive CLIC Support (#137724)
The expensive checks bots found issues with #132481, due to not setting
defs/uses correctly. In 31bd7a507152 I added verify flags, so that the
failure is reproduced without requiring expensive checks, and xfailed
the test.
This change:
- Ensures that registers are correctly marked as defs/uses.
- Removes the xfail.
- Leaves the tests with `-verify-machineinstrs` which should have been
present originally.
Commit: a37e475efc223bae903dc80373b0e36317f4bc7e
https://github.com/llvm/llvm-project/commit/a37e475efc223bae903dc80373b0e36317f4bc7e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
Log Message:
-----------
[lldb] Rely on operator== for std::vector (NFC)
Rely on operator== for std::vector instead of comparing the elements in
the vector element by element,
Commit: 7ce0f5a9cc37345fee801736bded83081b61571b
https://github.com/llvm/llvm-project/commit/7ce0f5a9cc37345fee801736bded83081b61571b
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Frontend/FrontendActions.h
M clang/lib/Frontend/FrontendActions.cpp
A clang/test/Modules/emit-module-interface-pcm-input.cpp
Log Message:
-----------
[clang][modules] Validate input file format for GenerateModuleInterfaceAction (#132692) (#137711)
Fixes #132692.
`clang -cc1` crashes when generating a module interface with
`emit-module-interface` or `emit-reduced-module-interface` using an
input file which is already a precompiled module (`.pcm`) file.
This commit adds validation for the input file format and Clang will now
emit an error message instead of crashing.
Commit: 15579a8e72589b4fdf45c8f5bca52e58dcc9ce1d
https://github.com/llvm/llvm-project/commit/15579a8e72589b4fdf45c8f5bca52e58dcc9ce1d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Opcodes.td
A clang/test/AST/ByteCode/dynalloc-limits.cpp
Log Message:
-----------
[clang][bytecode] Check array sizes against step limit (#137679)
Commit: 2f1ef1d18334629bf7c6be1951092f3974b40f0e
https://github.com/llvm/llvm-project/commit/2f1ef1d18334629bf7c6be1951092f3974b40f0e
Author: Bob Wilson <bob.wilson at apple.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Driver/Options.td
M clang/lib/Frontend/HeaderIncludeGen.cpp
M clang/test/Preprocessor/print-header-json.c
M clang/tools/driver/driver.cpp
Log Message:
-----------
[Clang] Add new -header-include-filtering=direct-per-file option (#137087)
This adds a new filtering option to be used along with the
-header-include-format=json option. The existing "only-direct-system"
filtering option is missing some things:
- It does not show module imports.
- It does not show includes of non-system headers. This new
"direct-per-file" filtering has a separate entry in the JSON output for
each non-system source file, showing the direct includes and imports
from that file. You can use this to see uses of non-system headers, and
also find the paths through non-system headers that lead up to module
imports and system headers. Modules are identified here by their
modulemap files.
Commit: bbbb178a35265a11d2e595233f17d4103135764a
https://github.com/llvm/llvm-project/commit/bbbb178a35265a11d2e595233f17d4103135764a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp:2905:17: error: unused
variable 'var' [-Werror,-Wunused-variable]
mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp:2908:42: error: unused
variable 'dataClauseOptional' [-Werror,-Wunused-variable]
Commit: 93145004b4d3bea40485ddf56977c80344c5d687
https://github.com/llvm/llvm-project/commit/93145004b4d3bea40485ddf56977c80344c5d687
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-28 (Mon, 28 Apr 2025)
Changed paths:
M llvm/lib/Support/Program.cpp
Log Message:
-----------
[Support] Construct SmallVector with ArrayRef (NFC) (#137586)
Commit: d1bb8d6a5c4a36490298ca75d144805179cc3b40
https://github.com/llvm/llvm-project/commit/d1bb8d6a5c4a36490298ca75d144805179cc3b40
Author: Hemang Gadhavi <hemang.gadhavi at ibm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Host/linux/Support.h
A lldb/include/lldb/Host/posix/Support.h
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/linux/Support.cpp
A lldb/source/Host/posix/Support.cpp
M lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
M lldb/source/Plugins/Process/Linux/Perf.cpp
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/unittests/Host/CMakeLists.txt
R lldb/unittests/Host/linux/HostTest.cpp
R lldb/unittests/Host/linux/SupportTest.cpp
A lldb/unittests/Host/posix/HostTest.cpp
A lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
Log Message:
-----------
[lldb][AIX] get host info for AIX (#134354)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
- Added changes to make the common host support functions under
`Host/posix` for unix-like system.
Also, created the `unittests/Host/posix/` to test the hostInfo & support
functions for unix-like system.
- Added changes to get the host information for AIX. (GetProcessInfo())
(Information like : executable path, arch, process status etc.)
Commit: fa1fe11e38db742c4114a8b6aac9caa351f2409c
https://github.com/llvm/llvm-project/commit/fa1fe11e38db742c4114a8b6aac9caa351f2409c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port d1bb8d6a5c4a
Commit: 0ddb5794b7b47481ed713af0add392de324d5cd2
https://github.com/llvm/llvm-project/commit/0ddb5794b7b47481ed713af0add392de324d5cd2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Remove base casts before doing memcpy (#137754)
We have to copy the entire thing, not just one of the bases.
Commit: da7099290cea7d11b83da01adda8afeb3bcd5362
https://github.com/llvm/llvm-project/commit/da7099290cea7d11b83da01adda8afeb3bcd5362
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
Revert "[lldb][Format] Make function name frame-format variables work without debug-info" (#137757)
Reverts llvm/llvm-project#137408
This change broke `lldb/test/Shell/Unwind/split-machine-functions.test`.
The test binary has a symbol named `_Z3foov.cold` and the test expects
the backtrace to print the name of the cold part of the function like
this:
```
# SPLIT: frame #1: {{.*}}`foo() (.cold) +
```
but now it gets
```
frame #1: 0x000055555555514f split-machine-functions.test.tmp`foo() + 12
```
Commit: ebaeecc429f53c209ea58d6d4c7df3552adcb714
https://github.com/llvm/llvm-project/commit/ebaeecc429f53c209ea58d6d4c7df3552adcb714
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[lldb] Use early returns in TypeSystemClang::IsPossibleDynamicType (#137630)
Remove a couple of levels of indentation before I need to add another
one to fix a bug.
Commit: 679cc0a1ed60ea529abc04cecbcdd75d65ea0588
https://github.com/llvm/llvm-project/commit/679cc0a1ed60ea529abc04cecbcdd75d65ea0588
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/Block.h
M lldb/source/Symbol/Block.cpp
Log Message:
-----------
[lldb] Remove Function null checks in Block.cpp (#137611)
As of #117683, Blocks are always enclosed in a function, so these checks
never fail. We can't change the signature of
`CalculateSymbolContextFunction` as it's an abstract function (and some
of its implementations can return nullptr), but we can create a
different function that we can call when we know we're dealing with a
block.
Commit: 15cd71afd24437d9480aff41de61b3edf739408b
https://github.com/llvm/llvm-project/commit/15cd71afd24437d9480aff41de61b3edf739408b
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/ValueObject.cpp
Log Message:
-----------
[lldb] Make ValueObject::Dereference less aggressive (#137311)
The function was always trying to dereference both the synthetic and
non-synthetic view of the object. This is wrong as the caller should be
able to determine which view of the object it wants to access, as is
done e.g. for child member access.
This patch removes the nonsynthetic->synthetic fallback, which is the
more surprising path, and fixes the callers to try both versions of the
object (when appropriate). I also snuck in simplification of the member
access code path because it was possible to use the same helper function
for that, and I wanted to be sure I understand the logic correctly.
I've left the synthetic->nonsynthetic fallback in place. I think we may
want to keep that one as we often have synthetic child providers for
pointer types. They usually don't provide an explicit dereference
operation but I think users would expect that a dereference operation on
those objects would work. What we may want to do is to try the
*synthetic* operation first in this case, so that the nonsynthetic case
is really a fallback.
---------
Co-authored-by: Ilia Kuklin <kuklin.iy at mail.ru>
Commit: e43e8ec7afbdf8b90204060b725d6990829b80a1
https://github.com/llvm/llvm-project/commit/e43e8ec7afbdf8b90204060b725d6990829b80a1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__type_traits/is_convertible.h
R libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/module.modulemap.in
M libcxx/include/type_traits
Log Message:
-----------
[libc++] Remove dead implementation of is_nothrow_convertible and merge the remaining code into is_convertible.h (#137717)
We can use the `__is_nothrow_convertible` builtin unconditionally now,
which makes the implementation very simple, so there isn't much of a
need to keep a separate header around.
Commit: a618ae2c729152133440315f7b2f23e4612b39f8
https://github.com/llvm/llvm-project/commit/a618ae2c729152133440315f7b2f23e4612b39f8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e43e8ec7afbd
Commit: ace8ceab736f7e265b206b583d218a7554bee864
https://github.com/llvm/llvm-project/commit/ace8ceab736f7e265b206b583d218a7554bee864
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-mfpu.c
M clang/test/Preprocessor/arm-target-features.c
Log Message:
-----------
[ARM][Driver] Ensure NEON is enabled and disabled correctly (#137595)
In #130623 support was added for `+nosimd` in the clang driver.
Following this PR, it was discovered that, if NEON is disabled in the
command line, it did not disable features that depend on this, such as
Crypto or AES. To achieve this, This PR does the following:
- Ensure that disabling NEON (e.g., via +nosimd) also disables dependent
features like Crypto and AES.
- Update the driver to automatically enable NEON when enabling features
that require it (e.g., AES).
This fixes inconsistent behavior where features relying on NEON could be
enabled without NEON itself being active, or where disabling NEON left
dependent features incorrectly enabled.
Commit: a9ece2dc68e623ebdfdbf7431dac2150a87b2717
https://github.com/llvm/llvm-project/commit/a9ece2dc68e623ebdfdbf7431dac2150a87b2717
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Host/posix/HostTest.cpp
Log Message:
-----------
[lldb] Skip some Host::GetProcessInfo tests for macos
Some of the tests moved in #134354 do not currently pass on a mac. Disable
them.
The test for testing process priority also does not build on a mac. I'm not
moving it (back) to the linux, since it's "almost" fine -- we'd just need to
implement the RLIMIT_NICE logic differently. I'm not doing that now since
(apart from linux) there are no systems which are able to retrieve the process
priority.
Commit: ff66d34286b07ba864029776d097e66306cc53ef
https://github.com/llvm/llvm-project/commit/ff66d34286b07ba864029776d097e66306cc53ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
Log Message:
-----------
[Driver] Simplify string comparisons (NFC) (#137756)
Commit: ffcca5112b653b35cafc68a01e654dcdc5a84ff4
https://github.com/llvm/llvm-project/commit/ffcca5112b653b35cafc68a01e654dcdc5a84ff4
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
A llvm/lib/Target/Mips/MipsScheduleI6400.td
A llvm/test/tools/llvm-mca/Mips/i6400.s
Log Message:
-----------
[MIPS] Add Scheduling model for MIPS i6400 and i6500 CPUs (#132704)
Add scheduling model for the MIPS i6400 and i6500, an in-order MIPS64R6
processor.
i6400 and i6500 share same instruction latencies.
CPU has following pipelines
- Two ALUs
- Multiply and Divide unit (MDU)
- Branch Unit (CTU)
- Load/Store Unit (LSU)
- Short Floating-point Unit and
- Long Floating-point Unit
Latency information is available at:
https://mips.com/wp-content/uploads/2025/03/MIPS_I6500-F_Data_Sheet_Rev1.10_3-17-2025.pdf
Commit: a9b618571868abbb7eff1c81a37c96d141fe0f20
https://github.com/llvm/llvm-project/commit/a9b618571868abbb7eff1c81a37c96d141fe0f20
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/print-memref.mlir
Log Message:
-----------
[mlir][memref] Fix memory leaks in `print-memref.mlir` (#137590)
This fixes the test when running with ASAN.
Commit: 86d8e8d9a617461eb4dae7b49e9a4a59a35024e7
https://github.com/llvm/llvm-project/commit/86d8e8d9a617461eb4dae7b49e9a4a59a35024e7
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
Log Message:
-----------
[CodeGen][NewPM] Port "PrologEpilogInserter" to NPM (#130550)
Commit: 980d027a3f2fbce173ad813a3f01bb51c2c2bc4b
https://github.com/llvm/llvm-project/commit/980d027a3f2fbce173ad813a3f01bb51c2c2bc4b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Allow This pointers in CPCE mode (#137761)
The outermost function doesn't have a This pointers, but inner calls
can. This still doesn't match the diagnostic output of the current
interpreter properly, but it's closer I think.
Commit: 49842426f3fc70af756f9e6fe80ecf829178a1b2
https://github.com/llvm/llvm-project/commit/49842426f3fc70af756f9e6fe80ecf829178a1b2
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/pr87407-trunc-with-intrinsic.ll
Log Message:
-----------
[LV] Fix MinBWs in WidenIntrinsic case (#137005)
There is a bug in the computation and handling of MinBWs in the case of
VPWidenIntrinsicRecipe: a crash is observed in
VPlanTransforms::truncateToMinimalBitwidths due to a mismatch between
the number of recipes processed and the number of entries in MinBWs. Fix
handling of calls in llvm::computeMinimumValueSizes, and handle
VPWidenIntrinsicRecipe in truncateToMinimalBitwidths, fixing the bug.
Fixes #87407.
Commit: 13b443f2efcfe57768a1077c63bb675eb6380e35
https://github.com/llvm/llvm-project/commit/13b443f2efcfe57768a1077c63bb675eb6380e35
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
Log Message:
-----------
[LAA] Improve convergent tests (#136758)
LoopAccessAnalysis has code for handling function calls where the
function is marked with the 'convergent' attribute, but the test
coverage is insufficient. Fix this by adding a test showing the case of
no-runtime-checks adapted from LoopDistribute, and clean up the existing
test with runtime-checks. Also regenerate the test file with
UpdateTestChecks.
Commit: 4bf356bbd25ef5950de92b9e66cc8a2d3af583d9
https://github.com/llvm/llvm-project/commit/4bf356bbd25ef5950de92b9e66cc8a2d3af583d9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Start implementing builtin_is_within_lifetime (#137765)
Commit: 76aa471698437af49ceda30280bf0fd7d33b4d34
https://github.com/llvm/llvm-project/commit/76aa471698437af49ceda30280bf0fd7d33b4d34
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/Mips.td
R llvm/lib/Target/Mips/MipsScheduleI6400.td
R llvm/test/tools/llvm-mca/Mips/i6400.s
Log Message:
-----------
Revert "[MIPS] Add Scheduling model for MIPS i6400 and i6500 CPUs (#132704)" (#137767)
This reverts commit ffcca5112b653b35cafc68a01e654dcdc5a84ff4.
Commit: 64b5bc876aef6db89c38cf5dc76eebec38187234
https://github.com/llvm/llvm-project/commit/64b5bc876aef6db89c38cf5dc76eebec38187234
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
A lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
Log Message:
-----------
[lldb][Format] Add function.suffix frame-format variable (#137763)
This patch adds another frame-format variable (currently only
implemented in the CPlusPlus language plugin) that represents the
"suffix" of a function. The name is derived from the `DotSuffix` node of
LLVM's Itanium demangler.
For a function name such as `int foo() (.cold)`, the suffix would be
`(.cold)`.
Commit: 252b095b32c1571ee89f75828fdf2b4036ffc2a7
https://github.com/llvm/llvm-project/commit/252b095b32c1571ee89f75828fdf2b4036ffc2a7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Add more test-cases to MangledTest
Commit: 3d47bc9d25af0d2525c9f52b5fad6af6c88ce7e3
https://github.com/llvm/llvm-project/commit/3d47bc9d25af0d2525c9f52b5fad6af6c88ce7e3
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error if and level checks for COND_IF & WHILE_LOOP (#136194)
Error if checks: verify whether the same length and type between input
list, output list, and control-flow blocks.
Level_checks: verify whether the nested depth exceeds MAX_NESTING.
Commit: 014ab736dc741f24c007f9861e24b31faba0e1e7
https://github.com/llvm/llvm-project/commit/014ab736dc741f24c007f9861e24b31faba0e1e7
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Do not pass any file when listing checks in run_clang_ti… (#137286)
…dy.py
Currently, run_clang_tidy.py does not correctly display the list of
checks picked up from the top-level .clang-tidy file. The reason for
that is that we are passing an empty string as input file.
However, that's not how we are supposed to use clang-tidy to list
checks. Per
https://github.com/llvm/llvm-project/commit/65eccb463df7fe511c813ee6a1794c80d7489ff2,
we simply should not pass any file at all - the internal code of
clang-tidy will pass a "dummy" file if that's the case and get the
.clang-tidy file from the current working directory.
Fixes #136659
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: bb9fa77c8410e539d1eefdfe76c192db44bdc520
https://github.com/llvm/llvm-project/commit/bb9fa77c8410e539d1eefdfe76c192db44bdc520
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-features.c
Log Message:
-----------
[ARM][Driver] Fix i8mm feature string (#137771)
#137595 changed the behaviour for SIMD on ARM to ensure it is enabled
and disabled correctly depending on the options used by the user. In
this, the functionality to disable all features that depend on SIMD was
added. However, there was a spelling error for the i8mm feature, which
caused the `+nosimd` command to fail.
This fixes the error, and allows the command to work again.
Commit: 8961f3ee758f18f3c5c707b76406afbe6238ef7e
https://github.com/llvm/llvm-project/commit/8961f3ee758f18f3c5c707b76406afbe6238ef7e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
Log Message:
-----------
[X86] shouldReduceLoadWidth - don't split loads if we can freely reuse full width legal binop (#129695)
Currently shouldReduceLoadWidth is very relaxed about when loads can be
split to avoid extractions from the original full width load - resulting
in many cases where the number of memory operations notably increases,
replacing the cost of a extract_subvector for additional loads.
This patch adjusts the 256/512-bit vector load splitting metric to
detect cases where ANY use of the full width load is be used directly -
in which case we will now reuse that load for smaller types, unless we'd
need to extract an upper subvector / integer element - i.e. we now
correctly treat (extract_subvector cst, 0) as free.
We retain the existing logic of never splitting loads if all uses are
extract+stores but we improve this by peeking through bitcasts while
looking for extract_subvector/store chains.
This required a number of fixes - shouldReduceLoadWidth now needs to
peek through bitcasts UP the use-chain to find final users (limited to
hasOneUse cases to reduce complexity). It also exposed an issue in
isTargetCanonicalConstantNode which assumed that a load of vector
constant data would always extract, which is no longer the case.
Commit: f6b6fb89ec291f677132f912030b9d57c5f7230e
https://github.com/llvm/llvm-project/commit/f6b6fb89ec291f677132f912030b9d57c5f7230e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
[VectorUtils] Improve computeMinimumValueSizes (NFC) (#137692)
The Worklist used by computeMinimumValueSizes is wastefully a
Value-vector, when the top of the loop attempts to cast the popped value
to an Instruction anyway. Improve the algorithm by cutting this wasteful
work, refining the type of Worklist, Visited, and Roots from
Value-vectors to Instruction-vectors.
Commit: 4609b6a3e76e604463bab2a303c6da737f303237
https://github.com/llvm/llvm-project/commit/4609b6a3e76e604463bab2a303c6da737f303237
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/fmax.cl
R libclc/amdgcn/lib/math/fmin.cl
A libclc/clc/include/clc/math/clc_fmax.h
A libclc/clc/include/clc/math/clc_fmin.h
A libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_scalar_second_arg.inc
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_fmax.cl
A libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fmax.cl
A libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fmax.cl
A libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmin.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/fmax.cl
R libclc/r600/lib/math/fmin.cl
Log Message:
-----------
[libclc] Move fmin & fmax to CLC library (#134218)
This is an alternative to #128506 which doesn't attempt to change the
codegen for fmin and fmax on their way to the CLC library.
The amdgcn and r600 custom definitions of fmin/fmax are now converted to
custom definitions of __clc_fmin and __clc_fmax.
For simplicity, the CLC library doesn't provide vector/scalar versions
of these builtins. The OpenCL layer wraps those up to the vector/vector
versions.
The only codegen change is that non-standard vector/scalar overloads of
fmin/fmax have been removed. We were currently (accidentally,
presumably) providing overloads with mixed elment types such as
fmin(double2, float), fmax(half4, double), etc. The only vector/scalar
overloads in the OpenCL spec are those with scalars of the same element
type as the vector in the first argument.
Commit: 082598a64d1f3d583c7ae979681df90f9f9c0f63
https://github.com/llvm/llvm-project/commit/082598a64d1f3d583c7ae979681df90f9f9c0f63
Author: Victor Lomuller <victor at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/pointers/generic_cast_to_ptr_explicit.ll
Log Message:
-----------
[SPIRV] Add intrinsic for OpGenericCastToPtrExplicit (#137626)
The patch adds an intrinsic to encode OpGenericCastToPtrExplicit and the
associated lowering logic.
Commit: 6edcb52f4031a50608645d9f65061e61a1b7fb8d
https://github.com/llvm/llvm-project/commit/6edcb52f4031a50608645d9f65061e61a1b7fb8d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Remove SVE mul idempotency tests.
They have been subsumed into the SVE binop simplification tests.
Commit: e33cf4b0782bdbe74258baaa70057fdbec847a1d
https://github.com/llvm/llvm-project/commit/e33cf4b0782bdbe74258baaa70057fdbec847a1d
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Refactor/deduplicate emitAction. (#137434)
Currently there is a fair amount of code duplication in various parts of
emitAction. This patch factors out commonality among CCAssignToReg,
CCAssignToRegAndStack, CCAssignToRegWithShadow, and CCAssignToStack.
`XXXGenCallingConv.inc` are identical before and after this patch for
all targets.
Commit: 93321966d90b5b8cfd178babd5e1dd0b3c1f082c
https://github.com/llvm/llvm-project/commit/93321966d90b5b8cfd178babd5e1dd0b3c1f082c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Add simplify tests for reversed SVE intrinsics.
Add missing tests for fdivr, fsubr, sdivr, subr & udivr.
Add test case to demonstrate incorrect poison propagation.
Commit: 89c5c3ba38492de8163c344d076733b32d522727
https://github.com/llvm/llvm-project/commit/89c5c3ba38492de8163c344d076733b32d522727
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/lib/IR/Operation.cpp
Log Message:
-----------
[MLIR][IR] Add assert to Operation::moveBefore (NFC) (#137772)
This commit adds an assert to `Operation::moveBefore` which ensures that
moving of operations without a parent block is detected early on. This
case otherwise runs into a segfault, as it's assumed that there is an
parent block.
Commit: 50d3febf1700e5b829a596cc66afe24ae8e4c6c9
https://github.com/llvm/llvm-project/commit/50d3febf1700e5b829a596cc66afe24ae8e4c6c9
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cmp.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
Log Message:
-----------
[NFC][InstCombine][AArch64] Refactor SVE intrinsics tests.
Only test a single element type because the combines are not sensitive
to them. Extend coverage to cover the majority of SVE merging
intrinsics.
Commit: ebeae6402d9682bae94119c1ad2a1dce4c51d08d
https://github.com/llvm/llvm-project/commit/ebeae6402d9682bae94119c1ad2a1dce4c51d08d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
Log Message:
-----------
Reland "[lldb][Format] Make function name frame-format variables work without debug-info" (#137757)
This reverts commit da7099290cea7d11b83da01adda8afeb3bcd5362.
Same as the original PR. The failing test-case was resolved in https://github.com/llvm/llvm-project/pull/137763
Commit: df267d77f6cc06608d2fabc2139cabbd99007381
https://github.com/llvm/llvm-project/commit/df267d77f6cc06608d2fabc2139cabbd99007381
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Misc/warning-flags-enabled.c
A clang/test/Sema/implicit-int-enum-conversion.c
Log Message:
-----------
[C] Add new -Wimplicit-int-enum-cast to -Wc++-compat (#137658)
This introduces a new diagnostic group to diagnose implicit casts from
int to an enumeration type. In C, this is valid, but it is not
compatible with C++.
Additionally, this moves the "implicit conversion from enum type to
different enum type" diagnostic from `-Wenum-conversion` to a new group
`-Wimplicit-enum-enum-cast`, which is a more accurate home for it.
`-Wimplicit-enum-enum-cast` is also under `-Wimplicit-int-enum-cast`, as
it is the same incompatibility (the enumeration on the right-hand is
promoted to `int`, so it's an int -> enum conversion).
Fixes #37027
Commit: bd6addc032b1ea764494e2de135b5b2c46ee6aca
https://github.com/llvm/llvm-project/commit/bd6addc032b1ea764494e2de135b5b2c46ee6aca
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/reloc.mir
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/tls.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
[X86][APX] Suppress EGPR/NDD instructions for relocations (#136660)
Suppress EGPR/NDD instructions for relocations to avoid APX relocation
types emitted. This is to keep backward compatibility with old version
of linkers without APX support. The use case is to try APX features with
LLVM + old built-in linker on RHEL9 OS which is expected to be EOL in
2032.
If there are APX relocation types, the old version of linkers would
raise "unsupported relocation type" error. Example:
```
$ llvm-mc -filetype=obj -o got.o -triple=x86_64-unknown-linux got.s
$ ld got.o -o got.exe
ld: got.o: unsupported relocation type 0x2b
...
$ cat got.s
...
movq foo at GOTPCREL(%rip), %r16
$ llvm-objdump -dr got.o
...
1: d5 48 8b 05 00 00 00 00 movq (%rip), %r16
0000000000000005: R_X86_64_CODE_4_GOTPCRELX foo-0x4
```
Commit: d68b446933aa26f48a0bb23b34934bfabc556d27
https://github.com/llvm/llvm-project/commit/d68b446933aa26f48a0bb23b34934bfabc556d27
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[IR] Add matchers for remaining FP min/max intrinsics (NFC). (#137612)
Add dedicated matchers for minimum,maximum,minimumnum and maximumnum
intrinsics, similar for the existing matchers for maxnum and minnum.
As suggested in https://github.com/llvm/llvm-project/pull/137335.
PR: https://github.com/llvm/llvm-project/pull/137612
Commit: 81870cbcc259deaff2dfbee68bc8540016eb0cf0
https://github.com/llvm/llvm-project/commit/81870cbcc259deaff2dfbee68bc8540016eb0cf0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port bd6addc032b1
Commit: 0b5daeb2e55e21eb8af9ca504fca82b82a27e1aa
https://github.com/llvm/llvm-project/commit/0b5daeb2e55e21eb8af9ca504fca82b82a27e1aa
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[GlobalISel] Fix miscompile when narrowing vector loads/stores to non-byte-sized types (#136739)
LegalizerHelper::reduceLoadStoreWidth does not work for non-byte-sized
types, because this would require (un)packing of bits across byte
boundaries.
Precommit tests: #134904
Commit: c5bf901b1b2804eede51b07d9d171c5656dd49fa
https://github.com/llvm/llvm-project/commit/c5bf901b1b2804eede51b07d9d171c5656dd49fa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Mangle.cpp
A clang/test/AST/ast-crash-dump-mangled-name-json.m
Log Message:
-----------
Fix crash with -ast-dump=json (#137324)
When given an invalid Objective-C extension, Clang would crash when
trying to emit the mangled name of the method to the JSON dump output.
Fixes #137320
Commit: 5e4ec04063e0f04311b6e717c68cd968a0bb6d36
https://github.com/llvm/llvm-project/commit/5e4ec04063e0f04311b6e717c68cd968a0bb6d36
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
Log Message:
-----------
Fix crash with -ast-dump=json (#137324)
When given an invalid Objective-C extension, Clang would crash when
trying to emit the mangled name of the method to the JSON dump output.
Fixes #137320
Commit: 2f976956e5ccef566418853015fb6b31257aa69f
https://github.com/llvm/llvm-project/commit/2f976956e5ccef566418853015fb6b31257aa69f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/decl-hidden-in-c++.c
Log Message:
-----------
[C] Diagnose declarations hidden in C++ (#137368)
This introduces a new diagnostic, -Wc++-hidden-decl, which is grouped
under -Wc++-compat, that diagnoses declarations which are valid in C but
invalid in C++ due to the type being at the wrong scope. e.g.,
```
struct S {
struct T {
int x;
} t;
};
struct T t; // Valid C, invalid C++
```
This is implementing the other half of #21898
Commit: b0f2bfc7e45427b2df8d45f3cd40c833d1f3bab6
https://github.com/llvm/llvm-project/commit/b0f2bfc7e45427b2df8d45f3cd40c833d1f3bab6
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
Log Message:
-----------
[VPlan] Use correct non-FMF constructor in VPInstructionWithType createNaryOp (#137632)
Currently if we try to create a VPInstructionWithType without a FMF via
VPBuilder::createNaryOp we will use the constructor that asserts
`assert(isFPMathOp() && "this op can't take fast-math flags");`.
This fixes it by checking if FMFs have a value, similar to the other
createNaryOp overloads.
This is needed by #129508
Commit: 24661001281da09aa6c5c12e4f2552c9d06a8e88
https://github.com/llvm/llvm-project/commit/24661001281da09aa6c5c12e4f2552c9d06a8e88
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] Add new #134979 test cases for gather scalar (#137416)
We are adding new test cases to see the transformation impact due to #134979.
These are similar to previous commit #688c3ffb057a87b86c6c1e77040418adf511efbb.
Handling struct with two member and different vector factor.
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: faf87e141438138c3ade265af472b00b25b67ac5
https://github.com/llvm/llvm-project/commit/faf87e141438138c3ade265af472b00b25b67ac5
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Prefer set-contains over set-count (NFC) (#136749)
Improve code by preferring {SmallSet,SmallPtrSet}::contains() over the
count() function, when used in a boolean context.
Commit: 78d95cc54455755eaac43d956baed6a3612bc72c
https://github.com/llvm/llvm-project/commit/78d95cc54455755eaac43d956baed6a3612bc72c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fract.cl
A libclc/clc/lib/generic/math/clc_fract.inc
M libclc/generic/include/clc/math/fract.h
R libclc/generic/include/clc/math/fract.inc
M libclc/generic/lib/math/fract.cl
R libclc/generic/lib/math/fract.inc
Log Message:
-----------
[libclc] Move fract to the CLC library (#137785)
The builtin was already vectorized so there's no difference to codegen
for non-SPIR-V targets.
Commit: 1e31f4b5eb96de3080810340c9083138a34587b8
https://github.com/llvm/llvm-project/commit/1e31f4b5eb96de3080810340c9083138a34587b8
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.h
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/r600.languageOptsOpenCL.cl
Log Message:
-----------
[AMDGPU] Support the OpenCL generic addrspace feature by default (#137636)
This feature should be supported on AMDGCN architectures with flat
addressing.
Commit: 837d5a740f120eb077aa8808809c057fa38d91f3
https://github.com/llvm/llvm-project/commit/837d5a740f120eb077aa8808809c057fa38d91f3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
R libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
M libclc/clc/lib/generic/math/clc_floor.cl
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/trunc.cl
Log Message:
-----------
[libclc][NFC] Remove unary_builtin.inc (#137656)
We had two ways of achieving the same thing. This commit removes
unary_builtin.inc in favour of the approach combining gentype.inc with
unary_def.inc.
There is no change to the codegen for any target.
Commit: 4560ff8740c58745506c7797ec1076fd83dd7345
https://github.com/llvm/llvm-project/commit/4560ff8740c58745506c7797ec1076fd83dd7345
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
Log Message:
-----------
[lldb][test] Skip TestFrameFormatFunctionSuffix.test on Windows
We skip/xfail the other FrameFormat tests on Windows already. The number
of different buildbot configurations out there targetting Windows makes
it hard to make this test portable. If we want to test this on Windows
we should probably just make a dedicated test for it.
Commit: f02c93d707c0f36a696a5ec71131cba95a30c045
https://github.com/llvm/llvm-project/commit/f02c93d707c0f36a696a5ec71131cba95a30c045
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/apx/tls.ll
Log Message:
-----------
[X86] Remove LLD command in LIT test (#137794)
The test introduced in #136660, may be failed as ld.lld command not
found.
Commit: cc0cf7253967af4aa3dce2a5de186f766564747b
https://github.com/llvm/llvm-project/commit/cc0cf7253967af4aa3dce2a5de186f766564747b
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/dxc_I.test
Log Message:
-----------
[HLSL] Allow non `.hlsl` files as source files (#137378)
Changes the driver to assume input file with an unknown extension are
HLSL source files instead of object files.
Fixes https://github.com/llvm/llvm-project/issues/137370
Commit: 6695976d16d02d72afc249bb5b46d267c1eee458
https://github.com/llvm/llvm-project/commit/6695976d16d02d72afc249bb5b46d267c1eee458
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/offsetof_macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/setjmp.yaml
M libc/src/setjmp/CMakeLists.txt
A libc/src/setjmp/linux/CMakeLists.txt
A libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/setjmp_impl.h
A libc/src/setjmp/siglongjmp.cpp
A libc/src/setjmp/siglongjmp.h
A libc/src/setjmp/sigsetjmp.h
A libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/setjmp.cpp
A libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/test/src/setjmp/CMakeLists.txt
A libc/test/src/setjmp/sigsetjmp_test.cpp
Log Message:
-----------
Reland "[libc] build fix for sigsetjmp (#137047)" (#137214)
Reland `sigsetjmp` patches with build fixes.
We wrap every target replying on the epilogue library into conditional
checks.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: db2315afa8db1153e3b85d452cd14d5a1b957350
https://github.com/llvm/llvm-project/commit/db2315afa8db1153e3b85d452cd14d5a1b957350
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Driver/ModuleCacheTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Parse/CMakeLists.txt
Log Message:
-----------
[clang] Merge gtest binaries into AllClangUnitTests (#134196)
This reduces the size of the clang/unittests build directory by 64% and
my overall build dir size by 5%. Static linking is the real driving
factor here, but even if the default build configuration used shared
libraries, I don't see why we should be building so many unit test
binaries.
To make the project more approachable for new contributors, I'm
attempting to make the build a bit less resource-intensive. Build
directory size is a common complaint, and this is low-hanging fruit.
I've noticed that incremental builds leave behind the old, stale gtest binaries, and lit will keep running them. This mostly doesn't matter unless they use shared libraries, which will eventually stop working after successive builds. You can clean up the old test binaries with this command in the build directory:
$ find tools/clang/unittests/ -iname '*Tests' -type f | xargs rm
... or you can simply clean the build directory in a more holistic way.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: 1433c3e997ef7cc29f460d7b2f5da813acd0cafa
https://github.com/llvm/llvm-project/commit/1433c3e997ef7cc29f460d7b2f5da813acd0cafa
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
Log Message:
-----------
[flang] Remove dead functions for getting LLVM intrinsics (#137743)
In cleaning up LowLevelIntrinsics I found some uncalled functions. We
would like to remove direct calls to llvm instructions wherever possible
to make it easier on consumers of our IR to match LLVM intrinsics, so if
this code is needed again we should use the op from the llvm dialect
instead anyways.
Commit: c5c4f0d11ca033acaab2d92b713cdab25c8ba555
https://github.com/llvm/llvm-project/commit/c5c4f0d11ca033acaab2d92b713cdab25c8ba555
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Simplify tryToFindDuplicates() (NFC) (#135766)
This NFC aims to simplify the control-flow and interfaces used in tryToFindDuplicates(). The point is to make it easier to understand where decisions for scalar de-duplication are made.
In particular:
- Limit indentation
- Rename some variables to better match their use case
- Always give consistent outputs for VL and ReuseShuffleIndices. This makes it possible to use the same code for building gather TreeEntry everywhere. This also allows to remove the TryToFindDuplicates lambda.
Commit: c5d780bb727e2d0fab9efac87a9b2fc3deeb0ed3
https://github.com/llvm/llvm-project/commit/c5d780bb727e2d0fab9efac87a9b2fc3deeb0ed3
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove no longer needed VP intrinsic handling in VPWidenIntrinsicRecipe::computeCost. NFCI (#137573)
Whenever calls were transformed to VP intrinsics with EVL tail folding
in #110412, this workaround was added in computeCost to avoid an
assertion when checking ICA.getArgs().
However it turned out that the actual arguments were never used and this
assertion was removed in #115983 afterwards, so it's now fine to leave
the arguments empty and use the type based cost instead.
The type based cost and value based cost are the same for these VP
intrinsics.
This was tested by adding back in the transformation code in #110412 and
checking that no assertions were still hit.
Commit: 2e713af20e58a1ca005fcae9165fda3007c0e400
https://github.com/llvm/llvm-project/commit/2e713af20e58a1ca005fcae9165fda3007c0e400
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[MLIR][XeGPU] refine verifier for TensorDescType (#137226)
This PR updates the verifier of TensorDescType after the extension of
LayoutAttr in #132425.
Commit: 65b0d21eb490aaa0c742739ce95b1acc654be22b
https://github.com/llvm/llvm-project/commit/65b0d21eb490aaa0c742739ce95b1acc654be22b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/API/SBProcess.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
Log Message:
-----------
[lldb] Remove "error:" prefix from reverse execute error messages
Errors will get "error:" prefixes automatically so this is not needed.
Commit: 55b4e5e5154550ba981af08ca9bd1e3da00e6fea
https://github.com/llvm/llvm-project/commit/55b4e5e5154550ba981af08ca9bd1e3da00e6fea
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
Log Message:
-----------
[lldb] Disable TestDAP_attach
This is also flaky. See https://github.com/llvm/llvm-project/issues/137660
Commit: 94dc0a0e7bc723af13a0923aa102fcc4d03c82a2
https://github.com/llvm/llvm-project/commit/94dc0a0e7bc723af13a0923aa102fcc4d03c82a2
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[NFC][AMDGPU] Drop recursive types in LowerBufferFatPointers (#137735)
Now that IRMover and the rest of LLVM don't allow recursive types, drop
support for them from the clone of the IRMover code used when lowering
buffer fat pointer operations.
Commit: 67783eb166664cb0be9da01d1dc83178615a0575
https://github.com/llvm/llvm-project/commit/67783eb166664cb0be9da01d1dc83178615a0575
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/CMakeLists.txt
Log Message:
-----------
Re-land: [Analysis] Ensure use of strict fp exceptions in ConstantFolding (#137652)
To perform constant folding in math operations, the implementation of
the ConstantFolding Analysis relies on the use of the math functions
from the host's libm. In particular, it relies on checking the value of
errno and IEEE exceptions to determine when an operation is safe to be
constant-folded.
On some platforms, such as BSD or Darwin, math library functions don't
set errno, so the ConstantFolding check depends only on the value of
IEEE exceptions. As the FP exception behaviour is set to `ignore` by
default, the compiler can perform optimisations that would get in the
way of such checks being performed correctly.
This patch sets the FP exception behaviour to `strict` when compiling
the `ConstantFolding.cpp` source file, ensuring the value of IEEE
exceptions can be reliably used by its implementation.
This re-lands the changes from #136139, but using the `-ftrapping-math`
compile option instead of `-ffp-exception-behavior` for GCC support.
Commit: 3f8035961f08d160851c40f7ac1f6e441149183c
https://github.com/llvm/llvm-project/commit/3f8035961f08d160851c40f7ac1f6e441149183c
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/test/Driver/flang-ld-powerpc.f90
Log Message:
-----------
[driver] return immediately in `addArchSpecificRPath` and `getArchSpecificLibPaths` on AIX (#134520)
`addArchSpecificRPath` should immediately return for AIX as AIX doesn't
support `rpath` option.
`getArchSpecificLibPaths` should return as well as we don't want
`-L/ArchSepcificLibPaths` sent to the linker on AIX.
Commit: 6ffccea1c2b804d530c0f7bf3cc92db42b4432c5
https://github.com/llvm/llvm-project/commit/6ffccea1c2b804d530c0f7bf3cc92db42b4432c5
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
R libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
Log Message:
-----------
[libclc][NFC] Remove binary_decl_tt.inc
This was performing the same role as binary_decl.inc.
Commit: b62afbccc8da8a14d06db68cd58cb48a14d79f91
https://github.com/llvm/llvm-project/commit/b62afbccc8da8a14d06db68cd58cb48a14d79f91
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][OpenMP] Add __atomic_store to AtomicInfo (#121055)
This PR adds functionality for `__atomic_store` libcall in AtomicInfo.
This allows for supporting complex types in `atomic write`.
Fixes https://github.com/llvm/llvm-project/issues/113479
Fixes https://github.com/llvm/llvm-project/issues/115652
Commit: ac65b2c327d791a4731360c52625d11b8d233449
https://github.com/llvm/llvm-project/commit/ac65b2c327d791a4731360c52625d11b8d233449
Author: Alan Li <me at alanli.org>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
A mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
A mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
Log Message:
-----------
[MLIR][GPU] Add a pattern to rewrite gpu.subgroup_id (#137671)
This patch impelemnts a rewrite pattern for transforming
`gpu.subgroup_id` to:
```
subgroup_id = linearized_thread_id / gpu.subgroup_size
```
where:
```
linearized_thread_id = thread_id.x + block_dim.x * (thread_id.y + block_dim.y * thread_id.z)
```
Commit: cf7301aeb808a13fe882a4b0bf7f1bfe4051c301
https://github.com/llvm/llvm-project/commit/cf7301aeb808a13fe882a4b0bf7f1bfe4051c301
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/unittests/Host/posix/HostTest.cpp
Log Message:
-----------
[lldb] Disable the process architecture test on macOS as well
Fails on the x86_64 bot.
Commit: 900505900e2033f24548f1b04b531585ce932215
https://github.com/llvm/llvm-project/commit/900505900e2033f24548f1b04b531585ce932215
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/inline-asm-invalid.ll
Log Message:
-----------
[RISCV] Check the VT for R and cR inline asm constraints is 2*xlen. (#137749)
Fixes #137726.
Commit: 316a6ff3d08f986e7b38f81415fd611c2e876fd6
https://github.com/llvm/llvm-project/commit/316a6ff3d08f986e7b38f81415fd611c2e876fd6
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
Log Message:
-----------
[BOLT][RelVTable] Skip special handling on non virtual function pointer relocations (#137406)
Besides virtual function pointers vtable could contain other kinds of
entries like those for RTTI data that also require relocations. We need
to skip special handling on relocations for non virtual function pointers
in relative vtable.
Co-authored-by: Maksim Panchenko <maks at meta.com>
Commit: 3081ec12491aa2514e03fe27abf9ff44e9e332ae
https://github.com/llvm/llvm-project/commit/3081ec12491aa2514e03fe27abf9ff44e9e332ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
M lldb/test/API/commands/watchpoints/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb] Provide an unconditional @skip annotation for API tests (#137712)
The correct way of doing this today is to use `@skipIf` with no
arguments, which reads like it expects a condition.
Fixes #137710
Commit: 55287705691ab42e5b15d2b2847a22aaa3b99e84
https://github.com/llvm/llvm-project/commit/55287705691ab42e5b15d2b2847a22aaa3b99e84
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][Linalg] Add syntax-highlighting in docs (#137646)
With this small update we should gain MLIR syntax-highlighting in:
* https://mlir.llvm.org/docs/Dialects/Linalg/
Commit: bd3dde0f871cd71a797ba5da3070fa3ddbc48828
https://github.com/llvm/llvm-project/commit/bd3dde0f871cd71a797ba5da3070fa3ddbc48828
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/invalid-module-dep.c
Log Message:
-----------
[clang][Modules] Diagnose mismatching pcm dependencies in explicit buiilds (#137068)
In an explicit build, the dependency scanner generates invocations with
dependencies to module files to use during compilation. The pcm's passed
in the invocations should match the ones that were imported by other
modules that share the same dependencies.
We have seen bugs caused from incorrect invocations that mismatch which
module file to load. When this happens report it as a warning, to help
with investigations, as that should never occur in a well behaved build
scheduled from the dependency scanner.
The warning flag is off by default.
Commit: ea688c031e99c48a35e0c764d0224c7eed559b12
https://github.com/llvm/llvm-project/commit/ea688c031e99c48a35e0c764d0224c7eed559b12
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fdim.cl
A libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/generic/lib/math/fdim.cl
R libclc/generic/lib/math/fdim.inc
Log Message:
-----------
[libclc] Move fdim to CLC library; simplify (#137811)
This commit moves the fdim builtin to the CLC library. It simultaneously
simplifies the codegen, unifying it between scalar and vector and
avoiding bithacking for vector types.
Commit: 9d1f1c4c8b5e96dfdbde37cb2cf906afdce5ef30
https://github.com/llvm/llvm-project/commit/9d1f1c4c8b5e96dfdbde37cb2cf906afdce5ef30
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/switch.cpp
A clang/test/CIR/IR/switch.cir
Log Message:
-----------
[CIR] Upstream initial support for switch statements (#137106)
This introduces initial support for the switchOP, with caseOP of the
Equal kind. Support for additional case kinds such as AnyOf, Range, and
Default will be included in a future patch. Similarly, lowering to LLVM
IR and flattening of the switch are deferred and will be addressed in
subsequent updates.
Commit: 30bedb318611d84cf9b0672f6e0675d33f90d2c8
https://github.com/llvm/llvm-project/commit/30bedb318611d84cf9b0672f6e0675d33f90d2c8
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/variables.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error if checks Variable Operators (#137291)
For VARIABLE, VARIABLE_WRITE & VARIABLE_READ
Commit: f37ab152540d374ceff8551abef3de5110e697ee
https://github.com/llvm/llvm-project/commit/f37ab152540d374ceff8551abef3de5110e697ee
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
A llvm/test/Transforms/InstCombine/cttz-shift-exact.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Infer exact for lshr by cttz (#136696)
Infer the 'exact' flag on an 'lshr' or 'ashr' instruction when the shift
amount is computed via a 'cttz' intrinsic on the same operand.
Proof: https://alive2.llvm.org/ce/z/CQR2PG
Fixes #131444.
Commit: ad66e5495d598c9f64cfafba92ba48f2a24b8278
https://github.com/llvm/llvm-project/commit/ad66e5495d598c9f64cfafba92ba48f2a24b8278
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml
Log Message:
-----------
[DirectX] Revise descriptions of DXIL module flags (#133543)
This PR revises the descriptions of DXIL module flags.
Descriptions such as `D3D11_1_SB_GLOBAL_FLAG_SKIP_OPTIMIZATION` are
referring to Global Flags in DXBC.
DXBC is not a supported backend target, so references to DXBC should not
be present.
There is also confusion with regards to the description of the
`LowPrecisionPresent` DXIL module flag, which currently reads
`D3D11_1_SB_GLOBAL_FLAG_ENABLE_MINIMUM_PRECISION` and implies the use of
minimum-precision to handle 16-bit types.
However this is not true, because both the flags `LowPrecisionPresent`
and `UseNativeLowPrecision` can simultaneously be set in the same DXIL
module, and minimum precision mode is mutually exclusive with native low
precision.
This PR revises the description of the `LowPrecisionPresent` flag to
accurately describe what it represents.
Commit: d20796dab776f80c26915c44d558357f3459a184
https://github.com/llvm/llvm-project/commit/d20796dab776f80c26915c44d558357f3459a184
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
Log Message:
-----------
[InstCombine] Offset both sides of an equality icmp (#134086)
Proof: https://alive2.llvm.org/ce/z/zQ2UW4
Closes https://github.com/llvm/llvm-project/issues/134024
Commit: 7b70fc74d039dbb0c3c67feb1741bb5c446d55f7
https://github.com/llvm/llvm-project/commit/7b70fc74d039dbb0c3c67feb1741bb5c446d55f7
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[mlir][OpenMP] Convert omp.cancel sections to LLVMIR (#137193)
This is quite ugly but it is the best I could think of. The old
FiniCBWrapper was way too brittle depending upon the exact block
structure inside of the section, and could be confused by any control
flow in the section (e.g. an if clause on cancel). The wording in the
comment and variable names didn't seem to match where it was actually
branching too as well.
Clang's (non-OpenMPIRBuilder) lowering for cancel inside of sections
branches to a block containing __kmpc_for_static_fini.
This was hard to achieve here because sometimes the FiniCBWrapper has to
run before the worksharing loop finalization has been crated.
To get around this ordering issue I created a dummy branch to a dummy
block, which is then fixed later once all of the information is
available.
Commit: 6022a5214b597561d23c26a839a210f41c246c47
https://github.com/llvm/llvm-project/commit/6022a5214b597561d23c26a839a210f41c246c47
Author: Callum Fare <callum at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/test/CMakeLists.txt
M offload/test/lit.cfg
A offload/test/unit/lit.cfg.py
A offload/test/unit/lit.site.cfg.in
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/common/Environment.cpp
M offload/unittests/OffloadAPI/common/Environment.hpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M offload/unittests/OffloadAPI/program/olDestroyProgram.cpp
M offload/unittests/OffloadAPI/queue/olCreateQueue.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olWaitQueue.cpp
R offload/unittests/Plugins/CMakeLists.txt
R offload/unittests/Plugins/NextgenPluginsTest.cpp
Log Message:
-----------
[Offload] Add check-offload-unit for liboffload unittests (#137312)
Adds a `check-offload-unit` target for running the liboffload unit test
suite. This unit test binary runs the tests for every available device.
This can optionally filtered to devices from a single platform, but the
check target runs on everything.
The target is not part of `check-offload` and does not get propagated to
the top level build. I'm not sure if either of these things are
desirable, but I'm happy to look into it if we want.
Also remove the `offload/unittests/Plugins` test as it's dead code and
doesn't build.
Commit: d63703842937c8a089a272297886de5fc7bdc0a4
https://github.com/llvm/llvm-project/commit/d63703842937c8a089a272297886de5fc7bdc0a4
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/docs/dil-expr-lang.ebnf
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/Makefile
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/main.cpp
Log Message:
-----------
[LLDB] Add unary operators Dereference and AddressOf to DIL (#134428)
Commit: 694a42f018d0847005e6b6ad1aa2f22a64f1f482
https://github.com/llvm/llvm-project/commit/694a42f018d0847005e6b6ad1aa2f22a64f1f482
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/math/clc_asinpi.inc
M libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_rootn.inc
Log Message:
-----------
[libclc] Avoid casting NANs & literals to 'gentype' (#137824)
By having these already defined as type 'gentype' we can avoid
unnecessary casting.
Commit: 5cec6f6f2d0a9abb53af9d663a60fe56736fc2ac
https://github.com/llvm/llvm-project/commit/5cec6f6f2d0a9abb53af9d663a60fe56736fc2ac
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M bolt/test/non-empty-debug-line.test
Log Message:
-----------
[BOLT][NFC] Add keep-nops option to non-empty-debug-line.test (#137812)
On openSUSE distribution test is failing due to different .debug_line
size without the keep-nops option
Commit: 82c036e2de4eba0e286a94c9b3240e4b14d8aee4
https://github.com/llvm/llvm-project/commit/82c036e2de4eba0e286a94c9b3240e4b14d8aee4
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/TBAAForest.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
A flang/test/Transforms/tbaa3.fir
A flang/test/Transforms/tbaa4.fir
Log Message:
-----------
[flang] Restructured TBAA trees in AddAliasTags pass. (#136725)
This patch produces the following TBAA tree for a function:
```
Function root
|
"any access"
|
|- "descriptor member"
|- "any data access"
|
|- "dummy arg data"
|- "target data"
|
|- "allocated data"
|- "direct data"
|- "global data"
```
The TBAA tags are assigned using the following logic:
* All POINTER variables point to the root of "target data".
* Dummy arguments without POINTER/TARGET point to their
leafs under "dummy arg data".
* Dummy arguments with TARGET point to the root of "target data".
* Global variables without descriptors point to their leafs under
"global data" (including the ones with TARGET).
* Global variables with descriptors point to their leafs under
"direct data" (including the ones with TARGET).
* Locally allocated variables point to their leafs under
"allocated data" (including the ones with TARGET).
This change makes it possible to disambiguate globals like:
```
module data
real, allocatable :: a(:)
real, allocatable, target :: b(:)
end
```
Indeed, two direct references to global vars cannot alias
even if any/both of them have TARGET attribute.
In addition, the dummy arguments without POINTER/TARGET cannot alias
any other variable even with POINTER/TARGET. This was not expressed
in TBAA before this change.
As before, any "unknown" memory references (such as with Indirect
source, as classified by FIR alias analysis) may alias with
anything, as long as they point to the root of "any access".
Please think of the counterexamples for which this structure
may not work.
Commit: 0f90a7b323bcaa087be31aa135b71694db2d5ff9
https://github.com/llvm/llvm-project/commit/0f90a7b323bcaa087be31aa135b71694db2d5ff9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Enable making the `CompilerInstance` module dependency collector thread-safe (#137227)
The same principle as #135473, #135737, #136178, #136601 & #137059.
Commit: c85e43bd45fee5de106d79965db484339b5cc46f
https://github.com/llvm/llvm-project/commit/c85e43bd45fee5de106d79965db484339b5cc46f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[clang] Hide the `LangOptions` pointer from `CompilerInvocation` (#137675)
This PR makes `CompilerInvocation` the sole owner of the `LangOptions`
instance.
Commit: e0660edf22ed1064e80cc1ac80f2a9a00cc7624a
https://github.com/llvm/llvm-project/commit/e0660edf22ed1064e80cc1ac80f2a9a00cc7624a
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
Log Message:
-----------
[NFC][AArch64] Final Cleanup Pass Initialization (#137744)
This finishes the work from 23c27f3efcdda730b365698ade5fd0c1c283f2e7 to
cleanup where pass initializers are called from, as noted in #111767.
This patch addresses passes where the initializer does not start with
`initializeAArch64`, which seemed to be missed in the previous commit.
Commit: e07307b53457095746aa037750a4ac2f9491d71c
https://github.com/llvm/llvm-project/commit/e07307b53457095746aa037750a4ac2f9491d71c
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
Log Message:
-----------
[lld] resolve dylib paths before caching (#137649)
When loading frameworks it is possible to have load commands for the
same framework through symlinks and the real path. To avoid loading
these multiple times find the real path before checking the dylib cache.
Commit: 743c32eb8195c248c699c61ffbac141947b8e6ab
https://github.com/llvm/llvm-project/commit/743c32eb8195c248c699c61ffbac141947b8e6ab
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Log Message:
-----------
[clang] Disable libclang abort death test after merging unittests
Death tests are often sensitive to global process state, which is
dirtier now that the scope of the test binary has increased
significantly.
I think the value of this single death test isn't high enough to roll
back the gtest binary merging patch, so I'm disabling it.
See issue #137855 for the investigation.
Commit: 7d91cf4bab8c9c4daa3d3a9fca87778d6ccacb6b
https://github.com/llvm/llvm-project/commit/7d91cf4bab8c9c4daa3d3a9fca87778d6ccacb6b
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/compound_assign.cpp
Log Message:
-----------
[CIR] Add support for compound assignment statements (#137740)
Compound assignment in C++ goes through a different path than the binary
assignment operators that were already handled for C. This change adds
the necessary handler to get this working with C++.
Commit: e33b7a1d6388007183b7657958a0d32626caea46
https://github.com/llvm/llvm-project/commit/e33b7a1d6388007183b7657958a0d32626caea46
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.8.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
Log Message:
-----------
[DirectX] Implement Shader Flag Analysis for `UAVsAtEveryStage` (#137085)
Fixes #112272
In addition to the implementation of the UAVsAtEveryStage shader flag
analysis, several unrelated tests have had the `dx.valver` module
metadata defined to avoid setting the UAVsAtEveryStage shader flag in
them.
Example:
```
!dx.valver = !{!0}
!0 = !{i32 1, i32 8}
```
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 4ed8f38e814d788abc3131c24e7bad96766a52bc
https://github.com/llvm/llvm-project/commit/4ed8f38e814d788abc3131c24e7bad96766a52bc
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__utility/pair.h
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
Log Message:
-----------
[libc++][pair] P2944R3: Constrain `std::pair`'s equality operator (#136672)
Implements https://wg21.link/P2944R3 (partially):
- [pairs.spec](https://eel.is/c++draft/pairs.spec)
Related issues:
- Related to #105424
- Related to #118135
- PR https://github.com/llvm/llvm-project/pull/135759
- PR https://github.com/llvm/llvm-project/pull/117664
Closes: [#136763](https://github.com/llvm/llvm-project/issues/136763)
# References
- https://eel.is/c++draft/concept.booleantestable
- https://eel.is/c++draft/concept.equalitycomparable
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: 0864e3c8a9335db0d9c8c32f059a3d0c3f01c534
https://github.com/llvm/llvm-project/commit/0864e3c8a9335db0d9c8c32f059a3d0c3f01c534
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
Log Message:
-----------
[Test][Darwin] Mark zero_page_pc test as unsupported for iOS (#137858)
This is handled as a SIGKILL and can't be intercepted by ASan's signal
handler.
rdar://127512190
Commit: 705ceff7c1fc328151a6506a91773aac429ccee3
https://github.com/llvm/llvm-project/commit/705ceff7c1fc328151a6506a91773aac429ccee3
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/AST/CMakeLists.txt
M clang/lib/Basic/CMakeLists.txt
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/Driver/CMakeLists.txt
M clang/tools/driver/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/CMakeLists.txt
Log Message:
-----------
[TargetParser] Fix flaky installs of generated headers (#137853)
The `llvm-headers` target wasn't depending on the generated TargetParser
headers, so they'd be flakily installed or not installed depending on
which order the build steps ran in. Add an explicit dependency to fix
this, and switch to a single `target_parser_gen` target to mirror the
pattern used by `intrinsics_gen` (which also fixes a few other missing
dependencies). Switch `llvm-headers` to use `add_dependencies` instead
of `DEPENDS` for the tablegen dependencies as well, since `DEPENDS` is
only intended for creating a file-level dependency on the output of an
`add_custom_command` in the same CMakeLists.txt (see `DEPENDS` under
https://cmake.org/cmake/help/latest/command/add_custom_target.html).
Commit: becd418626e1ebedde6d095f7bb020e554251b15
https://github.com/llvm/llvm-project/commit/becd418626e1ebedde6d095f7bb020e554251b15
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/SPARC/ctlz.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/cttz.ll
R llvm/test/CodeGen/X86/lzcnt-cmp.ll
Log Message:
-----------
[CGP] Despeculate ctlz/cttz with "illegal" integer types (#137197)
The code below the removed check looks generic enough to support
arbitrary integer widths. This change helps 32-bit targets avoid
expensive expansion/libcalls in the case of zero input.
Pull Request: https://github.com/llvm/llvm-project/pull/137197
Commit: f784fa727543463b86511f7e5797174422cbeeaf
https://github.com/llvm/llvm-project/commit/f784fa727543463b86511f7e5797174422cbeeaf
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
Log Message:
-----------
[lldb] Disable TestExitDuringExpression on asan
This test is trying to exercise code running constructors with
interrupts. While we should fix this, this is creating noise on the
bots.
Commit: c88b53777130a80ac08f39166c487ea7bb721441
https://github.com/llvm/llvm-project/commit/c88b53777130a80ac08f39166c487ea7bb721441
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
Target: Stop assigning RELRO sections to .ldata.rel.ro.
Linkers do not currently support PT_GNU_RELRO for SHF_X86_64_LARGE
sections; that would require the linker to emit more than one
PT_GNU_RELRO because large sections are discontiguous by design,
and most ELF dynamic loaders do not support that (bionic appears to
support it but glibc/musl/FreeBSD/NetBSD/OpenBSD appear not to). With
current linkers these sections will end up in .ldata which results
in silently disabling RELRO. Therefore, disable SHF_X86_64_LARGE for
RELRO sections. If this ever gets supported by downstream components
in the future we could add an opt-in flag for moving these sections
to .ldata.rel.ro which would trigger the creation of a second
PT_GNU_RELRO.
Reviewers: MaskRay, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/137742
Commit: 7dd8122d4ea147a2e8b90d611e30d4c2cff4619f
https://github.com/llvm/llvm-project/commit/7dd8122d4ea147a2e8b90d611e30d4c2cff4619f
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] - Add support for firstprivate when translating omp.target ops from MLIR to LLVMIR (#131213)
This patch adds support to translate `firstprivate` clauses on `omp.target` ops when translating from MLIR to LLVMIR.
Presently, this PR is restricted to supporting only included tasks, i.e `#omp target nowait firstprivate(some_variable)` will likely not work correctly even if it produces object code.
Commit: d3d35adcd32c91e9076be6bb242dd6c82c490c4b
https://github.com/llvm/llvm-project/commit/d3d35adcd32c91e9076be6bb242dd6c82c490c4b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
Log Message:
-----------
[DirectX] Legalize i8 allocas (#137399)
fixes #137202
investingating i8 allocas I came to find some missing instructions from
out i8 legalization around load, store, and select.
Added those three.
To do i8 allocas right though we needed to walk the uses and find the
casts.
After finding the casts I chose to pick the smallest cast as the cast to
transform to. That would then let me preserve the larger casts that come
later
Commit: 1a6b0413e047a390dc7759b2ea558bad83e7f1cf
https://github.com/llvm/llvm-project/commit/1a6b0413e047a390dc7759b2ea558bad83e7f1cf
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][acc] Fix issue with privatization recipe for box ref (#137869)
When privatizing allocatable/pointer arrays, the code was creating a
temporary but this was a box type. This led to inconsistency between the
input and output of recipe.
The updated logic now creates storage when a box ref is requested.
Commit: 9ebaa9d483740b1e9a796e9e3b40a2ab70a4efb5
https://github.com/llvm/llvm-project/commit/9ebaa9d483740b1e9a796e9e3b40a2ab70a4efb5
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/sigsetjmp.cpp
Log Message:
-----------
[libc] implement aarch64 sigsetjmp (#136706)
- **[libc][aarch64] implement sigsetjmp**
On top of https://github.com/llvm/llvm-project/pull/136072
See also https://github.com/llvm/llvm-project/issues/137055 for remarks
on naked attributes.
```c++
//===-- Implementation of setjmp ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "src/setjmp/sigsetjmp.h"
#include "hdr/offsetof_macros.h"
#include "src/__support/common.h"
#include "src/__support/macros/config.h"
#include "src/setjmp/setjmp_impl.h"
#include "src/setjmp/sigsetjmp_epilogue.h"
namespace LIBC_NAMESPACE_DECL {
[[gnu::naked]]
LLVM_LIBC_FUNCTION(int, sigsetjmp, (sigjmp_buf, int)) {
asm(R"(
cbz w1, %c[setjmp]
str x30, [x0, %c[retaddr]]
str x19, [x0, %c[extra]]
mov x19, x0
bl %c[setjmp]
mov w1, w0
mov x0, x19
ldr x30, [x0, %c[retaddr]]
ldr x19, [x0, %c[extra]]
b %c[epilogue])" ::[retaddr] "i"(offsetof(__jmp_buf, sig_retaddr)),
[extra] "i"(offsetof(__jmp_buf, sig_extra)), [setjmp] "i"(setjmp),
[epilogue] "i"(sigsetjmp_epilogue)
: "x0", "x1", "x19", "x30");
}
} // namespace LIBC_NAMESPACE_DECL
```
Commit: 7e71466900f84770c08cc53807425a19918a3975
https://github.com/llvm/llvm-project/commit/7e71466900f84770c08cc53807425a19918a3975
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
Log Message:
-----------
[VPlan] Preserve dbg location on canonical IVs in native path.
Pass the debug location of the primary IV to addCanonicalIVRecipes in
the native path, matching the behavior of inner loop vectorization.
Commit: fff622fbf760f9ff4e10073ad859c2b663f33af8
https://github.com/llvm/llvm-project/commit/fff622fbf760f9ff4e10073ad859c2b663f33af8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/gep-modulo.ll
Log Message:
-----------
[BasicAA] Account for wrapping when using abs(Scale*V0 + (-Scale)*V1) >= abs(Scale) (#137755)
Similar to 1b7ef6aac8a3cad245c0ed14fe21725e31261f73, add a check to only
set MinAbsVarIndex if abs(Scale*V0) and abs((-Scale)*V1) won't wrap. In
the absence of IsNSW, try to use the bitwidths of the original V and
Scale to rule out wrapping
Commit: 74593f667823025580e046e56d48d7a9899b8956
https://github.com/llvm/llvm-project/commit/74593f667823025580e046e56d48d7a9899b8956
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV][NFC] Remove duplicate extensions from tt-ascalon-d8 CPU (#137865)
Sscofpmf is already in RVA23S64 and Zicsr is in RVA20U64. I also added a
check against Sscofpmf. NFC.
Commit: 6a16da75d1d52de2211993e25a6485281defe097
https://github.com/llvm/llvm-project/commit/6a16da75d1d52de2211993e25a6485281defe097
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
[AMDGPU] Avoid referring to specific number of address spaces. NFC. (#137842)
This just avoids some hard coded numbers that would have to be updated
every time we add an address space.
Commit: e17122fffa8d233fcf9f717354ecda46173f1b8d
https://github.com/llvm/llvm-project/commit/e17122fffa8d233fcf9f717354ecda46173f1b8d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Add canonical IV during construction (NFC).
This addresses an existing TODO and simply moves the current code to add
canonical IV recipes to the initial skeleton construction, at the same
place where the corresponding region will be introduced.
Commit: 740f674917a41bbaea88877db9beb4b2d6b52878
https://github.com/llvm/llvm-project/commit/740f674917a41bbaea88877db9beb4b2d6b52878
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][acc] Fix extraneous space when printing acc.loop (#137839)
The acc.loop printer inserted two spaces after the operation. This
occurred because the custom combined loop attribute printer was not
conditional - and thus the tablegen inserted an automatic space before
invoking the custom printer. Then for each additional attribute it also
inserted a space in beginning.
Since lit tests were not sensitive to this, no tests need updated. But
the issue with the extraneous space is resolved.
Commit: d431921677ae923d189ff2d6f188f676a2964ed8
https://github.com/llvm/llvm-project/commit/d431921677ae923d189ff2d6f188f676a2964ed8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
Revert "[VPlan] Add canonical IV during construction (NFC)."
This reverts commit e17122fffa8d233fcf9f717354ecda46173f1b8d.
Revert as this seems to break some unit tests on some bots.
Commit: 97ec3ef4ab0eaf5e1fde9a3bf4bf4a9aaad49f33
https://github.com/llvm/llvm-project/commit/97ec3ef4ab0eaf5e1fde9a3bf4bf4a9aaad49f33
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add start and end line numbers (#137732)
This patch adds start and end line numbers to clang-doc. Currently
clang-doc only encodes the start line numbers of records, struct, etc.
This patch adds start and end line number to clang-doc bitcode which is
passed to the generator. This will be used by the mustache backend to
generate line ranges. Based on the orginal patch in #135081.
Co-author: Paul Kirth <paulkirth at google.com>
Co-authored-by: PeterChou1 <peter.chou at mail.utoronto.ca>
Commit: 557ddc2e5d066dbc9900cb158a842b9cd5864d8a
https://github.com/llvm/llvm-project/commit/557ddc2e5d066dbc9900cb158a842b9cd5864d8a
Author: Ian Anderson <iana at apple.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Headers/float.h
Log Message:
-----------
[clang][headers][Apple] Don't include_next float.h to avoid an unnecessary module dependency (#137432)
float.h doesn't define anything in Apple's SDKs that the clang float.h
doesn't undefine, so all the include_next does is add an unnecessary
module dependency. Skip the include_next and completely shadow the SDK
header.
Commit: f73db3df80e6924551ea773c0d5afb54a82bc76f
https://github.com/llvm/llvm-project/commit/f73db3df80e6924551ea773c0d5afb54a82bc76f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
Log Message:
-----------
[lldb-dap[test] Don't pass --listen to debugserver
Fixes "debugserver: unrecognized option `--listen'"
Commit: a24457eb99d5c78e46bdf5310430a9551e480361
https://github.com/llvm/llvm-project/commit/a24457eb99d5c78e46bdf5310430a9551e480361
Author: enh-google <enh at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M libc/test/src/search/lfind_test.cpp
Log Message:
-----------
[libc] lfind_test.cpp: put helpers in an anonymous namespace. (#137821)
This matches other tests and allows the tests to be built together (as
Android is doing).
Commit: a7402b0c4ac1cc255354904ef1f46aa7b714c44f
https://github.com/llvm/llvm-project/commit/a7402b0c4ac1cc255354904ef1f46aa7b714c44f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[clang][NFC] Convert `Parser::ScopeCacheSize` to a constant
Commit: 951292be2c21bc903e63729338d872a878d2d49c
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
A llvm/test/TableGen/DuplicateProcessorFeatures.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Print a warning when a Processor contains duplicate Features / TuneFeatures (#137864)
I don't think a processor should normally contains duplicate features. This patch prints a warning whenever that happens in either the features or tune features.
Commit: 4595e8092ed5ce69b3ce33e989d7bea3a25fc289
https://github.com/llvm/llvm-project/commit/4595e8092ed5ce69b3ce33e989d7bea3a25fc289
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::AnnotatedNameKind` to scoped enum
Commit: 7ecd81e266174253786e084c100c22c65a214b5d
https://github.com/llvm/llvm-project/commit/7ecd81e266174253786e084c100c22c65a214b5d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ExtraSemiKind` to scoped enum
Commit: c68535581135a1513c9c4c1c7672307d4b5e616e
https://github.com/llvm/llvm-project/commit/c68535581135a1513c9c4c1c7672307d4b5e616e
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
Log Message:
-----------
Unsupported zero_page_pc on iOS. (#137893)
Commit: d5272e4f4130788f261b44b5412c75a6b87fc836
https://github.com/llvm/llvm-project/commit/d5272e4f4130788f261b44b5412c75a6b87fc836
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
Log Message:
-----------
[flang][cuda] Only copy global that have effective use (#137890)
Commit: 36850a028d149467cafd2702bc0c2587f6b71cce
https://github.com/llvm/llvm-project/commit/36850a028d149467cafd2702bc0c2587f6b71cce
Author: Haowei <haowei at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Adding PR_PAC_APIAKEY macro definition (#137888)
In older Linux distros, PR_PAC_APIAKEY is not defined and it causes
build failures on linux arm64 platform. This patch adds the definition
of this macro if it is not defined.
Commit: efef83e11d6b5f47c624465006bbea4cbb8a2526
https://github.com/llvm/llvm-project/commit/efef83e11d6b5f47c624465006bbea4cbb8a2526
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][InstrProf] Skip BP ordering input sections with null data (#137906)
In MachO, `.bss` `isec`s have a length, but point to null. This causes
Balanced Partitioning to crash on these inputs.
This code was in the original implementation, but was removed in
https://github.com/llvm/llvm-project/pull/124482/files#diff-b2aac8833d29d297ae5ada1b36eb4e88f53691fd91df954c24e0c264f3131d4aL27
Commit: a01a5b82dc89d427eada7f3b4d2f3e42ef50ae91
https://github.com/llvm/llvm-project/commit/a01a5b82dc89d427eada7f3b4d2f3e42ef50ae91
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
Log Message:
-----------
[AMDGPU][NFC] Remove duplicate features in gfx908/909/90a (#137902)
The new TableGen warning introduced in
https://github.com/llvm/llvm-project/commit/951292be2c21bc903e63729338d872a878d2d49c
shows the following warnings:
```
warning: Processor gfx908 contains duplicate feature 'addressablelocalmemorysize65536'
warning: Processor gfx909 contains duplicate feature 'image-insts'
warning: Processor gfx90a contains duplicate feature 'addressablelocalmemorysize65536'
```
Commit: 6bb4ce0f6ff462b58bacc8dbc47719b7009f9b18
https://github.com/llvm/llvm-project/commit/6bb4ce0f6ff462b58bacc8dbc47719b7009f9b18
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
Log Message:
-----------
Silence spurious -Wnontrivial-memcall warnings in C mode (#137429)
clang currently issues a warning when memset is used on a struct that
contains an address-discriminated pointer field, even though this is
entirely valid behavior.
For example:
```
struct S {
int * __ptrauth(1, 1, 100) p;
} s;
memset(&s, 0, sizeof(struct S));
```
Only allow the warning to be emitted in C++ mode to silence the warning.
rdar://142495870
Commit: f1750300aad0e49383cd4b206e2354f1300a40a8
https://github.com/llvm/llvm-project/commit/f1750300aad0e49383cd4b206e2354f1300a40a8
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
Log Message:
-----------
[HLSL] Resource initialization by constructors (#135120)
- Adds resource constructor that takes explicit binding for all resource
classes.
- Updates implementation of default resource constructor to initialize
resource handle to `poison`.
- Removes initialization of resource classes from Codegen.
- Initialization of `cbuffer` still needs to happen in `CGHLSLRuntime`
because it does not have a corresponding resource class type.
- Adds `ImplicitCastExpr` for builtin function calls. Sema adds these
automatically when a method of a template class is instantiated, but
some resource classes like `ByteAddressBuffer` are not templates so they
need to have this added explicitly.
Design proposal: llvm/wg-hlsl#197
Closes #134154
Commit: b8bb1ccb4f9126d1bc9817be24e17f186a75a08b
https://github.com/llvm/llvm-project/commit/b8bb1ccb4f9126d1bc9817be24e17f186a75a08b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add OneLineFormatOffRegex option (#137577)
Close #54334
Commit: baaed16a6b8617ce5a6a807c427c6ec48b5236ad
https://github.com/llvm/llvm-project/commit/baaed16a6b8617ce5a6a807c427c6ec48b5236ad
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86.td
Log Message:
-----------
[X86][NFC] Remove duplicate feature from Znver5 processor definition (#137901)
`FeatureVNNI` is already in Znver4AdditionalFeature.
Found by the new TableGen warning introduced in
951292be2c21bc903e63729338d872a878d2d49c
Commit: 512225563148a7a31912d5c1d2699cd228049b55
https://github.com/llvm/llvm-project/commit/512225563148a7a31912d5c1d2699cd228049b55
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `ParsedTemplateInfo::Kind` to scoped enum
Commit: 159628cc228726b8ffae2127c65363ce14a5c3d0
https://github.com/llvm/llvm-project/commit/159628cc228726b8ffae2127c65363ce14a5c3d0
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
Log Message:
-----------
[CodeGen] Port MachineUniformityAnalysis to new pass manager (#137578)
- Add new pass manager version of `MachineUniformityAnalysis `.
- Query `TargetTransformInfo` in new pass manager version.
- Use `printAsOperand` when printing machine function name
Commit: 44d8aa8139e02e7b1642f284b32757ee446a88e6
https://github.com/llvm/llvm-project/commit/44d8aa8139e02e7b1642f284b32757ee446a88e6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CachedInitKind` to scoped enum
Commit: 23c3c4e40304f7c05fd77e45d26c846779b37ed5
https://github.com/llvm/llvm-project/commit/23c3c4e40304f7c05fd77e45d26c846779b37ed5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ObjCTypeQual` to scoped enum
Commit: dc87d21aca34c8aa1654ecefb456aac0c1965507
https://github.com/llvm/llvm-project/commit/dc87d21aca34c8aa1654ecefb456aac0c1965507
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseTemplate.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::TypeCastState` to scoped enum
Commit: 4075a3698a3fdda3a77ce2456e3bfefbc0f0c56e
https://github.com/llvm/llvm-project/commit/4075a3698a3fdda3a77ce2456e3bfefbc0f0c56e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseOpenMP.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CastParseKind` to scoped enum
Commit: 830cf36bd4c491ef28d9bba74737e324639bb4cd
https://github.com/llvm/llvm-project/commit/830cf36bd4c491ef28d9bba74737e324639bb4cd
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instruction.cpp
A llvm/test/Transforms/CorrelatedValuePropagation/pr137582.ll
Log Message:
-----------
[LVI][ValueTracking] Take UB-implying attributes into account in `isSafeToSpeculativelyExecute` (#137604)
Closes https://github.com/llvm/llvm-project/issues/137582.
In the original case, LVI uses the edge information in `%entry ->
%if.end` to get a more precise result. However, since the call to `smin`
has an `noundef` return attribute, an immediate UB will be triggered
after optimization.
Currently, `isSafeToSpeculativelyExecuteWithOpcode(%min)` returns true
because
https://github.com/llvm/llvm-project/commit/6a288c1e32351d4be3b7630841af078fa1c3bb8b
only checks whether the function is speculatable. However, it is not
enough in this case.
This patch takes UB-implying attributes into account if
`IgnoreUBImplyingAttrs` is set to false. If it is set to true, the
caller is responsible for correctly propagating UB-implying attributes.
Commit: e8c684a0e4299077904892d11b1906f8e660eb01
https://github.com/llvm/llvm-project/commit/e8c684a0e4299077904892d11b1906f8e660eb01
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::ParenParseOption` to scoped enum
Commit: 5f22b84b653e9b76a21ea4ea2ae864173242f237
https://github.com/llvm/llvm-project/commit/5f22b84b653e9b76a21ea4ea2ae864173242f237
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::IfExistsBehavior` to scoped enum
Commit: 78a1d92870b596c67ee301b96d3a7864bafaab92
https://github.com/llvm/llvm-project/commit/78a1d92870b596c67ee301b96d3a7864bafaab92
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::TentativeCXXTypeIdContext` to scoped enum
Commit: e803c20863f52a218a381a5f09ea8c23a57b545e
https://github.com/llvm/llvm-project/commit/e803c20863f52a218a381a5f09ea8c23a57b545e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseTentative.cpp
Log Message:
-----------
[clang][NFC] Convert `Parser::CXX11AttributeKind` to scoped enum
Commit: e4332e470678093c42670b594014bce8e91fe31b
https://github.com/llvm/llvm-project/commit/e4332e470678093c42670b594014bce8e91fe31b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-29 (Tue, 29 Apr 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[flang] Fix build when examples are disabled
Without this change I get a build error due to the missing Bye target
when I configure my build with -DLLVM_INCLUDE_EXAMPLES=OFF.
This check for LLVM_BUILD_EXAMPLES matches the checks in llvm and lld.
Reviewed By: mgorny
Pull Request: https://github.com/llvm/llvm-project/pull/137908
Commit: 857ac4c229d209ebf3990c4760e2fc546beeac9c
https://github.com/llvm/llvm-project/commit/857ac4c229d209ebf3990c4760e2fc546beeac9c
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Fir/basic-program.fir
A flang/test/Fir/convert-nontemporal-to-llvm.fir
A flang/test/Fir/simd-nontemporal.fir
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Lowering nontemporal clause to LLVM IR for SIMD directive (#118751)
This patch,
- Added a new attribute `nontemporal` to fir.load and fir.store operation in the FIR dialect.
- Added a pass `lower-nontemporal` which is called before FIRToLLVM conversion pass and adds the nontemporal attribute to loads and stores on the list items specified in the nontemporal clause of the SIMD directive.
- Set the `UnitAttr:$nontemporal` to llvm.load and llvm.store operations during FIR to LLVM dialect conversion, if the corresponding fir.load or fir.store operations have the nontemporal attribute.
- Attached the `nontemporal metadata` to load and store instructions that have the nontemporal attribute, during LLVM dialect to LLVM IR translation.
Commit: 96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
https://github.com/llvm/llvm-project/commit/96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
Author: Peiyong Lin <linpyong at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Support nusw and nuw in GEP (#137272)
nusw and nuw were introduced in getelementptr, this patch plumbs them in
MLIR.
Since inbounds implies nusw, this patch also adds an inboundsFlag to
represent the concept of raw inbounds with no nusw implication, and have
the inbounds literal captured as the combination of inboundsFlag and
nusw.
Fixes: iree#20482
Signed-off-by: Lin, Peiyong <linpyong at gmail.com>
Commit: 4bf93c098c8b04a06f228b05732d691d0ce2babc
https://github.com/llvm/llvm-project/commit/4bf93c098c8b04a06f228b05732d691d0ce2babc
Author: Marco Elver <elver at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Analysis/ThreadSafety.cpp
Log Message:
-----------
Thread Safety Analysis: Fix style
Comment fix and apply new clang-format style in
ScopedLockableFactEntry::unlock().
Factored out from https://github.com/llvm/llvm-project/pull/137133
NFC.
Commit: af497d9a658ebca437aff79cd9532cd93b7a58a0
https://github.com/llvm/llvm-project/commit/af497d9a658ebca437aff79cd9532cd93b7a58a0
Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Simpily if condition (NFC) (#137777)
Note that the key-value pair has already been initialized, so assignment
is not necessary.
Commit: c96f019fa3bc02bbc60343de606235c6e2cef4bd
https://github.com/llvm/llvm-project/commit/c96f019fa3bc02bbc60343de606235c6e2cef4bd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[BasicBlockUtils] Remove broken support for eh pads in SplitEdge() (#137816)
d81d9e8b8604c85709de0a22bb8dd672a28f0401 changed SplitEdge() to make use
of ehAwareSplitEdge() for critical edges where the target is an eh pad.
However, the implementation is incorrect at least for landing pads. What
is currently produced for the code in the modified unit test is
something like this:
continue:
invoke void @sink()
to label %normal unwind label %new_bb
new_bb:
%cp = cleanuppad within %exception []
cleanupret from %cp unwind label %exception
exception:
%cleanup = landingpad i8 cleanup
br label %trivial-eh-handler
This mixes different exception handling mechanisms in a nonsensical way,
and is not well-formed IR. To actually "split" the landingpad edge (for
a rather loose definition of "split"), I think we'd have to generate
something along these lines:
exception.split:
%cleanup.split = landingpad i8 cleanup
br label %exception.cont
exception:
%cleanup.orig = landingpad i8 cleanup
br label %exception.cont
exception.cont:
%cleanup = phi i8 [ %cleanup.split, %exception_split ], [ %cleanup.orig,
%exception ]
I didn't bother actually implementing that, seeing as how nobody noticed
the existing codegen being broken in the last four years, so clearly
nobody actually needs this function to work with EH edges. Just return
nullptr instead.
Commit: 38cb7d5e7591cdfb39d1030480920ec1ce4873c6
https://github.com/llvm/llvm-project/commit/38cb7d5e7591cdfb39d1030480920ec1ce4873c6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
A llvm/test/Assembler/invalid-label-call-arg.ll
M llvm/test/Assembler/invalid-label.ll
M llvm/test/CodeGen/X86/asm-block-labels.ll
M llvm/test/Verifier/invalid-label-param.ll
Log Message:
-----------
[IR] Don't allow label arguments (#137799)
We currently accept label arguments to inline asm calls. This support
predates both blockaddresses and callbr and is only covered by one X86
test. Remove it in favor of callbr (or at least blockaddress, though
that cannot guarantee correct codegen, just like using block labels
directly can't).
I didn't bother implementing bitcode upgrade support for this, but I can
add it if desired.
Commit: 7752e0a10b25da2f2eadbed10606bd5454dbca05
https://github.com/llvm/llvm-project/commit/7752e0a10b25da2f2eadbed10606bd5454dbca05
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
Revert "[clang-format] Add OneLineFormatOffRegex option (#137577)"
This reverts commit b8bb1ccb4f9126d1bc9817be24e17f186a75a08b which triggered
an assertion failure in CodeGenTest.TestNonAlterTest.
Commit: b2627851373e7afed1f7b14d7013edf41d20a4f5
https://github.com/llvm/llvm-project/commit/b2627851373e7afed1f7b14d7013edf41d20a4f5
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Give ConstantFolding.cpp "-ftrapping-math" (for #137652)
I've introduced the split lib `AnalysisFpExc`. Let me know if better
solutions would be applicable.
Commit: c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
https://github.com/llvm/llvm-project/commit/c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
Log Message:
-----------
[InstCombine] Do not combine shuffle+bitcast if the bitcast is eliminable. (#135769)
If we are attempting to combine shuffle+bitcast but the bitcast is
pairable with a subsequent bitcast, we should not fold the shuffle as
doing so can block further simplifications.
The motivation for this is a long-standing regression affecting SIMDe on
AArch64, introduced indirectly by the AlwaysInliner (1a2e77cf). Some
reproducers:
* https://godbolt.org/z/53qx18s6M
* https://godbolt.org/z/o5e43h5M7
Commit: 7318074168e324097b7f6ec93e34915463bf70f1
https://github.com/llvm/llvm-project/commit/7318074168e324097b7f6ec93e34915463bf70f1
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/IR/test-func-erase-result.mlir
M mlir/test/lib/IR/TestFunc.cpp
Log Message:
-----------
[mlir] allow function type cloning to fail (#137130)
`FunctionOpInterface` assumed the fact that the function type (attribute
of the operation) can be cloned with arbirary lists of function
arguments and results to support argument and result list mutation. This
is not always correct, in particular, LLVM dialect functions require
exactly one result making it impossible to erase the result.
Allow function type cloning to fail and propagate this failure through
various APIs that use it. The common assumption is that existing IR has
not been modified.
Fixes #131142.
Reland a8c7ecdcbc3e89b493b495c6831cc93671c3b844 / #136300.
Commit: 55d0610e7bbea470c47985d9d3f638dff85411b5
https://github.com/llvm/llvm-project/commit/55d0610e7bbea470c47985d9d3f638dff85411b5
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/IR/invalid.mlir
M mlir/test/IR/parser.mlir
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
Log Message:
-----------
[mlir] make `parseCustomOperationName()` API check token type (#136306)
Previously, this parser API call would accept any token and interpret
its spelling as operation name, including tokens that are are not valid
operation names. Make it accept only bare identifiers and keywords. The
latter is questionable but consistent with current practices upstream.
Fixes #132889.
Commit: 53a8b8900397bd16167fe537d53c0c8d84911534
https://github.com/llvm/llvm-project/commit/53a8b8900397bd16167fe537d53c0c8d84911534
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir
Log Message:
-----------
[CodeGen][NewPM] Port "ShrinkWrap" pass to NPM (#129880)
Commit: db859db74d0a76803b13781ff74ade8527a9c685
https://github.com/llvm/llvm-project/commit/db859db74d0a76803b13781ff74ade8527a9c685
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
R llvm/test/CodeGen/AArch64/nofpclass.ll
R llvm/test/CodeGen/Mips/nofpclass.ll
Log Message:
-----------
Revert "CodeGen: Add ISD::AssertNoFPClass (#135946)"
This reverts commit f0c61d2242bbc7576ca5e4137a5ea8f63e4859a9.
Commit: f62f36b91de684ddfe129532e3a5086009b16f34
https://github.com/llvm/llvm-project/commit/f62f36b91de684ddfe129532e3a5086009b16f34
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang][NFC] Avoid a duplicate variable in SemaExprCXX.cpp (#137464)
Commit: e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
https://github.com/llvm/llvm-project/commit/e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
M llvm/test/CodeGen/X86/pr30821.mir
Log Message:
-----------
[CodeGen][NPM] Port VirtRegRewriter to NPM (#130564)
Commit: 99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
https://github.com/llvm/llvm-project/commit/99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
Author: Arnab Dutta <85476402+arnab-polymage at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
Log Message:
-----------
[mlir] Add memref normalization support for reinterpret_cast op (#133417)
Rewrites memrefs defined by reinterpet_cast ops to have an identity
layout map and updates all their indexing uses. Also, extend
`replaceAllMemRefUsesWith` utility to work when there are multiple
occurrences of `oldMemRef` in `op`'s operand list when op is
non-dereferencing.
Fixes #122090
Fixes #121091
Commit: 8f75747935c6b18cb462554b54d9cf222b994afd
https://github.com/llvm/llvm-project/commit/8f75747935c6b18cb462554b54d9cf222b994afd
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
Log Message:
-----------
[RISCV][NFC] Convert some predicates to TIIPredicate (#129658)
These predicates can also be used in macro fusion and scheduling
model.
Commit: 51c26023000486b5f2f78c73c145efb0262514a4
https://github.com/llvm/llvm-project/commit/51c26023000486b5f2f78c73c145efb0262514a4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
Log Message:
-----------
[RISCV] Add compress patterns for Xqcilo load/store instructions (#137758)
Commit: 08f0aa48006a34ad24d70a500cf8e0c619f421bc
https://github.com/llvm/llvm-project/commit/08f0aa48006a34ad24d70a500cf8e0c619f421bc
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDescriptors] Call getOpcode on demand in getReductionOpChain. nfc (#118777)
Non-arithmetic reductions do not require the binary opcodes.
As a first step toward removing the dependency of non-arithmetic
reductions on `getOpcode` function, this patch refactors the
`getReductionOpChain` function.
In the future, once all users of `getOpcode` function are refactored, an
assertion can be added to `getOpcode` function to ensure that only
arithmetic reductions rely on it.
Commit: bb2f7596a8b963af06e9dde821dcea1252ba4892
https://github.com/llvm/llvm-project/commit/bb2f7596a8b963af06e9dde821dcea1252ba4892
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/merge-data-bss.test
Log Message:
-----------
[LLD][COFF] Ensure .bss is merged at the end of a section. (#137677)
Because it is full of zeros, it is expected that as much of it as
possible is elided from the actual image, and that cannot happen if
there is initialized data in the section after it.
Commit: 3e523502a15944c0da8067bad93ab1fc1bac47b7
https://github.com/llvm/llvm-project/commit/3e523502a15944c0da8067bad93ab1fc1bac47b7
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm_configs/config.h.cmake
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[DLCov] Move DebugLoc coverage macro to llvm-config.h (#137787)
This patch follows the reversion of #107279, which caused errors by
including `llvm/Config/config.h` in a public header. In order to reapply
that patch, this PR moves the definition of the config option to the
`llvm-config.h` header instead, so that it can be used publicly. This
patch also adds `LLVM_` as a prefix to the define, since it is now in a
public header.
Commit: 04aa5a88d17f5c1cab7acde2e87de05a405e60f1
https://github.com/llvm/llvm-project/commit/04aa5a88d17f5c1cab7acde2e87de05a405e60f1
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
Log Message:
-----------
[OMPIRBuilder] Don't discard the debug record from entry block. (#135161)
When we get a function back from `CodeExtractor`, we discard its entry
block after coping its instructions into the entry block we prepared.
While copying the instructions, the terminator is discarded for obvious
reasons. But if there were some debug values attached to the terminator,
those are useful and needs to be copied.
Commit: 6951d5d6cff4062e06af2107a2e715966932d8f5
https://github.com/llvm/llvm-project/commit/6951d5d6cff4062e06af2107a2e715966932d8f5
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
Log Message:
-----------
[NFC][lldb][test] Fix typo in test setup commands. (#137944)
Commit: 1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
https://github.com/llvm/llvm-project/commit/1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CFG.h
Log Message:
-----------
[IR] Convert check to assertion in PredIterator (NFC) (#137931)
After https://github.com/llvm/llvm-project/pull/137799 and
https://github.com/llvm/llvm-project/pull/137816, instruction uses of
BasicBlocks are always terminators, so assert that instead of checking
it.
Commit: 6ae7177de8d101487518bac72a1e2ab0a2ca18c9
https://github.com/llvm/llvm-project/commit/6ae7177de8d101487518bac72a1e2ab0a2ca18c9
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Update mergeInfo of blocks nested in regions (#137789)
The current code that updates mergeInfo iterates only over
constructBlocks, potentially leaving blocks nested in already structured
regions with invalid mergeInfo. This patch adds walk for each block to
ensure all nested blocks are considered.
It is not possible to add a unit test exercising this change as whether
the problem occurs depends on the structuring order that is currently
non-deterministic.
Commit: 77581e27514db084da59738c4d26ed7e70a31736
https://github.com/llvm/llvm-project/commit/77581e27514db084da59738c4d26ed7e70a31736
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/README.md
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
Reapply "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)"
This reverts commit 27539c3f903be26c487703943d3c27d45d4542b2. Retry
with new buildbot configuration after master restart.
Original message:
Remove the FLANG_INCLUDE_RUNTIME option which was replaced by
LLVM_ENABLE_RUNTIMES=flang-rt.
The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the
non-runtimes build instructions for the Flang runtime so they do not
conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217.
In order to not maintain multiple build instructions for the same thing,
this PR completely removes the old build instructions (effectively
forcing FLANG_INCLUDE_RUNTIME=OFF).
As per discussion in
https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2
we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is
compiled in a bootstrapping (non-standalone) build. Because it is
possible to build Flang-RT separately, this behavior can be disabled
using `-DFLANG_ENABLE_FLANG_RT=OFF`. Also see the discussion an
implicitly adding runtimes/projects in #123964.
Commit: 92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
https://github.com/llvm/llvm-project/commit/92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/include/llvm/IR/DebugLoc.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
Log Message:
-----------
Reapply "[DLCov] Implement DebugLoc coverage tracking (#107279)"
Reapplied after fixing the config issue that was causing issues following
the previous merge.
This reverts commit fdbf073a86573c9ac4d595fac8e06d252ce1469f.
Commit: b3d130279f5c59a82d48d4647bef626ac4e202cf
https://github.com/llvm/llvm-project/commit/b3d130279f5c59a82d48d4647bef626ac4e202cf
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/source/API/SBValue.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
Log Message:
-----------
[lldb] Upgrade `GetIndexOfChildWithName` to use `llvm::Expected` (#136693)
This patch replaces the use of `UINT32_MAX` as the error return value of
`GetIndexOfChildWithName` with `llvm::Expected`.
# Tasks to do in another PR
1. Replace `CalculateNumChildrenIgnoringErrors` with
`CalculateNumChildren`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056319358).
2. Update `lldb_private::formatters::ExtractIndexFromString` to use
`llvm::Expected`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2054217536).
3. Create a new class which carries both user and internal errors. See
[this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056439608).
Commit: 1563d74145faa41bc5b1cdb1df2add84d6f01d39
https://github.com/llvm/llvm-project/commit/1563d74145faa41bc5b1cdb1df2add84d6f01d39
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[Passes] Remove extra ';' outside of a function (NFC)
/llvm-project/llvm/lib/Passes/PassBuilder.cpp:1508:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
1508 | };
| ^
1 error generated.
Commit: d68c732473a12f2fba495baebd7094b25bdfdce7
https://github.com/llvm/llvm-project/commit/d68c732473a12f2fba495baebd7094b25bdfdce7
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Semantics/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[flang] Use precompiled headers in Frontend, Lower, Parser, Semantics and Evaluate (#131137)
Precompiling larger headers can save a lot of compile time across
various compilation units.
For the time being, disable precompiled headers for ccache builds on Windows
due to issues with reliably passing the appropriate options to ccache.
Selected compile time & memory improvements are as follows:
flang/lib/Parser/Fortran-parsers.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68
Maximum resident set size (kbytes): 2062140 -> 1745584
flang/lib/Lower/Bridge.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86
Maximum resident set size (kbytes): 3849144 -> 2443476
flang/lib/Lower/PFTBuilder.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99
Maximum resident set size (kbytes): 4218368 -> 2923128
flang/lib/Lower/Allocatable.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50
Maximum resident set size (kbytes): 3092840 -> 2116908
flang/lib/Semantics/Semantics.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20
Maximum resident set size (kbytes): 3527744 -> 2545308
While the newly added precompiled headers are as follows:
Parser:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.62
Maximum resident set size (kbytes): 1034608
Lower:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:41.33
Maximum resident set size (kbytes): 3615240
Semantics:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.69
Maximum resident set size (kbytes): 2403776
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 3dc3d431e7385874f200a83bb2f291d2d45b1d16
https://github.com/llvm/llvm-project/commit/3dc3d431e7385874f200a83bb2f291d2d45b1d16
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
SPIRV: Simplify phi processing (#137050)
Commit: f2b8539803ea5887a9653d26cdcacaabd536ae1c
https://github.com/llvm/llvm-project/commit/f2b8539803ea5887a9653d26cdcacaabd536ae1c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Lex/LiteralSupport.cpp
M clang/test/C/C2y/n3353.c
Log Message:
-----------
[C2y] Correctly handle 0 in the preprocessor (#137844)
We do not diagnose 0 as a deprecated octal literal outside of the
preprocessor. This fixes a bug where we were accidentally diagnosing 0
from a preprocessor conditional, however.
No release note because this is fixing an issue with a new change.
Commit: 6e43cdbc25e90d88251d69519822713afc20108c
https://github.com/llvm/llvm-project/commit/6e43cdbc25e90d88251d69519822713afc20108c
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[CodeGen] Remove unused variable 'ID' (NFC)
/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp:225:15:
error: unused variable 'ID' [-Werror,-Wunused-variable]
static char ID;
^
1 error generated.
Commit: 6dfd35457123089b3506899c8bc522f3dfa6e959
https://github.com/llvm/llvm-project/commit/6dfd35457123089b3506899c8bc522f3dfa6e959
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-ownership.c
Log Message:
-----------
[clang] ownership_returns attribute takes no more than 2 arguments (#137897)
Commit: 26da8870ede83fb9759a5c068b713beb742399ec
https://github.com/llvm/llvm-project/commit/26da8870ede83fb9759a5c068b713beb742399ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 120e940356561035bf37bc4fcb6fab771e7a9b7d
https://github.com/llvm/llvm-project/commit/120e940356561035bf37bc4fcb6fab771e7a9b7d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Add runtime verification for `memref.atomic_rmw` (#130414)
Implement runtime verification for `memref.atomic_rmw` and
`memref.generic_atomic_rmw`. Also add a missing test for `memref.store`.
Commit: 101fd87f98c9354103311db9523bc00b9df71d18
https://github.com/llvm/llvm-project/commit/101fd87f98c9354103311db9523bc00b9df71d18
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRef] Add constructor from iterator_range<U*> (NFC). (#137796)
Add a new constructor to ArrayRef that takes an iterator_range with a
random access iterator that can be converted.
This can help to avoid creating unnecessary iterator_ranges for types
where an ArrayRef can already be constructed. To be used in
https://github.com/llvm/llvm-project/pull/137798.
PR: https://github.com/llvm/llvm-project/pull/137796
Commit: 5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
https://github.com/llvm/llvm-project/commit/5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
R libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
Log Message:
-----------
[libclc] Add v3 variants of async_work_group_copy/async_work_group_strided_copy/prefetch (#137932)
3-component vector type is supported for them per OpenCL spec.
Commit: 8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
https://github.com/llvm/llvm-project/commit/8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
Log Message:
-----------
[LLVM][InstCombine] Enable constant folding for SVE asr,lsl and lsr intrinsics. (#137350)
The SVE intrinsics support shift amounts greater-than-or-equal to the
element type's bit-length, essentially saturating the shift amount to
the bit-length. However, the IR instructions consider this undefined
behaviour that results in poison. To account for this we now ignore the
result of the simplifications that result in poison. This allows
existing code to be used to simplify the shifts but does mean:
1) We don't simplify cases like "svlsl_s32(x, splat(32)) => 0".
2) We no longer constant fold cases like "svadd(poison, X) => poison"
For (1) we'd need dedicated target specific combines anyway and the
result of (2) is not specified by the ACLE and replicating LLVM IR
behaviour might be confusing to ACLE writers.
Commit: 730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
https://github.com/llvm/llvm-project/commit/730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
A mlir/test/Target/SPIRV/consecutive-selection.spv
Log Message:
-----------
[mlir][spirv] Split header and merge block in `mlir.selection`s (#134875)
In the example below with the current code the first selection construct
(`if`/`else` in GLSL for simplicity) share its merge block with a header
block of the second construct.
```
bool _115;
if (_107)
{
// ...
_115 = _200 < _174;
}
else
{
_115 = _107;
}
bool _123;
if (_115)
{
// ...
_123 = _213 < _174;
}
else
{
_123 = _115;
}
```
This results in a malformed nesting of `mlir.selection` instructions
where one selection ends up inside a header block of another selection
construct. For example:
```
%61 = spirv.mlir.selection -> i1 {
%80 = spirv.mlir.selection -> i1 {
spirv.BranchConditional %60, ^bb1, ^bb2(%60 : i1)
^bb1: // pred: ^bb0
// ...
spirv.Branch ^bb2(%101 : i1)
^bb2(%102: i1): // 2 preds: ^bb0, ^bb1
spirv.mlir.merge %102 : i1
}
spirv.BranchConditional %80, ^bb1, ^bb2(%80 : i1)
^bb1: // pred: ^bb0
// ...
spirv.Branch ^bb2(%90 : i1)
^bb2(%91: i1): // 2 preds: ^bb0, ^bb1
spirv.mlir.merge %91 : i1
}
```
This change ensures that the merge block of one selection is not a
header block of another, splitting blocks if necessary. The existing
block splitting mechanism is updated to handle this case.
Commit: 1180740ced0218865577a09c9245f035e443a6f0
https://github.com/llvm/llvm-project/commit/1180740ced0218865577a09c9245f035e443a6f0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
R libclc/generic/include/clc/integer/integer-gentype.inc
Log Message:
-----------
[libclc][NFC] Remove unused integer-gentype.inc
This is presumably replaced with uses of integer/gentype.inc.
Commit: 5b20b5721a0623bad51c9d3734b47842ee921ee3
https://github.com/llvm/llvm-project/commit/5b20b5721a0623bad51c9d3734b47842ee921ee3
Author: Gergely Bálint <50703923+bgergely0 at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M bolt/docs/BinaryAnalysis.md
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT][AArch64] Allow binary-analysis and heatmap tool to run with pac-ret binaries (#136664)
OpNegateRAState support is only needed for tools that produce binaries.
Commit: 3b12bac6d1b3ac8aa4b465abe5adec8110025fac
https://github.com/llvm/llvm-project/commit/3b12bac6d1b3ac8aa4b465abe5adec8110025fac
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
Log Message:
-----------
[LLVM][Reassociate] Extend ConvertShiftToMul to allow for ConstantInt vectors. (#137340)
This has the side effect of fixing the FIXME for when
use-constant-int-for-fixed-length-splat becomes the default.
Commit: de6d010f4e3fbfdb54e257c496c16db30c6c0d91
https://github.com/llvm/llvm-project/commit/de6d010f4e3fbfdb54e257c496c16db30c6c0d91
Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
A mlir/test/IR/custom-struct-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.h
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][tblgen] Add custom parsing and printing within struct (#133939)
This PR extends the `struct` directive in tablegen to support nested
`custom` directives. Note that this assumes/verifies that that `custom`
directive has a single parameter.
This enables defining custom field parsing and printing functions if the
`struct` directive doesn't suffice. There is some existing potential
downstream usage for it:
https://github.com/openxla/stablehlo/blob/a3c7de92425e8035437dae67ab2318a82eca79a1/stablehlo/dialect/StablehloOps.cpp#L3102
Commit: 0d6c9f32735a71812208f92eb640ae88a089a930
https://github.com/llvm/llvm-project/commit/0d6c9f32735a71812208f92eb640ae88a089a930
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/unittests/ADT/ArrayRefTest.cpp
Log Message:
-----------
[ArrayRefTest] Use plain array instead of std::array in unit tests.
std::array<> doesn't seem to decay to plain pointers on some MSVC
versions, causing windows build failures after 101fd87f98c9.
Use plain arrays to fix windows builds, including
https://lab.llvm.org/buildbot/#/builders/2/builds/22803
Commit: f1248d6347a3d013c82ec34d27a09e9dcdbce44e
https://github.com/llvm/llvm-project/commit/f1248d6347a3d013c82ec34d27a09e9dcdbce44e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn] fix minor mistake from 3e523502a159
Commit: 6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
https://github.com/llvm/llvm-project/commit/6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
R llvm/test/Linker/Inputs/pr22807-1.ll
R llvm/test/Linker/Inputs/pr22807-2.ll
A llvm/test/Linker/Inputs/pr22807.ll
M llvm/test/Linker/Inputs/type-unique-opaque.ll
M llvm/test/Linker/intrinsics-with-unnamed-types.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-opaque.ll
M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
M llvm/test/ThinLTO/X86/import_opaque_type.ll
M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
M llvm/test/Transforms/Reg2Mem/non-token-test.ll
M llvm/test/Verifier/memset-pattern-unsized.ll
M llvm/test/Verifier/nofpclass.ll
M llvm/test/Verifier/unsized-types-load.ll
M llvm/test/Verifier/unsized-types-store.ll
M llvm/unittests/FuzzMutate/OperationsTest.cpp
Log Message:
-----------
[IR] Don't allow values of opaque type (#137625)
Consider opaque types as non-first-class types, i.e. do not allow SSA
values to have opaque type.
Commit: 0ba136147814cb8bc19dfa1712dad3a25b3ae27a
https://github.com/llvm/llvm-project/commit/0ba136147814cb8bc19dfa1712dad3a25b3ae27a
Author: Alan Li <me at alanli.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
Log Message:
-----------
[MLIR][GPU] Use arith instead of index for subgroup_id (#137843)
Trying to simplify situation by using `arith` dialect instead of `index`
in the rewriting of `gpu.subgroup_id`.
Commit: e87aaaf3274d721bf338012f5b299e65b0201fc5
https://github.com/llvm/llvm-project/commit/e87aaaf3274d721bf338012f5b299e65b0201fc5
Author: Kip Hamiltons <48076495+KipHamiltons at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Minor editorial fixes (#137782)
Commit: fa7e69561c86f898537b80787250ba6673d810ff
https://github.com/llvm/llvm-project/commit/fa7e69561c86f898537b80787250ba6673d810ff
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] Make RISCV/MCTargetDesc depend on RISCV/TargetInfo
RISCVMCTargetDesc.cpp calls getTheRISCV{32,64}Target(), which is in TargetInfo.
Looks like this dependency has been missing for a long time.
Commit: e66eb836e67f2fb0e92b62029f779dad49f5b22b
https://github.com/llvm/llvm-project/commit/e66eb836e67f2fb0e92b62029f779dad49f5b22b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn] Make FrontendTests depend on AllTargetsDescs
The CMake build merged most clang unittests into a single binary.
The gn build doesn't (yet?) do this, but as part of that change,
FrontendTests somehow picked up a dependency on AllTargetsDescs,
see https://github.com/llvm/llvm-project/pull/134196#discussion_r2068617059
Commit: 976493822443c52a71ed3c67aaca9a555b20c55d
https://github.com/llvm/llvm-project/commit/976493822443c52a71ed3c67aaca9a555b20c55d
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[llvm][mlir] Adding instrument function entry and instrument function exit attributes (#137856)
Commit: 132f7867ff8fa42a62e8ef965cb69acf5d09452c
https://github.com/llvm/llvm-project/commit/132f7867ff8fa42a62e8ef965cb69acf5d09452c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Pass/IRPrinting.cpp
M mlir/test/Pass/ir-printing-file-tree.mlir
Log Message:
-----------
[mlir] Fix `--mlir-print-ir-tree-dir` when the symbol name contains `/` (or `\` on windows) (#137686)
Fixes #137622
Commit: 01e029602a8ae860852ad2dd8c6ea347c9200066
https://github.com/llvm/llvm-project/commit/01e029602a8ae860852ad2dd8c6ea347c9200066
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
Log Message:
-----------
[clang] Temporarily silence noisy warning for FPEvalMethod
See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513
Commit: 349dc34b461a4df6eca4443f5935366cde4508bd
https://github.com/llvm/llvm-project/commit/349dc34b461a4df6eca4443f5935366cde4508bd
Author: Iris Shi <0.0 at owo.li>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/abs.ll
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
[ConstraintElim] Fix poison check before adding intrinsic facts (#136291)
Commit: a5fef2aff8f6a86e329fe81ad8db90674fe8f079
https://github.com/llvm/llvm-project/commit/a5fef2aff8f6a86e329fe81ad8db90674fe8f079
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
Log Message:
-----------
[SPIRV] Fix test with VK1.3 validation (#137633)
An update to the spirv validator is now correctly rejecting vulkan
shaders with the linkage capability. We have a couple tests that need
updating to remove the capability.
Fixes https://github.com/llvm/llvm-project/issues/136344
Commit: b54b3e81f28c7ead02e6a29274ad03088a70a988
https://github.com/llvm/llvm-project/commit/b54b3e81f28c7ead02e6a29274ad03088a70a988
Author: Iris Shi <0.0 at owo.li>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
Recommit "[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)" (#136467)
Commit: 1a14ef1c89bf4632bf25a959142770f190dcaaf1
https://github.com/llvm/llvm-project/commit/1a14ef1c89bf4632bf25a959142770f190dcaaf1
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Temporarily silence noisy warning for FPEvalMethod in another place
When adding an explicit default copy ctor and assignment operator,
clang emits the diag there, instead of for the class. That's narrow
enough that we can suppress the warning there too.
With this, it only files building a single file (CompilerInvocation.cpp).
See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513
Commit: c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
https://github.com/llvm/llvm-project/commit/c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/test/MC/SystemZ/machine-directive-invalid.s
M llvm/test/MC/SystemZ/machine-directive.s
Log Message:
-----------
[SystemZ] Implement .machine (push|pop) directives (#137302)
The `.machine push` and `.machine pop` directives were missing from the
SystemZ Backend Asm Parser. This PR adds them, and expands the
corresponding test to test proper operation.
Internally, this is modeled as a simple stack implemented on a
`SmallVector<StringRef>`.
Commit: 1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
https://github.com/llvm/llvm-project/commit/1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] prevent -Wunknown-warning-option with older clangs
Commit: 6aafd5ef06599f3a7b60309dae2071dfa3f63697
https://github.com/llvm/llvm-project/commit/6aafd5ef06599f3a7b60309dae2071dfa3f63697
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn] Make Sparc/MCTargetDesc depend on Sparc/TargetInfo
Like fa7e69561c86f8, but for Sparc.
Commit: 7495f92f08d5d621743d26c410e9b27d872af508
https://github.com/llvm/llvm-project/commit/7495f92f08d5d621743d26c410e9b27d872af508
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
Log Message:
-----------
[AMDGPU] Fix undefined scc register in successor block of SI_KILL terminators (#134718)
Fix issue 131298 where an undefined $scc register causes verifier errors
when using SI_KILL_F32_COND_IMM_TERMINATOR instructions. The problem
occurs because the $scc register defined in a comparison before the kill
terminator is used in successor blocks, but was not properly marked as live-in.
This patch:
- Adds code to check if SCC is used in the successor block
- Adds SCC as a live-in to successor blocks
- Handles both explicit and implicit uses of SCC
With this patch the machine verifier no longer reports undefined $scc
errors in following kill terminator instruction.
Fixes #131298
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 7bc16a0f63c3f31762b97e5855932b769c4d3cf5
https://github.com/llvm/llvm-project/commit/7bc16a0f63c3f31762b97e5855932b769c4d3cf5
Author: Callum Fare <callum at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/CMakeLists.txt
A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
Log Message:
-----------
[Offload] Adding missing Offload unit tests for event entry points (#137315)
A couple of liboffload entry points were missed out from the tests, and
unsurprisingly a crash in one of them made it in. Add the tests and fix
the unchecked error in `olDestroyEvent`.
Commit: c2a62af2a51d58183bcd72ee8a86c37ddd526758
https://github.com/llvm/llvm-project/commit/c2a62af2a51d58183bcd72ee8a86c37ddd526758
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
Log Message:
-----------
[clang] Another Wpreferred-type-bitfield-enum-conversion suppression fix!
If a compiler does not know `__has_warning`, it will of course complain
if it's used on the same line as the check for its presence. Put the use
in a separate line.
Should help e.g. https://lab.llvm.org/buildbot/#/builders/123/builds/18503
Commit: e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
https://github.com/llvm/llvm-project/commit/e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Add diagnostic + attr for unterminated strings (#137829)
This introduces three things related to intialization like:
char buf[3] = "foo";
where the array does not declare enough space for the null terminator
but otherwise can represent the array contents exactly.
1) An attribute named 'nonstring' which can be used to mark that a
field or variable is not intended to hold string data.
2) -Wunterminated-string-initialization, which is grouped under
-Wextra, and diagnoses the above construct unless the declaration
uses the 'nonstring' attribute.
3) -Wc++-unterminated-string-initialization, which is grouped under
-Wc++-compat, and diagnoses the above construct even if the
declaration uses the 'nonstring' attribute.
Fixes #137705
Commit: 84a5435db63f43ec3f4abbb42eda2674dd35cda9
https://github.com/llvm/llvm-project/commit/84a5435db63f43ec3f4abbb42eda2674dd35cda9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseStmt.cpp
A clang/test/Parser/gh137861.cpp
Log Message:
-----------
Fix crash when an attribute is applied to pragma attribute/pragma dump (#137880)
These two don't result in a statement, so the attempt to apply the
attributes to them was crashing. This patch correctly prohibits the use
of attributes on these clauses.
Fixes: #137861
Commit: 41647412c6a4091080fd47b0f554adc5c54b4b54
https://github.com/llvm/llvm-project/commit/41647412c6a4091080fd47b0f554adc5c54b4b54
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/usubo_carry.ll
Log Message:
-----------
[PowerPC] Fix an LowerADDSUBO_CARRY error when converting carry bit for usubo_carry (#137809)
In PowerPC, if a borrow occurs during a subtraction, the carry bit is
zero (unset). The carry bit is set if no borrow occurs.
For ISD::USUBO_CARRY, the nodes produce two results: the normal result
of the addition or subtraction, and a boolean value that is 1 if and
only if there is an outgoing carry or borrow.
Therefore, we need to convert a 1 (which indicates a borrow in
ISD::USUBO_CARRY) to 0 to match PowerPC's definition of borrow.
Similarly, we need to convert a 0 (no borrow in ISD::USUBO_CARRY) to 1
for PowerPC.
To perform this conversion, we use XOR 1 instead of XOR
DAG.getAllOnesConstant(DL, CarryOp.getValueType()).
`
Commit: 721c5cc327e30edbdd6cf14348ec076c79079125
https://github.com/llvm/llvm-project/commit/721c5cc327e30edbdd6cf14348ec076c79079125
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/loop.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from loop regions (#135344)
This change extends `spirv.mlir.loop` so it can yield values, the same
as `spirv.mlir.selection`.
Commit: f5c8c1eedb44861cda8885a04813de999ca9d18a
https://github.com/llvm/llvm-project/commit/f5c8c1eedb44861cda8885a04813de999ca9d18a
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLPVectorizer] Move X86 specific handling into X86TTIImpl. (#137830)
`ad9909d "[SLP]Fix perfect diamond match with extractelements in scalars" `
changed SLPVectorizer getScalarizationOverhead() to call
TTI.getVectorInstrCost() instead of TTI.getScalarizationOverhead() in some
cases. This was due to X86 specific handlings in these (overridden) methods,
and unfortunately the general preference of TTI.getScalarizationOverhead()
was dropped. If VL is available it should always be preferred to use
getScalarizationOverhead(), and this is indeed the case for SystemZ which
has a special insertion instruction that can insert two GPR64s.
Then ` 33af951 "[SLP]Synchronize cost of gather/buildvector nodes with
codegen"` reworked SLPVectorizer getGatherCost() which together with
ad9909d caused the SystemZ test vec-elt-insertion.ll to fail.
This patch restores the SystemZ test and reverts the change in SLPVectorizer
getScalarizationOverhead() so that TTI.getScalarizationOverhead() is always
called again. The ForPoisonSrc argument is now passed on to the TTI method
so that X86 can handle this as required.
Fixes: #135346
Commit: 75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
https://github.com/llvm/llvm-project/commit/75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/clc_fmax.h
M libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
M libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
Log Message:
-----------
[libclc] Clean up unnecessary #undef __CLC_BODYs (#137959)
This macro is automatically undefined by the various gentype-like
helpers.
Commit: c26db586a06204a9e6f9912f41fce62a559a0196
https://github.com/llvm/llvm-project/commit/c26db586a06204a9e6f9912f41fce62a559a0196
Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
Log Message:
-----------
[mlir][affine] Modify assertion into a user visible diagnostic (#136474)
Fixes #122227
The loop’s induction variable (%i) is used to compute two different
indices via affine.apply.
And the Vectorization Assumption is Violated i.e, Each vectorized loop
should contribute at most one non-invariant index.
**Minimal example crashing :**
```
#map = affine_map<(d0)[s0] -> (d0 mod s0)>
#map1 = affine_map<(d0)[s0] -> (d0 floordiv s0)>
func.func @single_loop_unrolling_2D_access_pattern(%arg0: index) -> memref<2x2xf32> {
%c2 = arith.constant 2 : index
%cst = arith.constant 1.0 : f32
%alloc = memref.alloc() : memref<2x2xf32>
affine.for %i = 0 to 4 {
%row = affine.apply #map1(%i)[%c2]
%col = affine.apply #map(%i)[%c2]
affine.store %cst, %alloc[%row, %col] : memref<2x2xf32>
}
return %alloc : memref<2x2xf32>
}
```
The single loop %i contributes two indices (%row and %col) to the 2D
memref access.
The permutation map expects one index per vectorized loop dimension, but
here one loop (%i) maps to two indices (dim=0 and dim=1).
The code detects this when trying to assign the second index (dim=1) to
the same vector dimension (perm[0]).
Commit: a8607063f32a14a6cf453c84edcb21d08f517f25
https://github.com/llvm/llvm-project/commit/a8607063f32a14a6cf453c84edcb21d08f517f25
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
Log Message:
-----------
[flang-rt] Simplify INDEX with len-1 SUBSTRING. (#137889)
The len-1 case is noticeably slower than gfortran's straightforward
implementation
https://github.com/gcc-mirror/gcc/blob/075611b646e5554ae02b2622061ea1614bf16ead/libgfortran/intrinsics/string_intrinsics_inc.c#L253
This change speeds up a simple microkernel by 37% on icelake.
Commit: f91a6e6dab44a7eacee2312f955b6e28cb227900
https://github.com/llvm/llvm-project/commit/f91a6e6dab44a7eacee2312f955b6e28cb227900
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
Log Message:
-----------
[SCEV] Reject comparision of pointers to different address spaces in SCEVWrapPredicate::implies (#137935)
Commit: 8836bce84208737f5807c396345a41e688d3ec11
https://github.com/llvm/llvm-project/commit/8836bce84208737f5807c396345a41e688d3ec11
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/docs/FortranStandardsSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/test/Fir/cse.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
A flang/test/HLFIR/volatile.fir
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
Log Message:
-----------
[flang] Add lowering of volatile references (#132486)
[RFC on
discourse](https://discourse.llvm.org/t/rfc-volatile-representation-in-flang/85404/1)
Flang currently lacks support for volatile variables. For some cases,
the compiler produces TODO error messages and others are ignored. Some
of our tests are like the example from _C.4 Clause 8 notes: The VOLATILE
attribute (8.5.20)_ and require volatile variables.
Prior commits:
```
c9ec1bc753b0 [flang] Handle volatility in lowering and codegen (#135311)
e42f8609858f [flang][nfc] Support volatility in Fir ops (#134858)
b2711e1526f9 [flang][nfc] Support volatile on ref, box, and class types (#134386)
```
Commit: 0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
https://github.com/llvm/llvm-project/commit/0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
Author: enh-google <enh at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/test/src/search/lsearch_test.cpp
Log Message:
-----------
[libc] lsearch_test.cpp: put helpers in anonymous namespace. (#137964)
Commit: bad8bf56d3e4f107423b307f5f75564296703a76
https://github.com/llvm/llvm-project/commit/bad8bf56d3e4f107423b307f5f75564296703a76
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Linearization: push 'bit width' logic out of patterns (#136581)
[NFC]
Vector linearization is a collection of rewrite patterns that reduce the
rank of vector operands and results.
In https://github.com/llvm/llvm-project/pull/83314 an option to ignore
(make 'legal') operations with large inner-most dimensions was added.
This current PR is a step towards making that option live outside of
upstream MLIR. The motivation is to remove non-core functionality (I
would like to use this pass, but would prefer not to deal with
'targetVectorBitWidth` at all).
As a follow-up to this PR, I propose that user(s) of the
`targetVectorBitWidth` move the relevant code (now in
mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code
bases, and then eventually remove it from upstream. In addition the tests need to
split out (I've intentionally not modified the lit tests here, to make
it easier to confirm that this is a NFC). I'm happy to help make it
easier to do this final step!
The approach I've used is to move the logic pertaining to
`targetVectorBitWidth` out the patterns, and into the conversion target,
which the end user can control outside of core MLIR.
Commit: d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
https://github.com/llvm/llvm-project/commit/d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/test/CIR/IR/ternary.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/ternary.cir
Log Message:
-----------
[CIR] Upstream TernaryOp (#137184)
This patch adds TernaryOp to CIR plus a pass that flattens the operator
in FlattenCFG.
This is the first PR out of (probably) 3 wrt. TernaryOp. I split the
patches up to make reviewing them easier. As such, this PR is only about
adding the CIR operation. The next PR will be about the CodeGen bits
from the C++ conditional operator and the final one will add the
cir-simplify transform for TernaryOp and SelectOp.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
https://github.com/llvm/llvm-project/commit/0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
Author: Peter Rong <peterrong96 at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/AST/Mangle.h
M clang/lib/AST/Mangle.cpp
Log Message:
-----------
[clang AST] move mangling API to namespace clang to allow calls from swift-frontend (#137884)
When implementing `@objcDirect` in Swift, Swift needs to mangle a native
`Decl` that is not a clang Node, which in turn don't have access to
`clang::MangleContext`. Reimplementing mangling logic in Swift is
redundant.
This patch moves mangling logic from `clang::MangleContext` to `clang`
using only basic types (`StringRef`, `std::optional`, etc.), such that
Swift can we can just call Clang API: Swift depends on Clang already.
We are separating this from #126639 so we can draft the proposal on the
Swift side. #126639 will be worked to depend on this PR.
Tests: No new tests, old ones should pass with no problem.
---------
Signed-off-by: Peter Rong <PeterRong at meta.com>
Commit: ea3959e841367ef691472ccf78ec25252dbfe288
https://github.com/llvm/llvm-project/commit/ea3959e841367ef691472ccf78ec25252dbfe288
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[MLIR][Arith] Add ValueBoundsOpInterface for FloorDivSI (#137879)
Enables value bounds inference through signed division operations.
Commit: 8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
https://github.com/llvm/llvm-project/commit/8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Add lexing support for floating points (#137720)
- this takes care to add support to match the [behaviour of
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/34b6d0f91e6afd523bdc574836093f021713cce7/tools/clang/lib/Parse/HLSLRootSignature.cpp#L74)
acceptable floating point integers
Namely:
- Allow for specifying the decimal '.'
- Allow for specifying exponents with 'e' or 'E' and allow for 'f' to
denote an otherwise interpreted integer as a float
This pr is simply responsible of creating a token that could be
interpeted as a floating point integer by `NumericLiteralParser`. As
such, we are not required to validate that the special characters only
occur once and that 'f' is only at the end of the string. These will be
validated when invoking `NumericLiteralParser` during parsing.
Resolves #126565
Commit: 6274cdb9a6714908c8a4e30d2ef0bf22a6949065
https://github.com/llvm/llvm-project/commit/6274cdb9a6714908c8a4e30d2ef0bf22a6949065
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetOSMacros.def
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Fix UEFI Target info (#127290)
For X64 UEFI targets set appropriate integer type sizes, and relevant
ABI information.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: ff8fc5bc45c166d686e485b306fdcdadd5b02637
https://github.com/llvm/llvm-project/commit/ff8fc5bc45c166d686e485b306fdcdadd5b02637
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/test/Shell/lit.site.cfg.py.in
Log Message:
-----------
[lldb][cmake] Add clang resource dir to LLDB shell tests config (#136761)
We want to be able to access the Clang resources directory in LLDB shell
tests, this commit adds the ability to do this by populating the
`CLANG_RESOURCE_DIR` variable in LLDBConfig.cmake.
Commit: 88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
https://github.com/llvm/llvm-project/commit/88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_mc_test_checks.py
M llvm/utils/update_mca_test_checks.py
M llvm/utils/update_mir_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
Change update_xxx_checks to continue on error when processing mutliple inputs (#137728)
Change llvm/utils/update_xxx_checks.py scripts to:
Catch exceptions individually for each test. On exception print which
test triggered the exception and continue with the remaining test
updates.
Commit: 2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
https://github.com/llvm/llvm-project/commit/2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
Log Message:
-----------
[VectorUtils][VPlan] Consolidate VPWidenIntrinsicRecipe::onlyFirstLaneUsed and isVectorIntrinsicWithScalarOpAtArg (#137497)
We can reuse isVectorIntrinsicWithScalarOpAtArg in VectorUtils to
determine if only the first lane will be used for a
VPWidenIntrinsicRecipe, provided that we also move the VP EVL operand
check into it.
This was needed by a local patch I was working on that created a
VPWidenIntrinsicRecipe with a VP intrinsic, and prevents the need to
update the scalar arguments in two places.
Commit: 2a5ee2501d6249933b0dd4f81a4ec56e146b9669
https://github.com/llvm/llvm-project/commit/2a5ee2501d6249933b0dd4f81a4ec56e146b9669
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
Log Message:
-----------
[HLSL] Allow resource annotations to specify only register space (#135287)
Specifying only `space` in a `register` annotation means the compiler
should implicitly assign a register slot to the resource from the
provided virtual register space.
Closes #133346
Commit: c02496901d979ddc7cd83aec34e408adba81e433
https://github.com/llvm/llvm-project/commit/c02496901d979ddc7cd83aec34e408adba81e433
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] port ff8fc5bc45c1, kind of
This is probably the wrong value. Might have to tweak later.
But I think nobody is running these tests at the moment anyways.
Commit: ee136383628290f7efa0fc4562beef2b411048bb
https://github.com/llvm/llvm-project/commit/ee136383628290f7efa0fc4562beef2b411048bb
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/extload-align.ll
M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unroll.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
Log Message:
-----------
[AMDGPU] Remove explicit datalayout from tests where not needed
Since e39f6c1844fab59c638d8059a6cf139adb42279a opt will infer the
correct datalayout when given a triple. Avoid explicitly specifying it
in tests that depend on the AMDGPU target being present to avoid the
string becoming out of sync with the TargetInfo value.
Only tests with REQUIRES: amdgpu-registered-target or a local lit.cfg
were updated to ensure that tests for non-target-specific passes that
happen to use the AMDGPU layout still pass when building with a limited
set of targets.
Reviewed By: shiltian, arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137921
Commit: a57847232f3b6d23c2d4d183be1964607140bf7b
https://github.com/llvm/llvm-project/commit/a57847232f3b6d23c2d4d183be1964607140bf7b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
Log Message:
-----------
[LoadStoreVectorizer] Remove more unnecessary data layouts from tests
The tests in this directory all depend on the AMDGPU target being
present so we can let opt infer the data layout.
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/137924
Commit: b02f2e80567af09576692554bc7ce048326dfd06
https://github.com/llvm/llvm-project/commit/b02f2e80567af09576692554bc7ce048326dfd06
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
Log Message:
-----------
[GlobalOpt] Simplify datalayout for test
There is no need to have a full AMDGPU data layout here, we just need a
different alloca and globals address space.
Commit: fa769655e73d70b480be8034a1cbc101115c1678
https://github.com/llvm/llvm-project/commit/fa769655e73d70b480be8034a1cbc101115c1678
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[LV] NFC: Make VPPartialReductionRecipe a VPReductionRecipe
Commit: ea0e6e33835fe9fada89f77cc3a6cd74eb690067
https://github.com/llvm/llvm-project/commit/ea0e6e33835fe9fada89f77cc3a6cd74eb690067
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
Log Message:
-----------
[OpenACC] Improve 'loop' content restrictions
The 'loop' construct has some limitations that are not particularly
clear on what can be in the for-loop. This patch adds some restriction
so that the increment can only be a addition or subtraction operation,
BUT starts allowing Itr = Itr +/- N forms.
Commit: 1531dfcb3a953b7b3187bca7e58e4e18def58d7d
https://github.com/llvm/llvm-project/commit/1531dfcb3a953b7b3187bca7e58e4e18def58d7d
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/IR/Mangler.cpp
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/mangle-question-mark.ll
M llvm/test/CodeGen/X86/win32-preemption.ll
M llvm/unittests/IR/ManglerTest.cpp
Log Message:
-----------
[llvm] Linker flags for UEFI (#137878)
Use appropriate linker flag format to match PE spec for UEFI.
Commit: d30554b19edc27bc9ca3475b888c1b3e4eda87c4
https://github.com/llvm/llvm-project/commit/d30554b19edc27bc9ca3475b888c1b3e4eda87c4
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
A mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
[mlir][xegpu] SIMT distribution patterns for XeGPU CreateNdTdesc, LoadNd, StoreNd and Dpas Ops. (#135271)
This PR adds the SIMT distribution patterns for create_nd_tdesc, load_nd, store_nd and dpas XeGPU ops.
Commit: d851490c290832507d5fd87227e995d233b9f5b2
https://github.com/llvm/llvm-project/commit/d851490c290832507d5fd87227e995d233b9f5b2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
Log Message:
-----------
[HLSL] Make lerp overload tests stricter. NFC (#137898)
These tests had checks across multiple functions, because none of the
hlsl header implementation functions were inlined. Switch the run lines
to use -O1 instead of -disable-llvm-passes and rewrite the tests to
actually look at the whole function.
Note - this would be simpler with update_cc_test_checks, but the
differences between DX and SPIRV are difficult to account for with those
scripts.
Commit: ae6b4b23ea4291e937192a3c08d0f3c9835864c2
https://github.com/llvm/llvm-project/commit/ae6b4b23ea4291e937192a3c08d0f3c9835864c2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
Log Message:
-----------
[HLSL] Overloads for `lerp` with a scalar weight (#137877)
This adds overloads for the `lerp` function that accept a scalar for the
weight parameter by splatting it into the appropriate vector.
Fixes #137827
Commit: b85f37a132827c8c298c2362ef0429f0dd71adb2
https://github.com/llvm/llvm-project/commit/b85f37a132827c8c298c2362ef0429f0dd71adb2
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb][test] Free buffer to fix memory leak on test (#137979)
Commit: 228b3309880bbd5a237257df5d67a0f7f4b5a01f
https://github.com/llvm/llvm-project/commit/228b3309880bbd5a237257df5d67a0f7f4b5a01f
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Support pack expansion for Clang Thread Safety attributes (#137477)
Support for attribute parameter packs was added some time ago in commit
ead1690d31f815c00fdd2bc23db4766191bbeabc. But template substitution
didn't expand the packs yet. For now expansion can only happen within a
`VariadicExprArgument`: i.e. in `try_acquire_capability`, which takes a
regular and a variadic argument, the template can't have a single pack
that then expands to cover both arguments.
This is a prerequisite for #42000.
Commit: 4a6c81dc0e2790ec48a7da483970b95d847be8d7
https://github.com/llvm/llvm-project/commit/4a6c81dc0e2790ec48a7da483970b95d847be8d7
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
M llvm/lib/Support/Timer.cpp
Log Message:
-----------
[clang] Implement JSON formatted -ftime-report (#137737)
This patch adds a new flag, -ftime-report-json, which outputs the same
information as -ftime-report but as JSON instead of -ftime-report's
pretty printed format.
Commit: e8f590e0e3507e6ad30d17bfd52530e70d372315
https://github.com/llvm/llvm-project/commit/e8f590e0e3507e6ad30d17bfd52530e70d372315
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][acc] Improve acc.loop support as a container (#137887)
Dialects which have their own loop representation not representable with
numeric bounds + steps cannot be represented cleanly with acc.loop. In
such a case, we permit the dialects representation with acc.loop merely
encompasing its loop representation. This limitation became obvious when
looking at range / random iterator C++ loops.
The API of acc.loop was updated to test for this differentiation.
Additionally, the verifier was updated to check for consistent bounds
and whether inner-loops are contained when it works as a container.
Commit: 92b03e4f04405bfe55d707ed17a8b6ca89513018
https://github.com/llvm/llvm-project/commit/92b03e4f04405bfe55d707ed17a8b6ca89513018
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[clang][NFC] Format two files with CallingConv switches (#138000)
I'm planning on modifying this code so format it so we can pass the
formatting check.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 7dad8b91bc94741034052a4eb06ef45e7cb47c06
https://github.com/llvm/llvm-project/commit/7dad8b91bc94741034052a4eb06ef45e7cb47c06
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
Log Message:
-----------
[flang] Fetch the initial reduction value from the input array. (#136790)
Instead of using loop-carried IsFirst predicate, we can fetch
the initial reduction values for MIN/MAX LOC/VAL reductions
from the array itself. This results in a little bit cleaner
loop nests, especially, generated for total reductions.
Otherwise, LLVM is able to peel the first iteration of the innermost
loop, but the surroudings of the peeled code are executed
multiple times withing the outer loop(s).
This patch does the manual peeling, which only works for
non-masked reductions where the input array is not empty.
Commit: 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
https://github.com/llvm/llvm-project/commit/9b0eaf71e674a28ee55be3afa11b5f7d4da732c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Use a reference for asyncObject (#138010)
Switch from `int64_t` to `int64_t*` to fit with the rest of the
implementation.
Commit: 6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
https://github.com/llvm/llvm-project/commit/6e49f73825f1b9cb98352a7c8dca3e0cf83ebd9e
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/test/Assembler/atomic.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
Log Message:
-----------
Reland [llvm] Add support for llvm IR atomicrmw fminimum/fmaximum instructions (#137701)
This patch adds support for LLVM IR atomicrmw `fmaximum` and `fminimum`
instructions.
These mirror the `llvm.maximum.*` and `llvm.minimum.*` instructions, but
are atomic and use IEEE754 2019 handling for NaNs, which is different to
`fmax` and `fmin`. See:
https://llvm.org/docs/LangRef.html#llvm-minimum-intrinsic
for more details.
Future changes will allow this LLVM IR to be lowered to specialised
assembler instructions on suitable targets, such as AArch64.
Commit: 4ac4ad410ca5ed8b83ff397246aa6ac27742690d
https://github.com/llvm/llvm-project/commit/4ac4ad410ca5ed8b83ff397246aa6ac27742690d
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
Log Message:
-----------
[AArch64][llvm] Pre-commit tests for #137703 (NFC) (#137702)
Add pre-commit tests for lowering atomicrmw `fminimum`/`fmaximum` to
AArch64 assembler, in a subsequent change.
Commit: ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
https://github.com/llvm/llvm-project/commit/ea1bfbf3f6399b7d2d840722f0e87542d00f6a35
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][Dependency Scanning] Report What a Module Exports during Scanning (#137421)
We would like to report, for a module, which direct dependencies it
exports during dependency scanning. This PR implements this reporting by
augmenting `ModuleDep`'s `ClangModuleDeps` variable. `ClangModuleDeps`
now contains instances of `DepInfo`, which is made of a `ModuleID` and a
boolean flag that indicates if a particular dependence is exported.
rdar://144794793
Commit: 60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
https://github.com/llvm/llvm-project/commit/60c9f3fd89ab60ddda7bd6d27a65948ff8188d23
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
Log Message:
-----------
[AArch64][llvm] Codegen for 16/32/64-bit floating-point atomicrmw fminimum/faximum (#137703)
Codegen for AArch64 16/32/64-bit floating-point atomic read-modify-write
operations (`atomicrmw {fmaximum,fminimum}`) using LD{B}FMAX and
LD{B}FMIN atomic instructions.
Commit: 02e316cf8c9c73aad580e8c0d1b3b691567601ca
https://github.com/llvm/llvm-project/commit/02e316cf8c9c73aad580e8c0d1b3b691567601ca
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] legalize memset (#136244)
fixes #136243
This change converts memset into a series of geps and stores It is
intentionally limited to memsets of fixed size It also converts the byte
stores to type stores.
DXIL does not support i8 plus this reduces the total number of gep and
store instructions.
This change also moves DXILFinalizeLinkage to run after Legalization to
clean up any dead intrinsic definitions.
Commit: 9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
https://github.com/llvm/llvm-project/commit/9b8c96a040ae6b76bb73690acfc5bea85aaa51d4
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-ldst-opt-instr-ref.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-ldst-opt. (#136009)
The aarch64-ldst-opt pass tries to merge two load instructions
(LDR*) to a load pair instruction (LDP*).
When merging the instructions, there is a case where one of the
loads would have to also be sign extended. In either case,
(sign extend or not), the pass needs to preserve the debug-instr-number
from the original loads to the load pair instruction to make sure debug
info
isn't lost in the case where instruction referencing is being used.
For example:
We can have something like this:
```
debugValueSubstitutions:[]
$x1 = LDRXui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !13, dbg-instr-ref(1, 0), debug-location !11
$x0 = LDRXui killed $x0, 0, debug-instr-number 2
DBG_INSTR_REF !14, dbg-instr-ref(2, 0), debug-location !11
```
This would be changed to:
```
debugValueSubstitutions: []
$x0, $x1 = LDPXi $x0, 0
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !13, dbg-instr-ref(2, 0), debug-location !14
```
In this case, we need to create a new debug instruction number
for the `LDP` instruction, we then need to add entries into the
debugSubstitutions table to map the old instr-refs to the new ones.
After this patch, the result will be:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 3, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$x0, $x1 = LDPXi $x0, 0, debug-instr-number 3
DBG_INSTR_REF !12, dbg-instr-ref(1, 0), debug-location !14
DBG_INSTR_REF !12, dbg-instr-ref(2, 0), debug-location !14
```
However, this is not all, we also can have a case where there is a
sign-extend involved, let's look at the case:
```
debugValueSubstitutions:[]
$w1 = LDRWui $x0, 1, debug-instr-number 1
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
$x0 = LDRSWui $x0, 0, debug-instr-number 2
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This will become:
```
debugValueSubstitutions:[]
$w0, $w1 = LDPWi $x0, 0
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
$x0 is where the final value is stored, so the sign extend (SBFMXri)
instruction contains the final value we care about we give it a new
debug-instr-number 3. Whereas, $w1 contains the final value that we care
about, therefore the LDP instruction is also given a new
debug-instr-number 4. We have to add these subsitutions to the
debugValueSubstitutions table. However, we also have to ensure that the
OpIndex that pointed to debug-instr-number 1 gets updated to 1, because
$w1 is the second operand of the LDP instruction.
The result after the patch looks like:
```
debugValueSubstitutions:
- { srcinst: 1, srcop: 0, dstinst: 4, dstop: 1, subreg: 0 }
- { srcinst: 2, srcop: 0, dstinst: 3, dstop: 0, subreg: 0 }
$w0, $w1 = LDPWi $x0, 0, debug-instr-number 4
$w0 = KILL $w0, implicit-def $x0
$x0 = SBFMXri $x0, 0, 31, debug-instr-number 3
DBG_INSTR_REF !7, dbg-instr-ref(1, 0), debug-location !9
DBG_INSTR_REF !8, dbg-instr-ref(2, 0), debug-location !9
```
This patch addresses that problem.
Commit: 27e8e08b6633a31e6a5512df7a543615db4a1d56
https://github.com/llvm/llvm-project/commit/27e8e08b6633a31e6a5512df7a543615db4a1d56
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port d30554b19edc27bc9ca3475b888c1b3e4eda87c4 (#138022)
Commit: 0a1dde1d7957531701ba56e357276033a927f496
https://github.com/llvm/llvm-project/commit/0a1dde1d7957531701ba56e357276033a927f496
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
Log Message:
-----------
[Clang] Fix GPU match any truncating 64-bit lane mask
Summary:
This is a lane mask, needs all 64 bits for those wave64 targets. At some
point we should introduce __lanemask_t for this.
Commit: 21dcf6bcd1e2845601d07e1e46f17615d595f698
https://github.com/llvm/llvm-project/commit/21dcf6bcd1e2845601d07e1e46f17615d595f698
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
Log Message:
-----------
[libc] Make sure we use the right linker for bitcode linking
Summary:
We need to use the default arguments to ensure this uses the right
linker for the toolchain given cross-compiling contexts.
Commit: e9193f5fddf99188b385f2a5358dff60f7b119c4
https://github.com/llvm/llvm-project/commit/e9193f5fddf99188b385f2a5358dff60f7b119c4
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc] add uefi fullbuild to workflows (#131376)
Comes after #131246 to enable UEFI being build. Skips tests until we
have set up testing.
Commit: af4aeb325c37832e399283763345d4fc47f449eb
https://github.com/llvm/llvm-project/commit/af4aeb325c37832e399283763345d4fc47f449eb
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
Log Message:
-----------
[RawPtrRefMemberChecker] Make RawPtrRefMemberChecker consistent with other checkers (#137559)
Refactor RawPtrRefMemberChecker so that each subclass override
isUnsafePtr like other WebKit checkers instead of overriding
isPtrCompatible.
Commit: 69327c16d17b13cb2bc27968a557276bd82eef9a
https://github.com/llvm/llvm-project/commit/69327c16d17b13cb2bc27968a557276bd82eef9a
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/test/Misc/time-passes.c
M clang/tools/driver/cc1_main.cpp
Log Message:
-----------
[clang] Make `-ftime-report` and `-ftime-report-json` honor `-info-output-file` (#138035)
This way, the output of `-ftime-report` and `-ftime-report-json` can be
redirected to a specific file rather than just stderr.
Commit: df6d1cf4c2e9660967a53498a991ef9c1915c61e
https://github.com/llvm/llvm-project/commit/df6d1cf4c2e9660967a53498a991ef9c1915c61e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/basic.cpp
Log Message:
-----------
[CIR] Upstream support for l-value references (#138001)
This adds basic support for handling reference values.
Commit: ba3a46c1eaea31ce4135fe30d34ede660dd2c680
https://github.com/llvm/llvm-project/commit/ba3a46c1eaea31ce4135fe30d34ede660dd2c680
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
Log Message:
-----------
[flang][cuda] Fix type of kNoAsyncObject (#138029)
Commit: e6ffccbaa7c908839af150be8f7e21e0f8844dcc
https://github.com/llvm/llvm-project/commit/e6ffccbaa7c908839af150be8f7e21e0f8844dcc
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[NVPTX][NFC] Minor cleanup in NVPTXInstrInfo.td (#138006)
Commit: af45da1d32f47dba97a9e973c4e0c61f8cc61fea
https://github.com/llvm/llvm-project/commit/af45da1d32f47dba97a9e973c4e0c61f8cc61fea
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unused tablegen multiclass. NFC
Commit: 1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
https://github.com/llvm/llvm-project/commit/1495d132db1d26b086d2ea6b1b9c397bf4ea4a7d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
Log Message:
-----------
[lldb-dap] Add an RAII helper for synchronous mode (NFC) (#137900)
While debugging the flakiness of the launch and attach tests, I noticed
that we have some places in lldb-dap where we put the debugger in
synchronous mode and have an early exit, that would leave the debugger
in this state. This PR introduces an RAII helper to avoid such mistakes.
Commit: 71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
https://github.com/llvm/llvm-project/commit/71039bbc581b59bdec25ed1e1d4cc6e772d5bb0c
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[AMDGPU] Fix register class constraints for si-fold-operands pass when folding immediate into copies (#131387)
Fixes https://github.com/llvm/llvm-project/issues/130020
This fixes an issue where the si-fold-operands pass would incorrectly
fold immediate values into COPY instructions targeting av_32 registers.
The pass now checks register class constraints before attempting to fold
the immediate.
Commit: 5dc3cd0ee40c00d9fb542488fa5a54ff70273112
https://github.com/llvm/llvm-project/commit/5dc3cd0ee40c00d9fb542488fa5a54ff70273112
Author: Haowei <haowei at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Adding missing PR_PAC_ macro defintions (#138040)
This is a follow up of 3beacfa022da2a9c94e012e25bed89e8e4867ac2, which
added the PR_PAC_APIAKEY macro to resolve the build failures on older Linux
distros. However, it missed a few other definitions. This patch fixes
this issue.
Commit: 7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
https://github.com/llvm/llvm-project/commit/7d05f67a7377ad67e7eb15e0f8f7cf1f537b5afa
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/include/llvm/Target/TargetCallingConv.td
A llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen][CallingConv] Add CCAssignToRegTuple for synthetic registers. (#137826)
Currently CCAssignToReg takes a list<Register>. There are tuple-heavy
back-ends where we would like to reference any register-- whether those
are singletons or those defined by RegisterTuples. However, the latter
are synthesized during tuple expansion and are not visible outside of
the register info emitter.
The problem is that the parser will see tuple registers as undefined
variables before the calling convention emitter is ever reached. To
defer evaluation of the symbol, we introduce CCAssignToRegTuple which
takes list<string> instead. This allows us to defer the actual
register name lookup until the emitter runs-- where we also validate
that the register actually exists.
This is currently used in a downstream back-end which will be upstreamed
very soon. In the meantime, a unit test is provided to exercise the
feature.
Commit: afd738cd9016ddef4e26b309770ba35fd017a178
https://github.com/llvm/llvm-project/commit/afd738cd9016ddef4e26b309770ba35fd017a178
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/unittests/libclang/CrashTests/LibclangCrashTest.cpp
Log Message:
-----------
[clang] Shard out some small gtest binaries (#138021)
@nico mentioned that FormatTests and BasicTests are small binaries with
few dependencies, so keeping them separate is nice. I broke them out as
distinct test binaries, and they are still pretty small:
$ find tools/clang/unittests/ -type f -name '*Tests' | xargs du -cksh |
sort -nr
708M total
276M tools/clang/unittests/AllClangUnitTests
244M tools/clang/unittests/Interpreter/ClangReplInterpreterTests
167M
tools/clang/unittests/Interpreter/ExceptionTests/ClangReplInterpreterExceptionTests
13M tools/clang/unittests/Format/FormatTests
6.9M tools/clang/unittests/Basic/BasicTests
1.1M tools/clang/unittests/libclang/CrashTests/libclangCrashTests
I also broke out libclangCrashTests and re-enabled the failing test to
resolve llvm#137855.
Commit: 708053cd7ec576c67fd1c72cd6b836987fbee2ce
https://github.com/llvm/llvm-project/commit/708053cd7ec576c67fd1c72cd6b836987fbee2ce
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/union.c
Log Message:
-----------
[CIR] Upstream initial support for union type (#137501)
Closes #136059
Commit: c3715ecb1e1e63856a029be3c95b7e9595a56018
https://github.com/llvm/llvm-project/commit/c3715ecb1e1e63856a029be3c95b7e9595a56018
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
A utils/bazel/llvm-project-overlay/clang-tools-extra/clang-apply-replacements/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add clang-apply-replacements BUILD file (#138054)
Commit: e6a5d73f4d68462c1913fe9ac12217850872ae4e
https://github.com/llvm/llvm-project/commit/e6a5d73f4d68462c1913fe9ac12217850872ae4e
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit checkers] Treat std::bit_cast as a pointer conversion (#137476)
WebKit repalced its use of WTF::bitwise_cast with std::bit_cast. Add the
support for recognizing it as a pointer conversion.
Commit: 46838e1a093510529185408349fe192c09ea42f0
https://github.com/llvm/llvm-project/commit/46838e1a093510529185408349fe192c09ea42f0
Author: Pranav Kant <prka at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M lld/ELF/ICF.cpp
Log Message:
-----------
[lld] NFC. Rename function to better reflect its implementation (#136625)
Commit: 07deaf8464f29c34ff46983450a7412a36adcb7b
https://github.com/llvm/llvm-project/commit/07deaf8464f29c34ff46983450a7412a36adcb7b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/thread.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
Reland: [llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#136046)
Reland https://github.com/llvm/llvm-project/pull/133173
Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.
This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.
Commit: b564f5eaeb10022f5b65397e7c922c150816365b
https://github.com/llvm/llvm-project/commit/b564f5eaeb10022f5b65397e7c922c150816365b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 07deaf8464f2
Commit: c588224ca797886064a7a79f6c0114a6963c325e
https://github.com/llvm/llvm-project/commit/c588224ca797886064a7a79f6c0114a6963c325e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
[bazel] Turn on LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING
This has been defined in #137787 and affects in
llvmorg-21-init-10310-g92195f6fc873 (#137787).
Commit: 8effc8da292bfacb823a7e3c4134296da481fedc
https://github.com/llvm/llvm-project/commit/8effc8da292bfacb823a7e3c4134296da481fedc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
Reland [clang-format] Add OneLineFormatOffRegex option (#137577)
Commit: e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
https://github.com/llvm/llvm-project/commit/e6d7f46ce9a6ffdfc206802131e0d79afb624b3f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate user-defined conversion function call (#137914)
Fix #137770
Commit: 6efdcc188567fa2c9bde383e4397062f6d31427a
https://github.com/llvm/llvm-project/commit/6efdcc188567fa2c9bde383e4397062f6d31427a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/NVPTX/i128-ld-st.ll
Log Message:
-----------
[NVPTX] Fixup EXT_LOAD lowering for i128 values (#138049)
Ensure that when custom lowering a vector load/store to a multi-output
load/store node we confirm that the memory value type matches the type
used by the node. Also add some asserts for basic sanity checking of
load size.
Fixes https://github.com/llvm/llvm-project/issues/138034
Commit: c2c0ef50a1a679058fffe445a6e78b6d232dc231
https://github.com/llvm/llvm-project/commit/c2c0ef50a1a679058fffe445a6e78b6d232dc231
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::VariadicCallType` to scoped enum
Commit: 4258998654a67fb98da16f2c56cbb5912e990a9c
https://github.com/llvm/llvm-project/commit/4258998654a67fb98da16f2c56cbb5912e990a9c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
Log Message:
-----------
[clang][bytecode] Only print ptr/reference types via toAPValue() (#137965)
Otherwise, convert them to an RValue to print them. This fixes the
printing of e.g. complex values.
Commit: 53c175ceafc58fcdf13fd51f73506a7d277873bb
https://github.com/llvm/llvm-project/commit/53c175ceafc58fcdf13fd51f73506a7d277873bb
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
Log Message:
-----------
[nfc][clang] Rename function (#137874)
Rename function to meet the coding guidelines.
Commit: 16f01b37772ba7d9fec25a27ed493a93fbbe6f87
https://github.com/llvm/llvm-project/commit/16f01b37772ba7d9fec25a27ed493a93fbbe6f87
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang/include/flang/Runtime/CUDA/allocator.h
Log Message:
-----------
[flang][cuda] Fix signatures after argument change (#138081)
Commit: 5f3e5df48186a7e409d548deec13a68486e3b944
https://github.com/llvm/llvm-project/commit/5f3e5df48186a7e409d548deec13a68486e3b944
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::BuiltinCountedByRefKind` to scoped enum
Commit: 01a18809ee80b5a8bfa5a7a116e846405ab2851a
https://github.com/llvm/llvm-project/commit/01a18809ee80b5a8bfa5a7a116e846405ab2851a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Runtime/CUDA/allocatable.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/pointer.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/cuf-invalid.fir
M flang/test/Fir/cuf.mlir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
Revert "[flang][cuda] Use a reference for asyncObject (#138010)" (#138082)
This reverts commit 9b0eaf71e674a28ee55be3afa11b5f7d4da732c0.
Commit: 4acfd83ee492ba238c4082a5467a5a8e92d45102
https://github.com/llvm/llvm-project/commit/4acfd83ee492ba238c4082a5467a5a8e92d45102
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Context.h
Log Message:
-----------
[clang][bytecode][NFC] Remove unused Context::getStack() (#138079)
Commit: e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
https://github.com/llvm/llvm-project/commit/e70a8a6e0e9c3700bcfe7e9cce3c5edee6a51022
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Convert `Sema::NameClassificationKind` to scoped enum
Commit: d0a97271a4ea2b0fe392afe498af20f8499260d2
https://github.com/llvm/llvm-project/commit/d0a97271a4ea2b0fe392afe498af20f8499260d2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
Log Message:
-----------
[clang][bytecode] Remove obsolete test file (#138080)
The corresponding test in `test/SemaCXX` has a line using the bytecode
interpreter these days.
Commit: c51be1be3ac9c66fc0c598298edd1fd224c1da07
https://github.com/llvm/llvm-project/commit/c51be1be3ac9c66fc0c598298edd1fd224c1da07
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/Sema/integer-overflow.c
Log Message:
-----------
[clang][bytecode] Fix checking for integer overflow (#137962)
We need to evaluate both the True/False expressions of a conditional
operator as well as the LHS/RHS of a binary operator in more cases.
Commit: 93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
https://github.com/llvm/llvm-project/commit/93ff19c27a0ad21068f431c0380f5a6dd5c4abc3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/IR/vector.cir
Log Message:
-----------
[CIR] Upstream global initialization for VectorType (#137511)
This change adds global initialization for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
https://github.com/llvm/llvm-project/commit/ac9e1df3efcaa80b8e0fc8a16a929c0f0dc2e161
Author: Thomas Du Plessis <t at dupes.io>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
Log Message:
-----------
[clangd] Add container field to remote index Refs grpc method (#71605)
Fixes https://github.com/clangd/clangd/issues/1358
Commit: 7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
https://github.com/llvm/llvm-project/commit/7ec1e0f7ba9f3b03fa6163ab62c17dc9b404303e
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/IR/SymbolTable.h
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[MLIR] Add method to invalidate cached symbol table (#138014)
This PR adds a method to the `SymbolTableCollection` class to invalidate
the cached symbol table for an operation.
This is important when doing IR modifications that erase and also create
operations having the `OpTrait::SymbolTable` trait. If a symbol table of
an erased operation is not invalidated, a new operation sharing the same
address would be associated with outdated, and wrong, information.
Commit: 0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
https://github.com/llvm/llvm-project/commit/0d3d2f639c42b22fc1b9453c7b834dbb0f16c0dc
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/macro_reserved.i
Log Message:
-----------
[Clang] Do not warn for serialized builtin or command-line definitions (#137306)
When using `-dD` to generate a preprocessed output, the `#define`
directives
are preserved. This includes built-in and command-line definitions.
Before, clang would warn for reserved identifiers for serialized
built-in
and command-line definitions.
This patch adds an exception to these cases.
Commit: 9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
https://github.com/llvm/llvm-project/commit/9b1051281e439fcf6f6ccf03766c5bcf04ceec4b
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[DAG] Use SDValue for PatFrag checks (#137519)
If the SDNode is used it can pick up the wrong results number, for
example looking at the known bits of the first result where it should be
looking at the second. The SDValue is already present as the
SelectCodeCommon checks move from parent to child, pass the SDValue
through to CheckNodePredicate as Op so that it can use it if necessary.
SDNode *N is still generated, keeping most PatFrags the same.
Fixes #137274
Commit: 6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
https://github.com/llvm/llvm-project/commit/6c4dd8d1d2f1e81c2b309924afb255b58a31ceb2
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
Log Message:
-----------
[libclc] Move minmag & maxmag to the CLC library (#137982)
Commit: c5b750f5af72fadd4c00c120c9c585240da466b4
https://github.com/llvm/llvm-project/commit/c5b750f5af72fadd4c00c120c9c585240da466b4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move log2/log10 tables to CLC tables impl
These two tables were being used by the CLC library but their
definitions still remained in the OpenCL layer. This worked out after
linking the two together but is a layering violation.
This had a side effect of removing the two table getters from the final
bytecode library, which were never intended to be exposed.
These two tables should probably be refactored so allow better
vectorization of log/log2/log10, but that is left to future work.
Commit: 47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
https://github.com/llvm/llvm-project/commit/47424df2d5c6cc5a2b2d49a8cad438d8e75fec61
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
Log Message:
-----------
[lldb][test] Skip part of TestLldbGdbServer.py on Windows
See https://github.com/llvm/llvm-project/issues/138085.
Commit: 2dbab4ca8ddb218af555d8d1fd86b72612387582
https://github.com/llvm/llvm-project/commit/2dbab4ca8ddb218af555d8d1fd86b72612387582
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb][test] Disable a bunch of flakey lldb-dap tests
These, or parts of these, are all failing every so often on Linaro's
build bots with:
raise ValueError(desc)
ValueError: no response for "disconnect"
Sorry to use a global disable here but this is happening too often
and spamming unrelated PRs.
I think it's the same issue as https://github.com/llvm/llvm-project/issues/137660.
Commit: 9693bf457b8a3ae95735f86e23a94a7946ec540e
https://github.com/llvm/llvm-project/commit/9693bf457b8a3ae95735f86e23a94a7946ec540e
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
Log Message:
-----------
[libclang/python] Add some logical typing changes. (#138074)
This adds a few logical changes that might require discussion to the
libclang/python typing project, as the next step towards #76664 .
Some documentation is also updated to reflect the recent changes in
returned types.
Commit: 4b3acfb10a6b6388b95682c471bdbf42982be030
https://github.com/llvm/llvm-project/commit/4b3acfb10a6b6388b95682c471bdbf42982be030
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
A clang/test/Sema/warn-duplicate-decl-specifier.c
Log Message:
-----------
[C] Add -Wduplicate-decl-specifier to -Wc++-compat (#138012)
The existing diagnostic, already enabled by default in C, will diagnose
use of duplicate declaration specifiers (e.g., `const const`). However,
the C++ standard claims that is ill-formed, so the diagnostic is now
also controlled via -Wc++-compat.
Note: Clang treats this as a warning in C++ rather than an error, but
GCC does treat this as an error in C++, so the compatibility concerns
are minor but do exist.
Commit: 00f9ef282c7482754a0fea497417604d1deca9fa
https://github.com/llvm/llvm-project/commit/00f9ef282c7482754a0fea497417604d1deca9fa
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
[C] Modify -Wdefault-const-init (#137961)
Post-commit review feedback on
https://github.com/llvm/llvm-project/pull/137166 raised a concern from
the Linux kernel about wanting to silence the new diagnostic when the
uninitialized object is a const member of a structure. These members can
be initialized later if the containing object is non-const, such as
through a call to memset, for example.
This splits the diagnostic groups into:
```
-Wc++-compat
-Wdefault-const-init
-Wdefault-const-init-field
-Wdefault-const-init-var
-Wdefault-const-init-unsafe
-Wdefault-const-init-field-unsafe
-Wdefault-const-init-var-unsafe
```
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 21aa7b8138a140514ea90d85bf86c57de68c6d4f
https://github.com/llvm/llvm-project/commit/21aa7b8138a140514ea90d85bf86c57de68c6d4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
Verifier: Avoid unnecessary hasFnAttr (#138104)
When checking string attribute values are valid, it's not
necessary to check hasFnAttr prior to querying the value.
Commit: 212f2456fcde822fad37bfa4e69ced1a51a4c19d
https://github.com/llvm/llvm-project/commit/212f2456fcde822fad37bfa4e69ced1a51a4c19d
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] rename enabled flags to `disable-*` (#132991)
Closes #132983
Commit: e377dc4d38b69050a3301c68637d1b6dacaee3a9
https://github.com/llvm/llvm-project/commit/e377dc4d38b69050a3301c68637d1b6dacaee3a9
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
Log Message:
-----------
[AMDGPU] Max. WG size-induced occupancy limits max. waves/EU (#137807)
The default maximum waves/EU returned by the family of
`AMDGPUSubtarget::getWavesPerEU` is currently the maximum number of
waves/EU supported by the subtarget (only a valid occupancy range in
"amdgpu-waves-per-eu" may lower that maximum). This ignores maximum
achievable occupancy imposed by flat workgroup size and LDS usage,
resulting in situations where `AMDGPUSubtarget::getWavesPerEU` produces
a maximum higher than the one from
`AMDGPUSubtarget::getOccupancyWithWorkGroupSizes`.
This limits the waves/EU range's maximum to the maximum achievable
occupancy derived from flat workgroup sizes and LDS usage. This only has
an impact on functions which restrict flat workgroup size with
"amdgpu-flat-work-group-size", since the default range of flat workgroup
sizes achieves the maximum number of waves/EU supported by the
subtarget.
Improvements to the handling of "amdgpu-waves-per-eu" are left for a
follow up PR (e.g., I think the attribute should be able to lower the
full range of waves/EU produced by these methods).
Commit: 75d1cceb948666af9b2cb26fc3933d4176a2806d
https://github.com/llvm/llvm-project/commit/75d1cceb948666af9b2cb26fc3933d4176a2806d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/test/Sema/warn-default-const-init.c
Log Message:
-----------
Add missing RUN lines to test
These were intended to be present when 00f9ef282c7482754a0fea497417604d1deca9fa
landed
Commit: bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
https://github.com/llvm/llvm-project/commit/bc9aa0f4c4c6ad9dd6207097478f4e461a8fe5cb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-tentative-defn-compat.c
Log Message:
-----------
[C] Add -Wtentative-definition-compat (#137967)
This adds a new diagnostic to warn about redeclaration of a tentative
definition in C. This is incompatible with C++, so the new diagnostic
group is under -Wc++-compat.
Commit: 9494464b1369ffb85dc2feae773185049996c001
https://github.com/llvm/llvm-project/commit/9494464b1369ffb85dc2feae773185049996c001
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Assembler/2008-09-02-FunctionNotes2.ll
A llvm/test/Verifier/2008-09-02-FunctionNotes2.ll
Log Message:
-----------
Verifier: Move test from Assembler to right place and avoid grep (#138113)
Commit: 79b841df750e6e3d4a0e817e59c5741da4b4ef6d
https://github.com/llvm/llvm-project/commit/79b841df750e6e3d4a0e817e59c5741da4b4ef6d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/Assembler/2002-04-07-InfConstant.ll
M llvm/test/Assembler/2002-04-29-NameBinding.ll
M llvm/test/Assembler/2003-04-15-ConstantInitAssertion.ll
M llvm/test/Assembler/2003-05-12-MinIntProblem.ll
M llvm/test/Assembler/2003-05-21-MalformedStructCrash.ll
M llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
M llvm/test/Assembler/2003-11-24-SymbolTableCrash.ll
M llvm/test/Assembler/2004-01-20-MaxLongLong.ll
M llvm/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll
M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
M llvm/test/Assembler/2006-12-09-Cast-To-Bool.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
M llvm/test/Assembler/2007-03-18-InvalidNumberedVar.ll
M llvm/test/Assembler/2007-04-20-AlignedLoad.ll
M llvm/test/Assembler/2007-04-20-AlignedStore.ll
M llvm/test/Assembler/2007-08-06-AliasInvalid.ll
M llvm/test/Assembler/2008-01-11-VarargAttrs.ll
M llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
M llvm/test/Assembler/2008-09-29-RetAttr.ll
M llvm/test/Assembler/2008-10-14-QuoteInName.ll
Log Message:
-----------
Assembler: Replace some usage of grep in tests with FileCheck (#138114)
Commit: 3015edf96e4faad0d367d0879269c1c905a4eec7
https://github.com/llvm/llvm-project/commit/3015edf96e4faad0d367d0879269c1c905a4eec7
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
Log Message:
-----------
[cmake] Pass LLVM_TABLEGEN_FLAGS to cross compile targets (#138086)
If ValueTypes.td contains conditional directives enabled by defs in
LLVM_TABLEGEN_FLAGS then native build tblgen and min-tblgen must be
built with matching flags.
This ensures the embedded types in TableGen are consistent with those
used for building tables.
Commit: 0fab741a2687a6c42832fe8286591ebe626c40a8
https://github.com/llvm/llvm-project/commit/0fab741a2687a6c42832fe8286591ebe626c40a8
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Don't scalarise v8{f16,bf16} vsetcc operations. (#135398)
I have also removed custom promotion code for the v4{f16,bf16} cases
because the same common code can be used.
Commit: 149d795ab097d66a7ad0aa5d777534eb9c7420dd
https://github.com/llvm/llvm-project/commit/149d795ab097d66a7ad0aa5d777534eb9c7420dd
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
Log Message:
-----------
[LLVM][InstCombine] Enable constant folding for SVE sdiv & udiv intrinsics. (#137966)
Commit: 724eea76544cd3fe4bc739886f3dd2bb92ee169d
https://github.com/llvm/llvm-project/commit/724eea76544cd3fe4bc739886f3dd2bb92ee169d
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/RuntimeDyld/X86/coff-alignment.ll
Log Message:
-----------
[llvm][test] Change an XFAIL into a more correct REQUIRES (#137942)
As this test is about executing x86_64 code with "lli", we should only
try to do it if we actually execute on an x86_64 target. So instead of
XFAILing individual architectures that can't execute it, instead change
this into requiring an x86_64 target.
Also generalize the target triple form used; don't assume that the
vendor field is set to "pc" - many mingw toolchains use the vendor field
set to "w64".
Commit: 3376071a24b772446d2f2241e4370b6d0cba6947
https://github.com/llvm/llvm-project/commit/3376071a24b772446d2f2241e4370b6d0cba6947
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][NFC] Add missed // clang-format on
clang-format was turned off for the defines, but there was no matching
`// clang-format on` comment at the end. Ran into this in #137973
Commit: 49941749a84235bbe61db34cbb729d5fa65aaef2
https://github.com/llvm/llvm-project/commit/49941749a84235bbe61db34cbb729d5fa65aaef2
Author: Ross Brunton <bruntonross at protonmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M offload/unittests/OffloadAPI/CMakeLists.txt
Log Message:
-----------
[offload] Don't print device path during configure (#138109)
Commit: 180bc5916b1dfdf4da8516ed2666de386127e8c6
https://github.com/llvm/llvm-project/commit/180bc5916b1dfdf4da8516ed2666de386127e8c6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__type_traits/is_unbounded_array.h
Log Message:
-----------
[libc++] Simplify the implementation of is_unbounded_array a bit (#137716)
Commit: a6459debc06f9cb86940ff5cdae35a1f52e1ed19
https://github.com/llvm/llvm-project/commit/a6459debc06f9cb86940ff5cdae35a1f52e1ed19
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
Log Message:
-----------
[libc++] Remove a few unused includes from <__bit/*> (#137934)
Commit: 001cc34275111df842edbaa874b7319eef930c81
https://github.com/llvm/llvm-project/commit/001cc34275111df842edbaa874b7319eef930c81
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[clang] Add scoped enum support to `StreamingDiagnostic` (#138089)
This patch adds templated `operator<<` for diagnostics that pass scoped
enums, saving people from `llvm::to_underlying()` clutter on the side of
emitting the diagnostic. This eliminates 80 out of 220 usages of
`llvm::to_underlying()` in Clang.
I also backported `std::is_scoped_enum_v` from C++23.
Commit: b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
https://github.com/llvm/llvm-project/commit/b6f65f07bc0214f932aa69fc58859ad5ac9efa1a
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Improve type legalisation for PARTIAL_REDUCE_MLA (#130935)
Implement proper splitting functions for PARTIAL_REDUCE_MLA ISD nodes.
This makes the udot_8to64 and sdot_8to64 tests generate dot product
instructions for when the new ISD nodes are used.
---------
Co-authored-by: James Chesterman <james.chesterman at arm.com>
Commit: 0009a1783490a8ff69251a0ec7df1891a427cfb0
https://github.com/llvm/llvm-project/commit/0009a1783490a8ff69251a0ec7df1891a427cfb0
Author: Simon Camphausen <simon.camphausen at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ToEmitCInterface.h
M mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/ConvertToEmitC/func-failed.mlir
A mlir/test/Conversion/ConvertToEmitC/func.mlir
A mlir/test/Conversion/ConvertToEmitC/tosa.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
[mlir][EmitC] Add pass that combines all available emitc conversions (#117549)
Commit: b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
https://github.com/llvm/llvm-project/commit/b69dcb873476cd8e7d3f6f9ffd5b6d0bbe1a3a17
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/driver/cc1_main.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
[clang][frontend] Require invocation to construct `CompilerInstance` (#137668)
This PR makes it so that `CompilerInvocation` needs to be provided to
`CompilerInstance` on construction. There are a couple of benefits in my
view:
* Making it impossible to mis-use some `CompilerInstance` APIs. For
example there are cases, where `createDiagnostics()` was called before
`setInvocation()`, causing the `DiagnosticEngine` to use the
default-constructed `DiagnosticOptions` instead of the intended ones.
* This shrinks `CompilerInstance`'s state space.
* This makes it possible to access **the** invocation in
`CompilerInstance`'s constructor (to be used in a follow-up).
Commit: b877cfa8f25412a3946d1cde63a1dad95fd95c90
https://github.com/llvm/llvm-project/commit/b877cfa8f25412a3946d1cde63a1dad95fd95c90
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M llvm/include/llvm/ADT/STLForwardCompat.h
Log Message:
-----------
[ADT] Remove `is_scoped_enum_v` (#138134)
`std::underlying_type` is not SFINAE-friendly in Clang and GCC before 9,
and it's too much of a hassle to make it work. Instead, I'm inlining the
implementation in the only place it's needed. Fixes buildbot failure
https://lab.llvm.org/buildbot/#/builders/134/builds/17904 caused by
#138089. Demo: https://godbolt.org/z/9qo3csP98
Commit: d33c6764680ed78ffe824a83b6a33c0b609bafce
https://github.com/llvm/llvm-project/commit/d33c6764680ed78ffe824a83b6a33c0b609bafce
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/lib/Analysis/ConstantFolding.cpp
Log Message:
-----------
[ConstantFolding] Constify ConstantFoldInstOperands and ConstantFoldInstruction argument. NFC (#138108)
I tried to use these with a const reference in a separate patch, but the
pointers weren't marked as const. It turns out that these don't mutate
the instruction.
Commit: 0c7c82af230bd525bb96a54ca9480797b5fa2a42
https://github.com/llvm/llvm-project/commit/0c7c82af230bd525bb96a54ca9480797b5fa2a42
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/test/CMakeLists.txt
A llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
A llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
[KeyInstr] Add fields to DILocation behind compile time flag (#133477)
Add AtomGroup and AtomRank to DILocation behind compile time flag
EXPERIMENTAL_KEY_INSTRUCTIONS which is controlled by cmake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONS.
Add IR read-write roundtrip test in a directory that is unsupported unless the
CMake flag is enabled.
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
https://github.com/llvm/llvm-project/commit/80233751f9f3c9c8c5b1d66cd93399615f4d3ba2
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/setjmp/x86_64/setjmp.cpp
Log Message:
-----------
[libc][NFC] add remarks to the setjmp implementation (#137066)
We use naked functions to avoid compiler-generated prologue and
epilogue.
Despite GCC documentation listing this as an unsupported case for
extended asm, the generated code is not wrong as we only pass in
constant operands to extended asm.
See https://github.com/llvm/llvm-project/issues/137055 for related
remarks.
---------
Co-authored-by: Copilot <175728472+Copilot at users.noreply.github.com>
Commit: 64f552cefacbb36ccb5f6df7b57f532bb63f0006
https://github.com/llvm/llvm-project/commit/64f552cefacbb36ccb5f6df7b57f532bb63f0006
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/lib/CodeGen/MachineInstr.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MachineInstr operand accessors (#137261)
- Change MachineInstr operand accessors to use `ArrayRef` internally to
slice the operand array into sub-arrays.
- Minor: remove unnecessary {} on `MachineInstrBuilder::add`.
Commit: 38c283370121e8f41c5f7575b547511bdac0a702
https://github.com/llvm/llvm-project/commit/38c283370121e8f41c5f7575b547511bdac0a702
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use early return to simplify VLA shuffle lowering [nfc]
Commit: 47681736cbf6f32a70ca0aaf5d2671bc9c76112d
https://github.com/llvm/llvm-project/commit/47681736cbf6f32a70ca0aaf5d2671bc9c76112d
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[Clang][NFC] Explicitly delete copy ctor and assignment for CGAtomicOptionsRAII (#137275)
Static analysis flagged CGAtomicOptionsRAII as having an explicit
destructor but not having explicit copy ctor and assignment. Rule of
three says we should. We are just using this as an RAII object, no need
for either so they will be specified as deleted.
Commit: abd2c07e390c39830296ee70d4743663b02dc8df
https://github.com/llvm/llvm-project/commit/abd2c07e390c39830296ee70d4743663b02dc8df
Author: David Green <david.green at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
Log Message:
-----------
[CostModel] Make Op0 and Op1 const in getVectorInstrCost. NFC (#137631)
This does not alter much at the moment, but allows const pointers to be
passed as Op0 and Op1, simplifying later patches
Commit: 7ffaaf47528ff42d4c037e1b003d940e51347db5
https://github.com/llvm/llvm-project/commit/7ffaaf47528ff42d4c037e1b003d940e51347db5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
Log Message:
-----------
[Clang] Warning as error for fold expressions over comparison operators (#136836)
We made chained comparisons an error.
Fold-expressions over a comparison operator produce chained comparisons,
so we should be consistent there too.
We only emit the warning when instantiating the fold expression so as
not to warn on types with user-defined comparisons.
Partially addresses #129570
Commit: 2876dbcd6617898cef8396ff30b20b07556d2456
https://github.com/llvm/llvm-project/commit/2876dbcd6617898cef8396ff30b20b07556d2456
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
Log Message:
-----------
[AArch64] Don't allow mixed partial reductions without i8mm (#137602)
Partial reductions with mixed extends should only be allowed if i8mm is
present.
Commit: 2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
https://github.com/llvm/llvm-project/commit/2bb2f8ab49d66cc2ebacd099d70fb80a5f13d9b2
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[CodeGen] Remove experimental deferred spilling from GreedyRegAlloc (#137850)
This experimental option was introduced in 2015 via commit 1192294, and
the target hook was added in 2020 via commit 99e865b6. There does not
appear to have ever been a use of this target hook in tree.
This code is complicating one of the most complicated and hard to
understand parts of our code base, and was an experiment introduced
nearly 10 years ago. Let's get rid of it.
Note that the idea described in the original patch is not neccessarily a
bad one, and we might return to it someday.
Commit: c61746650178c117996e1787617f36ccda7233f7
https://github.com/llvm/llvm-project/commit/c61746650178c117996e1787617f36ccda7233f7
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[flang][llvm][OpenMP] Add implicit casts to omp.atomic (#131603)
Currently, implicit casts in Fortran are handled by the OMPIRBuilder.
This patch shifts that responsibility to FIR codegen.
Commit: 09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
https://github.com/llvm/llvm-project/commit/09488bcfba77d1a16b0b83c2d6b1135e5e7d5302
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Disable statusline on Windows (#138111)
Something to do with control code handling in Windows terminals breaks
the statusline in various ways. It makes LLDB unusable and even if you
set the setting to disable statusline, it's too late, and the terminal
session is now in a weird state.
See https://github.com/llvm/llvm-project/issues/134846 for more details.
Until we figure this out, don't allow it to be used on Windows.
Commit: e5f09aac483e11595e5cb0c999710ec6e0fb43e9
https://github.com/llvm/llvm-project/commit/e5f09aac483e11595e5cb0c999710ec6e0fb43e9
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/Sema/SemaOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
Log Message:
-----------
[OpenACC][CIR] Start work to lower 'loop' (#137972)
As can be seen by the comment, this ends up being a construct that is
going to be quite a lot of work in the future to make sure we properly
identify the upperbound, lowerbound, and step. For now, we just treat
the 'loop' as container so that we can put the 'for' loop into it.
In the future, we'll have to teach the OpenACC dialect how to derive the
upperbound, lowerbound, and step from the cir.for loop. Additionally,
we'll probably have to add a few more options to it so that we can give
it the recipes it needs to determine these for random access iterators.
For Integer and Pointer values, these should already be known.
Commit: 927cdd2c73590ef6475f7e00ce79078d6e8323bd
https://github.com/llvm/llvm-project/commit/927cdd2c73590ef6475f7e00ce79078d6e8323bd
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M libc/src/stdio/printf_core/core_structs.h
Log Message:
-----------
[libc] Fix typo in uint128 type for PPC printf handling (#138157)
Commit: 0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
https://github.com/llvm/llvm-project/commit/0e9740ea1783ceaf8686b13ab7bf9278f34aef6a
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit: Autogenerate checks for an LSV test (#138155)
Related PR: https://github.com/llvm/llvm-project/pull/134436
Commit: a7aca819d44b8d67f2cffd452e6b63741c83cd62
https://github.com/llvm/llvm-project/commit/a7aca819d44b8d67f2cffd452e6b63741c83cd62
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
R llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
Revert "[NFC] Precommit: Autogenerate checks for an LSV test" (#138161)
Reverts llvm/llvm-project#138155
Commit: a9ccb246178a454abba8fb53499012d586e5eea9
https://github.com/llvm/llvm-project/commit/a9ccb246178a454abba8fb53499012d586e5eea9
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#138110)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: dadd91e793a7622e0ca34ad9c3993a01a437b651
https://github.com/llvm/llvm-project/commit/dadd91e793a7622e0ca34ad9c3993a01a437b651
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
Log Message:
-----------
[NFC] Precommit tests for an LSV patch (#138167)
Autogenerate checks for merge-vectors.ll and introduce
merge-vectors-complex.ll with mismatched types.
Related PR: https://github.com/llvm/llvm-project/pull/134436
This is a reland of https://github.com/llvm/llvm-project/pull/138155,
which was reverted due to missed nits.
Commit: acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
https://github.com/llvm/llvm-project/commit/acc40ed0a747ad8f5dbb93788da7ce104c36c0a3
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[Clang][NFC] Use const auto & to avoid copy (#138069)
Static analysis flagged this code as causing a copy when we never modify
ModName and therefore we can use const auto & and avoid copying.
Commit: f24606376d449fa14bc72953951c52005f590434
https://github.com/llvm/llvm-project/commit/f24606376d449fa14bc72953951c52005f590434
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[NFC][LLVM][CodeGen] Refactor MIR Printer (#137361)
- Move `MIPrinter` class to anonymous namespace, and remove it as a
friend of `MachineBasicBlock`.
- Move `canPredictBranchProbabilities` to `MachineBasicBlock` and change
it to use the new `BranchProbability::normalizeProbabilities` function
that accepts a range, and also to use `llvm::equal()` to check equality
of the two vectors.
- Use `ListSeparator` to print comma separate lists instead of manual
code to do that.
Commit: 35c76eb195990865ee63a0aba3c18ad3c4189e73
https://github.com/llvm/llvm-project/commit/35c76eb195990865ee63a0aba3c18ad3c4189e73
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/test/lit.cfg.py
Log Message:
-----------
[flang][OpenMP] Always set "openmp_flags" (#138153)
Many OpenMP tests use "%openmp_flags" in the RUN line. In many OpenMP
lit tests this variable is expected to at least have "-fopenmp" in it.
However, in the lit config this variable was only given a value when the
OpenMP runtime build was enabled.
If the runtime build was not enabled, %openmp_flags would expand to an
empty string, and unless a lit test specifically used -fopenmp in the
RUN line, OpenMP would be disabled.
This patch sets %openmp_flags to start with "-fopenmp" regardless of the
build configuration.
Commit: 526ae7ffb5317ebdfab3564c2c5811d1d08259b1
https://github.com/llvm/llvm-project/commit/526ae7ffb5317ebdfab3564c2c5811d1d08259b1
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
Log Message:
-----------
[mlir][vector] Remove remaining bitwidths from linearization patterns (#138072)
In https://github.com/llvm/llvm-project/pull/136581 the bitwidth logic
was supposed to be completely removed from the linearization patterns.
But it was left in a few places. This PR removes the remainders (they
were default valued constructor arguments that were unused).
Commit: 5718460b22400e71e1832be489c9090f2c7d3ebb
https://github.com/llvm/llvm-project/commit/5718460b22400e71e1832be489c9090f2c7d3ebb
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Relax constraints on shape_cast (#136587)
`vector.shape_cast` was initially designed to be the union of
collapse_shape and expand_shape. There was an inconsistency in the
verifier that allowed any shape casts when the rank did not change, which
led to a strange middle ground where you could cast from shape (4,3) to
(3,4) but not from (4,3) to (2,3,2). That issue was fixed (verifier made stricter)
in https://github.com/llvm/llvm-project/pull/135855, but further feedback
there (and polling) suggests that vector.shape_cast should rather allow all
shape casts (so more like tensor.reshape than
tensor.collapse_shape/tensor.expand_shape). This PR makes this simplification
by relaxing the verifier.
Commit: a88d580860b88bbb02797bae95032b6eb0c4579c
https://github.com/llvm/llvm-project/commit/a88d580860b88bbb02797bae95032b6eb0c4579c
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
A llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
A llvm/test/CodeGen/NVPTX/byval-const-global.ll
A llvm/test/CodeGen/NVPTX/tag-invariant-loads.ll
Log Message:
-----------
[NVPTX] Pull invariant load identification into IR pass (#138015)
Pull invariant load identification, which was previously part of
DAGToDAG ISel, into a new IR pass NVPTXTagInvariantLoads. This makes it
possible to disable this optimization at O0 and reduces the complexity
of the SelectionDAG pass. Moving this logic to an IR pass also allows
for implementing a more powerful traversal in the future.
Fixes https://github.com/llvm/llvm-project/issues/138138
Commit: b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
https://github.com/llvm/llvm-project/commit/b6d4b7eba1dabadd934c0b92fc32bb6d658e2cf6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add Bazel rules for conversions (#138154)
Follow-up from #117549
tested by:
```
cd utils/bazel
bazelisk build --config=generic_clang @llvm-project//mlir:all
bazelisk test --config=generic_clang @llvm-project//mlir/test:all
```
Commit: deae5eef7147c5ad3acff612ab0ed00e2186d9a5
https://github.com/llvm/llvm-project/commit/deae5eef7147c5ad3acff612ab0ed00e2186d9a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Fix branch extension logic compatibility with __objc_stubs (#137913)
Enhance branch extension logic to handle __objc_stubs identically to
__stubs
The branch extension algorithm currently has specific handling for the
`__stubs` section:
1. It ensures all `__stubs` content is directly reachable via branches
from the text section.
2. It calculates the latest text section address that might require
thunks to reach the end of `__stubs`.
The `__objc_stubs` section requires precisely the same handling due to
its similar nature, but this was not implemented.
This commit generalizes the existing logic so it applies consistently to
both the `__stubs` and `__objc_stubs` sections, ensuring correct
reachability and thunk placement for both. Without this change it's
possible to get relocation errors during linking in scenarios where the
`__objc_stubs` section is large enough.
Commit: 0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
https://github.com/llvm/llvm-project/commit/0a4be7898aa4b4c3dc06deabefc82e44e76b3bb6
Author: David Truby <david.truby at arm.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[flang] Move LLVM_ENABLE_RUNTIMES definition above uses (#138136)
Commit: 514b853972d81a2834a9d2b89df27cd9c382df7d
https://github.com/llvm/llvm-project/commit/514b853972d81a2834a9d2b89df27cd9c382df7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
Log Message:
-----------
[mlir] Fix the build
This patch fixes:
llvm/include/llvm/ADT/SmallVector.h:1162:7: error: implicit
instantiation of undefined template 'std::basic_string<char>'
This happens under -DCMAKE_CXX_FLAGS="-stdlib=libc++".
Commit: e25ddf908178d6ad4a2557b2800b4ea6248eb632
https://github.com/llvm/llvm-project/commit/e25ddf908178d6ad4a2557b2800b4ea6248eb632
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/inline-attr.ll`
Commit: 334e05b4b78a5de6efdcb23f208f3453a5b364a0
https://github.com/llvm/llvm-project/commit/334e05b4b78a5de6efdcb23f208f3453a5b364a0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[nfc] Fix formatting in clang release notes (#138172)
`-ftime-report` was supposed to be an inline code section, which
requires two backticks instead of one.
Commit: 6aa963f780d63d4c8fa80de97dd79c932bc35f4e
https://github.com/llvm/llvm-project/commit/6aa963f780d63d4c8fa80de97dd79c932bc35f4e
Author: Mikhail Zakharov <zmish1993 at gmail.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/Process.h
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/Options.td
M lldb/source/Target/Memory.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/commands/settings/TestSettings.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
Log Message:
-----------
[lldb] Do not bump memory modificator ID when "internal" debugger memory is updated (#129092)
This change adds a setting `target.process.track-memory-cache-changes`.
Disabling this setting prevents invalidating and updating values in
`ValueObject::UpdateValueIfNeeded` when only "internal" debugger memory
is updated. Writing to "internal" debugger memory happens when, for
instance, expressions are evaluated by visualizers (pretty printers).
One of the examples when cache invalidation has a particularly heavy
impact is visualizations of some collections: in some collections
getting collection size is an expensive operation (it requires traversal
of the collection).
At the same time evaluating user expression with side effects (visible
to target, not only to debugger) will still bump memory ID because:
- If expression is evaluated via interpreter: it will cause write to
"non-internal" memory
- If expression is JIT-compiled: then to call the function LLDB will
write to "non-internal" stack memory
The downside of disabled `target.process.track-memory-cache-changes`
setting is that convenience variables won't reevaluate synthetic
children automatically.
---------
Co-authored-by: Mikhail Zakharov <mikhail.zakharov at jetbrains.com>
Commit: 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
https://github.com/llvm/llvm-project/commit/49a5dd3dac285ba12f3fcaa55cacbea5968f5a37
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`
Commit: 5209668e357e0a1d295d9e9aa9dbca8f41132c0c
https://github.com/llvm/llvm-project/commit/5209668e357e0a1d295d9e9aa9dbca8f41132c0c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/pointers.cpp
Log Message:
-----------
[CIR] Upstream pointer arithmetic support (#138041)
This adds support for explicit pointer arithmetic, including unary
increment and decrement of pointer values.
Commit: 74f55c744a18b848cc780c42f0e3dde7e7c96195
https://github.com/llvm/llvm-project/commit/74f55c744a18b848cc780c42f0e3dde7e7c96195
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Revert "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 49a5dd3dac285ba12f3fcaa55cacbea5968f5a37.
Commit: cf9d4048fb5840b2800df532c9f93bb2fb842614
https://github.com/llvm/llvm-project/commit/cf9d4048fb5840b2800df532c9f93bb2fb842614
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
Log Message:
-----------
Reapply "[NFC][AMDGPU] Correct the check line update script for `llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll`"
This reverts commit 74f55c744a18b848cc780c42f0e3dde7e7c96195 with a fix for the
check lines.
Commit: 760bba4666d6cdb7b4aef3c8ce9a242f59e39216
https://github.com/llvm/llvm-project/commit/760bba4666d6cdb7b4aef3c8ce9a242f59e39216
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][OpenMP] Allow UPDATE clause to not have any arguments (#137521)
The UPDATE clause can be specified on both ATOMIC and DEPOBJ directives.
Currently, the ATOMIC directive has its own handling of it, and the
definition of the UPDATE clause only supports its use in the DEPOBJ
directive, where it takes a dependence-type as an argument.
The UPDATE clause on the ATOMIC directive may not have any arguments.
Since the implementation of the ATOMIC construct will be modified to use
the standard handling of clauses, the definition of UPDATE should
reflect that.
Commit: 1f56afa9b4d1839b8c8703ff9c7a4784546a6451
https://github.com/llvm/llvm-project/commit/1f56afa9b4d1839b8c8703ff9c7a4784546a6451
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Spiller.h
Log Message:
-----------
[InlineSpiller] Fix missing LiveRegMatrix declaration. NFC.
b25b51eb639d adds a reference to LiveRegMatrix in Spiller.h without
including the header, or adding a declaration. That breaks modules
builds.
It looks like it might get reverted in #137801, but let's fix the
breakage in the meantime.
Commit: ec73e6ff27eb5026ed4baf6c32e5718dc2426699
https://github.com/llvm/llvm-project/commit/ec73e6ff27eb5026ed4baf6c32e5718dc2426699
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
A .ci/all_requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/docs/BinaryAnalysis.md
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/skip-non-vfuncptr-reloc-in-relative-vtable.s
M bolt/test/non-empty-debug-line.test
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
M clang-tools-extra/clang-doc/Mapper.h
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/Serialize.h
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-include-fixer/IncludeFixer.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clangd/Compiler.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/Preamble.h
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/YAMLSerialization.cpp
M clang-tools-extra/clangd/index/remote/Index.proto
M clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
M clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/ClangDocTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/SerializeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/bindings/python/clang/cindex.py
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/HeaderInclude.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/Stack.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TargetOSMacros.def
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Lookup.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.h
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpFrame.cpp
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/CMakeLists.txt
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Linkage.h
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRDiagsEmitter.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Stack.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
A clang/lib/CIR/CodeGen/CIRGenOpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/ChainedIncludesSource.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/HeaderIncludeGen.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Headers/avx512fp16intrin.h
M clang/lib/Headers/float.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Sema/TypeLocBuilder.h
M clang/lib/Serialization/ASTCommon.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
M clang/lib/Testing/TestAST.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/Inclusions/Stdlib/StandardLibrary.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/constexpr-frame-describe.cpp
R clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
A clang/test/AST/ByteCode/dynalloc-limits.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
A clang/test/AST/HLSL/PackedStruct.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
A clang/test/AST/ast-crash-dump-mangled-name-json.m
M clang/test/Analysis/Checkers/WebKit/call-args-checked-ptr.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/compound_assign.cpp
A clang/test/CIR/CodeGen/linkage-spec.cpp
A clang/test/CIR/CodeGen/pointers.cpp
A clang/test/CIR/CodeGen/switch.cpp
M clang/test/CIR/CodeGen/union.c
A clang/test/CIR/CodeGen/vector-ext.cpp
A clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/IR/invalid-vector-zero-size.cir
A clang/test/CIR/IR/invalid-vector.cir
A clang/test/CIR/IR/switch.cir
A clang/test/CIR/IR/ternary.cir
A clang/test/CIR/IR/vector.cir
A clang/test/CIR/Lowering/ternary.cir
A clang/test/CIR/Transforms/ternary.cir
M clang/test/CMakeLists.txt
A clang/test/ClangScanDeps/export.c
M clang/test/ClangScanDeps/optimize-vfs-pch.m
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/CodeGen/X86/avx512fp16-builtins-constrained-cmp.c
M clang/test/CodeGen/X86/avx512fp16-builtins.c
M clang/test/CodeGen/lifetime-sanitizer.c
M clang/test/CodeGenCXX/lifetime-sanitizer.cpp
A clang/test/CodeGenCXX/mangle-ms-matrix.cpp
M clang/test/CodeGenCXX/nullptr.cpp
M clang/test/CodeGenCXX/visibility.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/StructElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/VectorElementwiseCast.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
A clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
A clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
A clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/this-assignment.hlsl
M clang/test/CodeGenHLSL/this-reference.hlsl
M clang/test/Driver/arm-features.c
M clang/test/Driver/arm-mfpu.c
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/clang_f_opts_withspaces.c
A clang/test/Driver/darwin-header-search-libcxx-2.cpp
M clang/test/Driver/darwin-header-search-libcxx.cpp
A clang/test/Driver/dxc_I.test
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-r82ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-512tvb.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/amdgcn.languageOptsOpenCL.cl
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/r600.languageOptsOpenCL.cl
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags-enabled.c
A clang/test/Modules/emit-module-interface-pcm-input.cpp
A clang/test/Modules/invalid-module-dep.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
A clang/test/Parser/gh137861.cpp
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/macro_reserved.i
M clang/test/Preprocessor/print-header-json.c
M clang/test/Preprocessor/x86_target_features.c
A clang/test/Sema/attr-nonstring.c
M clang/test/Sema/attr-ownership.c
A clang/test/Sema/decl-hidden-in-c++.c
A clang/test/Sema/implicit-int-enum-conversion.c
M clang/test/Sema/integer-overflow.c
M clang/test/Sema/warn-default-const-init.c
A clang/test/Sema/warn-duplicate-decl-specifier.c
A clang/test/Sema/warn-nontrivial-struct-memaccess-ptrauth.c
A clang/test/Sema/warn-tentative-defn-compat.c
A clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_implicit.hlsl
M clang/test/SemaOpenACC/combined-construct.cpp
M clang/test/SemaOpenACC/loop-construct.cpp
M clang/test/SemaTemplate/cxx1z-fold-expressions.cpp
M clang/test/lit.cfg.py
M clang/test/lit.site.cfg.py.in
M clang/tools/clang-import-test/clang-import-test.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/driver/cc1_main.cpp
M clang/tools/driver/driver.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/SimplifyConstraintsTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/TestCompiler.h
M clang/unittests/Driver/ModuleCacheTest.cpp
M clang/unittests/Driver/ToolChainTest.cpp
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestCSharp.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CodeGenActionTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Frontend/OutputStreamTest.cpp
M clang/unittests/Frontend/UtilsTest.cpp
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Sema/SemaNoloadLookupTest.cpp
M clang/unittests/Serialization/ForceCheckFileInputTest.cpp
M clang/unittests/Serialization/LoadSpecLazilyTest.cpp
M clang/unittests/Serialization/ModuleCacheTest.cpp
M clang/unittests/Serialization/NoCommentsTest.cpp
M clang/unittests/Serialization/PreambleInNamedModulesTest.cpp
M clang/unittests/Serialization/VarDeclConstantInitTest.cpp
M clang/unittests/Support/TimeProfilerTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/unittests/Tooling/Syntax/TokensTest.cpp
M clang/unittests/Tooling/Syntax/TreeTestBase.cpp
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/ClangVisualizers/clang.natvis
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinTemplatesEmitter.cpp
M cmake/Modules/CMakePolicy.cmake
M compiler-rt/lib/builtins/clzdi2.c
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
M compiler-rt/test/asan/TestCases/zero_page_pc.cpp
M flang-rt/README.md
M flang-rt/lib/runtime/character.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/docs/Extensions.md
M flang/docs/FortranStandardsSupport.md
M flang/docs/ReleaseNotes.md
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
M flang/include/flang/Lower/ConvertExprToHLFIR.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Analysis/TBAAForest.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenMP/Passes.td
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/CallInterface.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/TBAAForest.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AbstractResult.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-omp-structure.cpp
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Fir/CUDA/cuda-implicit-device-global.f90
M flang/test/Fir/basic-program.fir
A flang/test/Fir/convert-nontemporal-to-llvm.fir
M flang/test/Fir/cse.fir
A flang/test/Fir/simd-nontemporal.fir
A flang/test/Fir/volatile.fir
A flang/test/Fir/volatile2.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-maxval.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minloc.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics-minval.fir
A flang/test/HLFIR/volatile.fir
M flang/test/Lower/OpenACC/acc-declare-globals.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-allocatable.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
A flang/test/Lower/OpenMP/Todo/atomic-capture-implicit-cast.f90
M flang/test/Lower/OpenMP/Todo/firstprivate-target.f90
A flang/test/Lower/OpenMP/atomic-implicit-cast.f90
A flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-string.f90
A flang/test/Lower/volatile1.f90
A flang/test/Lower/volatile2.f90
A flang/test/Lower/volatile3.f90
A flang/test/Lower/volatile4.f90
M flang/test/Semantics/OpenMP/nested-simd.f90
M flang/test/Transforms/tbaa-with-dummy-scope.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa.fir
M flang/test/Transforms/tbaa2.fir
A flang/test/Transforms/tbaa3.fir
A flang/test/Transforms/tbaa4.fir
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/offsetof_macros.h
M libc/include/assert.h.def
M libc/include/llvm-libc-types/CMakeLists.txt
M libc/include/llvm-libc-types/jmp_buf.h
M libc/include/setjmp.yaml
M libc/src/setjmp/CMakeLists.txt
M libc/src/setjmp/aarch64/CMakeLists.txt
A libc/src/setjmp/aarch64/sigsetjmp.cpp
A libc/src/setjmp/linux/CMakeLists.txt
A libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/setjmp_impl.h
A libc/src/setjmp/siglongjmp.cpp
A libc/src/setjmp/siglongjmp.h
A libc/src/setjmp/sigsetjmp.h
A libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/setjmp/x86_64/setjmp.cpp
A libc/src/setjmp/x86_64/sigsetjmp.cpp
M libc/src/stdio/printf_core/core_structs.h
M libc/test/src/search/lfind_test.cpp
M libc/test/src/search/lsearch_test.cpp
M libc/test/src/setjmp/CMakeLists.txt
A libc/test/src/setjmp/sigsetjmp_test.cpp
M libclc/amdgcn/lib/SOURCES
R libclc/amdgcn/lib/math/fmax.cl
R libclc/amdgcn/lib/math/fmin.cl
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/clc_acos.h
M libclc/clc/include/clc/math/clc_acosh.h
M libclc/clc/include/clc/math/clc_acospi.h
M libclc/clc/include/clc/math/clc_asin.h
M libclc/clc/include/clc/math/clc_asinh.h
M libclc/clc/include/clc/math/clc_asinpi.h
M libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/include/clc/math/clc_atan2.h
M libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/clc_atanh.h
M libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_cosh.h
M libclc/clc/include/clc/math/clc_cospi.h
M libclc/clc/include/clc/math/clc_exp.h
M libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/clc_exp2.h
M libclc/clc/include/clc/math/clc_exp_helper.h
M libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/include/clc/math/clc_fabs.h
A libclc/clc/include/clc/math/clc_fdim.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_fmax.h
A libclc/clc/include/clc/math/clc_fmin.h
M libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_fract.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_lgamma.h
M libclc/clc/include/clc/math/clc_lgamma_r.h
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
A libclc/clc/include/clc/math/clc_maxmag.h
A libclc/clc/include/clc/math/clc_minmag.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_native_cos.h
M libclc/clc/include/clc/math/clc_native_divide.h
M libclc/clc/include/clc/math/clc_native_exp.h
M libclc/clc/include/clc/math/clc_native_exp10.h
M libclc/clc/include/clc/math/clc_native_exp2.h
M libclc/clc/include/clc/math/clc_native_log.h
M libclc/clc/include/clc/math/clc_native_log10.h
M libclc/clc/include/clc/math/clc_native_log2.h
M libclc/clc/include/clc/math/clc_native_powr.h
M libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_native_rsqrt.h
M libclc/clc/include/clc/math/clc_native_sin.h
M libclc/clc/include/clc/math/clc_native_sqrt.h
M libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_pow.h
M libclc/clc/include/clc/math/clc_pown.h
M libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/clc_remainder.h
M libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sincos_helpers.h
M libclc/clc/include/clc/math/clc_sinh.h
M libclc/clc/include/clc/math/clc_sinpi.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/math/gentype.inc
R libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_signbit.h
A libclc/clc/include/clc/shared/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/shared/binary_def_with_scalar_second_arg.inc
M libclc/clc/lib/amdgcn/SOURCES
A libclc/clc/lib/amdgcn/math/clc_fmax.cl
A libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/math/clc_asinpi.inc
M libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
A libclc/clc/lib/generic/math/clc_fdim.cl
A libclc/clc/lib/generic/math/clc_fdim.inc
M libclc/clc/lib/generic/math/clc_floor.cl
A libclc/clc/lib/generic/math/clc_fmax.cl
A libclc/clc/lib/generic/math/clc_fmin.cl
A libclc/clc/lib/generic/math/clc_fract.cl
A libclc/clc/lib/generic/math/clc_fract.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
A libclc/clc/lib/generic/math/clc_maxmag.cl
A libclc/clc/lib/generic/math/clc_maxmag.inc
A libclc/clc/lib/generic/math/clc_minmag.cl
A libclc/clc/lib/generic/math/clc_minmag.inc
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_fmax.cl
A libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
R libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/integer/hadd.h
R libclc/generic/include/clc/integer/integer-gentype.inc
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
R libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/fract.h
R libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/math/clc_tan.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/fdim.cl
R libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmin.cl
M libclc/generic/lib/math/fract.cl
R libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/maxmag.cl
R libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
R libclc/generic/lib/math/minmag.inc
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/trunc.cl
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vstore.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/fmax.cl
R libclc/r600/lib/math/fmin.cl
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/countl.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__type_traits/is_convertible.h
R libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__utility/pair.h
M libcxx/include/module.modulemap.in
M libcxx/include/type_traits
M libcxx/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
M libcxx/utils/ci/Dockerfile
M lld/COFF/Writer.cpp
M lld/ELF/ICF.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ConcatOutputSection.cpp
M lld/MachO/ConcatOutputSection.h
M lld/MachO/DriverUtils.cpp
M lld/MachO/InputFiles.cpp
A lld/test/COFF/merge-data-bss.test
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/bp-section-orderer.s
A lld/test/MachO/reexport-with-rpath.s
M lld/test/wasm/Inputs/start-lib1.s
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.cpp
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Host/linux/Support.h
A lldb/include/lldb/Host/posix/Support.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Interpreter/OptionValueArch.h
M lldb/include/lldb/Interpreter/OptionValueArray.h
M lldb/include/lldb/Interpreter/OptionValueBoolean.h
M lldb/include/lldb/Interpreter/OptionValueChar.h
M lldb/include/lldb/Interpreter/OptionValueDictionary.h
M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Interpreter/OptionValueFormat.h
M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
M lldb/include/lldb/Interpreter/OptionValueLanguage.h
M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
M lldb/include/lldb/Interpreter/OptionValueProperties.h
M lldb/include/lldb/Interpreter/OptionValueRegex.h
M lldb/include/lldb/Interpreter/OptionValueSInt64.h
M lldb/include/lldb/Interpreter/OptionValueString.h
M lldb/include/lldb/Interpreter/OptionValueUInt64.h
M lldb/include/lldb/Interpreter/OptionValueUUID.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/Block.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/TypeSystem.h
M lldb/include/lldb/Target/Memory.h
M lldb/include/lldb/Target/PathMappingList.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/include/lldb/ValueObject/ValueObject.h
M lldb/include/lldb/ValueObject/ValueObjectRegister.h
M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/aix/Host.cpp
M lldb/source/Host/linux/Host.cpp
M lldb/source/Host/linux/Support.cpp
A lldb/source/Host/posix/Support.cpp
M lldb/source/Interpreter/OptionValueArch.cpp
M lldb/source/Interpreter/OptionValueArray.cpp
M lldb/source/Interpreter/OptionValueDictionary.cpp
M lldb/source/Interpreter/OptionValueEnumeration.cpp
M lldb/source/Interpreter/OptionValueFileColonLine.cpp
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Interpreter/OptionValueFormat.cpp
M lldb/source/Interpreter/OptionValueFormatEntity.cpp
M lldb/source/Interpreter/OptionValueLanguage.cpp
M lldb/source/Interpreter/OptionValuePathMappings.cpp
M lldb/source/Interpreter/OptionValueProperties.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LanguageCPlusPlusProperties.td
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
M lldb/source/Plugins/Process/Linux/NativeProcessLinux.h
M lldb/source/Plugins/Process/Linux/Perf.cpp
M lldb/source/Plugins/Process/Linux/Procfs.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Target/Memory.cpp
M lldb/source/Target/PathMappingList.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/source/ValueObject/ValueObjectRegister.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
M lldb/test/API/commands/expression/import-std-module/pair/TestPairFromStdModule.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/Makefile
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/TestFrameVarDILAddressOf.py
A lldb/test/API/commands/frame/var-dil/basics/AddressOf/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/Makefile
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/TestFrameVarDILPointerArithmetic.py
A lldb/test/API/commands/frame/var-dil/basics/PointerArithmetic/main.cpp
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/commands/watchpoints/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
M lldb/test/API/functionalities/thread/exit_during_expression/TestExitDuringExpression.py
M lldb/test/API/lang/objc/bitfield_ivars/TestBitfieldIvars.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attachByPortNum.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_breakpointLocations.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/stackTraceDisassemblyDisplay/TestDAP_stackTraceDisassemblyDisplay.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
A lldb/test/Shell/Expr/TestExprWithSideEffect.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVar.cpp
A lldb/test/Shell/Expr/TestExprWithSideEffectOnConvenienceVarWindows.cpp
A lldb/test/Shell/Expr/TestProcessModificationIdOnExpr.cpp
M lldb/test/Shell/Settings/TestCxxFrameFormat.test
M lldb/test/Shell/Settings/TestCxxFrameFormatObjC.test
M lldb/test/Shell/Settings/TestCxxFrameFormatPartialFailure.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionBasename.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionFormattedArguments.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionQualifiers.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionReturn.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionScope.test
A lldb/test/Shell/Settings/TestFrameFormatFunctionSuffix.test
M lldb/test/Shell/Settings/TestFrameFormatFunctionTemplateArguments.test
M lldb/test/Shell/lit.site.cfg.py.in
M lldb/tools/debugserver/debugserver.xcodeproj/project.pbxproj
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/debugserver/source/DNB.cpp
M lldb/tools/debugserver/source/DNBError.cpp
M lldb/tools/debugserver/source/DNBLog.cpp
M lldb/tools/debugserver/source/DNBTimer.h
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachTask.h
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/MachThread.h
M lldb/tools/debugserver/source/MacOSX/MachThreadList.cpp
M lldb/tools/debugserver/source/MacOSX/MachThreadList.h
M lldb/tools/debugserver/source/PThreadEvent.cpp
M lldb/tools/debugserver/source/PThreadEvent.h
R lldb/tools/debugserver/source/PThreadMutex.cpp
R lldb/tools/debugserver/source/PThreadMutex.h
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
M lldb/tools/lldb-dap/.vscodeignore
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
A lldb/tools/lldb-dap/llvm-logo.png
M lldb/tools/lldb-dap/package.json
M lldb/unittests/Core/MangledTest.cpp
M lldb/unittests/Host/CMakeLists.txt
R lldb/unittests/Host/linux/HostTest.cpp
R lldb/unittests/Host/linux/SupportTest.cpp
A lldb/unittests/Host/posix/HostTest.cpp
A lldb/unittests/Host/posix/SupportTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/Linux/ProcfsTests.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/CrossCompile.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/Analysis/ConstantFolding.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/ScopedNoAliasAA.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ByteProvider.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/include/llvm/CodeGen/PBQP/Math.h
A llvm/include/llvm/CodeGen/PEI.h
M llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/ShrinkWrap.h
M llvm/include/llvm/CodeGen/Spiller.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/CFG.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/PassManagerInternal.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/YAMLTraits.h
M llvm/include/llvm/Support/thread.h
M llvm/include/llvm/TableGen/DirectiveEmitter.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetCallingConv.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/include/llvm/Transforms/Scalar/GVNExpression.h
M llvm/include/llvm/Transforms/Scalar/LoopPassManager.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/ScopedNoAliasAA.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.cpp
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FinalizeISel.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugVariables.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MIRPrintingPass.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/PseudoProbeInserter.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
M llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Mangler.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCSectionCOFF.cpp
M llvm/lib/ObjCopy/COFF/COFFWriter.cpp
M llvm/lib/ObjCopy/ELF/ELFObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFWriter.cpp
M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
M llvm/lib/ObjectYAML/COFFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/ProfileData/SampleProfReader.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
M llvm/lib/Support/GraphWriter.cpp
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Program.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/lib/Support/Timer.cpp
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrAtomics.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
M llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.h
M llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/BPF/BPFInstrInfo.td
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/Mips/MicroMipsInstrInfo.td
M llvm/lib/Target/Mips/Mips64InstrInfo.td
M llvm/lib/Target/Mips/MipsInstrInfo.td
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/CMakeLists.txt
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
A llvm/lib/Target/NVPTX/NVPTXTagInvariantLoads.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVGISel.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/VE/CMakeLists.txt
M llvm/lib/Target/VE/VEInstrInfo.td
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
A llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/EarlyCSE.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/FixIrreducible.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerAtomic.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Analysis/BasicAA/gep-modulo.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-interleave.ll
M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
A llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll
M llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/always-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/atomics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/control-flow-intrinsics.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-diverge-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/hidden-loop-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/branch-outside-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/diverged-entry-basic-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/exit-divergence-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/irreducible/irreducible-2-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/join-loopexit-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/loads-gmir.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/never-uniform.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/temporal-divergence.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/MIR/uses-value-from-cycle.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/hidden-diverge.mir
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/deprecated/irreducible-1.mir
M llvm/test/Assembler/2002-04-07-InfConstant.ll
M llvm/test/Assembler/2002-04-29-NameBinding.ll
M llvm/test/Assembler/2003-04-15-ConstantInitAssertion.ll
M llvm/test/Assembler/2003-05-12-MinIntProblem.ll
M llvm/test/Assembler/2003-05-21-MalformedStructCrash.ll
M llvm/test/Assembler/2003-08-20-ConstantExprGEP-Fold.ll
M llvm/test/Assembler/2003-11-24-SymbolTableCrash.ll
M llvm/test/Assembler/2004-01-20-MaxLongLong.ll
M llvm/test/Assembler/2004-03-30-UnclosedFunctionCrash.ll
M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
M llvm/test/Assembler/2006-09-28-CrashOnInvalid.ll
M llvm/test/Assembler/2006-12-09-Cast-To-Bool.ll
M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast.ll
M llvm/test/Assembler/2007-01-16-CrashOnBadCast2.ll
M llvm/test/Assembler/2007-03-18-InvalidNumberedVar.ll
M llvm/test/Assembler/2007-04-20-AlignedLoad.ll
M llvm/test/Assembler/2007-04-20-AlignedStore.ll
M llvm/test/Assembler/2007-08-06-AliasInvalid.ll
M llvm/test/Assembler/2008-01-11-VarargAttrs.ll
M llvm/test/Assembler/2008-02-18-IntPointerCrash.ll
R llvm/test/Assembler/2008-09-02-FunctionNotes2.ll
M llvm/test/Assembler/2008-09-29-RetAttr.ll
M llvm/test/Assembler/2008-10-14-QuoteInName.ll
M llvm/test/Assembler/atomic.ll
A llvm/test/Assembler/invalid-label-call-arg.ll
M llvm/test/Assembler/invalid-label.ll
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-v8a_fp.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
A llvm/test/CodeGen/AArch64/aarch64-ldst-opt-instr-ref.mir
M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
M llvm/test/CodeGen/AArch64/arm64-extract-insert-varidx.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
A llvm/test/CodeGen/AArch64/bf16_fast_math.ll
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fix-shuffle-vector-be-rev.ll
M llvm/test/CodeGen/AArch64/fmla.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fp16_fast_math.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/neon-mov.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
R llvm/test/CodeGen/AArch64/nofpclass.ll
M llvm/test/CodeGen/AArch64/partial-reduction-add.ll
M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
M llvm/test/CodeGen/AArch64/shuffle-extend.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-reuse-writes.mir
M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
M llvm/test/CodeGen/AMDGPU/dag-divergence.ll
M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
M llvm/test/CodeGen/AMDGPU/extload-align.ll
M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
M llvm/test/CodeGen/AMDGPU/flat-offset-bug.ll
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
M llvm/test/CodeGen/AMDGPU/inline-attr.ll
M llvm/test/CodeGen/AMDGPU/lds-misaligned-bug.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.dec.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.inc.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
M llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
M llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
A llvm/test/CodeGen/AMDGPU/lower-lds-with-alias-scope.ll
A llvm/test/CodeGen/AMDGPU/lower-lds-with-noalias.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-single-var-unambiguous.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
A llvm/test/CodeGen/AMDGPU/pal-metadata-3.6.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit-clustering.ll
M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
M llvm/test/CodeGen/AMDGPU/si-triv-disjoint-mem-access.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
M llvm/test/CodeGen/AMDGPU/unroll.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
A llvm/test/CodeGen/AMDGPU/wwm-reg-shift-down-gfx11plus.mir
A llvm/test/CodeGen/ARM/bf16_fast_math.ll
M llvm/test/CodeGen/ARM/cttz.ll
M llvm/test/CodeGen/ARM/fp16_fast_math.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-cs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/disable-opt-lib.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.5.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs-array-valver1.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/max-64-uavs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.6.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-valver1.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-lib-valver1.8.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/uavs-at-every-stage-vs.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
A llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
A llvm/test/CodeGen/DirectX/legalize-memset.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/DirectX/metadata-stripping.ll
M llvm/test/CodeGen/LoongArch/lasx/widen-shuffle-mask.ll
M llvm/test/CodeGen/LoongArch/lsx/widen-shuffle-mask.ll
R llvm/test/CodeGen/Mips/nofpclass.ll
A llvm/test/CodeGen/NVPTX/byval-const-global.ll
A llvm/test/CodeGen/NVPTX/i128-ld-st.ll
A llvm/test/CodeGen/NVPTX/tag-invariant-loads.ll
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
A llvm/test/CodeGen/PowerPC/usubo_carry.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
A llvm/test/CodeGen/RISCV/add-imm64-to-sub.ll
M llvm/test/CodeGen/RISCV/atomic-load-zext.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/inline-asm-invalid.ll
M llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximumnum.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimumnum.ll
A llvm/test/CodeGen/RISCV/rvv/fmaximumnum-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/fminimumnum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr107950.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/sifive-interrupt-attr.ll
M llvm/test/CodeGen/SPARC/ctlz.ll
M llvm/test/CodeGen/SPARC/cttz.ll
A llvm/test/CodeGen/SPIRV/extensions/unused-but-allowed-SPV_INTEL_arbitrary_precision_integers.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/pointers/generic_cast_to_ptr_explicit.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGenericCastToPtr.ll
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/dec.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.ll
M llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/imul.ll
M llvm/test/CodeGen/X86/apx/inc.ll
M llvm/test/CodeGen/X86/apx/neg.ll
M llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/reloc.mir
M llvm/test/CodeGen/X86/apx/shl.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/tls.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/asm-block-labels.ll
M llvm/test/CodeGen/X86/avx-cmp.ll
M llvm/test/CodeGen/X86/avx512-insert-extract.ll
M llvm/test/CodeGen/X86/avx512-vec-cmp.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-shuffle-fma.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmac-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc-fadd.ll
M llvm/test/CodeGen/X86/avx512fp16-combine-xor-vfmulc.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt-ph-w-vl-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-fma-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-fmaxnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/avx512fp16-fminnum.ll
M llvm/test/CodeGen/X86/avx512fp16-fp-logic.ll
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-machine-combiner.ll
M llvm/test/CodeGen/X86/avx512fp16-mov.ll
M llvm/test/CodeGen/X86/avx512fp16-rndscale.ll
M llvm/test/CodeGen/X86/avx512fp16-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/avx512fp16vl-fma-intrinsics.ll
M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
M llvm/test/CodeGen/X86/code-model-elf-sections.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/ctlo.ll
M llvm/test/CodeGen/X86/ctlz.ll
M llvm/test/CodeGen/X86/ctor-priority-coff.ll
M llvm/test/CodeGen/X86/cttz.ll
M llvm/test/CodeGen/X86/data-section-prefix.ll
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/dtor-priority-coff.ll
M llvm/test/CodeGen/X86/eq-or-eq-range-of-2.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp-round-with-concat-vector-undef-elem.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/fptosi-sat-vector-128.ll
M llvm/test/CodeGen/X86/fptoui-sat-vector-128.ll
M llvm/test/CodeGen/X86/global-sections.ll
M llvm/test/CodeGen/X86/half.ll
R llvm/test/CodeGen/X86/lzcnt-cmp.ll
M llvm/test/CodeGen/X86/mangle-question-mark.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/mingw-comdats.ll
M llvm/test/CodeGen/X86/mmx-fold-zero.ll
M llvm/test/CodeGen/X86/oddsubvector.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/test/CodeGen/X86/pr116153.ll
M llvm/test/CodeGen/X86/pr30821.mir
M llvm/test/CodeGen/X86/pr91005.ll
M llvm/test/CodeGen/X86/setcc-lowering.ll
M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16-fma.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl-fma.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx512fp16vl.ll
M llvm/test/CodeGen/X86/text-section-prefix.ll
M llvm/test/CodeGen/X86/vec-strict-cmp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-256-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-512-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-inttofp-512-fp16.ll
M llvm/test/CodeGen/X86/vec_fabs.ll
M llvm/test/CodeGen/X86/vec_fcopysign.ll
M llvm/test/CodeGen/X86/vec_fneg.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-llrint-f16.ll
M llvm/test/CodeGen/X86/vector-lrint-f16.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
M llvm/test/CodeGen/X86/win32-preemption.ll
A llvm/test/DebugInfo/KeyInstructions/Generic/parse.ll
A llvm/test/DebugInfo/KeyInstructions/lit.local.cfg
M llvm/test/ExecutionEngine/RuntimeDyld/X86/coff-alignment.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512fp16-intrinsics.ll
R llvm/test/Linker/Inputs/pr22807-1.ll
R llvm/test/Linker/Inputs/pr22807-2.ll
A llvm/test/Linker/Inputs/pr22807.ll
M llvm/test/Linker/Inputs/type-unique-opaque.ll
M llvm/test/Linker/intrinsics-with-unnamed-types.ll
M llvm/test/Linker/pr22807.ll
M llvm/test/Linker/type-unique-opaque.ll
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_fake16_promote.s
R llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop2_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_fake16_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop1_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop1_fake16_promote.s
R llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err-fake16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop2_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_fake16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_fake16_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_fake16_promote.s
M llvm/test/MC/COFF/global_ctors_dtors.ll
A llvm/test/MC/COFF/section-unique.s
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
A llvm/test/MC/RISCV/xandesperf-invalid.s
A llvm/test/MC/RISCV/xandesperf-rv64-invalid.s
A llvm/test/MC/RISCV/xandesperf-rv64-valid.s
A llvm/test/MC/RISCV/xandesperf-valid.s
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
M llvm/test/MC/SystemZ/machine-directive-invalid.s
M llvm/test/MC/SystemZ/machine-directive.s
M llvm/test/ObjectYAML/DXContainer/DomainMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/GeometryMaskVectors.yaml
M llvm/test/ObjectYAML/DXContainer/HullMaskVectors.yaml
A llvm/test/TableGen/DuplicateProcessorFeatures.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/address-space-patfrags.td
A llvm/test/TableGen/cc-assign-to-reg-tuple.td
M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
M llvm/test/ThinLTO/X86/import_opaque_type.ll
M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
M llvm/test/Transforms/ConstraintElimination/abs.ll
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
A llvm/test/Transforms/CorrelatedValuePropagation/pr137582.ll
M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/basic.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/mem-intrinsics.ll
M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
M llvm/test/Transforms/Inline/byval-align.ll
M llvm/test/Transforms/Inline/byval-with-non-alloca-addrspace.ll
M llvm/test/Transforms/Inline/byval.ll
M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
M llvm/test/Transforms/Inline/inline-tail.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cmp.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-fmul_u-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-idempotency.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul_u-idempotency.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-to-u-form.ll
R llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
M llvm/test/Transforms/InstCombine/atomicrmw.ll
M llvm/test/Transforms/InstCombine/cast_ptr.ll
A llvm/test/Transforms/InstCombine/cttz-shift-exact.ll
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
M llvm/test/Transforms/InstCombine/icmp-select.ll
M llvm/test/Transforms/InstCombine/minmax-fp.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
M llvm/test/Transforms/InstCombine/unordered-fcmp-select.ll
M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors-complex.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
A llvm/test/Transforms/LoopVectorize/AArch64/f128-fmuladd-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
A llvm/test/Transforms/LoopVectorize/X86/cost-model-i386.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/pr55096-scalarize-add.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/outer-loop-inner-latch-successors.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
A llvm/test/Transforms/LoopVectorize/pr87407-trunc-with-intrinsic.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
M llvm/test/Transforms/Reg2Mem/non-token-test.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/reduce-maximumnum-minimumnum.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
A llvm/test/Verifier/2008-09-02-FunctionNotes2.ll
M llvm/test/Verifier/invalid-label-param.ll
M llvm/test/Verifier/memset-pattern-unsized.ll
M llvm/test/Verifier/nofpclass.ll
M llvm/test/Verifier/unsized-types-load.ll
M llvm/test/Verifier/unsized-types-store.ll
M llvm/test/lit.site.cfg.py.in
A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlags.yaml
M llvm/test/tools/obj2yaml/DXContainer/ShaderFlagsEmpty.yaml
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-config/llvm-config.cpp
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/unittests/ADT/ArrayRefTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/OperationsTest.cpp
M llvm/unittests/IR/DataLayoutTest.cpp
M llvm/unittests/IR/ManglerTest.cpp
M llvm/unittests/Support/CMakeLists.txt
M llvm/unittests/Support/Path.cpp
A llvm/unittests/Support/ProgramStackTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/utils/TableGen/CallingConvEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/lit/lit/formats/googletest.py
M llvm/utils/lit/lit/util.py
A llvm/utils/lit/tests/Inputs/googletest-prefix/DummySubDir/test_one.py
A llvm/utils/lit/tests/Inputs/googletest-prefix/lit.cfg
A llvm/utils/lit/tests/googletest-prefix.py
M llvm/utils/update_analyze_test_checks.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_llc_test_checks.py
M llvm/utils/update_mc_test_checks.py
M llvm/utils/update_mca_test_checks.py
M llvm/utils/update_mir_test_checks.py
M llvm/utils/update_test_checks.py
M mlir/cmake/modules/AddMLIR.cmake
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Conversion/ArithToEmitC/ArithToEmitC.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ConvertToEmitCPass.h
A mlir/include/mlir/Conversion/ConvertToEmitC/ToEmitCInterface.h
M mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/include/mlir/Dialect/Async/Passes.h
M mlir/include/mlir/Dialect/Async/Passes.td
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/Dialect/XeGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/IR/SymbolTable.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/Interfaces/FunctionInterfaces.td
M mlir/include/mlir/Pass/AnalysisManager.h
M mlir/include/mlir/Pass/PassOptions.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/CMakeLists.txt
A mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
M mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCountingOpt.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/ControlFlow/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/Transforms/GlobalIdRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
A mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/Ptr/IR/PtrAttrs.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVEnums.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/XeGPU/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/lib/Dialect/XeGPU/Utils/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/Pass/IRPrinting.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/ConvertToEmitC/func-failed.mlir
A mlir/test/Conversion/ConvertToEmitC/func.mlir
A mlir/test/Conversion/ConvertToEmitC/tosa.mlir
M mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
A mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/variables.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/CPU/X86/vector-transpose-lowering.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
A mlir/test/Dialect/XeGPU/subgroup-distribution.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
A mlir/test/IR/custom-struct-attr-roundtrip.mlir
M mlir/test/IR/invalid.mlir
M mlir/test/IR/parser.mlir
M mlir/test/IR/test-func-erase-result.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/print-memref.mlir
A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
M mlir/test/Integration/GPU/CUDA/concurrent-kernels.mlir
M mlir/test/Pass/ir-printing-file-tree.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
M mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
A mlir/test/Target/LLVMIR/nvvm/cvt_fp6x2.mlir
A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
A mlir/test/Target/LLVMIR/openmp-cancel.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
M mlir/test/Target/LLVMIR/openmp-target-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A mlir/test/Target/SPIRV/consecutive-selection.spv
M mlir/test/Target/SPIRV/loop.mlir
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestFunc.cpp
M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
M mlir/test/mlir-tblgen/attr-or-type-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.h
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/test/CMakeLists.txt
M offload/test/lit.cfg
A offload/test/unit/lit.cfg.py
A offload/test/unit/lit.site.cfg.in
M offload/unittests/CMakeLists.txt
M offload/unittests/OffloadAPI/CMakeLists.txt
M offload/unittests/OffloadAPI/common/Environment.cpp
M offload/unittests/OffloadAPI/common/Environment.hpp
M offload/unittests/OffloadAPI/common/Fixtures.hpp
R offload/unittests/OffloadAPI/device/olDeviceInfo.hpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfo.cpp
M offload/unittests/OffloadAPI/device/olGetDeviceInfoSize.cpp
M offload/unittests/OffloadAPI/device_code/CMakeLists.txt
A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
M offload/unittests/OffloadAPI/kernel/olGetKernel.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
M offload/unittests/OffloadAPI/memory/olMemAlloc.cpp
M offload/unittests/OffloadAPI/memory/olMemFree.cpp
M offload/unittests/OffloadAPI/memory/olMemcpy.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfo.cpp
M offload/unittests/OffloadAPI/platform/olGetPlatformInfoSize.cpp
R offload/unittests/OffloadAPI/platform/olPlatformInfo.hpp
M offload/unittests/OffloadAPI/program/olCreateProgram.cpp
M offload/unittests/OffloadAPI/program/olDestroyProgram.cpp
M offload/unittests/OffloadAPI/queue/olCreateQueue.cpp
M offload/unittests/OffloadAPI/queue/olDestroyQueue.cpp
M offload/unittests/OffloadAPI/queue/olWaitQueue.cpp
R offload/unittests/Plugins/CMakeLists.txt
R offload/unittests/Plugins/NextgenPluginsTest.cpp
M polly/include/polly/Support/ScopHelper.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslExprBuilder.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/CodeGen/LoopGenerators.cpp
M polly/lib/Support/ScopHelper.cpp
A utils/bazel/llvm-project-overlay/clang-tools-extra/clang-apply-replacements/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/include/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm_configs/config.h.cmake
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/a04-atomic-one
Compare: https://github.com/llvm/llvm-project/compare/ddacb71299d1...ec73e6ff27eb
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list