[all-commits] [llvm/llvm-project] b336ab: [mlir] add a way to query non-property attributes ...
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Thu Jan 11 11:23:53 PST 2024
Branch: refs/heads/users/aaupov/spr/main.boltnfc-expose-yamlprofilewriterconvert-function
Home: https://github.com/llvm/llvm-project
Commit: b336ab42dcc81a351b2f875f28c70b74d8814611
https://github.com/llvm/llvm-project/commit/b336ab42dcc81a351b2f875f28c70b74d8814611
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/IR/OpPropertiesTest.cpp
Log Message:
-----------
[mlir] add a way to query non-property attributes (#76959)
This helps support generic manipulation of operations that don't (yet)
use properties to store inherent attributes.
Use this mechanism in type inference and operation equivalence.
Note that only minimal unit tests are introduced as all the upstream
dialects seem to have been updated to use properties and the
non-property behavior is essentially deprecated and untested.
Commit: a87fa7f0caa1b8bf328524e0aec80a10ed4af7f9
https://github.com/llvm/llvm-project/commit/a87fa7f0caa1b8bf328524e0aec80a10ed4af7f9
Author: Gabriel Baraldi <baraldigabriel at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/memcpy-to-load.ll
Log Message:
-----------
[InstCombine] Dont throw away noalias/alias scope metadata when inlining memcpys (#74805)
This was found in julia when we changed some operations from explicit
loads + stores to memcpys. While applying it to both the src and the
dest seems weird, thats what we do for normal TBAA.
Commit: 9215741726e295d09ae7db4d235b26c1214a19ae
https://github.com/llvm/llvm-project/commit/9215741726e295d09ae7db4d235b26c1214a19ae
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/lib/IR/Operation.cpp
Log Message:
-----------
[mlir] Make fold result type check more verbose (#76867)
Print the op and its types when the fold type check fails. This is to
speed up debuging as it should be trivial to map the offending op to its
folder based on the op name.
Commit: 640ef55bbbc081b72a87f71cab1bce08762e48b0
https://github.com/llvm/llvm-project/commit/640ef55bbbc081b72a87f71cab1bce08762e48b0
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang-tools-extra/test/clang-doc/templates.cpp
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
Log Message:
-----------
Reapply "[Clang][Sema] Diagnose unexpanded packs in the template argument lists of function template specializations" (#76876) (#76915)
This reapplies f034044ad94d6f7ccec13d89f08acac257ed28bb after it was
reverted by 687396b5f4ba0713d103ebd172b308e92eb930cc due to a test
failure in clang-doc.
The test in question declares a partial specialization of a function
template, as well as an explicit specialization of the same function
template. Both declarations are now set as invalid, meaning neither is
emitted by clang-doc.
Since this is the sole test of function template specializations in
clang-doc, I presume the intent is for the partial specialization to
actually be the primary template. Doing so results in the expected
output.
Commit: 569ec185f5dc4a9e4a239948191977ecc2b2b475
https://github.com/llvm/llvm-project/commit/569ec185f5dc4a9e4a239948191977ecc2b2b475
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/docs/CommandGuide/llvm-cxxfilt.rst
M llvm/include/llvm/Demangle/Demangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/lib/Demangle/Demangle.cpp
M llvm/lib/Demangle/ItaniumDemangle.cpp
A llvm/test/tools/llvm-cxxfilt/no-params.test
M llvm/tools/llvm-cxxfilt/Opts.td
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
Log Message:
-----------
[llvm-cxxfilt] Added the option --no-params (#75348)
Added -p / --no-params flag to skip demangling function parameters
similar to how it is supported by GNU c++filt tool.
There are cases when users want to demangle a large number of symbols in
bulk, for example, at startup, and do not care about function parameters
and overloads at that time. Skipping the demangling of parameter types
led to a measurable improvement in performance. Our users reported about
15% speed up with GNU c++filt and we expect similar results with
llvm-cxxfilt with this patch.
Commit: 8f8152091cae186b35f73331df13f36b0f905eb4
https://github.com/llvm/llvm-project/commit/8f8152091cae186b35f73331df13f36b0f905eb4
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][SME] Add IsStreamingOrSVE2p1 (#75958)
This patch adds IsStreamingOrSVE2p1 to the applicable builtins and a
warning for when those builtins are not used in a streaming or sve2p1
function.
Commit: a7a78fd427569a7ad8a27e682a66fe414f004a35
https://github.com/llvm/llvm-project/commit/a7a78fd427569a7ad8a27e682a66fe414f004a35
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
R clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
Revert "[Clang][SME] Add IsStreamingOrSVE2p1" (#76973)
Reverts llvm/llvm-project#75958
I mistakenly included a commit from my local main after rebasing.
Commit: 917b404e2ccdcc31d2d64971ad094b80967a240b
https://github.com/llvm/llvm-project/commit/917b404e2ccdcc31d2d64971ad094b80967a240b
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/include/lldb/Symbol/CompileUnit.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/source/API/SBCompileUnit.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/JSON/SymbolFileJSON.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Utility/FileSpecList.cpp
A lldb/test/API/functionalities/inline-sourcefile/Makefile
A lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
A lldb/test/API/functionalities/inline-sourcefile/inline.ll
A lldb/test/API/functionalities/inline-sourcefile/main.c
M lldb/unittests/Core/FileSpecListTest.cpp
Log Message:
-----------
Add support for inline DWARF source files. (#75880)
LLVM supports DWARF 5 linetable extension to store source files inline
in DWARF. This is particularly useful for compiler-generated source
code. This implementation tries to materialize them as temporary files
lazily, so SBAPI clients don't need to be aware of them.
rdar://110926168
Commit: c12a9fc2798cc74a6ea6a8c71826047f47c815ea
https://github.com/llvm/llvm-project/commit/c12a9fc2798cc74a6ea6a8c71826047f47c815ea
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
Log Message:
-----------
[ELF] Correctly set the `nvptx` triple from `makeTriple()` (#76970)
Summary:
The ELFObject file should be able to handle `nvptx` objects but we
currently list them as unknown. This patch should now make it return
`nvptx64--` correctly.
Commit: 5cd3cf107286d56cf162346d1bbbbfcc20439320
https://github.com/llvm/llvm-project/commit/5cd3cf107286d56cf162346d1bbbbfcc20439320
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/cvtv2f32.ll
Log Message:
-----------
[X86] cvtv2f32.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 076dbc02724681c7d3664959d5ae742099b7edb6
https://github.com/llvm/llvm-project/commit/076dbc02724681c7d3664959d5ae742099b7edb6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/buildvec-insertvec.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - add X86ISD::VZEXT_LOAD handling.
Simplify to a scalar_to_vector(load()) if we don't demand any of the upper vector elements.
Commit: ce4459d5903fe53065f4c198cd71be6e514475c2
https://github.com/llvm/llvm-project/commit/ce4459d5903fe53065f4c198cd71be6e514475c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/64-bit-shift-by-32-minus-y.ll
Log Message:
-----------
[X86] 64-bit-shift-by-32-minus-y.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 63e30747815a20e9976c5bcedb81e8b44cbec582
https://github.com/llvm/llvm-project/commit/63e30747815a20e9976c5bcedb81e8b44cbec582
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/aligned-variadic.ll
Log Message:
-----------
[X86] aligned-variadic.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 2cbf6526157958531e5765e7aa6faa53bfac5c5a
https://github.com/llvm/llvm-project/commit/2cbf6526157958531e5765e7aa6faa53bfac5c5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512-pmovxrm.ll
Log Message:
-----------
[X86] avx512-pmovxrm.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: db9a16eaedd67f5b7c2dad68f1e3f2799d86d590
https://github.com/llvm/llvm-project/commit/db9a16eaedd67f5b7c2dad68f1e3f2799d86d590
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir][nfc] Update comments in the Linalg vectoriser (#76797)
Commit: 79a2e2b9e8d0dffa602375c2386371666b412272
https://github.com/llvm/llvm-project/commit/79a2e2b9e8d0dffa602375c2386371666b412272
Author: Nishant Mittal <nishantwrp at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc][math] Fix `is_quiet_nan` function in FPBits (#76931)
Commit: 9f9dd6be0d21a156dcfee01ebbd571eca79b08bd
https://github.com/llvm/llvm-project/commit/9f9dd6be0d21a156dcfee01ebbd571eca79b08bd
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
Log Message:
-----------
Wrap local type declarations in anonymous namespace to fix modules build.
Commit: e78a1f491cbc0a57de7bf86058359dd0bd282540
https://github.com/llvm/llvm-project/commit/e78a1f491cbc0a57de7bf86058359dd0bd282540
Author: 刘雨培 <liuyupei951018 at hotmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix the instantiation of return type requirements in lambda bodies (#76967)
Currently, due to the incomplete implementation of p0588r1, the
instantiation of lambda expressions leads to the instantiation of the
body. And `EvaluateConstraints` is false during the instantiation of the
body, which causes crashes during the instantiation of the return type
requirement:
```cpp
template<typename T> concept doesnt_matter = true;
template<class T>
concept test =
[]{
return requires(T t) {
{ t } -> doesnt_matter; // crash
};
}();
static_assert(test<int>);
```
Although a complete implementation of p0588r1 can solve these crashes,
it will take some time. Therefore, this pull request aims to fix these
crashes first.
Fixes https://github.com/llvm/llvm-project/issues/63808
Fixes https://github.com/llvm/llvm-project/issues/64607
Fixes https://github.com/llvm/llvm-project/issues/64086
Commit: 4004f655ceb9623608ba0471aa7037c142956e31
https://github.com/llvm/llvm-project/commit/4004f655ceb9623608ba0471aa7037c142956e31
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
Log Message:
-----------
[LLDB][NativePDB] Fix use-after-free error detected by asan.
Commit: a960703466e937d99ab7a7a29f7448e1bc926e35
https://github.com/llvm/llvm-project/commit/a960703466e937d99ab7a7a29f7448e1bc926e35
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
Log Message:
-----------
[RISCV] Remove incomplete PRE_DEC/POST_DEC code for XTHeadMemIdx. (#76922)
As far as I can tell if getIndexedAddressParts received an ISD::SUB, the
constant would be negated. So `IsInc` should be set to true since the
SUB was effectively converted to ADD. This means we should never use
PRE_DEC/POST_DEC.
No tests are affected because DAGCombine aggressively turns SUB with
constant into ADD so no lit test has a SUB reach getIndexedAddressParts.
Commit: 4f59a38821a2175408a3189327223b85ddba636f
https://github.com/llvm/llvm-project/commit/4f59a38821a2175408a3189327223b85ddba636f
Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
Revert #76194 (#76987)
[Flang] Revert "Allow Intrinsic simpification with min/maxloc dim
and…scalar result (#76194)"
This reverts commit 9b7cf5bfb08b6e506216ef354dfd61adb15acbff.
See merge request #76194.
This change was causing several failures in our internal tests. I'm
reverting now and will work on creating a test that David Green can use
to reproduce the problem.
Commit: c041fa1093c3ad7be040fb362a10ca3900c698a4
https://github.com/llvm/llvm-project/commit/c041fa1093c3ad7be040fb362a10ca3900c698a4
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
Log Message:
-----------
XFAIL test with dsymutil
Commit: 85939e5e248213dfdf66fc8305ed502fc2f3f1f0
https://github.com/llvm/llvm-project/commit/85939e5e248213dfdf66fc8305ed502fc2f3f1f0
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][openacc][NFC] Rename custom parser from WaitOperands to DeviceTypeOperandsWithSegment
Commit: 8b2bdfbca7c1db272e4e703445f5626b4bc4b9d3
https://github.com/llvm/llvm-project/commit/8b2bdfbca7c1db272e4e703445f5626b4bc4b9d3
Author: Alan Phipps <a-phipps at ti.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/branch-mincounters.cpp
M clang/test/CoverageMapping/branch-templates.cpp
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/logical.cpp
A clang/test/CoverageMapping/mcdc-class.cpp
A clang/test/CoverageMapping/mcdc-error-conditions.cpp
A clang/test/CoverageMapping/mcdc-error-nests.cpp
A clang/test/CoverageMapping/mcdc-logical-scalar-ids.cpp
A clang/test/CoverageMapping/mcdc-logical-stmt-ids-all.cpp
A clang/test/CoverageMapping/mcdc-logical-stmt-ids.cpp
M clang/test/Profile/c-linkage-available_externally.c
A clang/test/Profile/c-mcdc-class.cpp
A clang/test/Profile/c-mcdc-nested-ternary.c
A clang/test/Profile/c-mcdc-not.c
A clang/test/Profile/c-mcdc.c
A compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
Log Message:
-----------
[Coverage][clang] Enable MC/DC Support in LLVM Source-based Code Coverage (3/3)
Part 3 of 3. This includes the MC/DC clang front-end components.
Differential Revision: https://reviews.llvm.org/D138849
Commit: 0b45c7722c7661063176f4dcd108ac4b6242fd34
https://github.com/llvm/llvm-project/commit/0b45c7722c7661063176f4dcd108ac4b6242fd34
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M flang/test/Semantics/kinds04_q10.f90
Log Message:
-----------
[Flang] make ppc unsupported for x86_64 test case (NFC) (#73903)
The test case is for x86_64 adding powerpc as unsupported.
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 05216544a34eaf7aabf45df5f64d1c6c3e4e06c6
https://github.com/llvm/llvm-project/commit/05216544a34eaf7aabf45df5f64d1c6c3e4e06c6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-ar/error-opening-permission.test
M llvm/test/tools/llvm-dwarfdump/X86/output.s
M llvm/test/tools/llvm-ifs/fail-file-write.test
M llvm/test/tools/llvm-ranlib/error-opening-permission.test
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[llvm] Add support for running tests as root (#75285)
There are a few test that check access permissions, so they need to be
disabled when running the tests as root.
The most common use case for running tests as root is inside of a
container. GitHub Actions, for example, only supports running the root
user inside of containers, so this change is necessary in order to run
the tests inside of a container running in the GitHub Actions
environment.
Commit: 852596d804a1b07c01e30f2091acf9c8bf16bda4
https://github.com/llvm/llvm-project/commit/852596d804a1b07c01e30f2091acf9c8bf16bda4
Author: David Goldblatt <davidgoldblatt at fb.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/BasicAA/separate_storage-alias-sets.ll
Log Message:
-----------
[BasicAA] Guess reasonable contexts for separate storage hints (#76770)
The definition of the pointer of the memory location being queried is
always one such context. Even this conservative guess can be better than
no guess at all in some cases.
Fixes #64666
Co-authored-by: David Goldblatt <davidgoldblatt at meta.com>
Commit: 8f40783944fcdd33a2ad134be0d26a671202fd85
https://github.com/llvm/llvm-project/commit/8f40783944fcdd33a2ad134be0d26a671202fd85
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
Log Message:
-----------
[lldb][nfc] Mark function as const (#76974)
This function has no mutable behavior
Commit: 166bd4e1f18da221621953bd5943c1a8d17201fe
https://github.com/llvm/llvm-project/commit/166bd4e1f18da221621953bd5943c1a8d17201fe
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
A .github/workflows/build-ci-container.yml
A .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[workflows] Build a container for running CI on github actions (#75286)
Using a container will allow us to have similar testing environments on
both the GitHub hosted runners and the self-hosted runners.
Commit: 45651c357ae4e39a115bae6a936151b1741abf70
https://github.com/llvm/llvm-project/commit/45651c357ae4e39a115bae6a936151b1741abf70
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang/include/clang/Basic/riscv_sifive_vector.td
Log Message:
-----------
[RISCV] Fix indentation in riscv_sifive_vector.td. NFC
Commit: b5a3e9639291359d5c9e16f0610393d92bc7d4c2
https://github.com/llvm/llvm-project/commit/b5a3e9639291359d5c9e16f0610393d92bc7d4c2
Author: ChipsSpectre <maxi.hornung at t-online.de>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/test/Parser/cxx-in-c.c
Log Message:
-----------
[Clang][Parser] Fix crash of clang when using C++ constructs like :: in C code (#74926)
Ensure we do not try to parse a nested-name-specifier when parsing an ill-formed file in C mode.
Fixes #73559
Commit: 9d829784d4c2b4f82e0b301eaa840c9ed192e919
https://github.com/llvm/llvm-project/commit/9d829784d4c2b4f82e0b301eaa840c9ed192e919
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Correct features for Arm Cortex-A78C, Cortex-X1C and Cortex-X2 (#76932)
Remove AArch64::AEK_FP16ML from Arm Cortex-A78C definition, as
this is not supported, according to the Technical Reference Manual:
https://developer.arm.com/documentation/102226/latest/
Also add AArch64::AEK_FLAGM (Flag Manipulation) to Arm Cortex-X1C
and Arm Cortex-X2 as these were missing previously, but are
supported, according to the Technical Reference Manuals:
https://developer.arm.com/documentation/101968/latest/
https://developer.arm.com/documentation/101803/latest/
Fixes #62383
Commit: cd3942059eed7b7185f26bc583ac287a995db0d0
https://github.com/llvm/llvm-project/commit/cd3942059eed7b7185f26bc583ac287a995db0d0
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
A llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
Log Message:
-----------
[SeperateConstOffsetFromGEP] Pre-commit tests for or disjoint handling (#76972)
1. Adds tests for the existing interpretation of `or` as `add` in
SeperateConstOffsetFromGEP.
2. Pre-commits a test for `or disjoint`.
Commit: c398923f32ff5373964e1288d9de37403c2399dd
https://github.com/llvm/llvm-project/commit/c398923f32ff5373964e1288d9de37403c2399dd
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[CMake][runtimes] Check LLVM_ENABLE_PROJECTS for libc (#76845)
Only some targets may be building llvm-libc in which case the top-level
LLVM_ENABLE_RUNTIMES variable won't contain libc. Rather, we can check
LLVM_ENABLE_PROJECTS since libc is required to be included there for
libc-hdrgen to be built (and when LLVM_ENABLE_RUNTIMES contains libc, we
automatically include libc in LLVM_ENABLE_PROJECTS as well).
Commit: 71c17424b5d5c22c0ce6b4c41acaa0401515baca
https://github.com/llvm/llvm-project/commit/71c17424b5d5c22c0ce6b4c41acaa0401515baca
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/test/Dialect/Transform/apply-foreach-nested.mlir
M mlir/test/Dialect/Transform/expensive-checks.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
Log Message:
-----------
[mlir][TD] update more tests to use the "main" interpreter pass (#76963)
Update several tests under mlir/test/Dialect/Transform to use the "main"
transform interpreter pass with named entry points rather than the test
interpreter pass.
This helped discover a logic error in the expensive checks mechanism
that was exiting too early.
Commit: 2ab5c47c8752b444885d6bfaf6f570a482fb4cdf
https://github.com/llvm/llvm-project/commit/2ab5c47c8752b444885d6bfaf6f570a482fb4cdf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
Log Message:
-----------
[VPlan] Don't replace scalarizing recipe with VPWidenCastRecipe.
Don't replace a scalarizing recipe with a VPWidenCastRecipe. This would
introduce wide (vectorizing) recipes when interleaving only.
Fixes https://github.com/llvm/llvm-project/issues/76986
Commit: 58f1640635feff282935153d295dfb4ea1818401
https://github.com/llvm/llvm-project/commit/58f1640635feff282935153d295dfb4ea1818401
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
A llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-store.s
Log Message:
-----------
[RISCV][llvm-mca] Use correct LMUL and SEW for strided loads and stores (#76869)
The pseudos for strided loads and stores use the SEW coming from the
name. For example, vlse8 has SEW=8 and vlse16 has SEW=16.
When llvm-mca tries to lookup (VLSE8_V, SEW=S, LMUL=L) in the inverse
pseudo table, a result will only be found when S=8, where S was set from
the previous vsetvli instruction. Instead, for a match to be found, we
must lookup (VLSE8_V, SEW=8, LMUL=L') where L' is the EMUL which was
calculated by scaling the LMUL and SEW from the previous vsetvli and the
SEW=8.
Commit: a0c19bd45599c044a662752c2b513cc514cb645a
https://github.com/llvm/llvm-project/commit/a0c19bd45599c044a662752c2b513cc514cb645a
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/test/IR/test-region-branch-op-verifier.mlir
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][RegionBranchOpInterface] explicitly check for existance of block terminator (#76831)
Commit: 03ef103235752830da7b9ce5e825c0e3ddf7f45a
https://github.com/llvm/llvm-project/commit/03ef103235752830da7b9ce5e825c0e3ddf7f45a
Author: Chris Cotter <ccotter14 at bloomberg.net>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
Log Message:
-----------
[clang-tidy] Fix bug in modernize-use-emplace (#66169)
emplace_back cannot construct an aggregate with arguments used to
initialize the aggregate.
Closes #62387
Test plan: Added test test from #62387 which contains code that should
not be replaced by the check.
Commit: d67c2d85548437ef8c3bb12a29ea330180b87913
https://github.com/llvm/llvm-project/commit/d67c2d85548437ef8c3bb12a29ea330180b87913
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] Code format - leftover after #66169
Manually formating code via clang-format after previous
commit merge.
Commit: 2bc994456c5be2ab6d98b94de2349302577a9823
https://github.com/llvm/llvm-project/commit/2bc994456c5be2ab6d98b94de2349302577a9823
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/app.h
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/start.cpp
A libc/startup/linux/aarch64/tls.cpp
A libc/startup/linux/do_start.cpp
A libc/startup/linux/do_start.h
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/start.cpp
A libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/start.cpp
A libc/startup/linux/x86_64/tls.cpp
Log Message:
-----------
[libc] major refactor of startup library (#76092)
* separate initialization routines into _start and do_start for all
architectures.
* lift do_start as a separate object library to avoid code duplication.
* (addtionally) address the problem of building hermetic libc with
-fstack-pointer-*
The `crt1.o` is now a merged result of three components:
```
___
|___ x86_64
| |_______ start.cpp.o <- _start (loads process initial stack and aligns stack pointer)
| |_______ tls.cpp.o <- init_tls, cleanup_tls, set_thread_pointer (TLS related routines)
|___ do_start.cpp.o <- do_start (sets up global variables and invokes the main function)
```
Commit: a8cb4f7273ac4ea6f9cc3c03ed65a32542e947fe
https://github.com/llvm/llvm-project/commit/a8cb4f7273ac4ea6f9cc3c03ed65a32542e947fe
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
Log Message:
-----------
[RISCV][llvm-mca] Fix failing strided-load-x0.s test
58f1640635feff282935153d295dfb4ea1818401 was committed but had a broken
test that I did not add the updated version to the commit. This patch
fixes the test.
Commit: 40b4ac278e87e2b98e52094b72728936df3e92d9
https://github.com/llvm/llvm-project/commit/40b4ac278e87e2b98e52094b72728936df3e92d9
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
A compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
A compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/lib/ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
Log Message:
-----------
[ORC] Refactor executor symbol lookup to use ExecutorSymbolDef (NFC) (#76989)
This migrates the dylib manager lookup and related APIs to replace
ExecutorAddress with ExecutorSymbolDef so that in the future we can
model JITSymbolFlags for these symbols. The current change should be NFC
as we are only setting the Exported symbol flag.
Commit: 6af713ae170c34f0561f19e594266ce2a2af343b
https://github.com/llvm/llvm-project/commit/6af713ae170c34f0561f19e594266ce2a2af343b
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lld/MinGW/Driver.cpp
Log Message:
-----------
[LLD] [MinGW] Remove an unnecessary include of unistd.h. NFC. (#76953)
This was present since when the MinGW LLD frontend first was merged in
894dbbe8eb0e3d8fc7d8746a76d2380f0c2b6c0f, where it most probably was a
leftover from earlier evolution of the patch.
Commit: dd047c5b64944bae830b9fecf53f8d11ff41386e
https://github.com/llvm/llvm-project/commit/dd047c5b64944bae830b9fecf53f8d11ff41386e
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M flang/unittests/Runtime/Transformational.cpp
Log Message:
-----------
[Flang] remove setting lowerbound for non existing dimension in shift runtime test case (NFC) (#76990)
The shift2 array only has 1 dimension but the lower bound for a second
dimension is being set causing a seg fault on AIX.
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 7a05c0931f1a0ade9abc447c872a3cc7c8a37dd1
https://github.com/llvm/llvm-project/commit/7a05c0931f1a0ade9abc447c872a3cc7c8a37dd1
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lld/COFF/Config.h
Log Message:
-----------
[LLD] [COFF] Fix option name references in Config.h. NFC.
These options have been named /lldltocache: and
/lldltocachepolicy: since they were added in
052e855e2bea78dcfbb2807acee829b56d56a729; the comment was
wrong from the original commit.
Commit: cb7fe9ad4c3103d90c20d55819a9e69ab66ab3d0
https://github.com/llvm/llvm-project/commit/cb7fe9ad4c3103d90c20d55819a9e69ab66ab3d0
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
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
Log Message:
-----------
[ASAN][AMDGPU] Make address sanitizer checks more efficient for the divergent target. (#72247)
Address sanitizer checks for AMDGPU target in non-recovery mode aren't
quite efficient at the moment which can be illustrated with a program:
```
instr_before;
load ptr1;
instr_in_the_middle;
load ptr2;
instr_after;
```
ASAN generates the following instrumentation:
```
instr_before;
if (sanity_check_passed(ptr1))
load ptr1;
instr_in_the_middle;
if (sanity_check_passed(ptr2))
load ptr2;
instr_after;
else
// ASAN report block 2
__asan_report(ptr2); // wave terminates
unreachable;
else
// ASAN report block 1
__asan_report(ptr1); // wave terminates
unreachable;
```
Each sanitizer check is treated as a non-uniform condition (and this is
true because some lanes may pass the check and some don't). This results
in the program above: basically normal program flow is continued in
_then_ blocks. This way it allows lanes that pass all sanity checks to
complete the program and then the wave terminates at the first reporting
_else_ block. For each _else_ block it has to keep execmask and pointer
value to report error consuming tons (megatons!) of registers which are
live till the program end.
This patch changes the behavior on a failing sanity check: instead of
waiting when passing lanes reach program end report error and terminate
as soon as any lane has violated the sanity check. Sanity check
condition is treated uniform with this approach and the resulting
program looks much like ordinary CPU code:
```
instr_before;
if (any_lane_violated(sanity_check_passed(ptr1)))
// ASAN report block 1
__asan_report(ptr1); // abort the program
unreachable;
load ptr1;
instr_in_the_middle;
if (any_lane_violated(sanity_check_passed(ptr2)))
// ASAN report block 2
__asan_report(ptr2); // abort the program
unreachable;
load ptr2;
instr_after;
```
However it has to use a trick to pass structurizer and some later
passes: ASAN check is generated like in recovery mode but reporting
function aborts, that is standard _unreachable_ instruction isn't used:
```
...
if (any_lane_violated(sanity_check_passed(ptr1)))
// ASAN report block 1
__asan_report(ptr1); // abort the program
// pretend we're going to continue the program
load ptr1;
...
```
This may create some undesirable effects:
1. Register allocator generates a lot of code for save/restore registers
for asan_report call. This may potentially bloat the code since we have
a report block for every accessed pointer.
2. Loop invariant code in report blocks is hoisted into a loop
preheader. I'm not sure but probably this can be solved using block
frequency information, but most likely this isn't a problem at all.
These problems are to be addressed later.
### Flattening address sanitizer check
In order to simplify divergent CFG this patch also changes the
instrumentation code from:
```
uint64_t address = ptr;
sbyte *shadow_address = MemToShadow(address);
sbyte shadow_value = *shadow_address;
if (shadow_value) {
sbyte last_accessed_byte = (address & 7) + kAccessSize - 1;
if (last_accessed_byte >= shadow_value) {
ReportError(address, kAccessSize, kIsWrite);
abort();
}
}
```
to
```
uint64_t address = ptr;
sbyte *shadow_address = MemToShadow(address);
sbyte shadow_value = *shadow_address;
sbyte last_accessed_byte = (address & 7) + kAccessSize - 1;
if (shadow_value && last_accessed_byte >= shadow_value) {
ReportError(address, kAccessSize, kIsWrite);
abort();
}
```
It saves one _if_ which really avoids very few instructions and their
latency can be hidden by the load from shadow memory.
Commit: 4241e847072cb436bde0abc74f2ef446a01f29aa
https://github.com/llvm/llvm-project/commit/4241e847072cb436bde0abc74f2ef446a01f29aa
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
Log Message:
-----------
[mlir][sparse] minor comment edits in sparsifier pipeline (#77000)
Commit: 0414cf09f02239254c449b7c5a37428fecb943f7
https://github.com/llvm/llvm-project/commit/0414cf09f02239254c449b7c5a37428fecb943f7
Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
Log Message:
-----------
Move nondiscard tests of ranges::contains() to the right place. (#76887)
nondiscard tests of ranges::contains() should be in
ranges.nodiscard_extensions files rather than nodiscard_extensions files
Commit: 241fe83704476f81e3438e32b6d988ea123e624d
https://github.com/llvm/llvm-project/commit/241fe83704476f81e3438e32b6d988ea123e624d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Introduce ComputeReductionResult VPInstruction opcode. (#70253)
This patch introduces a new ComputeReductionResult opcode to compute the
final reduction result in the middle block. The code from fixReduction
has been moved to ComputeReductionResult, after some earlier cleanup
changes to model parts of fixReduction explicitly elsewhere as needed.
The recipe may be broken down further in the future.
Note that the phi nodes to merge the reduction result from the trip
count check and the middle block, to be used as resume value for the
scalar remainder loop are also generated based on
ComputeReductionResult.
Once we have a VPValue for the reduction result, this can also be
modeled explicitly and moved out of the recipe.
Commit: 665e46c2689cc4212345213db7d7e968b91dcc8b
https://github.com/llvm/llvm-project/commit/665e46c2689cc4212345213db7d7e968b91dcc8b
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
A compiler-rt/test/profile/Linux/instrprof-instr-suppl.test
M llvm/test/tools/llvm-profdata/Inputs/FUnique.proftext
M llvm/test/tools/llvm-profdata/Inputs/NoFUnique.proftext
M llvm/test/tools/llvm-profdata/Inputs/flatten_instr.proftext
M llvm/test/tools/llvm-profdata/suppl-instr-with-sample-flatten.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
[llvm-profdata] Use semicolon as the delimiter for supplementary profiles. (#75080)
When merging instrFDO profiles with afdo profile as supplementary, instrFDO counters for static functions are stored with function's PGO name (with filename.cpp; prefix).
- This pull request fixes the delimiter used when a PGO function name is 'normalized' for AFDO look-up.
Commit: 786cf76f434d2691878067dedb8b1eb99472810b
https://github.com/llvm/llvm-project/commit/786cf76f434d2691878067dedb8b1eb99472810b
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/DWARFLinker/DWARFStreamer.cpp
A llvm/test/tools/dsymutil/ARM/inline-source.test
A llvm/test/tools/dsymutil/Inputs/inline.ll
Log Message:
-----------
[dsymutil] Add support for inline DWARF source files. (#77016)
There was a strange and seemingly unncessary empty string optimization
in NonRelocatableStringPool that I had to remove in order to support
empty strings in the line_str string table, without unconditionally
forcing an empty string to be added to every debug_line_str table.
Commit: 9a2df55f47e4ec02a1efbf8efa776cfeed527df2
https://github.com/llvm/llvm-project/commit/9a2df55f47e4ec02a1efbf8efa776cfeed527df2
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp
M lld/test/MachO/pgo-warn-mismatch.ll
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
Log Message:
-----------
[InstrProf] No linkage prefixes in IRPGO names (#76994)
Change the format of IRPGO counter names to
`[<filepath>;]<mangled-name>` which is computed by
`GlobalValue::getGlobalIdentifier()` to fix #74565.
In fe051934cbb0aaf25d960d7d45305135635d650b
(https://reviews.llvm.org/D156569) the format of IRPGO counter names was
changed to be `[<filepath>;]<linkage-name>` where `<linkage-name>` is
basically `F.getName()` with some prefix, e.g., `_` or `l_` on Mach-O
(yes, it is confusing that `<linkage-name>` is computed with
`Mangler().getNameWithPrefix()` while `<mangled-name>` is just
`F.getName()`). We discovered in #74565 that this causes some missed
import issues on some targets and #74008 is a partial fix.
Since `<mangled-name>` may not match the `<linkage-name>` on some
targets like Mach-O, we will need to post-process the output of
`llvm-profdata order` before passing to the linker via `-order_file`.
Profiles generated after fe051934cbb0aaf25d960d7d45305135635d650b will
become stale after this diff, but I think this is acceptable since that
patch landed after the LLVM 18 cut which hasn't been released yet.
Commit: 3096353477a6802de9d4c74018c28f13e8ce1310
https://github.com/llvm/llvm-project/commit/3096353477a6802de9d4c74018c28f13e8ce1310
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M .github/workflows/release-binaries.yml
A clang/cmake/caches/Release.cmake
M llvm/utils/release/test-release.sh
Log Message:
-----------
test-release.sh: Add a CMake cache file for 3-stage release builds (#75903)
You can now pass the -use-cmake-cache option to test-release.sh and it
will use a predefined cache file for building the release. This will
make it easier to reproduce the builds and add other enhancements like
PGO or bolt optimizations.
---------
Co-authored-by: Konrad Kleine <konrad.kleine at posteo.de>
Commit: 71ec30132b74ba6974cece53f2a00f2749cf95f8
https://github.com/llvm/llvm-project/commit/71ec30132b74ba6974cece53f2a00f2749cf95f8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-data.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][openacc] Add device_type support for data operation (#76126)
Following #75864, this patch adds device_type support to the data
operation on the async and wait operands and attributes.
Commit: e456689fb3d6dd785202cd25f89e9443e5ad7d1a
https://github.com/llvm/llvm-project/commit/e456689fb3d6dd785202cd25f89e9443e5ad7d1a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
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][flang][openacc] Support device_type on loop construct (#76892)
This is adding support for `device_type` clause representation in the
OpenACC MLIR dialect on the acc.loop operation and adjust flang to lower
correctly to the new representation.
Each "value" that can be impacted by a `device_type` clause is now
associated with an array attribute that carry this information. This
includes:
- `worker` clause information
- `gang` clause information
- `vector` clause information
- `collapse` clause information
- `tile` clause information
The representation of the `gang` clause information has been updated and
all values are now carried in a single operand segment. This segment is
then subdivided by `device_type`. Each value in a segment is also
associated with a `GangArgType` so it can be differentiated
(num/dim/static). This simplify the handling of gang values an limit the
number of new attributes needed.
When the clause can be associated with the operation without any value
(`gang`, `vector`, `worker`). These are represented by a dedicated
attributes with device_type information.
Extra getter functions are provided to make it easier to retrieve a
value based on a device_type.
Commit: 5fd18bdef9e1f18d6069a542551f046f1a179b38
https://github.com/llvm/llvm-project/commit/5fd18bdef9e1f18d6069a542551f046f1a179b38
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
Log Message:
-----------
Revert "XFAIL test with dsymutil"
This reverts commit c041fa1093c3ad7be040fb362a10ca3900c698a4 as Adrian
added support to dsymutil.
Commit: c1eef483b2c1ab2564e0ee1e4d1a30db11f8049f
https://github.com/llvm/llvm-project/commit/c1eef483b2c1ab2564e0ee1e4d1a30db11f8049f
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/IR/AffineExpr.cpp
A mlir/test/IR/affine-walk.mlir
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestAffineWalk.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[MLIR] Support interrupting AffineExpr walks (#74792)
Support WalkResult for AffineExpr walk and support interrupting walks
along the lines of Operation::walk. This allows interrupted walks when a
condition is met. Also, switch from std::function to llvm::function_ref
for the walk function.
Commit: 47685633a7dc74451acbc551b111929166d4d0bd
https://github.com/llvm/llvm-project/commit/47685633a7dc74451acbc551b111929166d4d0bd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
AMDGPU: Make v4bf16 a legal type (#76217)
Gets a few code quality improvements. A few cases are worse
from losing load narrowing.
Depends #76213 #76214 #76215
Commit: 597086c60959dd5b3c032552e8b42dd1d053f233
https://github.com/llvm/llvm-project/commit/597086c60959dd5b3c032552e8b42dd1d053f233
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/strict_fp_casts.ll
Log Message:
-----------
DAG: Implement promotion for strict_fp_round (#74332)
Needs an AMDGPU hack to get the selection to work. The ordinary
variant is custom lowered through an almost equivalent target node
that would need a strict variant for additional known bits
optimizations.
Commit: 2cf420d5b846a4733ef0ef7c8ed0ae0bfd1c6772
https://github.com/llvm/llvm-project/commit/2cf420d5b846a4733ef0ef7c8ed0ae0bfd1c6772
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/MC/LoongArch/Basic/Integer/invalid64.s
A llvm/test/MC/LoongArch/Macros/macros-call.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Emit function call code sequence as `PCADDU18I+JIRL` in medium code model
According to the description of the psABI v2.20:
https://github.com/loongson/la-abi-specs/releases/tag/v2.20, adjustments
are made to the function call instructions under the medium code model.
At the same time, AsmParser has already supported parsing the call36 and
tail36 macro instructions.
Commit: 3d6fc35b9071009c5ef37f879a12982c6a54db60
https://github.com/llvm/llvm-project/commit/3d6fc35b9071009c5ef37f879a12982c6a54db60
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch] Pre-commit test for #76555. NFC
Commit: c56a5e895a96fec4292e9333d998cfa88770432a
https://github.com/llvm/llvm-project/commit/c56a5e895a96fec4292e9333d998cfa88770432a
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
Log Message:
-----------
[LoongArch] Reimplement the expansion of PseudoLA*_LARGE instructions (#76555)
According to the description of the psABI v2.30:
https://github.com/loongson/la-abi-specs/releases/tag/v2.30, moved the
expansion of relevant pseudo-instructions from
`LoongArchPreRAExpandPseudo` pass to `LoongArchExpandPseudo` pass, to
ensure that the code sequences of `PseudoLA*_LARGE` instructions and
Medium code model's function call are not scheduled.
Commit: f68647997b828eeaa580e74e1d7c8565a9ecd215
https://github.com/llvm/llvm-project/commit/f68647997b828eeaa580e74e1d7c8565a9ecd215
Author: Dávid Ferenc Szabó <30732159+dfszabo at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-hoisted-constants.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
Log Message:
-----------
[GlobalISel] Adding support for handling G_ASSERT_{SEXT,ZEXT,ALIGN} i… (#74196)
…n artifact combiner
These instructions are hint for optimizations and can be treated as
copies and are handled as such with this change. Without it is possible
to run into an assertion, since tryCombineUnmergeValues rightfully use
getDefIgnoringCopies to get the source MI, which already handle these
hint instructions and treat them as copies. The problem is that
markDefDead only considers COPYs, which will lead to crash with
assertion for cases like testUnmergeHintOfTrunc.
Commit: b4cfb50c65bd3893d1a0639deb33bd664214a20f
https://github.com/llvm/llvm-project/commit/b4cfb50c65bd3893d1a0639deb33bd664214a20f
Author: Michal Paszkowski <michal.paszkowski at outlook.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-nested-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-simple-composite-store.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
A llvm/test/CodeGen/SPIRV/pointers/two-bitcast-users.ll
A llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
Log Message:
-----------
[SPIR-V] Emit SPIR-V bitcasts between source/expected pointer type (#69621)
This patch introduces a new spv_ptrcast intrinsic for tracking expected
pointer types. The change fixes multiple OpenCL CTS regressions due the
switch to opaque pointers (e.g. basic/hiloeo).
Commit: f5fd1836836e0d37dea61cc842199713cc0e2fc4
https://github.com/llvm/llvm-project/commit/f5fd1836836e0d37dea61cc842199713cc0e2fc4
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
R clang/test/Modules/pr60085.cppm
Log Message:
-----------
[NFC] [C++20] [Modules] Remove pr60085.cppm with deprecated practice
See https://github.com/llvm/llvm-project/issues/60085 for the complete
story.
Previously I thought the problem got fixed surprisingly. But it is not
true. I just tested it with a deprecated method. My bad. Then the
deprecated style should be removed and the proper style can't work. So
I'll remove the test and reopen that issue to look into it.
Commit: 054b5fc0fd41bcbadcc6967c39a5f6bb151bdcd1
https://github.com/llvm/llvm-project/commit/054b5fc0fd41bcbadcc6967c39a5f6bb151bdcd1
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
Log Message:
-----------
X86: add some missing lowerings for shuffles on `bf16` element type. (#76076)
Some shuffles with `bf16` as element type were running into a
`llvm_unreachable`. Key to reproducing was to chain two shuffles.
```llvm
define <2 x bfloat> @shuffle_chained_v32bf16_v2bf16(<32 x bfloat> %a) {
%s = shufflevector <32 x bfloat> %a, <32 x bfloat> zeroinitializer, <32 x i32> <i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23, i32 8, i32 24, i32 9, i32 25, i32 10, i32 26, i32 11, i32 27, i32 12, i32 28, i32 13, i32 29, i32 14, i32 30, i32 15, i32 31>
%s2 = shufflevector <32 x bfloat> %s, <32 x bfloat> zeroinitializer, <2 x i32> <i32 0, i32 1>
ret <2 x bfloat> %s2
}
```
This was hitting this UNREACHABLE:
```
Not a valid 512-bit x86 vector type!
UNREACHABLE executed at /home/benoit/iree/third_party/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:17124!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/benoit/mlir-build/bin/llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx512f,+avx512vl,+avx512bw,+avx512bf16
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'X86 DAG->DAG Instruction Selection' on function '@shuffle_chained_v32bf16_v2bf16'
```
Commit: 52d1397e38ee88b170585c9c824d08e6975890ca
https://github.com/llvm/llvm-project/commit/52d1397e38ee88b170585c9c824d08e6975890ca
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
Log Message:
-----------
[LoongArch] Fix -Wunused-variable in LoongArchExpandPseudoInsts.cpp (NFC)
llvm-project/llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp:480:20:
error: unused variable 'MF' [-Werror,-Wunused-variable]
MachineFunction *MF = MBB.getParent();
^
1 error generated.
Commit: 16dc82122bee915d122a68a4f1680ab810012906
https://github.com/llvm/llvm-project/commit/16dc82122bee915d122a68a4f1680ab810012906
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-04 (Thu, 04 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
Log Message:
-----------
[RISCV] Remove isGPRF64AsFPR and isGPRPF64AsFPR functions from AsmParser. NFC
These are identical to isGPRAsFPR. By overriding the PredicateMethod
on the AsmOperands in tblgen we can share a single function.
Commit: 668165002543fd3a88413a5c2601774395bfd10e
https://github.com/llvm/llvm-project/commit/668165002543fd3a88413a5c2601774395bfd10e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/smax-icmp.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
Log Message:
-----------
[InstCombine] Revert the `signed icmp -> unsigned icmp` canonicalization when folding `icmp Pred min|max(X, Y), Z` (#76685)
This patch tries to flip the signedness of predicates when folding an
unsigned icmp with a signed min/max. It will enable more optimizations
as we canonicalizes a signed icmp into an unsigned icmp when both
operands are known to have the same sign.
Fixes #76672.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=949ec83eaf6fa6dbffb94c2ea9c0a4d5efdbd239&to=2deca1aea8a4e13609bab72c522a97d424f0fc2d&stat=instructions:u
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.00%|+0.01%|+0.05%|-0.12%|-0.01%|-0.03%|-0.00%|
NOTE: We can flip the signedness of predicate if both operands are
negative. But I don't see the benefit of handling these cases.
Commit: e0c554ad87d18dcbfcb9b6485d0da800ae1338d1
https://github.com/llvm/llvm-project/commit/e0c554ad87d18dcbfcb9b6485d0da800ae1338d1
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
A llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/aarch64-codegen-prepare-atp.ll
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
M llvm/test/CodeGen/AArch64/arm64_32-gep-sink.ll
M llvm/test/CodeGen/AArch64/cgp-trivial-phi-node.ll
M llvm/test/CodeGen/AArch64/convertphitype.ll
M llvm/test/CodeGen/AArch64/scalable-vector-promotion.ll
M llvm/test/CodeGen/AArch64/sve-vscale.ll
M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/ARM/vector-promotion.ll
M llvm/test/CodeGen/Generic/addr-sink-call-multi-arg.ll
M llvm/test/CodeGen/Generic/addr-use-count.ll
M llvm/test/CodeGen/X86/callbr-codegenprepare.ll
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
M llvm/test/CodeGen/X86/convertphitype.ll
M llvm/test/CodeGen/X86/indirect-br-gep-unmerge.ll
M llvm/test/CodeGen/X86/pr58538.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-extract.ll
M llvm/test/DebugInfo/ARM/salvage-debug-info.ll
M llvm/test/DebugInfo/X86/zextload.ll
M llvm/test/Other/codegenprepare-and-debug.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/free-zext.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-gather-scatter-addressing.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/trunc-weird-user.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/addressing-modes.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/dead-gep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/memory-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/splitgep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-constant-numerator.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-introduce-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-sink-nop-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/and-mask-sink.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/SPARC/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/computedgoto.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/X86/delete-assume-dead-code.ll
M llvm/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
M llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gep-unmerging.ll
M llvm/test/Transforms/CodeGenPrepare/X86/invariant.group.ll
M llvm/test/Transforms/CodeGenPrepare/X86/masked-gather-struct-gep.ll
M llvm/test/Transforms/CodeGenPrepare/X86/nonintegral.ll
M llvm/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll
M llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr27536.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr35658.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr72046.ll
M llvm/test/Transforms/CodeGenPrepare/X86/recursively-delete-dead-instructions.ll
M llvm/test/Transforms/CodeGenPrepare/X86/remove-assume-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-two-phi.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-indirect-loop.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/X86/statepoint-relocate.ll
M llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
M llvm/test/Transforms/CodeGenPrepare/X86/widenable-condition.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll
M llvm/test/Transforms/CodeGenPrepare/dead-allocation.ll
M llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
M llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll
M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
M llvm/tools/opt/opt.cpp
Log Message:
-----------
Port CodeGenPrepare to new pass manager (and BasicBlockSectionsProfil… (#75380)
Port CodeGenPrepare to new pass manager and dependency
BasicBlockSectionsProfileReader
Fixes: #64560
Co-authored-by: Krishna-13-cyber <84722531+Krishna-13-cyber at users.noreply.github.com>
Commit: 59af659ee3c790d06cb5e2bf580e042547c24323
https://github.com/llvm/llvm-project/commit/59af659ee3c790d06cb5e2bf580e042547c24323
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86][BF16] Try to use `f16` for lowering (#76901)
This patch fixes BF16 32-bit ABI problem:
https://godbolt.org/z/6dMnh8jGG
Commit: f5f66e26b5f010218651cab831d5651fe7a71a0a
https://github.com/llvm/llvm-project/commit/f5f66e26b5f010218651cab831d5651fe7a71a0a
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86_64.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86_64.ll
M llvm/test/CodeGen/X86/invpcid-intrinsic.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86_64.ll
M llvm/test/CodeGen/X86/sha.ll
M llvm/test/CodeGen/X86/x64-cet-intrinsics.ll
Log Message:
-----------
[X86]Support lowering for APX Promoted SHA/MOVDIR/CRC32/INVPCID/CET instructions (#76786)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the lowering for promoted
SHA/MOVDIR/CRC32/INVPCID/CET.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 77b124cc574bb427b066fa8c56df7d37a27feb8f
https://github.com/llvm/llvm-project/commit/77b124cc574bb427b066fa8c56df7d37a27feb8f
Author: David Green <david.green at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
Log Message:
-----------
[AArch64][GlobalISel] Add legalization for G_VECREDUCE_SEQ_FADD. (#76238)
And G_VECREDUCE_SEQ_FMUL at the same time. They require the elements of
the vector operand to be accumulated in order, so just need to be
scalarized.
Some of the operands are not simplified as much as they can quite yet
due to not canonicalizing constant operands post-legalization.
Commit: b5ced67a2a99a2a4a419832192475c516b8b6bb2
https://github.com/llvm/llvm-project/commit/b5ced67a2a99a2a4a419832192475c516b8b6bb2
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
Log Message:
-----------
[CodeGenPassBuilder] Replace `AnalysisKey` -> `MachinePassKey` (#77053)
Forgot to update them in #75567.
Commit: 59f3b7202dc4590215e1fba92e35ec2c0eeb2f65
https://github.com/llvm/llvm-project/commit/59f3b7202dc4590215e1fba92e35ec2c0eeb2f65
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
Log Message:
-----------
[AMDGPU] Add GXF12 8- and 16-bit SMEM loads (#76966)
Commit: 4d7c5ad58467502fcbc433591edff40d8a4d697d
https://github.com/llvm/llvm-project/commit/4d7c5ad58467502fcbc433591edff40d8a4d697d
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
Log Message:
-----------
[NewPM] Update CodeGenPreparePass reference in CodeGenPassBuilder (#77054)
Follows #75380.
Commit: e96e7a9a864b39a69455d5baad271f04cbf2d909
https://github.com/llvm/llvm-project/commit/e96e7a9a864b39a69455d5baad271f04cbf2d909
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
Log Message:
-----------
[AMDGPU] Implement readcyclecounter for GFX12 (#76965)
Commit: bb6d5c220004a5d7e466a669324001285a688918
https://github.com/llvm/llvm-project/commit/bb6d5c220004a5d7e466a669324001285a688918
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M flang/test/Lower/array-temp.f90
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
M mlir/test/Dialect/Linalg/loops.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
M mlir/test/Dialect/Math/algebraic-simplification.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/NVGPU/transform-create-async-groups.mlir
M mlir/test/Dialect/SCF/loop-pipelining.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_concat.mlir
M mlir/test/Dialect/SparseTensor/sparse_storage.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
M mlir/test/Dialect/Vector/vector-mask-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
M mlir/test/Dialect/Vector/vector-scalable-create-mask-lowering.mlir
Log Message:
-----------
[mlir][Transforms] `GreedyPatternRewriteDriver`: Do not CSE constants during iterations (#75897)
The `GreedyPatternRewriteDriver` tries to iteratively fold ops and apply
rewrite patterns to ops. It has special handling for constants: they are
CSE'd and sometimes moved to parent regions to allow for additional
CSE'ing. This happens in `OperationFolder`.
To allow for efficient CSE'ing, `OperationFolder` maintains an internal
lookup data structure to find the existing constant ops with the same
value for each `IsolatedFromAbove` region:
```c++
/// A mapping between an insertion region and the constants that have been
/// created within it.
DenseMap<Region *, ConstantMap> foldScopes;
```
Rewrite patterns are allowed to modify operations. In particular, they
may move operations (including constants) from one region to another
one. Such an IR rewrite can make the above lookup data structure
inconsistent.
We encountered such a bug in a downstream project. This bug materialized
in the form of an op that uses the result of a constant op from a
different `IsolatedFromAbove` region (that is not accessible).
This commit changes the behavior of the `GreedyPatternRewriteDriver`
such that `OperationFolder` is used to CSE constants at the beginning of
each iteration (as the worklist is populated), but no longer during an
iteration. `OperationFolder` is no longer used after populating the
worklist, so we do not have to care about inconsistent state in the
`OperationFolder` due to IR rewrites. The `GreedyPatternRewriteDriver`
now performs the op folding by itself instead of calling
`OperationFolder::tryToFold`.
This change changes the order of constant ops in test cases, but not the
region in which they appear. All broken test cases were fixed by turning
`CHECK` into `CHECK-DAG`.
Alternatives considered: The state of `OperationFolder` could be
partially invalidated with every `notifyOperationModified` notification.
That is more fragile than the solution in this commit because incorrect
rewriter API usage can lead to missing notifications and hard-to-debug
`IsolatedFromAbove` violations. (It did not fix the above mention bug in
a downstream project, which could be due to incorrect rewriter API usage
or due to another conceptual problem that I missed.) Moreover, ops are
frequently getting modified during a greedy pattern rewrite, so we would
likely keep invalidating large parts of the state of `OperationFolder`
over and over.
Migration guide: Turn `CHECK` into `CHECK-DAG` in test cases. Constant
ops are no longer folded during a greedy pattern rewrite. If you rely on
folding (and rematerialization) of constant ops during a greedy pattern
rewrite, turn the folder into a pattern.
Commit: b662c9aa0e0580e1fc78a8787414c86ad1984742
https://github.com/llvm/llvm-project/commit/b662c9aa0e0580e1fc78a8787414c86ad1984742
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
Log Message:
-----------
[mlir][bufferization][NFC] Buffer deallocation: Add comment to `handleInterface` (#76956)
This is a follow-up for #68648.
Commit: 71f56e49ceca75dbf82cbb9537c2545c2d2e51c9
https://github.com/llvm/llvm-project/commit/71f56e49ceca75dbf82cbb9537c2545c2d2e51c9
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/shl.ll
Log Message:
-----------
[ConstraintElim] Decompose shl nsw for signed predicates (#76961)
shl nsw x, shift can be interpreted as mul nsw x, (1<<shift), except
when shift is bw-1 (https://alive2.llvm.org/ce/z/vDh2xT). Use this when
decomposing shl. The equivalent decomposition for the unsigned case
already exists.
Commit: 2a1e3906a4913ebf11760edb8d51c099a9cedf41
https://github.com/llvm/llvm-project/commit/2a1e3906a4913ebf11760edb8d51c099a9cedf41
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[llvm][lit] Handle case when there is no llvm default target triple (#76934)
This can happen when you do not choose a specific target triple, and do
not enable the host architecture when building (if you do enable it, it
would become the default target). Such as only enabling RISC-V, when
building on an AArch64 machine.
Originally reported
https://discourse.llvm.org/t/llvm-test-error-could-not-turn-into-itanium-abi-triple/76013.
When attempting to run a single test via lit you get: `Could not turn ''
into Itanium ABI triple`
Setting a default triple with `LLVM_DEFAULT_TARGET_TRIPLE` works around
the issue.
This change copies the existing host triple check to target triple, and
adds a note to highlight the potential issue. As `check-clang` on my
AArch64 machine failed 32% of tests in this configuration.
Which is to be expected and is ok if you only want to run specific
tests, but for anyone unintentionally building this way the note is a
clue to the cause.
Commit: 190a75b5f12d3872a5a26d6079d62adae40f147d
https://github.com/llvm/llvm-project/commit/190a75b5f12d3872a5a26d6079d62adae40f147d
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/SemaCXX/coro-lifetimebound.cpp
Log Message:
-----------
[coroutines] Introduce [[clang::coro_disable_lifetimebound]] (#76818)
Lifetime-bound analysis of reference parameters of coroutines and
coroutine wrappers is helpful in surfacing memory bugs associated with
using temporaries and stack variables in call expressions in plain
return statements.
This is the default semantics of `[[clang::coro_lifetimebound]]`. But it
should be okay to relax the requirements for a function when the
reference arguments are not lifetime bound. For example:
A coroutine wrapper accepts a reference parameter but does not pass it
to the underlying coroutine call.
```cpp
[[clang::coro_wrapper]] Task<int> wrapper(const Request& req) {
return req.shouldCallA() ? coroA() : coroB();
}
```
Or passes it the coroutine by value
```cpp
Task<int> coro(std::string s) { co_return s.size(); }
[[clang::coro_wrapper]] wrapper(const std::string& s) { return coro(s); }
```
This patch allows functions to be annotated with
`[[clang::coro_disable_lifetime_bound]]` to disable lifetime bound
analysis for all calls to this function.
---
One missing piece here is a note suggesting using this annotation in
cases of lifetime warnings. This would require some more tweaks in the
lifetimebound analysis to recognize violations involving coroutines only
and produce this note only in those cases.
Commit: 86ef039220de4b7d2e2f1d5e93874ae7a242730e
https://github.com/llvm/llvm-project/commit/86ef039220de4b7d2e2f1d5e93874ae7a242730e
Author: Z572 <zhengjunjie at iscas.ac.cn>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/icmp-abs.ll
Log Message:
-----------
[InstCombine] Simplify compare abs(X) and X. (#76385)
fix https://github.com/llvm/llvm-project/issues/72653
proof: https://alive2.llvm.org/ce/z/LZzZaj
Commit: 67963d384b23a2d46967b8f39ec2df3375731f4f
https://github.com/llvm/llvm-project/commit/67963d384b23a2d46967b8f39ec2df3375731f4f
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Fix a race issue when editing multiple files. (#76960)
We have a previous fix
https://github.com/llvm/llvm-project/commit/be861b64d94198230d8f9889b17280e3cd215a0a,
which snapshots all processing files.
It works most of times, the snapshot (InMemoryFileSystem) is based on
the file path. The file-path-based lookup can fail in a subtle way for
some tricky cases (we encounter it internally), which will result in
reading a corrupted file.
This is a different fix, we don't modify files on the fly, instead, we
write files when the tool finishes for all files.
Commit: 4daea501c4fc969bc6d8baafe646487ae1881aab
https://github.com/llvm/llvm-project/commit/4daea501c4fc969bc6d8baafe646487ae1881aab
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrPredicates.td
A llvm/test/MC/Disassembler/X86/apx/div.txt
A llvm/test/MC/Disassembler/X86/apx/idiv.txt
A llvm/test/MC/Disassembler/X86/apx/imul.txt
A llvm/test/MC/Disassembler/X86/apx/mul.txt
A llvm/test/MC/X86/apx/div-att.s
A llvm/test/MC/X86/apx/div-intel.s
A llvm/test/MC/X86/apx/idiv-att.s
A llvm/test/MC/X86/apx/idiv-intel.s
A llvm/test/MC/X86/apx/imul-att.s
A llvm/test/MC/X86/apx/imul-intel.s
A llvm/test/MC/X86/apx/mul-att.s
A llvm/test/MC/X86/apx/mul-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support encoding/decoding for APX variant MUL/IMUL/DIV/IDIV instructions (#76919)
Four variants: promoted legacy, ND (new data destination), NF (no flags
update) and NF_ND (NF + ND).
The syntax of NF instructions is aligned with GNU binutils.
https://sourceware.org/pipermail/binutils/2023-September/129545.html
Commit: a72ab9c14d604ae857acad5ed7d6b5be6914c619
https://github.com/llvm/llvm-project/commit/a72ab9c14d604ae857acad5ed7d6b5be6914c619
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/span
M libcxx/include/version
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/containers/views/views.span/span.elem/at.pass.cpp
M libcxx/test/std/containers/views/views.span/span.elem/op_idx.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][span] P2821R5: `span.at()` (#74994)
- Implements: [P2821R5: span.at()](https://wg21.link/P2821R5)
(https://eel.is/c++draft/views.contiguous#views.span)
- Cleaned up `span.operator[]` test
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 255f95a40377677dd762df5a1aa65bcbb4f75c79
https://github.com/llvm/llvm-project/commit/255f95a40377677dd762df5a1aa65bcbb4f75c79
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/fstream
M libcxx/include/version
M libcxx/src/CMakeLists.txt
A libcxx/src/fstream.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/types.h
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][streams] P1759R6: Native handles and file streams (#76632)
Implements: `P1759R6` https://wg21.link/P1759R6
- https://eel.is/c++draft/filebuf
- https://eel.is/c++draft/ifstream
- https://eel.is/c++draft/ofstream
- https://eel.is/c++draft/fstream
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: a001e9718fd974859f2797a9f9ed7bf87d364e4f
https://github.com/llvm/llvm-project/commit/a001e9718fd974859f2797a9f9ed7bf87d364e4f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
A llvm/test/Transforms/InstCombine/pr77064.ll
Log Message:
-----------
[SimplifyLibCalls] Don't try to manually reprocess calls
The current code for reprocessing the result of fortified libcall
simplifications is not correct, because we might simplify to an
argument of the original call, and if that is again a libcall,
mistakenly think that this is actually the simplification result.
Instead of trying to fix this, simply remove the code entirely,
because InstCombine nowadays correctly handles reprocessing of
SimplifyLibCall results.
Fixes https://github.com/llvm/llvm-project/issues/77064.
Commit: 4319e1916dd13f5f7f56536acf01899320b82c6a
https://github.com/llvm/llvm-project/commit/4319e1916dd13f5f7f56536acf01899320b82c6a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[mlir][nvgpu] Introduce Multicast Capability to `nvgpu.tma.async.load` (#76935)
This PR improves the functionality of the `nvgpu.tma.async.load` Op by
adding support for multicast. While we already had this capability in
the lower-level `nvvm.cp.async.bulk.tensor.shared.cluster.global` NVVM
Op, this PR lowers mask information to the NVVM operation.
Commit: 2952fb349567fd95c4df020c9092e21972481710
https://github.com/llvm/llvm-project/commit/2952fb349567fd95c4df020c9092e21972481710
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] Usage of 32bit integer for 'index to float' in rfft2d (#75098)
Lowering of rfft2d to linalg now uses index to i32 cast if an output
float is of 32bit and cast to i64 otherwise.
Commit: 0eefcaf96d2900a4f3009026a3673ed3b7793fcc
https://github.com/llvm/llvm-project/commit/0eefcaf96d2900a4f3009026a3673ed3b7793fcc
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][SME] Add IsStreamingOrSVE2p1 (#76975)
This patch adds IsStreamingOrSVE2p1 to the applicable builtins and a
warning for when those builtins are not used in a streaming or sve2p1
function.
Commit: c458f928fad7bbcf08ab1da9949eb2969fc9f89c
https://github.com/llvm/llvm-project/commit/c458f928fad7bbcf08ab1da9949eb2969fc9f89c
Author: Duo Wang <duow1 at uci.edu>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/test/SemaTemplate/instantiation-depth-default.cpp
Log Message:
-----------
[NFC][clang][test][asan] Make `instantiation-depth-default.cpp` a valid test case under `asan` and `ubsan` configs (#75254)
Clang test `instantiation-depth-default.cpp` fails on Windows when built
with `ubsan` due to extra warnings printed by the compiler:
```console
File instantiation-depth-default.cpp Line 11: stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely
```
The test case was disabled for `asan` in 571a647 because of the extra
stack usage. Since `ubsan` also increases stack usage, seems like the
two configs should be treated uniformly.
On the other hand, we might be able to re-enable this test case for
`asan`. During some preliminary testing on Windows, Linux, and macOS
with the host compiler being as old as clang-10, the test case exited
successfully if the `stack-exhausted` warnings are suppressed, though I
haven't done exhaustive testing across platforms and clang versions. Any
insights into whether this change will introduce any risks to existing
buildbots is appreciated.
Enabling this test case for `asan` helps to improve our test coverage,
but if it causes problems on any buildbot, marking it as unsupported for
`ubsan` is also a viable solution.
Commit: b7e50df0262a9e563bc908e2bea06cd839a42140
https://github.com/llvm/llvm-project/commit/b7e50df0262a9e563bc908e2bea06cd839a42140
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Mimic default LLJIT logic with explicit --jit-linker option (#76964)
Forcing the JITLinker to the default configuration shouldn't affect the
configuration of the JIT. Since it's implemented by setting the
ObjectLinkingLayerCreator, it did have side-effects though. In
particular, we skipped the Code- and RelocationModel setting in
`LLJITBuilderState::prepareForConstruction()`.
Commit: 8c7f10eadbcf1271b6da52ccac43c241f9b8f06e
https://github.com/llvm/llvm-project/commit/8c7f10eadbcf1271b6da52ccac43c241f9b8f06e
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[TLI] Add mappings to SLEEF/ArmPL libcall variants taking linear args. (#76060)
The mappings correspond to vectorized variants (fixed/scalable) for the
math functions: modf, sincos, sincospi.
Commit: 567941bcc3b1fc3b1d2a902cf7ae2e173247a45f
https://github.com/llvm/llvm-project/commit/567941bcc3b1fc3b1d2a902cf7ae2e173247a45f
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/AArch64.h
Log Message:
-----------
[Clang][SME] Remove unused HasSVE2p1 variable
Removes the HasSVE2p1 variable to stop a warning from https://github.com/llvm/llvm-project/pull/76975
Commit: 44b3cf46e992b76a9e188367922a1184437dfa4c
https://github.com/llvm/llvm-project/commit/44b3cf46e992b76a9e188367922a1184437dfa4c
Author: drazi <fengxie83 at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
add prop-dict support for custom directive for mlir-tblgen (#77061)
According to
https://mlir.llvm.org/docs/DefiningDialects/Operations/#custom-directives,
custom directive supports attr-dict
> attr-dict Directive: NamedAttrList &
But it doesn't support prop-dict which is introduced into MLIR recently.
It's useful to have tblgen support prop-dict like attr-dict. This PR
enable tblgen to support prop-dict
```bash
error: only variables and types may be used as parameters to a custom directive
... custom<Print>(prop-dict)
```
Co-authored-by: Fung Xie <ftse at nvidia.com>
Commit: ace69e6b942b8fa7e610d70be2a92e801ceea481
https://github.com/llvm/llvm-project/commit/ace69e6b942b8fa7e610d70be2a92e801ceea481
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/docs/Dialects/GPU.md
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/dump-ptx.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-mma-2-4-f16.mlir
M mlir/test/Integration/Dialect/Vector/GPU/CUDA/test-reduction-distribute.mlir
M mlir/test/Integration/Dialect/Vector/GPU/CUDA/test-warp-distribute.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-and.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-maxsi.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-minsi.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-op.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-or.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-region.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-xor.mlir
M mlir/test/Integration/GPU/CUDA/gpu-to-cubin.mlir
M mlir/test/Integration/GPU/CUDA/multiple-all-reduce.mlir
M mlir/test/Integration/GPU/CUDA/printf.mlir
M mlir/test/Integration/GPU/CUDA/shuffle.mlir
A mlir/test/Integration/GPU/CUDA/sm90/asd
M mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
M mlir/test/Integration/GPU/CUDA/two-modules.mlir
Log Message:
-----------
[mlir][gpu] Improve `gpu-lower-to-nvvm-pipeline` Documentation (#77062)
This PR improves the documentation for the `gpu-lower-to-nvvm-pipeline`
(as it was remaning item for #75775)
- Changes pipeline `gpu-lower-to-nvvm` -> `gpu-lower-to-nvvm-pipeline`
- Adds a section in GPU Dialect in website. It clarifies the pipeline's
functionality in lowering primary dialects to NVVM targets.
Commit: 20a05677f9394d4bc9467fe7bc93a4ebd3aeda61
https://github.com/llvm/llvm-project/commit/20a05677f9394d4bc9467fe7bc93a4ebd3aeda61
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
Log Message:
-----------
[clang] Accept recursive non-dependent calls to functions with deduced return type (#75456)
Treat such calls as dependent since it is much easier to implement.
Fixes https://github.com/llvm/llvm-project/issues/71015
Commit: 7648371c25cf21b84028935c298e2dc088ae5a52
https://github.com/llvm/llvm-project/commit/7648371c25cf21b84028935c298e2dc088ae5a52
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
R llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/aarch64-codegen-prepare-atp.ll
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
M llvm/test/CodeGen/AArch64/arm64_32-gep-sink.ll
M llvm/test/CodeGen/AArch64/cgp-trivial-phi-node.ll
M llvm/test/CodeGen/AArch64/convertphitype.ll
M llvm/test/CodeGen/AArch64/scalable-vector-promotion.ll
M llvm/test/CodeGen/AArch64/sve-vscale.ll
M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/ARM/vector-promotion.ll
M llvm/test/CodeGen/Generic/addr-sink-call-multi-arg.ll
M llvm/test/CodeGen/Generic/addr-use-count.ll
M llvm/test/CodeGen/X86/callbr-codegenprepare.ll
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
M llvm/test/CodeGen/X86/convertphitype.ll
M llvm/test/CodeGen/X86/indirect-br-gep-unmerge.ll
M llvm/test/CodeGen/X86/pr58538.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-extract.ll
M llvm/test/DebugInfo/ARM/salvage-debug-info.ll
M llvm/test/DebugInfo/X86/zextload.ll
M llvm/test/Other/codegenprepare-and-debug.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/free-zext.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-gather-scatter-addressing.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/trunc-weird-user.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/addressing-modes.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/dead-gep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/memory-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/splitgep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-constant-numerator.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-introduce-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-sink-nop-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/and-mask-sink.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/SPARC/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/computedgoto.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/X86/delete-assume-dead-code.ll
M llvm/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
M llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gep-unmerging.ll
M llvm/test/Transforms/CodeGenPrepare/X86/invariant.group.ll
M llvm/test/Transforms/CodeGenPrepare/X86/masked-gather-struct-gep.ll
M llvm/test/Transforms/CodeGenPrepare/X86/nonintegral.ll
M llvm/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll
M llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr27536.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr35658.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr72046.ll
M llvm/test/Transforms/CodeGenPrepare/X86/recursively-delete-dead-instructions.ll
M llvm/test/Transforms/CodeGenPrepare/X86/remove-assume-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-two-phi.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-indirect-loop.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/X86/statepoint-relocate.ll
M llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
M llvm/test/Transforms/CodeGenPrepare/X86/widenable-condition.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll
M llvm/test/Transforms/CodeGenPrepare/dead-allocation.ll
M llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
M llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll
M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
M llvm/tools/opt/opt.cpp
Log Message:
-----------
Revert 4d7c5ad58467502fcbc433591edff40d8a4d697d "[NewPM] Update CodeGenPreparePass reference in CodeGenPassBuilder (#77054)"
Revert e0c554ad87d18dcbfcb9b6485d0da800ae1338d1 "Port CodeGenPrepare to new pass manager (and BasicBlockSectionsProfil… (#75380)"
Revert #75380 and #77054 as they were breaking EXPENSIVE_CHECKS buildbots: https://lab.llvm.org/buildbot/#/builders/104
Commit: 3eeed79946124a8f67a89bb950a1e510369dcdf9
https://github.com/llvm/llvm-project/commit/3eeed79946124a8f67a89bb950a1e510369dcdf9
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/default-arguments.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p11-1y.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
M clang/test/CXX/temp/temp.deduct/p9.cpp
M clang/test/SemaCXX/cxx1y-init-captures.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/vartemplate-lambda.cpp
M clang/test/SemaCXX/warn-unused-lambda-capture.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
Log Message:
-----------
[clang] Correctly implement CWG 2672 (#75001)
Commit: d187dfe51534b8e15834346ea1898977b7bedace
https://github.com/llvm/llvm-project/commit/d187dfe51534b8e15834346ea1898977b7bedace
Author: David Green <david.green at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-csel.ll
Log Message:
-----------
[AArch64] Add some tests for addLikeOr with csinc. NFC
Commit: 86127305d4602801ba7ffdc74377ed67b18819ac
https://github.com/llvm/llvm-project/commit/86127305d4602801ba7ffdc74377ed67b18819ac
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
Log Message:
-----------
[clang][ASTImporter][StructuralEquivalence] improve StructuralEquivalence on recordType (#76226)
Types comparison in `StructuralEquivalence` ignores its `DeclContext`
when they are generated by template specialization implicitly and this
will produce incorrect result. Add comparison of `DeclContext` of
ClassTemplateSpecializationDecl to improve result.
fix [issue](https://github.com/llvm/llvm-project/issues/65913)
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 70e67253d60a984bd83844690791a023448e3623
https://github.com/llvm/llvm-project/commit/70e67253d60a984bd83844690791a023448e3623
Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M third-party/benchmark/src/timers.cc
Log Message:
-----------
[System][z/OS] Fix per-thread timing error on z/OS (#76947)
This patch calls ProcessCPUUsage() for z/OS because we do not support CLOCK_THREAD_CPUTIME_ID. This copies the change made to google benchmark here
https://github.com/google/benchmark/commit/e3824e7503187993b287ac8c8144a35bf5ccfd44
Commit: f7f7574afe4cfc11ebe5d8cb811d5cd28dc862f6
https://github.com/llvm/llvm-project/commit/f7f7574afe4cfc11ebe5d8cb811d5cd28dc862f6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/switch-sub.ll
Log Message:
-----------
[InstCombine] Canonicalize `switch(C-X)` to `switch(X)` (#77051)
This patch canonicalizes `switch(C-X)` to `switch(X)`.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=7954c57124b495fbdc73674d71f2e366e4afe522&to=31a9adff1e633f0f3c423fb8487fc15d17e171f2&stat=instructions:u
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.01%|+0.02%|+0.02%|+0.05%|-0.07%|-0.02%|-0.02%|
Commit: 0504e932880e0c4c333baeba9b8d674c5b9ae316
https://github.com/llvm/llvm-project/commit/0504e932880e0c4c333baeba9b8d674c5b9ae316
Author: Nishant Mittal <nishantwrp at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/__support/str_to_float.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nan.cpp
A libc/src/math/generic/nanf.cpp
A libc/src/math/generic/nanl.cpp
A libc/src/math/nan.h
A libc/src/math/nanf.h
A libc/src/math/nanl.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/nan_test.cpp
A libc/test/src/math/smoke/nanf_test.cpp
A libc/test/src/math/smoke/nanl_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Implement nan(f|l) functions (#76690)
Specification: https://en.cppreference.com/w/c/numeric/math/nan
Commit: f8e2e25a09cb0018c9310d124e2788e04a0d36ed
https://github.com/llvm/llvm-project/commit/f8e2e25a09cb0018c9310d124e2788e04a0d36ed
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 255f95a40377
Commit: da148a0805f1e1057b90d282321dea7966744201
https://github.com/llvm/llvm-project/commit/da148a0805f1e1057b90d282321dea7966744201
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
Log Message:
-----------
[AArch64] Add tests showing unnecessary cast promotion.
Commit: 1dbdf7658a80088fad1787529df0c33636be1c18
https://github.com/llvm/llvm-project/commit/1dbdf7658a80088fad1787529df0c33636be1c18
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vec_fpext.ll
Log Message:
-----------
[X86] vec_fpext.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: c3071476609c9b68343a5acf58821aee8ab8ed60
https://github.com/llvm/llvm-project/commit/c3071476609c9b68343a5acf58821aee8ab8ed60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vec_fptrunc.ll
Log Message:
-----------
[X86] vec_fptrunc.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 4ecd6384af60ea6eb322fc7d3992b31915ec2a5a
https://github.com/llvm/llvm-project/commit/4ecd6384af60ea6eb322fc7d3992b31915ec2a5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/fp128-cast.ll
Log Message:
-----------
[X86] fp128-cast.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: b51130a3311d5553c92408e6e52ea74269fa5a0b
https://github.com/llvm/llvm-project/commit/b51130a3311d5553c92408e6e52ea74269fa5a0b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-fneg.ll
Log Message:
-----------
[X86] combine-fneg.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: ae81400a0fad6040483f1af5947388aecca5c3f7
https://github.com/llvm/llvm-project/commit/ae81400a0fad6040483f1af5947388aecca5c3f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/keylocker-intrinsics.ll
Log Message:
-----------
[X86] keylocker-intrinsics.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 06f1e10908e624c1e90a0c647e9f74826ad3f011
https://github.com/llvm/llvm-project/commit/06f1e10908e624c1e90a0c647e9f74826ad3f011
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[mlir][nvvm] Add clock and clock64 special registers (#77088)
Tihs PR adds `clock` and `clock64` special registers to NVVM dialect.
Commit: f07aba4bc1fbd8301b09e2114ebc4149d2439cac
https://github.com/llvm/llvm-project/commit/f07aba4bc1fbd8301b09e2114ebc4149d2439cac
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/Targets/X86.cpp
A clang/test/CodeGen/X86/fp128-abi.c
Log Message:
-----------
[X86] Add ABI handling for __float128 to match with GCC (#75156)
Fixes #74601
Commit: 2b88bd110cbe61e1e3ef764d0362a75dc7c9cd50
https://github.com/llvm/llvm-project/commit/2b88bd110cbe61e1e3ef764d0362a75dc7c9cd50
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[AsmPrinter][Dwarf5][nfc] Remove template from AccelTable class (#76296)
This template is no longer used.
Commit: a776740d6296520b8bde156aa3f8d9ecb32cddd9
https://github.com/llvm/llvm-project/commit/a776740d6296520b8bde156aa3f8d9ecb32cddd9
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/IR/AsmWriter.cpp
Log Message:
-----------
[DebugInfo] Correctly track metadata slots for DPValues (#76941)
Currently, the AsmWriter can print DPValues, but does not consider them
when creating slots for metadata, which can result in erroneous output
where metadata is numbered incorrectly. This patch modifies the
ModuleSlotTracker to correctly track slots for metadata that appears in
DPValues.
Commit: 65df69619c49717da64140baddda0f04ed62ffdf
https://github.com/llvm/llvm-project/commit/65df69619c49717da64140baddda0f04ed62ffdf
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-signed.ll
Log Message:
-----------
[ConstraintElim] Add tests for signed induction variables (NFC)
Commit: a0e6b7c0429204ac42095be09bd1d5dcad4a052a
https://github.com/llvm/llvm-project/commit/a0e6b7c0429204ac42095be09bd1d5dcad4a052a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetInstrPredicate.td
M llvm/include/llvm/Target/TargetSchedule.td
A llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/CMakeLists.txt
A llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
M llvm/utils/TableGen/PredicateExpander.cpp
M llvm/utils/TableGen/PredicateExpander.h
Log Message:
-----------
[TableGen] Add a backend to generate MacroFusion predicators (#72222)
`FusionPredicate` is used to predicate if target instruction matches
the requirement. The targets can be firstMI, secondMI or both.
The `Fusion` contains a list of `FusionPredicate`. The generated code
will be like:
```
bool isNAME(const TargetInstrInfo &TII,
const TargetSubtargetInfo &STI,
const MachineInstr *FirstMI,
const MachineInstr &SecondMI) {
auto &MRI = SecondMI.getMF()->getRegInfo();
/* Predicates */
return true;
}
```
A boilerplate class called `SimpleFusion` is added. `SimpleFusion` has
a predefined structure of predicates and accepts predicate for
`firstMI`, predicate for `secondMI` and epilog/prolog as arguments.
The generated code for `SimpleFusion` will be like:
```
bool isNAME(const TargetInstrInfo &TII,
const TargetSubtargetInfo &STI,
const MachineInstr *FirstMI,
const MachineInstr &SecondMI) {
auto &MRI = SecondMI.getMF()->getRegInfo();
/* Prolog */
/* Predicate for `SecondMI` */
/* Wildcard */
/* Predicate for `FirstMI` */
/* Check One Use */
/* Tie registers */
/* Epilog */
return true;
}
```
Commit: 59569eb756265b2a5d9d96f6c6c5ee1a3c371c4f
https://github.com/llvm/llvm-project/commit/59569eb756265b2a5d9d96f6c6c5ee1a3c371c4f
Author: Arseniy Obolenskiy <gooddoog at student.su>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Dialect/SCF/transform-ops.mlir
Log Message:
-----------
[mlir] Fix support for loop normalization with integer indices (#76566)
Choose correct type for updated loop boundaries after scf loop
normalization, do not force chosen type to IndexType
Commit: 0f8adc8d30d2cd4a9fcf8455b64a1d66fa971339
https://github.com/llvm/llvm-project/commit/0f8adc8d30d2cd4a9fcf8455b64a1d66fa971339
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
Log Message:
-----------
[OpenACC] Fix comments on OpenACC enum to use ///
Commit: 736cc0cbf0107f6a1678a5495e1931733ab57393
https://github.com/llvm/llvm-project/commit/736cc0cbf0107f6a1678a5495e1931733ab57393
Author: Nishant Mittal <nishantwrp at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libc/test/src/math/smoke/nanl_test.cpp
Log Message:
-----------
[libc][math] fix failing nanl_test build (#77102)
Commit: 10b03e66629aedad79a804e22d23b575077303b3
https://github.com/llvm/llvm-project/commit/10b03e66629aedad79a804e22d23b575077303b3
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
M llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/fastisel-debugvalue-undef.ll
M llvm/test/CodeGen/ARM/debug-info-blocks.ll
M llvm/test/CodeGen/Generic/csw-debug-assert.ll
M llvm/test/CodeGen/X86/2010-08-04-StackVariable.ll
M llvm/test/CodeGen/X86/DbgValueOtherTargets.test
M llvm/test/CodeGen/X86/fast-isel-dbg-value-alloca.ll
M llvm/test/CodeGen/X86/fold-sext-trunc.ll
M llvm/test/CodeGen/X86/fold-zext-trunc.ll
M llvm/test/CodeGen/X86/label-heapallocsite.ll
M llvm/test/CodeGen/X86/machine-outliner-disubprogram.ll
M llvm/test/CodeGen/X86/pr53243-tail-call-fastisel.ll
M llvm/test/CodeGen/X86/sink-local-value.ll
M llvm/test/DebugInfo/AArch64/cfi-eof-prologue.ll
M llvm/test/DebugInfo/AArch64/frameindices.ll
M llvm/test/DebugInfo/ARM/split-complex.ll
M llvm/test/DebugInfo/COFF/class-options-common.ll
M llvm/test/DebugInfo/COFF/cpp-mangling.ll
M llvm/test/DebugInfo/COFF/enum-co.ll
M llvm/test/DebugInfo/COFF/function-options.ll
M llvm/test/DebugInfo/COFF/global_visibility.ll
M llvm/test/DebugInfo/COFF/globals.ll
M llvm/test/DebugInfo/COFF/lambda.ll
M llvm/test/DebugInfo/COFF/lines-bb-start.ll
M llvm/test/DebugInfo/COFF/nrvo.ll
M llvm/test/DebugInfo/COFF/numeric-leaves.ll
M llvm/test/DebugInfo/COFF/parent-type-scopes.ll
M llvm/test/DebugInfo/COFF/purge-typedef-udts.ll
M llvm/test/DebugInfo/COFF/thunk.ll
M llvm/test/DebugInfo/COFF/type-quals.ll
M llvm/test/DebugInfo/COFF/types-cvarargs.ll
M llvm/test/DebugInfo/COFF/types-integer-old.ll
M llvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
M llvm/test/DebugInfo/Generic/2010-10-01-crash.ll
M llvm/test/DebugInfo/Generic/PR20038.ll
M llvm/test/DebugInfo/Generic/dead-argument-order.ll
M llvm/test/DebugInfo/Generic/discriminated-union.ll
M llvm/test/DebugInfo/Generic/disubrange_vla.ll
M llvm/test/DebugInfo/Generic/enum-types.ll
M llvm/test/DebugInfo/Generic/enum.ll
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
M llvm/test/DebugInfo/Generic/inlined-vars.ll
M llvm/test/DebugInfo/Generic/recursive_inlining.ll
M llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll
M llvm/test/DebugInfo/Mips/delay-slot.ll
M llvm/test/DebugInfo/X86/aligned_stack_var.ll
M llvm/test/DebugInfo/X86/arguments.ll
M llvm/test/DebugInfo/X86/asan_debug_info.ll
M llvm/test/DebugInfo/X86/byvalstruct.ll
M llvm/test/DebugInfo/X86/convert-linked.ll
M llvm/test/DebugInfo/X86/dbg-declare-arg.ll
M llvm/test/DebugInfo/X86/dbg-declare-inalloca.ll
M llvm/test/DebugInfo/X86/dbg-declare.ll
M llvm/test/DebugInfo/X86/dbg_value_direct.ll
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
M llvm/test/DebugInfo/X86/double-declare.ll
M llvm/test/DebugInfo/X86/fi-piece.ll
M llvm/test/DebugInfo/X86/implicit_value-double.ll
M llvm/test/DebugInfo/X86/instr-ref-opt-levels.ll
M llvm/test/DebugInfo/X86/instr-ref-selectiondag.ll
M llvm/test/DebugInfo/X86/missing-abstract-variable.ll
M llvm/test/DebugInfo/X86/parameters.ll
M llvm/test/DebugInfo/X86/pieces-1.ll
M llvm/test/DebugInfo/X86/reference-argument.ll
M llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
M llvm/test/DebugInfo/X86/sret.ll
M llvm/test/DebugInfo/X86/subreg.ll
M llvm/test/DebugInfo/X86/subregisters.ll
M llvm/test/DebugInfo/X86/vla.ll
Log Message:
-----------
[RemoveDIs] Handle DPValues in FastISel (#76952)
The change is fairly mechanical:
1. Factor code from `FastISel::selectIntrinsicCall`, which converts
debug intrinsics into debug instructions, into functions (NFC).
2. Call those functions for DPValues attached to instructions too.
The test updates look the same as other RemoveDIs changes: re-run the
tests with `--try-experimental-debuginfo-iterators`, which checks the
output is identical using the new debug info format (if it has been
enabled in the cmake configuration).
Depends on #76941 (otherwise some modified tests spuriously fail).
Commit: fc18b13492880ba8597333c6050a18ec6db0f831
https://github.com/llvm/llvm-project/commit/fc18b13492880ba8597333c6050a18ec6db0f831
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/test/Dialect/Mesh/invalid.mlir
Log Message:
-----------
[mlir][mesh] In sharding attr use FlatSymbolRefAttr instead of SymbolRefAttr (#76886)
Analogous to func.call use FlatSymbolRefAttr to reference the
corresponding mesh.
Commit: 922b7b8bf465ddc292fa91bd6a860510a1eea6e2
https://github.com/llvm/llvm-project/commit/922b7b8bf465ddc292fa91bd6a860510a1eea6e2
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdio.h
Log Message:
-----------
[Clang][OpenMP] Fix stdio.h wrapper when glibc includes again (#77017)
Since D154036 landed (2a65d0388ca0 on July 7, 2023), I've been seeing
many (40-50) libomptarget test failures with errors like the following
on some of our test systems:
```
/auto/software/gcc/x86_64/gcc-11.1.0/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../include/c++/11.1.0/cstdio:99:11: error: no member named 'fpos_t' in the global namespace
99 | using ::fpos_t;
| ~~^
```
This patch fixes that and doesn't break our other test sytems. I've
looked through the glibc history and at LLVM's libc stdio.h to give me
confidence that this solution should work on other systems. Of course,
there might be use cases I've overlooked, so feedback is appreciated.
Commit: de5039545ee4e9f5aa7023632d5c4baa5e782e51
https://github.com/llvm/llvm-project/commit/de5039545ee4e9f5aa7023632d5c4baa5e782e51
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaCXX/dependent-noexcept-uninstantiated.cpp
Log Message:
-----------
[clang]Transform uninstantiated ExceptionSpec in `TemplateInstantiator` (#77073)
Fixes: #77071
`SubstituteDeducedTypeTransform` will transform type and it will visit
uninstantiated `ExceptionSpecInfo`, which will cause odd behavior.
Commit: 63ab56e2a3a05bcb1ca367d9c40eaabd18cb42d5
https://github.com/llvm/llvm-project/commit/63ab56e2a3a05bcb1ca367d9c40eaabd18cb42d5
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
Log Message:
-----------
[Clang] Regenerate test checks (NFC)
Commit: e2972389111e30a93a21cf8c5f4d2284cbb60268
https://github.com/llvm/llvm-project/commit/e2972389111e30a93a21cf8c5f4d2284cbb60268
Author: Nishant Mittal <nishantwrp at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
Log Message:
-----------
[libc][math] fix nan* death tests failing in asan builds (#77110)
Commit: 5352ce32fccd37c54aff2b3a2b0e3ca5115bb8a9
https://github.com/llvm/llvm-project/commit/5352ce32fccd37c54aff2b3a2b0e3ca5115bb8a9
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libc/src/string/memory_utils/op_builtin.h
Log Message:
-----------
[libc] fix -Warray-bounds in block_offset (#77001)
GCC reports an instance of -Warray-bounds in block_offset. Reimplement
block_offset in terms of memcpy_inline which was created to avoid this
diagnostic. See the linked issue for the full trace of diagnostic.
Fixes: https://github.com/llvm/llvm-project/issues/76877
Commit: 3b337bbc811002d088d3ae6fcae869a8d5682bc1
https://github.com/llvm/llvm-project/commit/3b337bbc811002d088d3ae6fcae869a8d5682bc1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/lib/Object/ObjectFile.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[ELF] Attempt to set the OS when using 'makeTriple()' (#76992)
Summary:
This patch fixes up the `makeTriple()` interface to emit append the
operating system information when it is readily avaialble from the ELF.
The main motivation for this is so the GPU architectures can be easily
identified correctly when given and ELF. E.g. we want
`amdgpu-amd-amdhsa` as the output and not `amdgpu--`.
This required adding support for the CUDA OS/ABI, which is easily found
to be `0x33` when using `readelf`.
Commit: 59567e711d262813b6708f1a242433a401c03e9f
https://github.com/llvm/llvm-project/commit/59567e711d262813b6708f1a242433a401c03e9f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[ELF][Obvious] Remove unused CUDA OS/ABI struct
Summary:
This did not need a separate struct because it is not past the
"architecture specific" ones in the identifier. This was accidentally
left when it was added somewhere else and caused unused variable
warnings.
Commit: c49965b97e159b7ff92a5fca3e144b2d2574a84d
https://github.com/llvm/llvm-project/commit/c49965b97e159b7ff92a5fca3e144b2d2574a84d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
Log Message:
-----------
[mlgo] Fix post PR #76919
Relaxed a bit the opcode checks to make the test less sensitive to
changes resulting in opcode numbering.
Commit: 4dd5d967975fa8d52b8c60596d892d9dd5615809
https://github.com/llvm/llvm-project/commit/4dd5d967975fa8d52b8c60596d892d9dd5615809
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV] Don't call use_nodbg_operands for physical registers in RISCVOptWInstrs hasAllNBitUsers. (#77032)
The ADDIW in the new test case was incorrectly removed due to
incorrectly following the x10 register from the return value back to the
argument. This is due to use_nodbg_operands returning every instruction
that uses a physical register regardless of the data flow.
Commit: dfe9bb4dc22796073b677984f2ffa5580003ce82
https://github.com/llvm/llvm-project/commit/dfe9bb4dc22796073b677984f2ffa5580003ce82
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[ELF] Attempt to fix test on big endian architectures
Summary:
This test fails because AMDGPU has a check for little-endianness before
returning the architecture. This test attempts to force the type to be
considered little-endian for the purpose of this test.
Commit: e42edb5547618c172abe25914000bb61f5278c4c
https://github.com/llvm/llvm-project/commit/e42edb5547618c172abe25914000bb61f5278c4c
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
A lldb/test/API/commands/expression/nested/Makefile
A lldb/test/API/commands/expression/nested/TestNestedExpressions.py
A lldb/test/API/commands/expression/nested/main.cpp
Log Message:
-----------
[lldb] Fix expressions that involve nested structs/classes/unions. (#77029)
The LLDB expression parser relies on using the external AST source
support in LLDB. This allows us to find a class at the root namespace
level, but it wouldn't allow us to find nested classes all of the time.
When LLDB finds a class via this mechanism, it would be able to complete
this class when needed, but during completion, we wouldn't populate
nested types within this class which would prevent us from finding
contained types when needed as clang would expect them to be present if
a class was completed. When we parse a type for a class, struct or
union, we make a forward declaration to the class which can be
completed. Now when the class is completed, we also add any contained
types to the class' declaration context which now allows these types to
be found. If we have a struct that contains a struct, we will add the
forward declaration of the contained structure which can be c ompleted
later. Having this forward declaration makes it possible for LLDB to
find everything it needs now.
This should fix an existing issue:
https://github.com/llvm/llvm-project/issues/53904
Previously, contained types could be parsed by accident and allow
expression to complete successfully. Other times we would have to run an
expression multiple times because our old type lookup from our
expressions would cau se a type to be parsed, but not used in the
current expression, but this would have parsed a type into the
containing decl context and the expression might succeed if it is run
again.
Commit: 1259c0512292a6559fb073b16056bff2e934822b
https://github.com/llvm/llvm-project/commit/1259c0512292a6559fb073b16056bff2e934822b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/switch-shl.ll
Log Message:
-----------
[InstCombine] Canonicalize `switch(X << C)` into `switch(X)` (#77068)
This patch canonicalizes `switch(X << C)` to `switch(X)`. If the shift
may wrap, an and instruction will be created to mask out all of the
shifted bits.
Alive2: https://alive2.llvm.org/ce/z/wSsL5y
NOTE: We can relax the one-use constraint. But I don't see any benefit
in my benchmark.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=a776740d6296520b8bde156aa3f8d9ecb32cddd9&to=6dd783b9f90ae5f258102d732953567d7e317c02&stat=instructions%3Au
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.00%|+0.01%|-0.02%|-0.01%|+0.02%|-0.00%|+0.01%|
Commit: 0e8b09c43d9f9e68c95fa1e6f6fb5c8307f3927d
https://github.com/llvm/llvm-project/commit/0e8b09c43d9f9e68c95fa1e6f6fb5c8307f3927d
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'default' clause parsing. (#77002)
A simple clause that is permitted on a few different constructs,
'default' takes a required parameter of either 'none' or 'present'.
This patch implements parsing for it.
Commit: c2f5e435a561cb0ebd3334a1377ebbefe8dcf5c3
https://github.com/llvm/llvm-project/commit/c2f5e435a561cb0ebd3334a1377ebbefe8dcf5c3
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[ELF] Again attempt to fix test on BE architectures
Summary:
This formats something according to the style, and again attempts to fix
this failing on the BE PPC test. Sorry for the spam, these commits are
the only way I can check it because the failure isn't local.
Commit: 070ac1dcd5cf27ce3722e60c8416217a6fdb5581
https://github.com/llvm/llvm-project/commit/070ac1dcd5cf27ce3722e60c8416217a6fdb5581
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/vec-perm-14.ll
Log Message:
-----------
[SystemZ] vec-perm-14.ll - partially regenerate checks so we can see all the vperm codegen
We can't use the script as we need to keep the shuffle mask constant pool checks, but do more than just check that a second vperm isn't generated
Commit: 0cb98167ecee4b8e91fb07cb186daae616045454
https://github.com/llvm/llvm-project/commit/0cb98167ecee4b8e91fb07cb186daae616045454
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[ELF][Obvious] Last time fixing this test hopefully
Commit: 848d7af956442fbf08310cc2d094035802fbe6ea
https://github.com/llvm/llvm-project/commit/848d7af956442fbf08310cc2d094035802fbe6ea
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
Log Message:
-----------
[CVP] Improve the value solving of select at use (#76700)
This patch improves the value solving of select at use if the condition
is an icmp and we know the result of comparison from
`LVI->getPredicateAt`.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=7e405eb722e40c79b7726201d0f76b5dab34ba0f&to=3c315b1ddcb0ad82554b33f08b9356679fae4bb7&stat=instructions:u
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.01%|+0.01%|-0.00%|-0.00%|-0.08%|+0.02%|-0.01%|
Commit: 02a33b72fd21cdbf476d6bda72faa462e073e510
https://github.com/llvm/llvm-project/commit/02a33b72fd21cdbf476d6bda72faa462e073e510
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
A clang/test/SemaCXX/crash-GH76228.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
Log Message:
-----------
"Reapply "[Sema] Fix crash on invalid code with parenthesized aggrega… (#76833)
…te initialization" (#76272)""
With updates the libc++ tests.
This reverts commit 2205d23 and relands
86dc6e1 and
7ab16fb.
Original commit was reverted because of failing libc++ tests, see #76232
for the discussion.
The errors in the tests are spurious in the first place (coming from
initialization of invalid classes), so update the tests to match new
behavior that does not show those errors.
The original patch was written by @ilya-biryukov
To fix the CI two libc++ tests are temporary disabled for clang-18.
Commit: 31626dadcef86e48bcc44e86e4411578094c8739
https://github.com/llvm/llvm-project/commit/31626dadcef86e48bcc44e86e4411578094c8739
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
Log Message:
-----------
[llvm][NFC] Refactor AutoUpgrader arm/aarch64 (#74145)
Break out and refactor AArch64 & ARM intrinsic updating. There's a fair amount of comonality, but let's avoid continually checking the same prefixes.
Commit: 8d6784db04ee5d925a2d036a68f00a7c124c6cf9
https://github.com/llvm/llvm-project/commit/8d6784db04ee5d925a2d036a68f00a7c124c6cf9
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc][math] Add missing nan(f|l) deps
After 0504e932880e0c4c333baeba9b8d674c5b9ae316
Commit: 93d2e49b6aa6904620a7e9b559c04ec8756dc596
https://github.com/llvm/llvm-project/commit/93d2e49b6aa6904620a7e9b559c04ec8756dc596
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
A llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml
Log Message:
-----------
Fix file index verifier when there is no file name in the prologue. (#77004)
If there is no file name in the prologue of a line table, the verifier
will try to verify the file index, which will be set to 1 by default.
This will cause the DWARF verifier to throw an error even if there is no
error.
rdar://114476503
rdar://114343624
Commit: f9aba820eb6478a617145eb690ba8b06490d7ac5
https://github.com/llvm/llvm-project/commit/f9aba820eb6478a617145eb690ba8b06490d7ac5
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn] port a0e6b7c04292
Commit: f22dc88759a53d4224c17d3833a359ef5674b4ea
https://github.com/llvm/llvm-project/commit/f22dc88759a53d4224c17d3833a359ef5674b4ea
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml
Log Message:
-----------
[NFC] Address review feedback from PR #77004 (#77134)
Accidentally didn't commit the review feedback before merging the PR
Commit: 5121e2cffd23751360e71a8ac69b7462dae23aa8
https://github.com/llvm/llvm-project/commit/5121e2cffd23751360e71a8ac69b7462dae23aa8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp
Log Message:
-----------
[OpenMP] Change `__tgt_device_image` to point to the image (#77003)
Summary:
We use the OffloadBinary to contain bundled offloading objects used to
support many images / targets at the same time. The `__tgt_device_info`
struct used to contain a pointer to this underlying binary format, which
contains information about the triple and architecture. We used to parse
this in the runtime to do image verification.
Recent changes removed the need for this to be used internally, as we
just parse it out of the ELF directly. This patch sets the pointers up
so they point to the ELF without requiring any further parsing.
Commit: 7c3bcc307a8fa9153a171f6abb4e8fdc91bd6030
https://github.com/llvm/llvm-project/commit/7c3bcc307a8fa9153a171f6abb4e8fdc91bd6030
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/phi.ll
A llvm/test/Transforms/InstCombine/switch-zext-sext.ll
A llvm/test/Transforms/PhaseOrdering/switch-sext.ll
Log Message:
-----------
[InstCombine] Fold `switch(zext/sext(X))` into `switch(X)` (#76988)
This patch folds `switch(zext/sext(X))` into `switch(X)`.
The original motivation of this patch is to optimize a pattern found in
cvc5. For example:
```
%bf.load.i = load i16, ptr %d_kind.i, align 8
%bf.clear.i = and i16 %bf.load.i, 1023
%bf.cast.i = zext nneg i16 %bf.clear.i to i32
switch i32 %bf.cast.i, label %if.else [
i32 335, label %if.then
i32 303, label %if.then
]
if.then: ; preds = %entry, %entry
%d_children.i.i = getelementptr inbounds %"class.cvc5::internal::expr::NodeValue", ptr %0, i64 0, i32 3
%cmp.i.i.i.i.i = icmp eq i16 %bf.clear.i, 1023
%cond.i.i.i.i.i = select i1 %cmp.i.i.i.i.i, i32 -1, i32 %bf.cast.i
```
`%cmp.i.i.i.i.i` always evaluates to false because `%bf.clear.i` can
only be 335 or 303.
Folding `switch i32 %bf.cast.i` to `switch i16 %bf.clear.i` will help
`CVP` to handle this case.
See also
https://github.com/llvm/llvm-project/pull/76928#issuecomment-1877055722.
Compile-time impact:
http://llvm-compile-time-tracker.com/compare.php?from=7954c57124b495fbdc73674d71f2e366e4afe522&to=502b13ed34e561d995ae1f724cf06d20008bd86f&stat=instructions:u
|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|+0.03%|+0.06%|+0.07%|+0.00%|-0.02%|-0.03%|+0.02%|
Commit: fc1c478709e380164733560e4a2c8f9e8d5e2c1c
https://github.com/llvm/llvm-project/commit/fc1c478709e380164733560e4a2c8f9e8d5e2c1c
Author: Jordan R AW <103465530+ajordanr-google at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libunwind/src/UnwindCursor.hpp
Log Message:
-----------
[libunwind] Replace process_vm_readv with SYS_rt_sigprocmask (#74791)
process_vm_readv is generally considered dangerous from a syscall
perspective, and is frequently blanket banned in seccomp filters such as
those in Chromium and ChromiumOS. We can get the same behaviour during
the invalid PC address case with the raw SYS_rt_sigprocmask syscall.
Testing to ensure that process_vm_readv does not appear, I ran the
output of check-unwind on an ARM64 device under strace. Previously,
bad_unwind_info in particular would use process_vm_readv, but with this
commit, it now no longer uses it:
```
strace test/Output/bad_unwind_info.pass.cpp.dir/t.tmp.exe \
|& grep process_vm_readv
```
The libunwind unittests were also tested on ARM64 ChromeOS (Gentoo
Linux) devices.
Commit: 365fbbfbcfefb8766f7716109b9c3767b58e6058
https://github.com/llvm/llvm-project/commit/365fbbfbcfefb8766f7716109b9c3767b58e6058
Author: David Green <david.green at arm.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/selectopt.ll
Log Message:
-----------
[AArch64] Add some extra tests for SelectOpt. NFC
Commit: dcdb4a36ae3549fb1852b2c0089247a8d477eaf3
https://github.com/llvm/llvm-project/commit/dcdb4a36ae3549fb1852b2c0089247a8d477eaf3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
Log Message:
-----------
[libc][cmake] append per obj compile options instead of prepending (#77126)
This allows individual object files to override the common compile
commands in
their local CMakeLists' add_object_library call.
For example, the common compile commands contain -Wall and -Wextra.
Before
this patch, the per object COMPILE_OPTIONS were prepended to these, so
that
builds of individual object files could not individually disable
specific
diagnostics from those groups explicitly.
After this patch, the per-object file compile objects are appended to
the list
of compiler flags, enabling this use case.
ARGN is a bit of cmake magic; let's be explicit in the APPEND that we're
appending the compile options.
Link: #77007
Commit: 6f4cc1310b12bc59210e4596a895db4cb9ad6075
https://github.com/llvm/llvm-project/commit/6f4cc1310b12bc59210e4596a895db4cb9ad6075
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.h
Log Message:
-----------
[llvm-exegesis] Remove unused Counter::read method (#76651)
This method was simply a wrapper around readOrError. All users within
the llvm-exegesis code base should have been processing an actual error
rather than using the wrapper. This patch removes the wrapper and
rewrites the users (just 1) to use the readOrError method.
Commit: d9c8edf08afce3d1e563e4521ae847a6809bb993
https://github.com/llvm/llvm-project/commit/d9c8edf08afce3d1e563e4521ae847a6809bb993
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
Log Message:
-----------
[llvm-exegesis] Add matcher for register initial values (#76666)
Currently, the unit tests for the BenchmarkResult struct do not check if
the register initial values can be parsed back in. This patch adds a
matcher and tests that the register initial values can be parsed
correctly. This exercises code already contained within the benchmark to
yaml infrastructure.
Commit: 853b13342a131e06d61293ec6e840642054c6c85
https://github.com/llvm/llvm-project/commit/853b13342a131e06d61293ec6e840642054c6c85
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/test/Lexer/case-insensitive-include-absolute.c
Log Message:
-----------
[clang] Fix test for case-insensitive absolute includes (#76985)
When CMake on Windows is told to generate the build into a directory
whose real path has a different drive letter (e.g. due to a symlink),
the "clang/test/Lexer/case-insensitive-include-absolute.c" test fails.
That happens because because `trySimplifyPath()` in `PPDirectives.cpp`
finds out there's more than a case difference between the `#include`
path (containing `%/t`) and the real path, which prevents the diagnostic
to fire.
I thought this is only an issue on Windows due to the fact that LIT does
not drag the path to the build directory through `os.path.realpath()`
like it does on other systems (see `abs_path_preserve_drive()` in
"llvm/utils/lit/lit/util.py"). However, even after only using
`os.path.abspath()` on a Unix system, build generated into a symlinked
directory tests correctly. I assume there must be something else at
play, but I don't have the time to dig deeper.
The fix is is fairly straightforward: use the real path in the
`#include` (with `%{/t:real}`), which removes the non-case difference
and unblocks the diagnostic.
Commit: f1d75d08adb9841dd9cebad63b76d4823ec2bdac
https://github.com/llvm/llvm-project/commit/f1d75d08adb9841dd9cebad63b76d4823ec2bdac
Author: Jonathon Penix <107437988+jonathonpenix at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/nostdincxx.cpp
Log Message:
-----------
[clang][Driver] Don't warn when -nostdinc and -nostdinc++ are both specified (#77130)
When -nostdinc and -nostdinc++ are both specified and the Baremetal
toolchain is used, an unused command line argument warning for
-nostdinc++ is produced. This doesn't seem particularly meaningful as
-nostdinc++ would have been claimed/used had the check in
AddClangCXXStdlibIncludeArgs not short-circuited. So, just claim all
arguments in this check.
I believe this is consistent with what was done for the GNU toolchain
(see 6fe7de90b9e4e466a5c2baadafd5f72d3203651d), so hopefully this is
appropriate here as well.
Commit: d7b4debf98fd740f821bda717de7b807e26ae95a
https://github.com/llvm/llvm-project/commit/d7b4debf98fd740f821bda717de7b807e26ae95a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[cmake,Apple] Check ld-classic when looking for ld64. (#77136)
In newer SDKs, ld64 is called ld-classic. Look for it first, as ld in
those SDKs is still missing some functionality some tests depend on.
This enables running the tests from check-llvm-tools-lto with newer SDKs
on ARM64 macOS.
Commit: 8e92d9ea8dfcc49223e4ac62c998aea4d2d4fc84
https://github.com/llvm/llvm-project/commit/8e92d9ea8dfcc49223e4ac62c998aea4d2d4fc84
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A llvm/test/tools/llvm-dwarfdump/AArch64/verify-no-file.yaml
R llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml
Log Message:
-----------
Move verify-no-file.yaml to AArch64 folder (#77149)
This test fails on power pc and solaris, moving it to AArch64 folder
because the yaml is generated for an AArch64 MachO object file.
Commit: 5b54dd4f5eccc66c6352f9277d0a6edbd2e80435
https://github.com/llvm/llvm-project/commit/5b54dd4f5eccc66c6352f9277d0a6edbd2e80435
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
Log Message:
-----------
[tsan] Generalize FrameIsInternal (#77143)
Prepare to move this into sanitizer_common.
Commit: 9cf4f10609435bccd5fb32b979557a9e339563b6
https://github.com/llvm/llvm-project/commit/9cf4f10609435bccd5fb32b979557a9e339563b6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
Log Message:
-----------
[NFC][tsan] `ptr != 0` to implicit check (#77144)
Commit: 77724d5f46efea1306e036aa0eca8e2ecb64916c
https://github.com/llvm/llvm-project/commit/77724d5f46efea1306e036aa0eca8e2ecb64916c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A llvm/test/tools/lto/discard-value-names.ll
Log Message:
-----------
[LTO] Add test showing lto-discard-value-names option being ignored.
At the moment, lto-discard-value-names isn't handled properly by libLTO.
Commit: f74ce000752d565dbd9d6fcc1e2ed7f49ff7e398
https://github.com/llvm/llvm-project/commit/f74ce000752d565dbd9d6fcc1e2ed7f49ff7e398
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
Log Message:
-----------
[tsan] Fallback to top frame (#77145)
Probably it's not important, as it should not happen often,
but if all frames are internal we should pick top, not
the bottom frame.
Commit: a89141f733cef817c586bb6da0ea69a5a323874e
https://github.com/llvm/llvm-project/commit/a89141f733cef817c586bb6da0ea69a5a323874e
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
A clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
A clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
Log Message:
-----------
[clang-tidy] Add check `readability-avoid-return-with-void-value` (#76249)
Commit: a9c5bddc8f18926bac6dc224144a32512207bd38
https://github.com/llvm/llvm-project/commit/a9c5bddc8f18926bac6dc224144a32512207bd38
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port a89141f733ce
Commit: 08c5f1fede969e687e77d0508008682e5f188f49
https://github.com/llvm/llvm-project/commit/08c5f1fede969e687e77d0508008682e5f188f49
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M bolt/lib/Rewrite/JITLinkLinker.cpp
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[ORC] Add absoluteSymbolsLinkGraph to expose absolute symbols to platform (#77008)
Adds a function to create a LinkGraph of absolute symbols, and a
callback in dynamic library search generators to enable using it to
expose its symbols to the platform/orc runtime. This allows e.g. using
__orc_rt_run_program to run a precompiled function that was found via
dlsym. Ideally we would use this in llvm-jitlink's own search generator,
but it will require more work to align with the Process/Platform
JITDylib split, so not handled here.
As part of this change we need to handle LinkGraphs that only have
absolute symbols.
Commit: def42537ee65fd5d309b7ab70a9ea4d32eb6aadd
https://github.com/llvm/llvm-project/commit/def42537ee65fd5d309b7ab70a9ea4d32eb6aadd
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/test/CodeGen/Generic/machine-function-splitter.ll
Log Message:
-----------
[NFC][CodeGen][AArch64] Add tests for unconditional branch duplication
c9f3288 introduced unconditional branch deduplication for basic block
sections and machine function splitting, but it didn't add tests for
AArch64 since prior behavior crashed the test.
This change adds tests for AArch64 and has no functional change.
Commit: 651a42ff65c3afc2a2ec6c7fc19009387757d686
https://github.com/llvm/llvm-project/commit/651a42ff65c3afc2a2ec6c7fc19009387757d686
Author: Lang Hames <lhames at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
Log Message:
-----------
[ORC] Remove unused flag (PendingRemoval) from JITDylib symbol table.
Commit: 5e54319b7be3e8aa035836098e0a9defc0a41c3a
https://github.com/llvm/llvm-project/commit/5e54319b7be3e8aa035836098e0a9defc0a41c3a
Author: Dimple Prajapati <dimpalben.r.prajapati at intel.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Target/SPIRV/global-variable.mlir
Log Message:
-----------
[mlir][spirv] Support spec constants as GlobalVar initializer (#75660)
Changes include:
- spirv serialization and deserialization needs handling in cases when
GlobalVariableOp initializer is defined using spirv SpecConstant or
SpecConstantComposite op, currently even though it allows SpecConst, it
only looked up in for GlobalVariable Map to find initializer symbol
reference, change is fixing this and extending the support to
SpecConstantComposite as an initializer.
- Adds tests to make sure GlobalVariable can be initialized using
specialized constants.
---------
Co-authored-by: Lei Zhang <antiagainst at gmail.com>
Commit: 4f215fdd62d3f014750339eab9a46946b6fb1c4a
https://github.com/llvm/llvm-project/commit/4f215fdd62d3f014750339eab9a46946b6fb1c4a
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/pop_heap.h
M libcxx/include/__algorithm/sift_down.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__config
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__thread/thread.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/unreachable.h
M libcxx/include/print
M libcxx/include/regex
M libcxx/include/set
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/format_string.h
M libcxx/src/filesystem/posix_compat.h
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/memory_resource.cpp
M libcxx/src/strstream.cpp
M libcxx/src/system_error.cpp
M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
M libcxx/test/std/utilities/utility/utility.unreachable/assert.unreachable.pass.cpp
Log Message:
-----------
[libc++][hardening] Categorize more assertions. (#75918)
Also introduce `_LIBCPP_ASSERT_PEDANTIC` for assertions violating which
results in a no-op or other benign behavior, but which may nevertheless
indicate a bug in the invoking code.
Commit: 4df566290751403f470fea3b27aa148ab1ddf144
https://github.com/llvm/llvm-project/commit/4df566290751403f470fea3b27aa148ab1ddf144
Author: hev <wangrui at loongson.cn>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/LoongArch/attributes.cpp
A clang/test/Sema/attr-model.cpp
Log Message:
-----------
[clang] Add per-global code model attribute (#72078)
This patch adds a per-global code model attribute, which can override
the target's code model to access global variables.
Currently, the code model attribute is only supported on LoongArch. This
patch also maps GCC's code model names to LLVM's, which allows for
better compatibility between the two compilers.
Suggested-by: Arthur Eubanks <aeubanks at google.com>
Link:
https://discourse.llvm.org/t/how-to-best-implement-code-model-overriding-for-certain-values/71816
Link:
https://discourse.llvm.org/t/rfc-add-per-global-code-model-attribute/74944
---------
Signed-off-by: WANG Rui <wangrui at loongson.cn>
Commit: 2652243f19314cf0a7583402d37d28dbae9ec1e6
https://github.com/llvm/llvm-project/commit/2652243f19314cf0a7583402d37d28dbae9ec1e6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
Log Message:
-----------
[NFC][tsan] Move SkipInternalFrames into sanitizer_common (#77146)
Commit: 09e0d71ad34169e075e146e13a93b2d79f992e1d
https://github.com/llvm/llvm-project/commit/09e0d71ad34169e075e146e13a93b2d79f992e1d
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_diag.cpp
M compiler-rt/test/ubsan/TestCases/Misc/print_summary.c
Log Message:
-----------
[ubsan] Drop terminal "in " from reports without functions (#77163)
Commit: 40c07b559aa6ab4bac074c943967d3207bc07ae0
https://github.com/llvm/llvm-project/commit/40c07b559aa6ab4bac074c943967d3207bc07ae0
Author: Haowei Wu <haowei at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/fstream
M libcxx/include/version
M libcxx/src/CMakeLists.txt
R libcxx/src/fstream.cpp
R libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h
R libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp
R libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/types.h
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Revert "[libc++][streams] P1759R6: Native handles and file streams (#76632)"
This reverts commit 255f95a40377677dd762df5a1aa65bcbb4f75c79, which
contains a breaking libcxx test on Windows when using C++26
Commit: 1c43e64d7072bba3e6199999184f8323045684ac
https://github.com/llvm/llvm-project/commit/1c43e64d7072bba3e6199999184f8323045684ac
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen] Port `ShadowStackGCLowering` to new pass manager (#75324)
IIUC the new pass system was designed with parallelism. This pass needs
to add some global variables into the current module, this is not
allowed by
[WritingAnLLVMPass](https://llvm.org/docs/WritingAnLLVMPass.html#the-functionpass-class),
so convert it to module pass, see FIXME in `GetFrameMap`.
Therefore, this will trigger assertion in `CodeGenPassBuilder`:
https://github.com/llvm/llvm-project/blob/effd47ed45e3badd756103346a7c3b9e1e939e5e/llvm/include/llvm/CodeGen/CodeGenPassBuilder.h#L200-L207
Will fix it in future.
Commit: ba1f4c6c50205bb7c6937c236084987f8669191c
https://github.com/llvm/llvm-project/commit/ba1f4c6c50205bb7c6937c236084987f8669191c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn build] Port 40c07b559aa6
Commit: fc6b5666db92e0c1701177aee885db66296e5a86
https://github.com/llvm/llvm-project/commit/fc6b5666db92e0c1701177aee885db66296e5a86
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
Log Message:
-----------
[NFC][ObjectSizeOffset] Use classes instead of std::pair (#76882)
The use of std::pair makes the values it holds opaque. Using classes
improves this while keeping the POD aspect of a std::pair. As a nice
addition, the "known" functions held inappropriately in the Visitor
classes can now properly reside in the value classes. :-)
Commit: 9a95b2481e5ee0708aa8604e0c04b5bd1041de3a
https://github.com/llvm/llvm-project/commit/9a95b2481e5ee0708aa8604e0c04b5bd1041de3a
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M flang/test/Lower/OpenACC/acc-reduction.f90
Log Message:
-----------
[flang][openacc][NFC] Remove obsolete FIR testing in acc-reduction.f90 test
Most tests were updated in #73054. This is the last one for OpenACC lowering
Commit: 23aabdd66f78dc28919c4a85d4bdcbf7b0dd89f7
https://github.com/llvm/llvm-project/commit/23aabdd66f78dc28919c4a85d4bdcbf7b0dd89f7
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/ubsan/ubsan_diag.h
Log Message:
-----------
[NFC][sanitizer] Move SymbolizedStackHolder into sanitizer_common (#77152)
And replace most `ClearAll()` uses.
Commit: c7e4065aad78f77d61be1d1ac674546cc62208d1
https://github.com/llvm/llvm-project/commit/c7e4065aad78f77d61be1d1ac674546cc62208d1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
Log Message:
-----------
[NFC][sanitizer] Add consts to SkipInternalFrames (#77162)
Commit: dbea538c4391caa8a369c0ccf720367f042185b1
https://github.com/llvm/llvm-project/commit/dbea538c4391caa8a369c0ccf720367f042185b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/DWARFLinker/DWARFStreamer.cpp
M llvm/lib/DWARFLinkerParallel/DebugLineSectionEmitter.h
M llvm/lib/DWARFLinkerParallel/OutputSections.cpp
M llvm/lib/DWARFLinkerParallel/OutputSections.h
M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
Log Message:
-----------
[DWARFLinker] Support MD5 checksums in the line table (#77151)
Add support to the DWARF linkers for emitting DWARF 5 MD5 checksum in
the line table.
Commit: 2873060f3cfbd92dcff8d1037a08e9fb60f7882e
https://github.com/llvm/llvm-project/commit/2873060f3cfbd92dcff8d1037a08e9fb60f7882e
Author: Micah Weston <micahsweston at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/include/llvm/Object/ELFTypes.h
M llvm/lib/Object/ELF.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP] Fixes two bugs in decoding of PGOAnalyses in BBAddrMap. (#77139)
We had specified that `readBBAddrMap` will always keep PGOAnalyses and
BBAddrMaps the same length on success.
https://github.com/llvm/llvm-project/blob/365fbbfbcfefb8766f7716109b9c3767b58e6058/llvm/include/llvm/Object/ELFObjectFile.h#L116-L117
It turns out that this is not currently the case when no analyses exist
in a function. No test had caught it.
We also should not append PGOBBEntries when there is no BBFreq or
BrProb.
This patch adds:
* tests that PGOAnalyses and BBAddrMaps are same length even when no
analyses are enabled
* fixes decode so that PGOAnalyses and BBAddrMaps are same length
* updates test to not emit unnecessary PGOBBEntries
* fixes decode to not emit PGOBBEntries when unnecessary
Commit: 1637c0792550f70e4b2ef42b3d08aa91dd27f4a9
https://github.com/llvm/llvm-project/commit/1637c0792550f70e4b2ef42b3d08aa91dd27f4a9
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
Log Message:
-----------
[openmp][amdgpu] Add DynamicLdsSize to AMDGPUImplicitArgsTy (#65325)
#65273 "hidden_dynamic_lds_size" argument will be added in the reserved
section at offset 120 of the implicit argument layout
Add DynamicLdsSize to AMDGPUImplicitArgsTy struct at offset 120 and fill
the dynamic LDS size before kernel launch.
Commit: ba3ef331b4568b5996172076572581e68c2d3c0c
https://github.com/llvm/llvm-project/commit/ba3ef331b4568b5996172076572581e68c2d3c0c
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
Log Message:
-----------
[RISCV][GlobalISel] Zbkb support for G_BSWAP (#77050)
This instructions is legal in the presence of Zbkb extension.
Commit: a5902a4d2425ac083f1530719e35b5c562cb1e60
https://github.com/llvm/llvm-project/commit/a5902a4d2425ac083f1530719e35b5c562cb1e60
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
A llvm/lib/Target/X86/X86CompressEVEX.cpp
R llvm/lib/Target/X86/X86EvexToVex.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/utils/TableGen/CMakeLists.txt
A llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
R llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Rename variables/passes for EVEX compression optimization
RFC: https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031
APX introduces EGPR, NDD and NF instructions. In addition to compressing
EVEX encoded AVX512 instructions into VEX encoding, we also have several
more possible optimizations.
a. Promoted instruction (EVEX space) -> pre-promotion instruction (legacy space)
b. NDD (EVEX space) -> non-NDD (legacy space)
c. NF_ND (EVEX space) -> NF (EVEX space)
The first two types of compression can usually reduce code size, while
the third type of compression can help hardware decode although the
instruction length remains unchanged.
So we do the renaming for the upcoming APX optimizations.
BTW, I clang-format the code in X86CompressEVEX.cpp,
X86CompressEVEXTablesEmitter.cpp.
This patch also extracts the NFC in #77065 into a separate commit.
Commit: 241e4c7466b877265e1645ca4709fe666c95c6c4
https://github.com/llvm/llvm-project/commit/241e4c7466b877265e1645ca4709fe666c95c6c4
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[Bazel] Fixup for #77008 (`orc::SymbolMap`)
Commit: 16094cb629159ee0896e2ca1facc15118b229665
https://github.com/llvm/llvm-project/commit/16094cb629159ee0896e2ca1facc15118b229665
Author: hev <wangrui at loongson.cn>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
Log Message:
-----------
[llvm][LoongArch] Support per-global code model attribute for LoongArch (#72079)
This patch gets the code model from global variable attribute if it has,
otherwise the target's will be used.
---------
Signed-off-by: WANG Rui <wangrui at loongson.cn>
Commit: 602c8fa2d8da6562e4f36df3bd63c26a4c7461e7
https://github.com/llvm/llvm-project/commit/602c8fa2d8da6562e4f36df3bd63c26a4c7461e7
Author: Craig Hesling <craig at hesling.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[GitHub] Fix slow sccache install on macOS by upgrading macOS version (#77165)
The "Setup ccache" step on macOS-11 builds takes between 15 to 20 mins,
whereas this step takes a less than 10 seconds on other runners. The
bulk of this time is spent at the "Install sccache" step, where brew
emits warnings like "Warning: You are using macOS 11." and "We (and
Apple) do not provide support for this old version...".
Bumping the version of macOS greatly decreases this cache setup time to
about 20 seconds. Furthermore, it seems like it is speeding up general
build times, too.
It appears that
https://github.com/actions/virtual-environments/issues/5900 has been
resolved or obsoleted, so I do not believe
we need to lock macOS to 11 anymore.
Commit: cf02e6e71064ba2ce36c354e3bd6b2d57de29d85
https://github.com/llvm/llvm-project/commit/cf02e6e71064ba2ce36c354e3bd6b2d57de29d85
Author: Craig Hesling <craig at hesling.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
[GitHub] Remove redundant cache key prefix (#76914)
Remove the redundant sccache cache key prefix.
This prefix is already added by the ccache action, which results in
cache keys like "sccache-sccache-ubuntu-...".
See the following source lines as proof:
https://github.com/hendrikmuhs/ccache-action/blob/2a51777f6f64b7b7bea213601acba8f5f4fdbe03/src/restore.ts#L22-L23
Commit: 376baeb2d535826eb2d8158c4147e37cda493f35
https://github.com/llvm/llvm-project/commit/376baeb2d535826eb2d8158c4147e37cda493f35
Author: Craig Hesling <craig at hesling.com>
Date: 2024-01-05 (Fri, 05 Jan 2024)
Changed paths:
A .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[GitHub] Add basic CI for libclang Python binding unit tests (#76784)
This is important to aid development of Python type annotations in the
libclang binding.
See https://github.com/llvm/llvm-project/issues/76664 for more details.
* Run on all pull requests and direct pushes.
* This makes use of the existing llvm-project-tests.yml recipe, which
will preload ccache from previous runs.
* Building libclang currently takes about 9mins when ccache is warm and
about an 1hr 20mins if it is cold using the standard GitHub ubuntu
runner.
* In the future, this could be broken into the following discrete steps
for clarity:
1. Build libclang dependency.
ninja -C build libclang
2. Run Python unit tests.
ninja -C build check-clang-python
* Followup changes will bring testing on older python versions and
static type checking.
Issue https://github.com/llvm/llvm-project/issues/76601.
Commit: 80dbf601d1815ff90b5aee18f426da964920dbe7
https://github.com/llvm/llvm-project/commit/80dbf601d1815ff90b5aee18f426da964920dbe7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
A llvm/utils/TableGen/X86ManualCompressEVEXTables.def
Log Message:
-----------
[X86][NFC] Remove EVEX2VEXOverride/NotEVEX2VEXConvertible
Remove these two classes and put all the entries in X86 EVEX compression tables
that need special handling in .def file.
PR #77065 tries to add entries that need special handling for APX in
.def file. Compared to setting fields in td files, that method looks
cleaner. This patch is to unify the addition of manual entries.
Commit: 04a7ec610ee1ad869e402c327984cb649be86f3c
https://github.com/llvm/llvm-project/commit/04a7ec610ee1ad869e402c327984cb649be86f3c
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
Log Message:
-----------
[X86][NFC] Remove VEX_W1X after 80dbf60
Commit: b2246cf73e10c38aefffd923e4b53a1975f45909
https://github.com/llvm/llvm-project/commit/b2246cf73e10c38aefffd923e4b53a1975f45909
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Bazel port for a5902a4d2425ac083f1530719e35b5c562cb1e60
Commit: ab073cbccb6e79d8b65a286e8948bc1f07c7c09b
https://github.com/llvm/llvm-project/commit/ab073cbccb6e79d8b65a286e8948bc1f07c7c09b
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/AArch64/verify-no-file.yaml
Log Message:
-----------
Add requires darwin to verify-no-file.yaml (#77188)
Commit: 5b33cff39753c790ecc6847435664592abe40415
https://github.com/llvm/llvm-project/commit/5b33cff39753c790ecc6847435664592abe40415
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/test/Conversion/SCFToGPU/no_blocks_no_threads.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/outlining.mlir
Log Message:
-----------
[mlir][gpu] Add Support for Cluster of Thread Blocks in `gpu.launch` (#76924)
Commit: 1687555572ee4fb435da400dde02e7a1e60b742c
https://github.com/llvm/llvm-project/commit/1687555572ee4fb435da400dde02e7a1e60b742c
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Combine select of binops (#76763)
Commit: 0abf3a93a3088140c0585672c8b852e5db93a302
https://github.com/llvm/llvm-project/commit/0abf3a93a3088140c0585672c8b852e5db93a302
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Use single table for EVEX compression
This patch is to address my review comments in #77065 to simplify the
implemention of EVEX2Legacy compression.
Commit: bd0dc357af453f03770c5d43c66ee5a3584abdca
https://github.com/llvm/llvm-project/commit/bd0dc357af453f03770c5d43c66ee5a3584abdca
Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
A mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
R mlir/lib/Analysis/Presburger/GeneratingFunction.h
M mlir/unittests/Analysis/Presburger/CMakeLists.txt
A mlir/unittests/Analysis/Presburger/GeneratingFunctionTest.cpp
M mlir/unittests/Analysis/Presburger/Utils.h
Log Message:
-----------
[MLIR][Presburger] Shift GeneratingFunction.h to includes (#77114)
We shift the GeneratingFunction.h header file to the include/ directory
and wrap it in a `detail` namespace.
Commit: d08482924efe8b2c44913583af7b8f60a29975d1
https://github.com/llvm/llvm-project/commit/d08482924efe8b2c44913583af7b8f60a29975d1
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
Log Message:
-----------
[clang-tidy] fix false positive in cppcoreguidelines-missing-std-forward (#77056)
Parameter variable which is forwarded in lambda capture list or in body
by reference is reasonable and current version of this check produces
false positive on these cases. This patch try to fix the
[issue](https://github.com/llvm/llvm-project/issues/68105)
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 3fb0d8dc808cb7f315670d76109edc9c57cb3d90
https://github.com/llvm/llvm-project/commit/3fb0d8dc808cb7f315670d76109edc9c57cb3d90
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
Log Message:
-----------
Recommit "[VPlan] Mark Select VPInstructions as not having sideeffects."
With #70253 landed, selects for reduction results are explicitly used by
ComputeReductionResult and Selects can be marked as not having
side-effects again.
This reverts the revert commit 173032902c960d4d0d67b521d8c149553d8e8ba3.
Commit: 4b9bbd38686af3dbffd45b360bd5af629426bdbc
https://github.com/llvm/llvm-project/commit/4b9bbd38686af3dbffd45b360bd5af629426bdbc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Refine code in X86CompressEVEXTablesEmitter.cpp
1. Simplify getValueFromBitsInit about cast and return type
2. Remove out-of-date comments and allow memory ops in function
object `IsMatch` so that we can reuse it for EVEX2Legacy compression.
This patch is to extract NFC in #77065 into a separate commit.
Commit: 8bbf100799a97f8342bf1a8409c6fb48f03e837f
https://github.com/llvm/llvm-project/commit/8bbf100799a97f8342bf1a8409c6fb48f03e837f
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
Log Message:
-----------
[X86][NFC] Remove dead code for "_REV" instructions
Those "_REV" instructions should not appear before encoding
optimization, while macro fusion and flag-copy lowering are before
encoding optimization.
Commit: 0c7d46a7fd5b7956e285d385a6945153d6a06eb0
https://github.com/llvm/llvm-project/commit/0c7d46a7fd5b7956e285d385a6945153d6a06eb0
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
Log Message:
-----------
[Clang] Correctly construct template arguments for template template parameters (#76811)
This fixes the bug introduced by
https://github.com/llvm/llvm-project/commit/6db007a0654ed7a6ed5c3aa3b61a937c19a6bc6b.
We construct placeholder template arguments for template-template
parameters to avoid mismatching argument substitution since they have
different depths with their corresponding template arguments. In this
case,
```cpp
template <template <Concept C> class T> void foo(T<int>);
```
T lies at the depth 0, and C lies at 1. The corresponding argument, of
which there is exactly one, int, is at depth 0. If we consider the
argument as the outermost one, then we would end up substituting 'int'
into the wrong parameter T.
We used to perform such placeholder construction during the context
walk-up. In the previous patch, we slipped through that inadvertently
because we would walk up to the parent, which is precisely a FileContext
for template-template parameters, after adding innermost arguments.
Besides, this patch moves the sanity check up to the context switch.
That way, we avoid dereferencing null pointers if ND is unspecified.
Closes https://github.com/llvm/llvm-project/issues/57410.
Closes https://github.com/llvm/llvm-project/issues/76604. (The case is
slightly different than that in #57410. We should *not* assume the
surrounding context to be a file-scope one.)
Commit: 61bb3d499a234f20b74e70a37a68c0c7d47eb5dc
https://github.com/llvm/llvm-project/commit/61bb3d499a234f20b74e70a37a68c0c7d47eb5dc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Avoid uselss iterations when emitting EVEX compression table
BTW, we relax the condition for EVEX compression from
ST.hasAVX512() to ST.hasEGPR() || ST.hasAVX512(). It does not have any
effect now b/c no APX instruction is in the EVEX compression table so
far.
This patch is to extract NFC in #77065 into a separate commit.
Commit: a085402ef54379758e6c996dbaedfcb92ad222b5
https://github.com/llvm/llvm-project/commit/a085402ef54379758e6c996dbaedfcb92ad222b5
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
Revert "[GlobalIsel] Combine select of binops (#76763)"
This reverts commit 1687555572ee4fb435da400dde02e7a1e60b742c.
Commit: b5de136ef3fd63c6a6aabaea16792e47be1eeeff
https://github.com/llvm/llvm-project/commit/b5de136ef3fd63c6a6aabaea16792e47be1eeeff
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Refactor subreg indices. (#77173)
-Rename sub_32_hi to sub_gpr_odd
-Add dedicated sub_gpr_even.
-Rename sub_32 and sub_16 to sub_fpr32 and sub_fpr16.
-Remove start offset from sub_gpr_odd. AArch64 doesn't use non-zero offset for GPR
tuples so I don't think we need to.
This is preparation for a RV64 GPRPair for Zacas.
Commit: 747d8fb01c2417546ebaa774874ff8c3005e058a
https://github.com/llvm/llvm-project/commit/747d8fb01c2417546ebaa774874ff8c3005e058a
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.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/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/test/Conversion/SPIRVToLLVM/spirv-storage-class-mapping.mlir
M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
M mlir/test/Target/SPIRV/cast-ops.mlir
M mlir/test/Target/SPIRV/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Support alias/restrict function argument decorations (#76353)
Closes #76106
---------
Co-authored-by: Lei Zhang <antiagainst at gmail.com>
Commit: 6e1ecd100d7663a91135b1cf6c4a603681b7385b
https://github.com/llvm/llvm-project/commit/6e1ecd100d7663a91135b1cf6c4a603681b7385b
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn build] Manually port ba3ef331
Commit: 83be8a74001904a63ed0cffa0cecc43649a7bb29
https://github.com/llvm/llvm-project/commit/83be8a74001904a63ed0cffa0cecc43649a7bb29
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M mlir/python/mlir/ir.py
M mlir/test/python/dialects/memref.py
Log Message:
-----------
[mlir][python] add MemRefTypeAttr attr builder (#76371)
Commit: 2af0695b875911144ed1f7b4e5679be500b86a77
https://github.com/llvm/llvm-project/commit/2af0695b875911144ed1f7b4e5679be500b86a77
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[docs] Small spelling fix ("if <...>`than` -> if <...> `then`") (#77215)
Commit: 90e7578a56704eff2143beb8fbe99e05b0a3bb24
https://github.com/llvm/llvm-project/commit/90e7578a56704eff2143beb8fbe99e05b0a3bb24
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
Log Message:
-----------
[test] Test StackSafetyAnalysis handles MemIntrinsic even in the presence of __asan_memcpy
Commit: 0ebe97115dc79482cd9fa6a4bd31f9faa259dca0
https://github.com/llvm/llvm-project/commit/0ebe97115dc79482cd9fa6a4bd31f9faa259dca0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
Revert "[RISCV] Refactor subreg indices. (#77173)"
This reverts commit b5de136ef3fd63c6a6aabaea16792e47be1eeeff.
Based on post commit feedback, I need to some other work before
this makes sense.
Commit: c63febb1025564b078a5c8e52e6df638e8a1d808
https://github.com/llvm/llvm-project/commit/c63febb1025564b078a5c8e52e6df638e8a1d808
Author: Alex Beloi <alexbeloi at users.noreply.github.com>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAtomicOps.td
M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
M mlir/test/Conversion/MemRefToSPIRV/alloc.mlir
M mlir/test/Conversion/MemRefToSPIRV/atomic.mlir
M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/target-env.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Target/SPIRV/atomic-ops.mlir
M mlir/test/Target/SPIRV/debug.mlir
Log Message:
-----------
[mlir][spirv] Use assemblyFormat to define atomic op assembly (#76323)
see #73359
Declarative assemblyFormat ODS is more concise and requires less
boilerplate than filling out CPP interfaces.
Changes:
* updates the Ops defined in `SPIRVAtomicOps.td` to use assemblyFormat.
* Removes print/parse from`AtomcOps.cpp` which is now generated by
assemblyFormat
* Adds `Trait` to verify that a pointer operand `foo`'s pointee type
matches operand `bar`'s type
* * Updates error message expected in tests from new Trait
* Updates tests to updated format (largely using <operand> in place of
"operand")
Commit: 5dfcb3e5d1d16bb4f8fce52b3c089119ed977e7f
https://github.com/llvm/llvm-project/commit/5dfcb3e5d1d16bb4f8fce52b3c089119ed977e7f
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-06 (Sat, 06 Jan 2024)
Changed paths:
M llvm/test/Instrumentation/AddressSanitizer/debug_info_noninstrumented_alloca2.ll
M llvm/test/Instrumentation/AddressSanitizer/hoist-argument-init-insts.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
Log Message:
-----------
[asan,test] Improve tests to ensure instrumentation even in the presence of StackSafetyAnalysis
Commit: 274f8332b9d1d460d38516f2c685692a46a93c7a
https://github.com/llvm/llvm-project/commit/274f8332b9d1d460d38516f2c685692a46a93c7a
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
Log Message:
-----------
[RISCV] Don't attempt PRE if available info is SEW/LMUL ratio only (#77063)
Commit: 780a5116ba68ec8c53b65008b3407479478b2d5e
https://github.com/llvm/llvm-project/commit/780a5116ba68ec8c53b65008b3407479478b2d5e
Author: David Green <david.green at arm.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Fix condition for combining UADDV and Add. (#76809)
This should have been checking that the transform was valid, but used
incorrect conditions letting through invalid combinations of lo/hi
extracts.
Hopefully fixes #76769
Commit: c82c54a1ef89ebd4903adfd977dabd34718a136e
https://github.com/llvm/llvm-project/commit/c82c54a1ef89ebd4903adfd977dabd34718a136e
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang][NFC] Fix trailing whitespace in ReleaseNotes.rst
Commit: 4c8dbb68138959477d9fccbae3669663260dfe31
https://github.com/llvm/llvm-project/commit/4c8dbb68138959477d9fccbae3669663260dfe31
Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
A mlir/include/mlir/Analysis/Presburger/Barvinok.h
A mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/CMakeLists.txt
A mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
M mlir/unittests/Analysis/Presburger/CMakeLists.txt
Log Message:
-----------
[MLIR][Presburger] Definitions for basic functions related to cones (#76650)
We add some basic type aliases and function definitions relating to
cones for Barvinok's algorithm.
These include functions to get the dual of a cone and find its index.
Commit: 2835be82db2037367154bc3226473947abbf661f
https://github.com/llvm/llvm-project/commit/2835be82db2037367154bc3226473947abbf661f
Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
M mlir/unittests/Analysis/Presburger/GeneratingFunctionTest.cpp
Log Message:
-----------
[MLIR][Presburger] Fix ParamPoint to be column-wise instead of row-wise (#77232)
The ParamPoint datatype has each column representing an affine function.
The code for generating functions is modified to reflect this.
Commit: 3eb9fd8ac8bb7524b45912115dc212b7e80be588
https://github.com/llvm/llvm-project/commit/3eb9fd8ac8bb7524b45912115dc212b7e80be588
Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] Implement IntegerRelation::mergeAndAlignSymbols (#76736)
Commit: 0903d992cc961281a0bffc8704796f27f8c2e696
https://github.com/llvm/llvm-project/commit/0903d992cc961281a0bffc8704796f27f8c2e696
Author: Bill Wendling <morbo at google.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
Log Message:
-----------
[NFC][ObjectSizeOffset] Add template stuff for Visual Studio
Visual Studio needs the class template stuff.
C:\llvm\include\llvm/Analysis/MemoryBuiltins.h(217): error C2990: 'llvm::SizeOffsetType': non-class template has already been declared as a class template
C:\llvm\include\llvm/Analysis/MemoryBuiltins.h(193): note: see declaration of 'llvm::SizeOffsetType'
Commit: fd1c156e5d6584684ce58c0536dca96cedcc41f0
https://github.com/llvm/llvm-project/commit/fd1c156e5d6584684ce58c0536dca96cedcc41f0
Author: Bill Wendling <morbo at google.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
Log Message:
-----------
Revert "[NFC][ObjectSizeOffset] Add template stuff for Visual Studio"
This reverts commit 0903d992cc961281a0bffc8704796f27f8c2e696.
This is causing all non-Visual Studio builds fail.
Commit: 2eb7a82af3b66f9448f9d2843b438fa8ec4ff53f
https://github.com/llvm/llvm-project/commit/2eb7a82af3b66f9448f9d2843b438fa8ec4ff53f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp.ll
Log Message:
-----------
[InstCombine] Relax the one-use constraints for `icmp pred (binop X, Z), (binop Y, Z)` (#76384)
This patch relaxes the one-use constraints for `icmp pred (binop X, Z),
(binop Y, Z)`. It will enable more optimizations with pointer
arithmetic.
One example in `boost::match_results::set_size`:
```
declare void @use(i64)
define i1 @src(ptr %a1, ptr %a2, ptr %add.ptr.i66, i64 %sub.ptr.rhs.cast.i) {
%sub.ptr.lhs.cast.i = ptrtoint ptr %a1 to i64
%sub.ptr.rhs.cast.i = ptrtoint ptr %a2 to i64
%sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i
%sub.ptr.div.i = sdiv exact i64 %sub.ptr.sub.i, 24
call void @use(i64 %sub.ptr.div.i)
%sub.ptr.lhs.cast.i.i = ptrtoint ptr %add.ptr.i66 to i64
%sub.ptr.sub.i.i = sub i64 %sub.ptr.lhs.cast.i.i, %sub.ptr.rhs.cast.i
%sub.ptr.div.i.i = sdiv exact i64 %sub.ptr.sub.i.i, 24
%cmp.i.not.i.i = icmp eq i64 %sub.ptr.div.i.i, %sub.ptr.div.i
ret i1 %cmp.i.not.i.i
}
define i1 @tgt(ptr %a1, ptr %a2, ptr %add.ptr.i66, i64 %sub.ptr.rhs.cast.i) {
%sub.ptr.lhs.cast.i = ptrtoint ptr %a1 to i64
%sub.ptr.rhs.cast.i = ptrtoint ptr %a2 to i64
%sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i
%sub.ptr.div.i = sdiv exact i64 %sub.ptr.sub.i, 24
call void @use(i64 %sub.ptr.div.i)
%cmp.i.not.i.i = icmp eq i64 %sub.ptr.sub.i.i, %sub.ptr.sub.i
ret i1 %cmp.i.not.i.i
}
```
Commit: dd450f08cfeb9da372cbe459058bc9ae9425f862
https://github.com/llvm/llvm-project/commit/dd450f08cfeb9da372cbe459058bc9ae9425f862
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferUtils.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
Log Message:
-----------
[mlir][Interfaces][NFC] Move region loop detection to `RegionBranchOpInterface` (#77090)
`BufferPlacementTransformationBase::isLoop` checks if there a loop in
the region branching graph of an operation. This algorithm is similar to
`isRegionReachable` in the `RegionBranchOpInterface`. To avoid duplicate
code, `isRegionReachable` is generalized, so that it can be used to
detect region loops. A helper function
`RegionBranchOpInterface::hasLoop` is added.
This change also turns a recursive implementation into an iterative one,
which is the preferred implementation strategy in LLVM.
Also move the `isLoop` to `BufferOptimizations.cpp`, so that we can
gradually retire `BufferPlacementTransformationBase`. (This is so that
proper error handling can be added to `BufferViewFlowAnalysis`.)
Commit: 752df2bc0b606127efea80023b0dfd8a7a36bf8c
https://github.com/llvm/llvm-project/commit/752df2bc0b606127efea80023b0dfd8a7a36bf8c
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferUtils.h
M mlir/include/mlir/IR/Dominance.h
Log Message:
-----------
[mlir][IR] `DominanceInfo`: Add function to query dominator of a range of block (#77098)
Also improve the implementation of `findCommonDominator` (skip duplicate
blocks) and extract it from `BufferPlacementTransformationBase` (so that
`BufferPlacementTransformationBase` can be retired eventually).
Commit: 1f9c2ddd8c1c5ff013c1f3b5570a0af0657311a8
https://github.com/llvm/llvm-project/commit/1f9c2ddd8c1c5ff013c1f3b5570a0af0657311a8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
Log Message:
-----------
[libc++][test] Improves suspurious clang diagnostics. (#77234)
As suggested by @philnik777 this is a better fix than
02a33b72fd21cdbf476d6bda72faa462e073e510
Fixes: https://github.com/llvm/llvm-project/issues/77123
Commit: 249d2ccb1d8475d3ff4ead9566a83fc0adf476db
https://github.com/llvm/llvm-project/commit/249d2ccb1d8475d3ff4ead9566a83fc0adf476db
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
Log Message:
-----------
[LV] Add test showing overly aggressive dropping of inbounds.
As %B.gep.0 executes unconditionally in the latch, inbounds could
be preserved in the vector version.
https://alive2.llvm.org/ce/z/XWbMuD
Commit: 18ec3304a9e4aed25d998180728faaf02236205d
https://github.com/llvm/llvm-project/commit/18ec3304a9e4aed25d998180728faaf02236205d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
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/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
Log Message:
-----------
[VPlan] Manage InBounds via VPRecipeWithIRFlags for VectorPtrRecipe.
As suggested as follow-up in
https://github.com/llvm/llvm-project/pull/72164, manage inbounds via
VPRecipeWithIRFlags.
Note that in some cases we can now preserve inbounds in a few more
cases.
Commit: e497f689236dc2f14f08f09e1af8c2b10820952a
https://github.com/llvm/llvm-project/commit/e497f689236dc2f14f08f09e1af8c2b10820952a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libcxx/include/tuple
Log Message:
-----------
[NFC][libc++] Formats tuple.
The fix used macros that confuses clang-format. This is formatted with
clang-format and then excluded from formatting.
Commit: 3e498b3db5bdd6b0e8cbebb1d8ac88a59b4eef7a
https://github.com/llvm/llvm-project/commit/3e498b3db5bdd6b0e8cbebb1d8ac88a59b4eef7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++][doc] Minor release notes style fixes.
Commit: 8f76f1816ea63b7cc28e150ba319ffbfe6351f9e
https://github.com/llvm/llvm-project/commit/8f76f1816ea63b7cc28e150ba319ffbfe6351f9e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
Log Message:
-----------
[OpenMP][Obvious] Fix test failing on BE architectures
Summary:
This accidentally included a byte past the magic, which was out of order
on big endian architectures.
Commit: b306a9c9986f254d0aff5eb892da9359e2588f54
https://github.com/llvm/llvm-project/commit/b306a9c9986f254d0aff5eb892da9359e2588f54
Author: natanelh-mobileye <155897558+natanelh-mobileye at users.noreply.github.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Fix typo in comment (NFC) (#77240)
Tiny spelling mistake fixup. please review the two lines of code below
to see the correctness of this PR.
Commit: 535d8e8b92e3f8cf4107d9431012310c9a72c8d3
https://github.com/llvm/llvm-project/commit/535d8e8b92e3f8cf4107d9431012310c9a72c8d3
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
Log Message:
-----------
NFC: Extract switch lowering binary tree splitting code from DAG into SwitchLoweringUtils.
This will help re-use this code with the upcoming GlobalISel implementation of
this optimization.
Commit: 92e243173c09fc78c25814a7d7e392971034f5be
https://github.com/llvm/llvm-project/commit/92e243173c09fc78c25814a7d7e392971034f5be
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/fstream
M libcxx/include/version
M libcxx/src/CMakeLists.txt
A libcxx/src/fstream.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/native_handle_assert_test_helpers.h
A libcxx/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/types.h
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Reapply "[libc++][streams] P1759R6: Native handles and file streams" (#77190)
Fixes build on Windows in C++26 mode.
Reverted in:
https://github.com/llvm/llvm-project/commit/40c07b559aa6ab4bac074c943967d3207bc07ae0
Original PR: https://github.com/llvm/llvm-project/pull/76632
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 38228d5efe18cbe45ea02ebb08b2d2a7e4b68560
https://github.com/llvm/llvm-project/commit/38228d5efe18cbe45ea02ebb08b2d2a7e4b68560
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/include/CMakeLists.txt
M libc/src/__support/StringUtil/CMakeLists.txt
Log Message:
-----------
[libc] Fix GPU tests not running after recent patches (#77248)
Summary:
A previous patch added a dependency on the stack protectors, this was
not built on the GPU targets so every test was disabled. It turns out
that disabled tests still get targets so we need to specifically check
if the it is in the target's set of entrypoints before we can use it.
Another patch, because the build-bot was down, snuck in that prevented
the new math tests from being run. The problem is that the `signal.h`
header requires target specific definitions but was being used
unconditionally. I have made changes that disable building this header
if the file is not defined in the config. This required disbaling the
signal_to_string utility, so that will simply be missing from targets
that don't define it.
Commit: fece9818abce9339e3a46ce174c662602e32d593
https://github.com/llvm/llvm-project/commit/fece9818abce9339e3a46ce174c662602e32d593
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M libc/include/CMakeLists.txt
Log Message:
-----------
[libc] Attempt to fix incorrect pathin on Linux builds
Commit: c5e35986d8064775182b03a7e1a7e02f1cf7e4a9
https://github.com/llvm/llvm-project/commit/c5e35986d8064775182b03a7e1a7e02f1cf7e4a9
Author: Nicholas Mosier <nh.mosier at gmail.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
M lld/test/ELF/x86-64-tls-pie.s
Log Message:
-----------
[lld][ELF][X86] Add missing X86_64_TPOFF64 case in switches (#77208)
Close #77201. When linking code with a R_X86_64_TPOFF64 relocation, LLD
exits with an 'unknown reloaction' error message due to two missing
cases in relocation switch statements. This patch adds in those cases so
that LLD successfully links code R_X86_64_TPOFF64 relocations.
Commit: eabaee0c59110d0e11b33a69db54ccda526b35fd
https://github.com/llvm/llvm-project/commit/eabaee0c59110d0e11b33a69db54ccda526b35fd
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/addrspacecast.ll
M llvm/test/CodeGen/RISCV/aext-to-sext.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/analyze-branch.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-sub.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-frem.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/byval.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/calling-conv-vector-on-stack.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/cm_mvas_mvsa.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-arith-strict.ll
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/double-frem.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-round-conv.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/eh-dwarf-cfa.ll
M llvm/test/CodeGen/RISCV/emutls.ll
M llvm/test/CodeGen/RISCV/exception-pointer-register.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-int.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/fli-licm.ll
M llvm/test/CodeGen/RISCV/float-arith-strict.ll
M llvm/test/CodeGen/RISCV/float-arith.ll
M llvm/test/CodeGen/RISCV/float-bit-preserving-dagcombines.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-convert-strict.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
M llvm/test/CodeGen/RISCV/float-frem.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-mem.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-round-conv.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/fmax-fmin.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fp16-promote.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/frame-info.ll
M llvm/test/CodeGen/RISCV/frame.ll
M llvm/test/CodeGen/RISCV/frameaddr-returnaddr.ll
M llvm/test/CodeGen/RISCV/ghccc-rv32.ll
M llvm/test/CodeGen/RISCV/ghccc-rv64.ll
M llvm/test/CodeGen/RISCV/ghccc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-frem.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-round-conv.ll
M llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll
M llvm/test/CodeGen/RISCV/interrupt-attr-callee.ll
M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/libcall-tail-calls.ll
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/machine-outliner-and-machine-copy-propagation.ll
M llvm/test/CodeGen/RISCV/machine-outliner-throw.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/miss-sp-restore-eh.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/nest-register.ll
M llvm/test/CodeGen/RISCV/nomerge.ll
M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/remat.ll
M llvm/test/CodeGen/RISCV/rv32i-rv64i-float-double.ll
M llvm/test/CodeGen/RISCV/rv32i-rv64i-half.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64-large-stack.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/div.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/mem64.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rem.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbs.ll
M llvm/test/CodeGen/RISCV/rv64i-complex-float.ll
M llvm/test/CodeGen/RISCV/rv64i-double-softfloat.ll
M llvm/test/CodeGen/RISCV/rv64i-single-softfloat.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/scalar-stack-align.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/setcc-logic.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
M llvm/test/CodeGen/RISCV/shrinkwrap-jump-table.ll
M llvm/test/CodeGen/RISCV/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/split-sp-adjust.ll
M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
M llvm/test/CodeGen/RISCV/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/RISCV/stack-realignment.ll
M llvm/test/CodeGen/RISCV/stack-slot-size.ll
M llvm/test/CodeGen/RISCV/stack-store-check.ll
M llvm/test/CodeGen/RISCV/tls-models.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/RISCV/urem-lkk.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/vlenb.ll
M llvm/test/CodeGen/RISCV/zbb-cmp-combine.ll
M llvm/test/CodeGen/RISCV/zcmp-with-float.ll
M llvm/test/CodeGen/RISCV/zfh-half-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/zfhmin-half-intrinsics-strict.ll
M llvm/test/MC/RISCV/function-call.s
M llvm/test/MC/RISCV/tail-call.s
Log Message:
-----------
[RISCV] Omit "@plt" in assembly output "call foo at plt" (#72467)
R_RISCV_CALL/R_RISCV_CALL_PLT distinction is not necessary and
R_RISCV_CALL has been deprecated. Since https://reviews.llvm.org/D132530
`call foo` assembles to R_RISCV_CALL_PLT. The `@plt` suffix is not
useful and can be removed now (matching AArch64 and PowerPC).
GNU assembler assembles `call foo` to RISCV_CALL_PLT since 2022-09
(70f35d72ef04cd23771875c1661c9975044a749c).
Without this patch, unconditionally changing MO_CALL to MO_PLT could
create `jump .L1 at plt, a0`, which is invalid in LLVM integrated assembler
and GNU assembler.
Commit: 360996ac5ad26714a6ddbee45730fbcfb7dc3eea
https://github.com/llvm/llvm-project/commit/360996ac5ad26714a6ddbee45730fbcfb7dc3eea
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64d.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/variadic-call.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-ceil-floor.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
M llvm/test/CodeGen/RISCV/float-select-verify.ll
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/mir-target-flags.ll
M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/vector-abi.ll
Log Message:
-----------
[RISCV] Merge machine operand flag MO_PLT into MO_CALL (#77253)
Since #72467, `@plt` in assembly output "call foo at plt" is omitted. We
can trivially merge MO_PLT and MO_CALL without any functional change to
assembly/relocatable file output.
Earlier architectures use different call relocation types whether a PLT
is potentially needed: R_386_PLT32/R_386_PC32, R_68K_PLT32/R_68K_PC32,
R_SPARC_WDISP30/R_SPARC_WPLT320. However, as the PLT property is
per-symbol instead of per-call-site and linkers can optimize out a PLT,
the distinction has been confusing.
Arm made good names R_ARM_CALL/R_AARCH64_CALL. Let's use MO_CALL instead
of MO_PLT.
As follow-ups, we can merge fixup_riscv_call/fixup_riscv_call_plt and
VK_RISCV_CALL/VK_RISCV_CALL_PLT.
Commit: 4ca1b5e094280ef1af40412e3cfcb62dc3cf15bc
https://github.com/llvm/llvm-project/commit/4ca1b5e094280ef1af40412e3cfcb62dc3cf15bc
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw-sysroot.cpp
Log Message:
-----------
[clang] [MinGW] Don't look for a GCC in path if the install base has a proper mingw sysroot (#76949)
This fixes uses of the MSYS2 clang64 environment compilers, if another
set of GCC based compilers are available further back in PATH (which may
be explicitly added, or inherited unintentionally from other software
installed).
(The issue in the clang64 environment can be worked around somewhat by
installing *-gcc-compat packages which present aliases named
<triple>-gcc within the clang64 environment as well.)
This fixes https://github.com/msys2/MINGW-packages/issues/11495 and
https://github.com/msys2/MINGW-packages/issues/19279.
Commit: f8c5541f5a6b6e4806f9fb5ab191d4a7e60609c4
https://github.com/llvm/llvm-project/commit/f8c5541f5a6b6e4806f9fb5ab191d4a7e60609c4
Author: Bill Wendling <morbo at google.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/MemoryBuiltins.h
Log Message:
-----------
[NFC][ObjectSize] Make method public
Windows barfs on the 'friend class SizeOffsetType;' statement. Attempt
to fix by making the method called by the "friend" class public.
Commit: 0359acf0f5f04da184386c886d56ee45db7b7be0
https://github.com/llvm/llvm-project/commit/0359acf0f5f04da184386c886d56ee45db7b7be0
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
A lld/test/ELF/eh-frame-nonzero-offset-riscv.s
Log Message:
-----------
[ELF,test] Add eh-frame-nonzero-offset-riscv.s for #65966
I plan to define RISCV::relocateAllocate in a subsequent change.
Add a test to verify
`else if (auto *ehIn = dyn_cast<EhInputSection>(&sec)) secAddr += ehIn->getParent()->outSecOff;`
Commit: 60c4f82d3c4e9cfc337c360f489d830d0379b04d
https://github.com/llvm/llvm-project/commit/60c4f82d3c4e9cfc337c360f489d830d0379b04d
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/test/Instrumentation/InstrProfiling/platform.ll
M llvm/test/Instrumentation/InstrProfiling/profiling.ll
Log Message:
-----------
[InstrProfiling] No runtime registration for ELF, COFF, Mach-O and XCOFF (#77225)
Whether runtime registration is needed is not dependent on the OS but
the file format. For ELF, COFF, Mach-O or XCOFF, we can always use the
linker support. This is important for baremetal platforms such as RTOS
and UEFI platforms where there is no OS but we still don't want to use
runtime registration and rely on linker support instead.
Commit: c7cae61b289fd12171a2da80a6e90b867ee1c4fc
https://github.com/llvm/llvm-project/commit/c7cae61b289fd12171a2da80a6e90b867ee1c4fc
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
[NFC] Remove trailing whitespace in `llvm/lib/Target/AMDGPU/VOP2Instructions.td`
Commit: d6aef863d83e5a352e78a0211a935a59efda0a0c
https://github.com/llvm/llvm-project/commit/d6aef863d83e5a352e78a0211a935a59efda0a0c
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/test/CodeGen/PowerPC/pr47155-47156.ll
Log Message:
-----------
[PowerPC] make LR/LR8 CTR/CTR8 aliased (#76926)
fixes https://github.com/llvm/llvm-project/issues/47156
fixes https://github.com/llvm/llvm-project/issues/47155
Commit: 5034994134bbec92c1f1116c56008ac504f7d763
https://github.com/llvm/llvm-project/commit/5034994134bbec92c1f1116c56008ac504f7d763
Author: Haocong Lu <74847248+Luhaocong at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/AST/FormatString.cpp
M clang/test/Sema/attr-format.c
M clang/test/SemaCXX/attr-format.cpp
M clang/test/SemaCXX/format-strings-scanf.cpp
Log Message:
-----------
[Sema] Warning for _Float16 passed to format specifier '%f' (#74439)
According to https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2844.pdf,
default argument promotions for _FloatN types has been removed.
A warning is needed to notice user to promote _Float16 to double
explicitly, and then pass it to format specifier '%f', which is
consistent with GCC.
Fixes: https://github.com/llvm/llvm-project/issues/68538
Commit: 78550bef98347bccbf0e8e5fb66dc59718fc35ec
https://github.com/llvm/llvm-project/commit/78550bef98347bccbf0e8e5fb66dc59718fc35ec
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[CMake] Include riscv32-unknown-elf runtimes in Fuchsia toolchain (#76849)
This contains compiler-rt builtins and llvm-libc for baremetal use.
Differential Revision: https://reviews.llvm.org/D155337
Commit: 225e2704af3c53bc0c4ee6bf92f32ace54d10fbc
https://github.com/llvm/llvm-project/commit/225e2704af3c53bc0c4ee6bf92f32ace54d10fbc
Author: Kai Luo <gluokai at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/intrinsic-trap.ll
Log Message:
-----------
[PowerPC] Precommit test for lowering llvm.trap on ppc64le. NFC.
Commit: b58a97d6aea12a30e2d1b01c6289abb2fd061f0b
https://github.com/llvm/llvm-project/commit/b58a97d6aea12a30e2d1b01c6289abb2fd061f0b
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
Log Message:
-----------
[RISCV][NFC] Move Zawrs/Zacas implementation to RISCVInstrInfoZa.td (#76940)
To keep the structure of TableGen files clear.
The definitions are simplified by the way.
Commit: a90ed3e8a4ea8c5238fd660bbac0371366afe3b5
https://github.com/llvm/llvm-project/commit/a90ed3e8a4ea8c5238fd660bbac0371366afe3b5
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
Revert "[CMake] Include riscv32-unknown-elf runtimes in Fuchsia toolchain (#76849)"
This reverts commit 78550bef98347bccbf0e8e5fb66dc59718fc35ec since
it broke the two stage build.
Commit: f22cde10e7cc711bba9f43d7529ea6c1394c5b48
https://github.com/llvm/llvm-project/commit/f22cde10e7cc711bba9f43d7529ea6c1394c5b48
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/ARM/ARMLegalizerInfo.h
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.h
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
Log Message:
-----------
[GlobalISel][NFC]Delete the comments of XXLegalizerInfo (#76918)
Delete the LegalizerInfo comments of AArch64/AMD64/ARM/M68k/RISCV/x86,
they are copied from register bank.
Commit: ce944597e43ae4f77260d4683f8d6535947fb0a2
https://github.com/llvm/llvm-project/commit/ce944597e43ae4f77260d4683f8d6535947fb0a2
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port 92e243173c09
Commit: 1dfb9498333a6c7c6ac012eb70dc593f5165a025
https://github.com/llvm/llvm-project/commit/1dfb9498333a6c7c6ac012eb70dc593f5165a025
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
R lld/test/ELF/linkerscript/overlay-reject.test
R lld/test/ELF/linkerscript/overlay-reject2.test
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[ELF] Improve OVERLAY tests
Also test two issues:
* When the start address is `.`, subsequent sections don't share the
address of the first overlay section.
* When the first overlay section is empty and discardable, `p_paddr` is
incorrectly zero. This is because a discarded section has a zero
address, causing `prev->getLMA() + prev->size` where `prev` refers to
the first section to evaluate to zero.
Commit: 93c8468c6cd154efb8fae16a4025e116be8181c7
https://github.com/llvm/llvm-project/commit/93c8468c6cd154efb8fae16a4025e116be8181c7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86][NFC] Remove duplicate comments in X86CompressEVEX.cpp
Commit: 624b48789f6941d5f10c9ddf144e2bf72365fdd1
https://github.com/llvm/llvm-project/commit/624b48789f6941d5f10c9ddf144e2bf72365fdd1
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
Log Message:
-----------
[AArch64][NFC] Pre-commit IR translator switch lowering test.
Commit: b3037ae1fc6d26459e37f813757ad30872eb2eee
https://github.com/llvm/llvm-project/commit/b3037ae1fc6d26459e37f813757ad30872eb2eee
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope.mlir
M mlir/test/Dialect/LLVMIR/call-location.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/invalid-call-location.mlir
M mlir/test/Dialect/LLVMIR/loop-metadata.mlir
M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/loop-metadata.mlir
Log Message:
-----------
[MLIR][LLVM] Add distinct identifier to DICompileUnit attribute (#77070)
This commit adds a distinct attribute parameter to the DICompileUnit to
enable the modeling of distinctness. LLVM requires DICompileUnits to be
distinct and there are cases where one gets two equivalent compilation
units but LLVM still requires differentiates them. We observed such
cases for combinations of LTO and inline functions.
This patch also changes the DIScopeForLLVMFuncOp pass to a module pass,
to ensure that only one distinct DICompileUnit is created, instead of
one for each function.
Commit: 9b808a4beb8e6c8255b412fdd6f5a3e20cbcf270
https://github.com/llvm/llvm-project/commit/9b808a4beb8e6c8255b412fdd6f5a3e20cbcf270
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
A clang/test/Modules/explicit-specializations.cppm
Log Message:
-----------
[NFC] [Modules] Add a test case for selecting specializations with aliased template args
This a test for https://github.com/llvm/llvm-project/pull/76774. In the
review comments, we're concerning about the case that ODRHash may
produce the different hash values for semantical same template
arguments. For example, if the template argument in a specialization is
not qualified and the semantical same template argument in the instantiation
point is qualified, we should be able to select that template
specialization. And this patch tests this behavior: we should be able to select
the correct specialization with semantical same template arguments.
Commit: fe1364f1e7ac0c4d0f9a4b15189485782241190d
https://github.com/llvm/llvm-project/commit/fe1364f1e7ac0c4d0f9a4b15189485782241190d
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
Log Message:
-----------
Update pre-committed test. Accidentally committed the wrong version, this one
properly demonstrates the upcoming change.
Commit: 9de81ce87d9f99850d427c9e0440440b5ef9ebbf
https://github.com/llvm/llvm-project/commit/9de81ce87d9f99850d427c9e0440440b5ef9ebbf
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-07 (Sun, 07 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
Log Message:
-----------
NFC: Another pre-commit test change.
Commit: bae1fdea712fcd0b0ea525b115e661f92263f2e7
https://github.com/llvm/llvm-project/commit/bae1fdea712fcd0b0ea525b115e661f92263f2e7
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
Log Message:
-----------
[MLIR][LLVM] Add distinct identifier to the DISubprogram attribute (#77093)
This commit adds an optional distinct attribute parameter to the
DISubprogramAttr. This enables modeling of distinct subprograms, as
required for LLVM IR. This change is required to avoid accidential
uniquing of subprograms on functions that would lead to invalid LLVM IR
post export.
Commit: 7e54ae24d84bce4452ac4a28acb6568db52980fb
https://github.com/llvm/llvm-project/commit/7e54ae24d84bce4452ac4a28acb6568db52980fb
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[mlir][llvm] Do not inline variadic functions (#77241)
This revision updates the llvm dialect inliner to explicitly disallow
the inlining of variadic functions. Already previously the inlining
failed if the number of function arguments did not match the number of
call arguments. After the change, inlining checks the function is not
variadic and it does not contain a va_start intrinsic.
Commit: c15e5836d49763e43736d13eb4b873e01dcc9ef0
https://github.com/llvm/llvm-project/commit/c15e5836d49763e43736d13eb4b873e01dcc9ef0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/test/AST/Interp/arrays.cpp
Log Message:
-----------
[clang][Interp] Fix nullptr array dereferencing (#75798)
The attached test case would cause an assertion failure in Pointer.h
when operating on a null pointer.
Commit: 6343b4e48205fe5772f707b9023e8a57c95154a9
https://github.com/llvm/llvm-project/commit/6343b4e48205fe5772f707b9023e8a57c95154a9
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
Log Message:
-----------
[mlir] Apply ClangTidy performance finding
- Use '\n' instead of std::endl;
https://clang.llvm.org/extra/clang-tidy/checks/performance/avoid-endl.html
Commit: ca20c99bb185838e5f275cf27fdcaccb17d7978d
https://github.com/llvm/llvm-project/commit/ca20c99bb185838e5f275cf27fdcaccb17d7978d
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
Log Message:
-----------
[GlobalISel][IRTranslator] Port switch binary tree search optimization. (#77279)
This re-uses some code extracted earlier from SelectionDAG into
SwitchLoweringUtils
Much of the code is a straight port from SDAG's splitWorkItem(), with
minor changes needed for GISel.
Commit: 2642240de9b9004a431f4e601c055c8c135c9d39
https://github.com/llvm/llvm-project/commit/2642240de9b9004a431f4e601c055c8c135c9d39
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
Log Message:
-----------
[mlir] Add explicit call to flush
ClangTidy performance suggested to use '\n' instead of std::endl, but it
seems the flushing behavior was intended here (tests started failing).
Commit: 3574b61013b341c96d5c9b7d2ca5480a398586b3
https://github.com/llvm/llvm-project/commit/3574b61013b341c96d5c9b7d2ca5480a398586b3
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Analysis/VFABIDemangling.cpp
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
Log Message:
-----------
[VFABI] Reject demangled variants with unexpected number of params. (#76855)
When demangling a vector variant we are not checking that the number of
parameters is the same as that of the scalar function. This check is
hoisted out of getScalableECFromSignature() making the equvalent check
in the unittests obsolete.
Commit: 1c674666fa3bc0cf6d62d920bdddc846b8105d12
https://github.com/llvm/llvm-project/commit/1c674666fa3bc0cf6d62d920bdddc846b8105d12
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86_64.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86_64.ll
M llvm/test/CodeGen/X86/invpcid-intrinsic.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86_64.ll
M llvm/test/CodeGen/X86/sha.ll
M llvm/test/CodeGen/X86/x64-cet-intrinsics.ll
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86] Support EVEX compression for EGPR (#77202)
Compress promoted instruction (EVEX) to pre-promotion instruction
(legacy/VEX) when R16-R31 is not used.
Alternative of #77065
Commit: 68a1583a8900fe13e33fe9ff6005f7a3e5b82c53
https://github.com/llvm/llvm-project/commit/68a1583a8900fe13e33fe9ff6005f7a3e5b82c53
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
Log Message:
-----------
[TLI] replace-with-veclib works with FRem Instruction. (#76166)
Updated SLEEF and ArmPL tests with Fixed-Width and Scalable cases for
frem. Those are mapped to fmod/fmodf.
Commit: acbb491ab23fd04e201b58195f78e04c5a647d47
https://github.com/llvm/llvm-project/commit/acbb491ab23fd04e201b58195f78e04c5a647d47
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libcxx/cmake/caches/Armv7M-picolibc.cmake
M libcxx/utils/qemu_baremetal.py
Log Message:
-----------
[libcxx] Require qemu-system-arm for armv7m builder (#77067)
And add a check in the python script that the binary given to `--qemu`
actually exists. Otherwise you get a generic Python error:
```
# .---command stderr------------
# | Traceback (most recent call last):
# | File "/home/david.spickett/modules-llvm-project/libcxx/utils/qemu_baremetal.py", line 70, in <module>
# | exit(main())
# | File "/home/david.spickett/modules-llvm-project/libcxx/utils/qemu_baremetal.py", line 66, in main
# | os.execvp(qemu_commandline[0], qemu_commandline)
# | File "/usr/lib/python3.8/os.py", line 568, in execvp
# | _execvpe(file, args)
# | File "/usr/lib/python3.8/os.py", line 610, in _execvpe
# | raise last_exc
# | File "/usr/lib/python3.8/os.py", line 601, in _execvpe
# | exec_func(fullname, *argrest)
# | FileNotFoundError: [Errno 2] No such file or directory
# `-----------------------------
# error: command failed with exit status: 1
```
When it tries to run the entire command later.
For the builder, it's only ever going to use qemu-system-arm so error at
config time if it's not there.
Commit: ed1632b72ec029256f3af60822dad54970a79577
https://github.com/llvm/llvm-project/commit/ed1632b72ec029256f3af60822dad54970a79577
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-signed.ll
Log Message:
-----------
[ConstraintElim] Support signed induction variables (#77103)
When adding information for induction variables, add both unsigned and
signed constraints, with corresponding signed and unsigned
preconditions.
I believe the logic here is equally valid for signed/unsigned, we just
need to add preconditions of the same type.
Commit: 2c213c45046b78eac48809b013e7a80099607ebb
https://github.com/llvm/llvm-project/commit/2c213c45046b78eac48809b013e7a80099607ebb
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-rvv-vector-bits.c
Log Message:
-----------
[Clang] Fix reference to sve in rvv driver test comment. NFC
Commit: d02c7931d1be794a230943e300fec4172032e6a8
https://github.com/llvm/llvm-project/commit/d02c7931d1be794a230943e300fec4172032e6a8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Analysis/MemorySSAUpdater.cpp
A llvm/test/Transforms/SimpleLoopUnswitch/memssa-readnone-access.ll
Log Message:
-----------
[MSSA] Don't require clone creation to succeed (#76819)
Sometimes, we create a MemoryAccess for an instruction, which is later
simplified (e.g. via devirtualization) such that the new instruction has
no memory effects anymore.
If we later clone the instruction (e.g. during unswitching), then MSSA
will not create a MemoryAccess for the new instruction, triggering an
assert.
Disable the assertion (by passing CreationMustSucceed=false) and adjust
getDefiningAccessForClone() to work correctly in that case.
This PR implements the alternative suggestion by alinas from
https://github.com/llvm/llvm-project/pull/76142.
Commit: 442f67c8702a792a135d61765909b732827d6bf2
https://github.com/llvm/llvm-project/commit/442f67c8702a792a135d61765909b732827d6bf2
Author: Lu Haocong <haoconglu at qq.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
A clang/test/Sema/attr-format-Float16.c
M clang/test/Sema/attr-format.c
A clang/test/SemaCXX/attr-format-Float16.cpp
M clang/test/SemaCXX/attr-format.cpp
M clang/test/SemaCXX/format-strings-scanf.cpp
Log Message:
-----------
[Sema][test] Split format attribute test cases for _Float16
Fixes https://github.com/llvm/llvm-project/pull/74439#issuecomment-1880528376
Commit: 0ba868db709d2822b00f4ee9552d7fe41e5f2722
https://github.com/llvm/llvm-project/commit/0ba868db709d2822b00f4ee9552d7fe41e5f2722
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
Log Message:
-----------
[MLIR][Bufferizer][NFC] Simplify some codes. (#77254)
NFC. clean up.
Commit: 27f547968cce89d4706ae2b27a0c15254d1670ee
https://github.com/llvm/llvm-project/commit/27f547968cce89d4706ae2b27a0c15254d1670ee
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Break after string literals with trailing line breaks (#76795)
This restores a subset of functionality that was forego in
d68826dfbd987377ef6771d40c1d984f09ee3b9e.
Streaming multiple string literals is rare enough in practice, hence
that change makes sense in general. But it seems people were
incidentally relying on this for having line breaks after string
literals that ended with `\n`.
This patch tries to restore that behavior to prevent regressions in the
upcoming LLVM release, until we can implement some configuration based
approach as proposed in https://github.com/llvm/llvm-project/pull/69859.
Commit: a831a21e4d8d41b044edaf61a90debb2ad756bda
https://github.com/llvm/llvm-project/commit/a831a21e4d8d41b044edaf61a90debb2ad756bda
Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
M lld/test/ELF/aarch64-memtag-android-abi.s
Log Message:
-----------
[lld] [MTE] Allow android note for static executables. (#77078)
Florian pointed out that we're accidentally eliding the Android note for
static executables, as it's guarded behind the "can have memtag globals"
conditional. Of course, memtag globals are unsupported for static
executables, but we should still allow static binaries to produce the
Android note (as that's the only way they get MTE).
Commit: a9ffc92fc4428723e85485102dfe10fbea966e64
https://github.com/llvm/llvm-project/commit/a9ffc92fc4428723e85485102dfe10fbea966e64
Author: Nathan Gauër <brioche at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
Log Message:
-----------
[SPIR-V] Add pre-headers to loops. (#75844)
This is the first of the 7 steps outlined in #75801. This PR explicitely
calls the SimplifyLoops pass. Directly following this pass should follow
the 6 others required to structurize the IR.
Running this pass could generate empty basic-blocks, which are implicit
fallthrough to the successor BB.
There was a specific condition in the SPIR-V ISel which handled implicit
fallthrough, but it couldn't work on empty basic-blocks. This commits
removes the old logic, and adds this new logic, which checks all
basic-blocks for implicit fallthroughs, including empty ones.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 10b5b5d6e2df25dab86fe89a78c5df6f507f6e50
https://github.com/llvm/llvm-project/commit/10b5b5d6e2df25dab86fe89a78c5df6f507f6e50
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang] Fix a crash when referencing the result if the overload fails (#77288)
after 20a05677f9394d4bc9467fe7bc93a4ebd3aeda61
If the overload fails, the `Best` might point to the `end()`,
referencing it leads to asan crashes.
Commit: e35c912039a644a2cc44cf88f451f7a2cdc455d9
https://github.com/llvm/llvm-project/commit/e35c912039a644a2cc44cf88f451f7a2cdc455d9
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV][NFC] Fix gcc -Wparentheses warning in RISCVISelDAGToDAG.cpp
warning:
RISCVISelDAGToDAG.cpp:767: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
767 | AM == ISD::POST_INC && "Unexpected addressing mode");
Commit: c8c525678e6dab2796c1996e0cdea31d4a865a9d
https://github.com/llvm/llvm-project/commit/c8c525678e6dab2796c1996e0cdea31d4a865a9d
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
Log Message:
-----------
[Flang] Remove unused triple variable. NFC (#77275)
I'm not sure why we don't get an unused variable warning, but triple
doesn't
seem to be used after 898db1136e679.
Commit: fb72a445c1abb21034dc4a63b8489f39150a5566
https://github.com/llvm/llvm-project/commit/fb72a445c1abb21034dc4a63b8489f39150a5566
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86] Emit NDD2NonNDD entris in the EVEX comprerssion table, NFCI
This patch is a straightfoward change based on the design in #77202.
It does not have any effect since we haven't supported compressing ND
to non-ND in X86CompressEVEX.cpp.
Commit: 4fdd24b8d355e49d657c7c8a380b6f9b1b47ce1e
https://github.com/llvm/llvm-project/commit/4fdd24b8d355e49d657c7c8a380b6f9b1b47ce1e
Author: OCHyams <orlando.hyams at sony.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
Log Message:
-----------
[RemoveDIs][NFC] Update SelectionDAG test to check RemoveDIs mode too
In line with other RemoveDIs test updates. This test fails without #76941.
Commit: bdbaf6e61b63e24b94c85d7f71c11c212cd4cc9b
https://github.com/llvm/llvm-project/commit/bdbaf6e61b63e24b94c85d7f71c11c212cd4cc9b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
AMDGPU: Make v8bf16/v16bf16 legal types (#76678)
Depends #76217
Commit: 67782d2de5ea9c8653b8f0110237a3c355291c0e
https://github.com/llvm/llvm-project/commit/67782d2de5ea9c8653b8f0110237a3c355291c0e
Author: SiHuaN <liyongtai at iscas.ac.cn>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/unittests/Runtime/ExternalIOTest.cpp
Log Message:
-----------
[flang] Remove duplicate tests. (#77059)
Commit: d218092543b3f9ba2204d7c8fe5ac70befa3d772
https://github.com/llvm/llvm-project/commit/d218092543b3f9ba2204d7c8fe5ac70befa3d772
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/test/Transforms/SCCP/switch.ll
Log Message:
-----------
[SCCP] Check whether the default case is reachable (#76295)
This patch eliminates unreachable default cases using range information.
Fixes #76085.
Commit: 8b49ed8ba1ba5ecd35bd1efa4be5a0f56b0135b8
https://github.com/llvm/llvm-project/commit/8b49ed8ba1ba5ecd35bd1efa4be5a0f56b0135b8
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
Log Message:
-----------
[lldb][test] Skip DWARF inline source file test on Windows
This was added by 917b404e2ccdcc31d2d64971ad094b80967a240b
and fails for unknown reasons.
Commit: ba4cf31facdaf9bb9943c057d325ff0968331e9a
https://github.com/llvm/llvm-project/commit/ba4cf31facdaf9bb9943c057d325ff0968331e9a
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/test/API/commands/expression/nested/TestNestedExpressions.py
Log Message:
-----------
[lldb][test] Skip part of nested expressions test on Windows
This was added by e42edb5547618c172abe25914000bb61f5278c4c and
has been failing: https://lab.llvm.org/buildbot/#/builders/219/builds/8012
Commit: eb523a4d272e81c8f7bf48da3923ed502f41c187
https://github.com/llvm/llvm-project/commit/eb523a4d272e81c8f7bf48da3923ed502f41c187
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vec_extract-avx.ll
M llvm/test/CodeGen/X86/vec_extract-mmx.ll
M llvm/test/CodeGen/X86/vec_extract-sse4.ll
M llvm/test/CodeGen/X86/vec_extract.ll
Log Message:
-----------
[X86] vec_extract - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: e3f8e44b00ecb95818bc68c693b6637460112b2a
https://github.com/llvm/llvm-project/commit/e3f8e44b00ecb95818bc68c693b6637460112b2a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-tzcnt-256.ll
Log Message:
-----------
[X86] vector-lzcnt-256.ll / vector-tzcnt-256.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: f1e3a8f1eb7877b07d386af1a02cd7578a76c7d1
https://github.com/llvm/llvm-project/commit/f1e3a8f1eb7877b07d386af1a02cd7578a76c7d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx2-gather.ll
Log Message:
-----------
[X86] avx2-gather.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 0e4a38018a7228d93d72a31d9fae6855f866dded
https://github.com/llvm/llvm-project/commit/0e4a38018a7228d93d72a31d9fae6855f866dded
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx2-nontemporal.ll
Log Message:
-----------
[X86] avx2-nontemporal.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 2edce427a8b17d1d2192c1ee4a2227b6eb2971a0
https://github.com/llvm/llvm-project/commit/2edce427a8b17d1d2192c1ee4a2227b6eb2971a0
Author: Xing Xue <57193974+xingxue-ibm at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_config.h.cmake
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_wrapper_getpid.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[openmp][AIX]Initial changes for porting to AIX (#76841)
This PR contains initial changes for building and testing libomp on AIX.
More changes will follow.
- `KMP_OS_AIX` is defined for the AIX platform
- `KMP_ARCH_PPC` is defined for 32-bit PPC
- `KMP_ARCH_PPC_XCOFF` and `KMP_ARCH_PPC64_XCOFF` are for 32- and 64-bit
XCOFF object formats respectively
- Assembly file `z_AIX_asm.S` is used for AIX specific assembly code and
will be added in a separate PR
- The target library is disabled because AIX does not have the device
support
- OMPT is temporarily disabled
Commit: 763109e346b90193027b24743e266495d992b1c6
https://github.com/llvm/llvm-project/commit/763109e346b90193027b24743e266495d992b1c6
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][gpu] Use `known_block_size` to set `maxntid` for NVVM target (#77301)
Setting thread block size with `maxntid` on the kernel has great
performance benefits. In this way, downstream PTX compiler can do better
register allocation.
MLIR's `gpu.launch` and `gpu.launch_func` already has an attribute
(`known_block_size`) that keeps the thread block size when it is known.
This PR simply uses this attribute to set `maxntid`.
Commit: 4a456489e051ff037655597a0b54654aa1f5a2a5
https://github.com/llvm/llvm-project/commit/4a456489e051ff037655597a0b54654aa1f5a2a5
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
Log Message:
-----------
[Flang][OpenMP] Disable declarate target tests on Windows (#77306)
These tests seem to be failing in Windows bots.
See https://github.com/llvm/llvm-project/issues/77086
Commit: f0f16be77e1977d04535556ef69eaccd5bfef36f
https://github.com/llvm/llvm-project/commit/f0f16be77e1977d04535556ef69eaccd5bfef36f
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][Sema][NFC] Clean up BuildOverloadedCallExpr
Commit: 7ca4473dd97328ebaa95dd3411e3c817935389de
https://github.com/llvm/llvm-project/commit/7ca4473dd97328ebaa95dd3411e3c817935389de
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-global-inv-wb.mir
M llvm/test/MC/AMDGPU/gfx12_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] Add new cache flushing instructions for GFX12 (#76944)
Co-authored-by: Diana Picus <Diana-Magda.Picus at amd.com>
Commit: 2bf01d73f6ebca11f36c17a65b7a86109d44681e
https://github.com/llvm/llvm-project/commit/2bf01d73f6ebca11f36c17a65b7a86109d44681e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
A lldb/test/Shell/SymbolFile/DWARF/Inputs/dwo-static-data-member.cpp
A lldb/test/Shell/SymbolFile/DWARF/dwo-static-data-member-access.test
Log Message:
-----------
[lldb][DWARFASTParserClang] GetClangDeclForDIE: don't create VarDecl for static data members (#77155)
With DWARFv5, C++ static data members are represented as
`DW_TAG_variable`s (see `faa3a5ea9ae481da757dab1c95c589e2d5645982`).
In GetClangDeclForDIE, when trying to parse the `DW_AT_specification`
that a static data member's CU-level `DW_TAG_variable` points to, we
would try to `CreateVariableDeclaration`. Whereas previously it was a
no-op (for `DW_TAG_member`s). However, adding `VarDecls` to RecordDecls
for static data members should always be done in
`CreateStaticMemberVariable`. The test-case is an exapmle where we would
crash if we tried to create a `VarDecl` from within `GetClangDeclForDIE`
for a static data member.
This patch simply checks whether the `DW_TAG_variable` being parsed is a
static data member, and if so, trivially returns from
`GetClangDeclForDIE` (as we previously did for `DW_TAG_member`s).
Commit: b4ee7d6119f97931d9f38ac8c6bc7409eed87aab
https://github.com/llvm/llvm-project/commit/b4ee7d6119f97931d9f38ac8c6bc7409eed87aab
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[lldb][DWARFIndex][nfc] Factor out fully qualified name query (#76977)
This moves the functionally of finding a DIE based on a fully qualified
name from SymbolFileDWARF into DWARFIndex itself, so that
specializations of DWARFIndex can implement faster versions of this
query.
Commit: ade7ae4760a0b0e74cddd8f852830ca946295930
https://github.com/llvm/llvm-project/commit/ade7ae4760a0b0e74cddd8f852830ca946295930
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Add test for #77320 (NFC)
Commit: 97e3220d6312ae00bcbe08673f218bd0f705776b
https://github.com/llvm/llvm-project/commit/97e3220d6312ae00bcbe08673f218bd0f705776b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Consider bitcast as potential cross-lane operation
The bitcast might change the number of vector lanes, in which case
it will be a cross-lane operation.
Fixes https://github.com/llvm/llvm-project/issues/77320.
Commit: 16cd344380aa89a4bc47939ae65fd59fe8c77181
https://github.com/llvm/llvm-project/commit/16cd344380aa89a4bc47939ae65fd59fe8c77181
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
Log Message:
-----------
[RISCV] Fix collectNonISAExtFeature returning negative extension features (#76962)
collectNonISAExtFeature was returning any negative extension features,
e.g.
given an input of
+zifencei,+m,+a,+save-restore,-zbb,-relax,-zfa
It would return
+save-restore,-zbb,-relax,-zfa
Because negative extensions aren't emitted when calling
toFeatureVector(), and
so were considered missing. Hence why we still see "-zfa" and "-zfb" in
the tests for
the full arch string attributes, even though with a full arch string we
should be overriding the extensions.
This fixes it by using RISCVISAInfo::isSupportedExtensionFeature instead
to
check if a feature is an ISA extension.
Commit: e6b7c8c4951a470cc63a1721bc5f5ac7f3748a2f
https://github.com/llvm/llvm-project/commit/e6b7c8c4951a470cc63a1721bc5f5ac7f3748a2f
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'if' clause
The 'if' clause takes a required 'condition' expression. This patch
implements that as an expression we will later ensure is convertible to
a binary expression.
Commit: 0deb27c95722311c1ebedbbb8c8c4ac7735701fc
https://github.com/llvm/llvm-project/commit/0deb27c95722311c1ebedbbb8c8c4ac7735701fc
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap-enter.f90
M flang/test/Lower/OpenMP/declare-target-implicit-func-and-subr-cap.f90
Log Message:
-----------
Revert "[Flang][OpenMP] Disable declarate target tests on Windows" (#77324)
Reverts llvm/llvm-project#77306
These tests aren't broken on Windows, marking them XFAIL will just ~
consistently fail the build.
Commit: 036e48e2f5f890e1f9574cdb610e2336f12038a2
https://github.com/llvm/llvm-project/commit/036e48e2f5f890e1f9574cdb610e2336f12038a2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/splat-buildvector.ll
Log Message:
-----------
[SLP]Fix PR76850: do the analysis of the submask.
Need to limit the transformation of the VecMask by the corresponding part of the mask of SliceSize size to avoid compiler crash during further cost analysis.
Commit: 34dbaddc6fa1ce0892ecf3ca06866e7038b2a9b3
https://github.com/llvm/llvm-project/commit/34dbaddc6fa1ce0892ecf3ca06866e7038b2a9b3
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang][ASTImporter] Only reorder fields of RecordDecls (#77079)
Prior to `e9536698720ec524cc8b72599363622bc1a31558`
(https://reviews.llvm.org/D154764) we only re-ordered the fields of
`RecordDecl`s. The change refactored this logic to make sure
`FieldDecl`s are imported before other member decls. However, this
change also widened the types of `DeclContext`s we consider for
re-ordering from `RecordDecl` to anything that's a `DeclContext`. This
seems to have been just a drive-by cleanup.
Internally we've seen numerous crashes in LLDB where we try to perform
this re-ordering on fields of `ObjCInterfaceDecl`s.
This patch restores old behaviour where we limit the re-ordering to just
`RecordDecl`s.
rdar://119343184
rdar://119636274
rdar://119832131
Commit: 69066ab31959968ebcbca71f3872bdedef8fb8cd
https://github.com/llvm/llvm-project/commit/69066ab31959968ebcbca71f3872bdedef8fb8cd
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/over/over.load/p2-0x.cpp
Log Message:
-----------
[Clang] Fix IsOverload for function templates (#77323)
Functions which correspond but have different template parameter lists
are not redeclarations.
Fixes a regression introduced by af4751
(The patch just moves the template parameters check above if the
signature check)
Fixes #76358
Commit: bda562519b89ea3832be00d8ac75cfcdb924dce2
https://github.com/llvm/llvm-project/commit/bda562519b89ea3832be00d8ac75cfcdb924dce2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget][NFC] Fix unhandled allocator enum value
Commit: 01410103a6eb50436c39f71299773749b7de9dec
https://github.com/llvm/llvm-project/commit/01410103a6eb50436c39f71299773749b7de9dec
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
Log Message:
-----------
[libc++][doc] Marks LWG3257 as complete (#77237)
The macros were already updated
- __cpp_lib_string_view in 466df1718e41fe2fca6ce6bd98c01b18f42c05e4
- __cpp_lib_array_constexpr in 77b9abfc8e89ca627e4f9a1cc206bea131db6db1
Based on the dates of the commit and that
P0858 "Constexpr iterator requirements"
was completed in LLVM 12, set this issue as completed in the same
version.
Completes
- LWG3257 Missing feature testing macro update from P0858
Commit: 053aed2024a1014736ffe35b001710b263c7a4b5
https://github.com/llvm/llvm-project/commit/053aed2024a1014736ffe35b001710b263c7a4b5
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Check if machine loop is passed while getting loop alignment (#77283)
After d6bb96e677759375b2bea00115918b2cb6552f5b, calling
getPrefLoopAlignment without passing in a pointer to a MachineLoop
causes a segmentation fault. This conflicts with the API in
TargetLoweringBase where the default MachineLoop pointer passed is
nullptr. This patch fixes this by checking if the pointer points to
something before enabling the optional functionality.
Commit: ff47989ec238dafe4a68c6a716e8dbccc9f559f5
https://github.com/llvm/llvm-project/commit/ff47989ec238dafe4a68c6a716e8dbccc9f559f5
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extending-loads.mir
Log Message:
-----------
[AArch64][GlobalISel] Allow anyexting loads from 32b -> 64b to be legal.
We can already support selection of these through imported patterns, we were
just missing the legalizer rule to allow these to be formed.
Nano size benefit overall.
Commit: 12101ca8e322c4cbf40e44b5b1fbf7ea76aff581
https://github.com/llvm/llvm-project/commit/12101ca8e322c4cbf40e44b5b1fbf7ea76aff581
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/__support/threads/linux/CMakeLists.txt
Log Message:
-----------
[libc] set -Wno-frame-address for thread.cpp (#77140)
The aarch64 code is using __builtin_return_address with a non-zero
parameter,
which generates the following warning:
llvm-project/libc/src/__support/threads/linux/thread.cpp:171:38: error:
calling '__builtin_frame_address' with a nonzero argument is unsafe
[-Werror,-Wframe-address]
171 | return reinterpret_cast<uintptr_t>(__builtin_frame_address(1));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
Disable this diagnostic just for this file so that we can enable
-Werror.
Fixes: #77007
Commit: 0e7199cf3d08c83d18549c9cd083e9fec6e9db54
https://github.com/llvm/llvm-project/commit/0e7199cf3d08c83d18549c9cd083e9fec6e9db54
Author: arpilipe <apilipenko at azul.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/test/Other/print-at-pass-number.ll
Log Message:
-----------
Replace print-at-pass-number cl::opt with print-before-pass-number (#76211)
The existing option prints the IR after the pass, but it's not clear
from its name. In this patch I change the option to print the IR before
the pass and change the name to make the behavior clear.
Printing the IR before the pass is slightly simpler than after as I
don't need to worry about printAfterPassInvalidated case. Either before
or after the pass would be ok for the original use case this option was
introduced for.
Commit: c68a9d25e99a096f6862fc4b57dd380a21245d31
https://github.com/llvm/llvm-project/commit/c68a9d25e99a096f6862fc4b57dd380a21245d31
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[ASan][libc++] String annotations optimizations fix with lambda (#76200)
This commit addresses optimization and instrumentation challenges
encountered within comma constructors.
1) _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS does not work in comma
constructors.
2) Code inside comma constructors is not always correctly optimized.
Problematic code examples:
- `: __r_(((__str.__is_long() ? 0 : (__str.__annotate_delete(), 0)),
std::move(__str.__r_))) {`
- `: __r_(__r_([&](){ if(!__s.__is_long()) __s.__annotate_delete();
return std::move(__s.__r_);}())) {`
However, lambda with argument seems to be correctly optimized. The patch employs this.
Use of lambda based on an idea from @ldionne.
Commit: c52b467875e26d5d3554514489d965eda3ab0cd2
https://github.com/llvm/llvm-project/commit/c52b467875e26d5d3554514489d965eda3ab0cd2
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/docs/dev/code_style.rst
Log Message:
-----------
Reapply "[libc] build with -Werror (#73966)" (#74506)
This reverts commit 6886a52d6dbefff77f33de12ff85d654e2557f81.
Most of the errors observed in postsubmit have been addressed. We can
fix-forward the remaining ones.
Link: https://lab.llvm.org/buildbot/#/changes/117129
Commit: f3f66773117259185b76574de9385e25e3902658
https://github.com/llvm/llvm-project/commit/f3f66773117259185b76574de9385e25e3902658
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/combine-bextr.ll
Log Message:
-----------
[X86] combine-bextr.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Add nounwind to remove cfi noise as well.
Commit: 61dcfaa745e22b0e5330fc82ee4b7de4b6c99ab7
https://github.com/llvm/llvm-project/commit/61dcfaa745e22b0e5330fc82ee4b7de4b6c99ab7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/i64-mem-copy.ll
Log Message:
-----------
[X86] i64-mem-copy.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Add nounwind to remove cfi noise as well.
Commit: 8bd16789ff0af00270936c4536dd18b48e4d3897
https://github.com/llvm/llvm-project/commit/8bd16789ff0af00270936c4536dd18b48e4d3897
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/lea-2.ll
Log Message:
-----------
[X86] lea-2.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only (although in this case the gnux32 tests share the X64 checks)
Commit: 635f6d384596950e73b2485842c587a2954c655f
https://github.com/llvm/llvm-project/commit/635f6d384596950e73b2485842c587a2954c655f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/inline-sse.ll
Log Message:
-----------
[X86] inline-sse.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Commit: 9632f987161b4efeb8c087f19a3eb4f7c69cc920
https://github.com/llvm/llvm-project/commit/9632f987161b4efeb8c087f19a3eb4f7c69cc920
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/legalize-shl-vec.ll
Log Message:
-----------
[X86] legalize-shl-vec.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Add nounwind to remove cfi noise as well.
Commit: fbfc9cb7ea756ea645cc55eea478b819573fc7a5
https://github.com/llvm/llvm-project/commit/fbfc9cb7ea756ea645cc55eea478b819573fc7a5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-mmx.ll
Log Message:
-----------
[X86] vector-shuffle-mmx.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Add nounwind to remove cfi noise as well.
Commit: 52ebf61bac9d17a960908fe0c5e75dea76de165a
https://github.com/llvm/llvm-project/commit/52ebf61bac9d17a960908fe0c5e75dea76de165a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/ftrunc.ll
Log Message:
-----------
[X86] ftrunc.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
Add common AVX check prefix for 32/64 bit test coverage
Commit: a14650572c2752c0e08a66ce94c43578abf378f8
https://github.com/llvm/llvm-project/commit/a14650572c2752c0e08a66ce94c43578abf378f8
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[Sema] Clean up -Wc++11-narrowing-const-reference code after #76094. NFC (#77278)
Commit: 61968286f9a39815040b0d94299c3732834661bf
https://github.com/llvm/llvm-project/commit/61968286f9a39815040b0d94299c3732834661bf
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M polly/lib/Transform/ScheduleOptimizer.cpp
A polly/test/ScheduleOptimizer/schedule_computeout.ll
Log Message:
-----------
[polly][ScheduleOptimizer] Reland Fix long compile time(hang) reported in polly (#77280)
There is no upper cap set on current Schedule Optimizer to compute
schedule. In some cases a very long compile time taken to compute the
schedule resulting in hang kind of behavior. This patch introduces a
flag 'polly-schedule-computeout' to pass the capwhich is initialized to
300000. This patch handles the compute out cases by bailing out and
exiting gracefully.
Fixed the test that failed in previous commit.
Fixes #69090
Commit: de15c5501903a5a52dcae976e40b8b1f6a838911
https://github.com/llvm/llvm-project/commit/de15c5501903a5a52dcae976e40b8b1f6a838911
Author: Craig Hesling <craig at hesling.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M .github/workflows/llvm-project-tests.yml
Log Message:
-----------
Revert "[GitHub] Fix slow sccache install on macOS by upgrading macOS version (#77165)" (#77270)
This reverts commit 602c8fa2d8da6562e4f36df3bd63c26a4c7461e7, due to an
sccache issue seen on larger builds using macOS-12 runners.
The issue is documented in in the following issue:
https://github.com/hendrikmuhs/ccache-action/issues/174
The original PR is the following:
https://github.com/llvm/llvm-project/pull/77165
Commit: 5351ded68d579921a61b26a34e36046c22f668bd
https://github.com/llvm/llvm-project/commit/5351ded68d579921a61b26a34e36046c22f668bd
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libcxx/include/sstream
Log Message:
-----------
[libc++] Remove usage of internal string function in sstream (#75858)
This function replaces a call to `__move_assign` (internal function)
with two calls to public member functions (`resize` and `erase`). The
order of calls is chosen for the best performance.
This change is required to [turn on ASan string annotations for short
strings](https://github.com/llvm/llvm-project/pull/75882) (Short String
Optimization - SSO).
The `std::basic_string` class's `void __move_assign(basic_string&&
__str, size_type __pos, size_type __len)` function operates on
uninitialized strings, where it is reasonable to assume that the memory
is not poisoned. However, in `sstream` this function is applied to
existing strings that already have poisoned memory.
String ASan annotations turned on here:
https://github.com/llvm/llvm-project/pull/72677
Commit: d460c1de3b989cea919b9d60c21644f28f987950
https://github.com/llvm/llvm-project/commit/d460c1de3b989cea919b9d60c21644f28f987950
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/SystemZ/vec-perm-14.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/vec_setcc.ll
Log Message:
-----------
[DAG] SimplifyDemandedBits - don't fold sext(x) -> aext(x) if we lose an 0/-1 allsignbits mask (#77296)
For targets that use 0/-1 boolean results, we want to keep this pattern through extensions/truncations as much as possible - so avoid simplifying to any_extend even if we don't demand the upper bits.
Noticed in triage for https://reviews.llvm.org/D152928
Commit: 4c66180e46eaed0cd6aa37102a1e3b37cc9d85fa
https://github.com/llvm/llvm-project/commit/4c66180e46eaed0cd6aa37102a1e3b37cc9d85fa
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV] Use COPY to create artificial 64-bit uses in RISCVOptWInstrs's tests
In reflection of 4dd5d967975fa8d52b8c60596d892d9dd5615809, we can now
use COPY to physical registers to create artificial 64-bit uses to
prevent RISCVOptWInstrs from optimizing away sext in absent of the
IsSignExtendingOpW flag.
NFCI.
Commit: c1023c585de2629911a529cdf32490b99df83345
https://github.com/llvm/llvm-project/commit/c1023c585de2629911a529cdf32490b99df83345
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
Log Message:
-----------
[libc] fix -Wmissing-braces (#77345)
Fixes the following errors observed on the aarch64 fullbuild:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/__support/HashTable/generic/bitmask_impl.inc:116:13:
error: suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
return {static_cast<bitmask_t>(mask_available().word ^
repeat_byte(0x80))};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ }
In file included from
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/search/hdestroy.cpp:10:
/home/libc-buildbot/libc-aarch64-ubuntu/libc-aarch64-ubuntu-fullbuild-dbg/llvm-project/libc/src/__support/HashTable/table.h:336:41:
error: suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
iterator end() const { return {0, 0, {0}, *this}; }
^
{}
Link:
https://lab.llvm.org/buildbot/#/builders/223/builds/33868/steps/6/logs/stdio
Link: https://github.com/llvm/llvm-project/pull/74506
Commit: eb42868f25665ba6301a94a30e9df33e0d6ae61f
https://github.com/llvm/llvm-project/commit/eb42868f25665ba6301a94a30e9df33e0d6ae61f
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[MLIR] Handle materializeConstant failure in GreedyPatternRewriteDriver (#77258)
Make GreedyPatternRewriteDriver handle failures of `materializeConstant`
gracefully. Previously it was not checking whether the returned op was
null and crashing. This PR handles it similarly to how OperationFolder
does it.
Commit: 07d6fbf8d80083470b4371f2ddabd656a9c317e6
https://github.com/llvm/llvm-project/commit/07d6fbf8d80083470b4371f2ddabd656a9c317e6
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
Log Message:
-----------
[lldb][NFCI] Remove BreakpointIDList::InsertStringArray (#77161)
This abstraction is leaky and BreakpointIDList does not need to know
about CommandReturnObject.
Additionally, setting the CommandReturnObject inout param to a success
state does very little. The function returns immediately if the input
ArrayRef is empty, and reading
CommandObjectMultiwordBreakpoint::VerifyIDs more closely, the input is
always empty if the previous call to
BreakpointIDList::FindAndReplaceIDRanges failed. If the call was
successful, then the CommandReturnObject is already in a success state.
I have opted to remove the function altogether and inline the
functionality where it was used.
Commit: 5cbf74b012c10e9cc841a27cd5d7335e556f47dd
https://github.com/llvm/llvm-project/commit/5cbf74b012c10e9cc841a27cd5d7335e556f47dd
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
Log Message:
-----------
[lldb][NFCI] Change return type of BreakpointIDList::GetBreakpointIDAtIndex (#77166)
There are 2 motivations here:
1.) There is no need to hand out constant references to BreakpointIDs,
they are only 8 bytes big. In addition, every use of this method already
makes a copy anyway.
2.) Each BreakpointIDList held onto an invalid BreakpointID specifically
to
prevent lifetime issues. Returning a value means you can return an
invalid BreakpointID instead of needing to allocate storage for an
invalid BreakpointID.
Commit: 478ec63312582c24c8d6ecab280da2380137c0b7
https://github.com/llvm/llvm-project/commit/478ec63312582c24c8d6ecab280da2380137c0b7
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
Log Message:
-----------
[RISCV] Mark VFIRST and VCPOP as SignExtendingOpW (#77022)
Since their values are small enough ([-1, 65535] & [0, 65535],
respectively) to fit into signed 32 bits, any sext (or downcasting +
sext) will be redundnat. Hence marking them as SignExtendingOpW.
Commit: f4bc70e886f2eb1b646d84871b93897db749c826
https://github.com/llvm/llvm-project/commit/f4bc70e886f2eb1b646d84871b93897db749c826
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Lex/ModuleMap.cpp
R clang/test/Modules/Inputs/AutolinkTBD.framework/AutolinkTBD.tbd
R clang/test/Modules/Inputs/AutolinkTBD.framework/Headers/AutolinkTBD.h
R clang/test/Modules/autolinkTBD.m
A clang/test/Modules/autolink_private_module.m
Log Message:
-----------
[clang][modules] Remove `_Private` suffix from framework auto-link hints. (#77120)
- [clang][modules] Remove no longer needed autolink test for TBD files.
- [clang][modules] Remove `_Private` suffix from framework auto-link
hints.
Commit: 23e03a85dc665c784c8b77d429f0f0e2e6d0c2fe
https://github.com/llvm/llvm-project/commit/23e03a85dc665c784c8b77d429f0f0e2e6d0c2fe
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M bolt/test/RISCV/relax.s
Log Message:
-----------
[BOLT] Update test case after #77253
PR #77253 removed the '@plt' suffix from callee symbols. Update
RISCV/relax.s accordingly.
Commit: daa4728deed3d222ff163cfb963321938549ddf1
https://github.com/llvm/llvm-project/commit/daa4728deed3d222ff163cfb963321938549ddf1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mul.mir
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
Log Message:
-----------
[AMDGPU] Add CodeGen support for GFX12 s_mul_u64 (#75825)
Commit: e7655ad605d77e206ec94b2cef59c41a508edba7
https://github.com/llvm/llvm-project/commit/e7655ad605d77e206ec94b2cef59c41a508edba7
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Remove unnecessary CMake definition of endiannness (#77205)
Summary:
This is needed for some definition in `hsa.h` that requires this to be
set for some architectures when it fails at autodetection. We only
really build `libomptarget` with `gcc` and `clang` which already provide
their own way of detecting this. Remove the unnecessary define and move
it into the source.
Commit: 7173ae99c0e1b13536a8492335c595f8aaee4267
https://github.com/llvm/llvm-project/commit/7173ae99c0e1b13536a8492335c595f8aaee4267
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
Log Message:
-----------
[llvm-exegesis] Align loop MBB in loop repetitor (#77264)
This patch sets the alignment of the loob MBB in the loop repetitor to
16 to avoid instruction fetch/predecoding bottlenecks that can come up
with unaligned code. The value of 16 was chosen based on numbers for
recent Intel microarchitectures and reccomendations from Agner Fog.
Fixes #77259.
Commit: eea627e3e3c423149cd2cd46cb6309b8d303e8bd
https://github.com/llvm/llvm-project/commit/eea627e3e3c423149cd2cd46cb6309b8d303e8bd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
Log Message:
-----------
[NFC][msan] Switch allocator interface to use BufferedStackTrace (#77363)
We will need it to unwind for fatal errors.
Commit: e72c71671e044aa30ca35bed9e20da771ae216b5
https://github.com/llvm/llvm-project/commit/e72c71671e044aa30ca35bed9e20da771ae216b5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[AccelTable][nfc] Add helper function to cast AccelTableData (#77100)
Specializations of AccelTableBase are always interested in accessing the
derived versions of their data classes (e.g. DWARF5AccelTableData). They
do so by sprinkling `static_casts` all over the code.
This commit adds a helper function to simplify this process, reducinng
the number of casts that have to be made in the middle of code, making
it easier to read.
Commit: 87f67c2599410786ea3600d388fd1d2df13e60af
https://github.com/llvm/llvm-project/commit/87f67c2599410786ea3600d388fd1d2df13e60af
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'self' clause parsing
The 'self' clause takes an optional 'condition' expression, same as the
non-optional expression taken by the 'if' clause. This patch extracts
the 'condition' expression to a separate function, and implements the
'optional parens' infrastructure for clauses, then implements 'self'
parsing.
Commit: 22a73e7c4616e0405db85598c049a7ca70cca7cc
https://github.com/llvm/llvm-project/commit/22a73e7c4616e0405db85598c049a7ca70cca7cc
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/libomptarget/include/Shared/PluginAPI.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/Shared/Requirements.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
A openmp/libomptarget/test/mapping/auto_zero_copy.cpp
Log Message:
-----------
[OpenMP][libomptarget] Enable automatic unified shared memory executi… (#75999)
…on (zero-copy) on MI300A.
This patch enables applications that did not request OpenMP
unified_shared_memory to run with the same zero-copy behavior, where
mapped memory does not result in extra memory allocations and memory
copies, but CPU-allocated memory is accessed from the device. The name
for this behavior is "automatic zero-copy" and it relies on detecting:
that the runtime is running on a MI300A, that the user did not select
unified_shared_memory in their program, and that XNACK (unified memory
support) is enabled in the current GPU configuration. If all these
conditions are met, then automatic zero-copy is triggered.
This patch is still missing support for global variables, which will be
provided in a subsequent patch.
Co-authored-by: Thorsten Blass <thorsten.blass at amd.com>
Commit: 6684a09ca84b44f320052a77cb01cb4216e6511b
https://github.com/llvm/llvm-project/commit/6684a09ca84b44f320052a77cb01cb4216e6511b
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtbegin.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtend.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crti.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtn.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtbegin.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtend.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crti.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtn.o
A clang/test/Driver/gcc-triple.cpp
Log Message:
-----------
[Driver] Add the --gcc-triple option (#73214)
When --gcc-triple is used, the driver will search for the 'best' gcc
installation that has the given triple. This is useful for distributions
that want clang to use a specific gcc triple, but do not want to pin to
a specific version as would be required by using --gcc-install-dir.
Having clang linked to a specific gcc version can cause clang to stop
working when the version of gcc installed on the system gets updated.
Commit: ce4144406c94c3b9cf44bcf2997bae80debc6681
https://github.com/llvm/llvm-project/commit/ce4144406c94c3b9cf44bcf2997bae80debc6681
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/libomptarget/include/Shared/PluginAPI.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/Shared/Requirements.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
R openmp/libomptarget/test/mapping/auto_zero_copy.cpp
Log Message:
-----------
Revert "[OpenMP][libomptarget] Enable automatic unified shared memory executi…" (#77371)
Reverts llvm/llvm-project#75999
lit test is failing.
Commit: ce1305a3cea42dad8dd6ee5606dd4259e8632953
https://github.com/llvm/llvm-project/commit/ce1305a3cea42dad8dd6ee5606dd4259e8632953
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/include/llvm-libc-types/off_t.h
Log Message:
-----------
[libc] make off_t 32b for 32b arm (#77350)
Fixes the following diagnostic:
llvm-project/libc/src/sys/mman/linux/mmap.cpp:44:59: error: implicit
conversion loses integer precision: 'off_t' (aka 'long long') to 'long'
[-Werror,-Wshorten-64-to-32]
size, prot, flags, fd, offset);
^~~~~~
It looks like off_t is a curious types on different platforms. FWICT,
it's 32b
on arm (at least for arm-linux-gnueabi) but 64b elsewhere (including 32b
riscv32-linux-gnu).
Commit: 4435ced94998c00a6589c3500822015b6341c9e3
https://github.com/llvm/llvm-project/commit/4435ced94998c00a6589c3500822015b6341c9e3
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
Log Message:
-----------
[mlir][TilingInterface] Allow controlling what fusion is done within tile and fuse (#76871)
Currently the `tileConsumerAndFuseProducerGreedilyUsingSCFFor` method
greedily fuses through all slices that are generated during the tile and
fuse flow. That is not the normal use case. Ideally the caller would
like to control which slices get fused and which dont. This patch
introduces a new field to the `SCFTileAndFuseOptions` to specify this
control.
The contol function also allows the caller to specify if the replacement
for the fused producer needs to be yielded from within the tiled
computation. This allows replacing the fused producers in case they have
other uses. Without this the original producers still survive negating
the utility of the fusion.
The change here also means that the name of the function
`tileConsumerAndFuseProducerGreedily...` can be updated. Defering that
to a later stage to reduce the churn of API changes.
Commit: 7ab64b3266c580f946b3b65992030c3f68cbe392
https://github.com/llvm/llvm-project/commit/7ab64b3266c580f946b3b65992030c3f68cbe392
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Remove tab character from RISCVRegisterInfo.td. NFC
Commit: 09e32ab75076a1f2270d37343922c86c12bdd047
https://github.com/llvm/llvm-project/commit/09e32ab75076a1f2270d37343922c86c12bdd047
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/include/lldb/API/SBBreakpoint.h
Log Message:
-----------
[lldb] Deprecate SBBreakpoint::AddName in favor of AddNameWithErrorHandling (#71228)
AddName gives no feedback other than if it succeeded whereas
AddNameWithErrorHandling gives you back an SBError object. I would like
to mark AddName as deprecated and direct folks to use
AddNameWithErorrHandling instead.
---------
Co-authored-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 16b8a0dc6885dea0882887a6e642a504fd1e193c
https://github.com/llvm/llvm-project/commit/16b8a0dc6885dea0882887a6e642a504fd1e193c
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lldb/include/lldb/Utility/StructuredData.h
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Target/DynamicRegisterInfo.cpp
Log Message:
-----------
[lldb] Change interface of StructuredData::Array::GetItemAtIndexAsInteger (#71993)
This is a follow-up to (#71613) and (#71961).
Commit: f700d748f0447b6a761eb9d42575b28e0af98708
https://github.com/llvm/llvm-project/commit/f700d748f0447b6a761eb9d42575b28e0af98708
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
Log Message:
-----------
[libc] fix more -Wmissing-brace (#77382)
Similar to #77345, the buildbots are observing similar warnings for the
sse2
implementation.
llvm-project/libc/src/__support/HashTable/sse2/bitmask_impl.inc:36:13:
error: suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
return {bitmask};
^~~~~~~
{ }
llvm-project/libc/src/__support/HashTable/sse2/bitmask_impl.inc:45:13:
error: suggest braces around initialization of subobject
[-Werror,-Wmissing-braces]
return {static_cast<uint16_t>(~mask_available().word)};
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{ }
Link:
https://lab.llvm.org/buildbot/#/builders/163/builds/49350/steps/8/logs/stdio
Link: https://github.com/llvm/llvm-project/pull/74506
Commit: f84bfa2f92d2aa3329bc06902a12c0f4c54d7297
https://github.com/llvm/llvm-project/commit/f84bfa2f92d2aa3329bc06902a12c0f4c54d7297
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lld/MinGW/Options.td
Log Message:
-----------
[LLD] [MinGW] Sync --thinlto-cache-dir option details with ELF (#77010)
Disallow using the form with a separate argument,
"--thinlto-cache-dir dir", allow only the one with equals,
"--thintlo-cache-dir=dir". This is the only form that actually was
tested when this was added in
f794808bb9ec06966a67fe33d41a13b9601768f8, and matches the ELF side,
where only the form with an equals is supported (and this was also the
case at the time when this option was added to the MinGW linker).
Commit: b2ea9ec7fcf37ca01979c11c5b2b1cab0e1ae212
https://github.com/llvm/llvm-project/commit/b2ea9ec7fcf37ca01979c11c5b2b1cab0e1ae212
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/docs/CommandLine.rst
M llvm/lib/Support/CommandLine.cpp
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
M llvm/unittests/Support/CommandLineTest.cpp
Log Message:
-----------
[CommandLine] Do not print empty categories with '--help-hidden' (#77043)
If a category has no options associated with it, the `--help-hidden`
command still shows that category with the annotation "This option
category has no options", and this is how it was implemented from the
beginning when the categories were introduced, see commit 0537a98878. A
feature to hide unrelated options was added later, in
https://reviews.llvm.org/D7100. Now, if a tool needs to hide unrelated
options that are associated with categories, leaving some of them empty,
those categories will still be visible on the `--help-hidden` output,
even if they have no use for the tool; see the changes in
`llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test` for an example.
The patch ensures that only categories with options are shown on both
main and hidden help output.
Commit: d5f84e6121f0d0cc8984dccc1774ce9ddb7168c4
https://github.com/llvm/llvm-project/commit/d5f84e6121f0d0cc8984dccc1774ce9ddb7168c4
Author: Iain Sandoe <iain at sandoe.co.uk>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/src/private_typeinfo.h
A libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp
Log Message:
-----------
[libc++abi] Handle catch null pointer-to-object (#68076)
This addresses cases (currently failing) where we throw a null
pointer-to-object and fixes #64953.
We are trying to satisfy the following bullet from the C++ ABI 15.3:
* the handler is of type cv1 T* cv2 and E is a pointer type that can be
converted to the type of the handler by either or both of:
- a standard pointer conversion (4.10 [conv.ptr]) not involving
conversions to private or protected or ambiguous classes.
- a qualification conversion.
The existing implementation assesses the ambiguity of bases by computing
the offsets to them; ambiguous cases are then when the same base appears
at different offsets. The computation of offset includes indirecting
through the vtables to find the offsets to virtual bases.
When the thrown pointer points to a real object, this is quite efficient
since, if the base is found, and it is not ambiguous and on a public
path, the offset is needed to return the adjusted pointer (and the
indirections are not particularly expensive to compute).
However, when we throw a null pointer-to-object, this scheme is no
longer applicable (and the code currently bypasses the relevant
computations, leading to the incorrect catches reported in the issue).
-----
The solution proposed here takes a composite approach:
1. When the pointer-to-object points to a real instance (well, at least,
it is determined to be non-null), we use the existing scheme.
2. When the pointer-to-object is null:
* We note that there is no real object.
* When we are processing non-virtual bases, we continue to compute the
offsets, but for a notional dummy object based at 0. This is OK, since
we never need to access the object content for non-virtual bases.
* When we are processing a path with one or more virtual bases, we
remember a cookie corresponding to the inner-most virtual base found so
far (and set the notional offset to 0). Offsets to inner non-virtual
bases are then computed as normal.
A base is then ambiguous iff:
* There is a recorded virtual base cookie and that is different from the
current one or,
* The non-virtual base offsets differ.
When a handler for a pointer succeeds in catching a base pointer for a
thrown null pointer-to-object, we still return a nullptr (so the
adjustment to the pointer is not required and need not be computed).
Since we noted that there was no object when starting the search for
ambiguous bases, we know that we can skip the pointer adjustment.
This was originally uploaded as https://reviews.llvm.org/D158769.
Fixes #64953
Commit: 0fe86f9c518fb1296bba8d66ce495f9dfff2c435
https://github.com/llvm/llvm-project/commit/0fe86f9c518fb1296bba8d66ce495f9dfff2c435
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M openmp/libomptarget/include/DeviceImage.h
M openmp/libomptarget/include/OffloadEntry.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/src/DeviceImage.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
Log Message:
-----------
[Libomptarget] Remove extra cache for offloading entries (#77012)
Summary:
The offloading entries right now are assumed to be baked into the binary
itself, and thus always valid whenever the library is executing. This
means that we don't need to copy them to additional storage and can
instead simply pass around references to it.
This is not likely to change in the expected operation of the OpenMP
library. Additionally, the indirection for the offload entry struct is
simply two pointers, so moving it by value is trivial.
Commit: 6e90f13cc9bc9dbc5c2c248d95c6e18a5fb021b4
https://github.com/llvm/llvm-project/commit/6e90f13cc9bc9dbc5c2c248d95c6e18a5fb021b4
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/include/mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CooperativeMatrixOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
R mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-nv-coop-matrix.mlir
M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
R mlir/test/Dialect/SPIRV/IR/nv-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Target/SPIRV/matrix.mlir
R mlir/test/Target/SPIRV/nv-cooperative-matrix-ops.mlir
Log Message:
-----------
[mlir][spirv] Drop support for SPV_NV_cooperative_matrix (#76782)
This extension has been superseded by SPV_KHR_cooperative_matrix which
is supported across major vendors GPU like Nvidia, AMD, and Intel.
Given that the KHR version has been supported for nearly half a year,
drop the NV-specific extension to reduce the maintenance burden and code
duplication.
Commit: 6eab9dd7f01e6cad9f1a93bd52e4c6e7b4c3c1fa
https://github.com/llvm/llvm-project/commit/6eab9dd7f01e6cad9f1a93bd52e4c6e7b4c3c1fa
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
Log Message:
-----------
[NVPTX] remove incorrect NVPTX intrinsic transformations (#76870)
`nvvm_fabs_f`
`nvvm_fabs_ftz_f`
Unfortunately, llvm fabs is not equivalent to these intrinsics since
llvm fabs is defined to only set the sign bit to zero while these can
also flush subnormal inputs and modify NaNs.
`nvvm_round_d`
`nvvm_round_f`
`nvvm_round_ftz_f`
llvm.nvvm.round uses RNI, while llvm.round codegens to RZI. LLVM defines
llvm.round to use the same rounding as libm
`round[f]()`, which is not necessary the same as how we define
llvm.nvvm.round.
`nvvm_sqrt_rn_f`
`nvvm_sqrt_rn_ftz_f`
sqrt may be lowered to a less precise version of sqrt, such as
sqrt.approx in NVPTX depending on factors such as the value of
-nvptx-prec-sqrtf32. These intrinsics should always become the
corresponding NVPTX instructions.
`nvvm_add_rn_d`
`nvvm_add_rn_f`
`nvvm_add_rn_ftz_f`
`nvvm_mul_rn_d`
`nvvm_mul_rn_f`
`nvvm_mul_rn_ftz_f`
These nvvm intrinsics have an explicitly specified rounding mode (.rn).
They should always be lowered to a PTX instruction with the same
explicit rounding mode. Converting to fmul and fadd instructions result
in the PTX instructions without rounding modes specified. This can cause
issue because:
> An add [or mul] instruction with no rounding modifier defaults to
round-to-nearest-even and may be optimized aggressively by the code
optimizer. In particular, mul/add sequences with no rounding modifiers
may be optimized to use fused-multiply-add instructions on the target
device.
`nvvm_div_rn_f`
`nvvm_div_rn_ftz_f`
`nvvm_rcp_rn_f`
`nvvm_rcp_rn_ftz_f`
fdiv may be lowered to a less precise version of div, such as div.full
in NVPTX depending on factors such as the value of -nvptx-prec-divf32.
These intrinsics should always become the corresponding NVPTX
instructions.
Commit: f5145f4dc819d73ff8bebcfba3779533b150884e
https://github.com/llvm/llvm-project/commit/f5145f4dc819d73ff8bebcfba3779533b150884e
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/CFG.h
Log Message:
-----------
[Clang][NFC] Fix out-of-bounds access (#77193)
The changes to tablegen made by
https://github.com/llvm/llvm-project/pull/76825 result in
`StmtClass::lastStmtConstant` changing from `StmtClass::WhileStmtClass`
to `StmtClass::GCCAsmStmtClass`. Since `CFG::BuildOptions::alwaysAdd` is
never called with a `WhileStmt`, this has flown under the radar until
now.
Once such test in which an out-of-bounds access occurs is
`test/Sema/inline-asm-validate.c`, among many others.
Commit: faa326de97bf6119dcc42806b07f3523c521ae96
https://github.com/llvm/llvm-project/commit/faa326de97bf6119dcc42806b07f3523c521ae96
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
A llvm/test/CodeGen/RISCV/cmov-branch-opt.ll
Log Message:
-----------
[RISCV] Add branch+c.mv macrofusion for sifive-p450. (#76169)
sifive-p450 supports a very restricted version of the short forward
branch optimization from the sifive-7-series.
For sifive-p450, a branch over a single c.mv can be macrofused as a
conditional move operation. Due to encoding restrictions on c.mv, we
can't conditionally move from X0. That would require c.li instead.
Commit: 1ea7a56057492d9da1124787a9855cc2edca7df9
https://github.com/llvm/llvm-project/commit/1ea7a56057492d9da1124787a9855cc2edca7df9
Author: Advenam Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
Revert "[ASan][libc++] String annotations optimizations fix with lambda (#76200)"
This reverts commit c68a9d25e99a096f6862fc4b57dd380a21245d31.
Commit: ac8b4f874945f83eec8c8f56d9fc80093e02a7b2
https://github.com/llvm/llvm-project/commit/ac8b4f874945f83eec8c8f56d9fc80093e02a7b2
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
A llvm/test/CodeGen/AArch64/sve2-bcax.ll
Log Message:
-----------
[AArch64][SVE2] Add pattern for BCAX (#77159)
Bitwise clear and exclusive or
Add pattern for:
xor x, (and y, not(z)) -> bcax x, y, z
Commit: a0ae5258065a856d5f8d9f8dcb12e9d8394f789f
https://github.com/llvm/llvm-project/commit/a0ae5258065a856d5f8d9f8dcb12e9d8394f789f
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy]unused using decls only check cpp files (#77335)
Commit: 6958986f77bdbedd6ba571af7b546018f9108067
https://github.com/llvm/llvm-project/commit/6958986f77bdbedd6ba571af7b546018f9108067
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/string/memory_utils/op_x86.h
Log Message:
-----------
[libc] fix -Wconversion (#77384)
Fixes the following from GCC:
llvm-project/libc/src/string/memory_utils/op_x86.h:236:24: error:
conversion from ‘long unsigned int’ to ‘uint32_t’ {aka ‘unsigned int’}
may
change value [-Werror=conversion]
236 | return (xored >> 32) | (xored & 0xFFFFFFFF);
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Link:
https://lab.llvm.org/buildbot/#/builders/250/builds/16236/steps/8/logs/stdio
Link: https://github.com/llvm/llvm-project/pull/74506
Commit: 7c89b20e02ff079ec84fc54880dbc6c063d8c915
https://github.com/llvm/llvm-project/commit/7c89b20e02ff079ec84fc54880dbc6c063d8c915
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[ELF] OVERLAY: support optional start address and LMA
https://reviews.llvm.org/D44780 implemented rudimentary support for
OVERLAY. The start address and `AT(ldaddr)` in `OVERLAY [start] :
[NOCROSSREFS] [AT ( ldaddr )]` are not optional.
In addition, there are two issues:
* When the start address is `.`, subsequent sections don't share the
address of the first overlay section.
* When the first overlay section is empty and discardable, `p_paddr` is
incorrectly zero. This is because a discarded section has a zero
address, causing `prev->getLMA() + prev->size` where `prev` refers to
the first section to evaluate to zero.
This patch supports optional start address and LMA and fix the issues.
Close #77265
Pull Request: https://github.com/llvm/llvm-project/pull/77272
Commit: 1689bbea17683129f41246110af1ebd32b98362f
https://github.com/llvm/llvm-project/commit/1689bbea17683129f41246110af1ebd32b98362f
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/string/memory_utils/op_x86.h
Log Message:
-----------
[libc] fix up #77384
Commit: 70cea91e0fc93db618069588e6a06314b2b0e2d3
https://github.com/llvm/llvm-project/commit/70cea91e0fc93db618069588e6a06314b2b0e2d3
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M libc/src/sys/mman/linux/CMakeLists.txt
Log Message:
-----------
[libc] temporarily set -Wno-shorten-64-to-32 (#77396)
This is still broken after #77350. Disable the warning for now, and fix
properly once the buildbot it back to green.
Link: https://github.com/llvm/llvm-project/issues/77395
Commit: eee71ed3f7d0abe40f7c54166421421362a8ac46
https://github.com/llvm/llvm-project/commit/eee71ed3f7d0abe40f7c54166421421362a8ac46
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
Log Message:
-----------
[mlir][complex] Support Fastmath flag for complex.mulf (#74554)
Support fast math flag in the conversion of `complex.mulf` op to
standard dialect.
See:
https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
Commit: 4147b72301bf77ad63793e1dcefefe8d37e69a37
https://github.com/llvm/llvm-project/commit/4147b72301bf77ad63793e1dcefefe8d37e69a37
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/cast.ll
Log Message:
-----------
[CostModel][X86] Fix fpext conversion cost for 16 elements (#76278)
The fpext conversion cost for 16 elements should be 4 from Znver4.
Commit: 8d982e509bf61fab1df58eaf3582138fc3c331b2
https://github.com/llvm/llvm-project/commit/8d982e509bf61fab1df58eaf3582138fc3c331b2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M compiler-rt/test/hwasan/TestCases/Linux/aligned_alloc-alignment.cpp
M compiler-rt/test/hwasan/TestCases/Linux/pvalloc-overflow.cpp
M compiler-rt/test/hwasan/TestCases/Posix/posix_memalign-alignment.cpp
M compiler-rt/test/hwasan/TestCases/allocator_returns_null.cpp
Log Message:
-----------
[test][hwasan] Test function name in summaries #77391 (#77397)
Push #77391 into the main.
Commit: c54a8ac35ab0fe3b7d204dc9867bf05fcb1775cd
https://github.com/llvm/llvm-project/commit/c54a8ac35ab0fe3b7d204dc9867bf05fcb1775cd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Sema] Use StringRef::ltrim (NFC)
Commit: 898093638043e465a9099829e32614f38cf3e1a8
https://github.com/llvm/llvm-project/commit/898093638043e465a9099829e32614f38cf3e1a8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_new_delete.cpp
M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
Log Message:
-----------
[msan] Unwind stack before fatal reports (#77168)
Msan does not unwind stack in malloc without origins, but we still need
trace
for fatal errors.
Commit: 2b3baffb4720d4ddc7ddd7080f5ea624230b9324
https://github.com/llvm/llvm-project/commit/2b3baffb4720d4ddc7ddd7080f5ea624230b9324
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/lib/Analysis/PathDiagnostic.cpp
Log Message:
-----------
[Analysis] Use StringRef::rtrim (NFC)
Commit: 7dd20637c801b429f2dd1040941d00141459d64e
https://github.com/llvm/llvm-project/commit/7dd20637c801b429f2dd1040941d00141459d64e
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
Log Message:
-----------
Improve modeling of 'getcwd' in the StdLibraryFunctionsChecker (#77040)
1. Improve the 'errno' modeling.
2. Improve constraints of the arguments.
Commit: af1fdcc343d1c850d73f7dd47493ffb9a18d596b
https://github.com/llvm/llvm-project/commit/af1fdcc343d1c850d73f7dd47493ffb9a18d596b
Author: wangpc <wangpengcheng.pp at bytedance.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/docs/StackMaps.rst
Log Message:
-----------
[doc][StackMaps] Fix typo
Commit: 96c4f1034cc3a93dafa9f8541548249deb813b78
https://github.com/llvm/llvm-project/commit/96c4f1034cc3a93dafa9f8541548249deb813b78
Author: Jim Lin <jim at andestech.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
Log Message:
-----------
[RISCV] Add support predicating for ANDN/ORN/XNOR with short-forward-branch-opt. (#77077)
ANDN/ORN/XNOR are like other ALU instructions. It should be able to be
predicated by the cpu that supports short-forward-branch.
Commit: b856e77b2df212d740bfedc984572d812d07ecc8
https://github.com/llvm/llvm-project/commit/b856e77b2df212d740bfedc984572d812d07ecc8
Author: James Y Knight <jyknight at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
A llvm/test/CodeGen/ARC/atomic-oversize.ll
A llvm/test/CodeGen/BPF/atomic-oversize.ll
A llvm/test/CodeGen/Lanai/atomic-oversize.ll
A llvm/test/CodeGen/MSP430/atomic-oversize.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
Log Message:
-----------
Set MaxAtomicSizeInBitsSupported for remaining targets. (#75703)
Targets affected:
- NVPTX and BPF: set to 64 bits.
- ARC, Lanai, and MSP430: set to 0 (they don't implement atomics).
Those which didn't yet add AtomicExpandPass to their pass pipeline now
do so.
This will result in larger atomic operations getting expanded to
`__atomic_*` libcalls via AtomicExpandPass. On all these targets, this
now matches what Clang already does in the frontend.
The only targets which do not configure AtomicExpandPass now are:
- DirectX and SPIRV: they aren't normal backends.
- AVR: a single-cpu architecture with no privileged/user divide, which
could implement all atomics by disabling/enabling interrupts, regardless
of size/alignment. Will be addressed by future work.
Commit: a8e9dceb49a9824b9326a16acedd19dbb29add2f
https://github.com/llvm/llvm-project/commit/a8e9dceb49a9824b9326a16acedd19dbb29add2f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
Log Message:
-----------
[RISCV] Use getELen() instead of hardcoded 64 in lowerBUILD_VECTOR. (#77355)
This is needed to properly support Zve32x.
Commit: 700a1928bbc2bac557384e20efa56bc61ee64b86
https://github.com/llvm/llvm-project/commit/700a1928bbc2bac557384e20efa56bc61ee64b86
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
Log Message:
-----------
[test][sanitizer] Check summary function and a single stack frame
Commit: b43c50490c5964b3b1aa1b95a9025a5b5942a46e
https://github.com/llvm/llvm-project/commit/b43c50490c5964b3b1aa1b95a9025a5b5942a46e
Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
M mlir/lib/Dialect/Math/IR/MathDialect.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/UB/IR/UBOps.cpp
Log Message:
-----------
[mlir] Declare promised interfaces for the ConvertToLLVM extension (#76341)
This PR adds promised interface declarations for
`ConvertToLLVMPatternInterface` in all the dialects that support the
`ConvertToLLVM` dialect extension.
Promised interfaces allow a dialect to declare that it will have an
implementation of a particular interface, crashing the program if one
isn't provided when the interface is used.
Commit: 3fa17954dedd59bfad9cef1778719fb6312a5949
https://github.com/llvm/llvm-project/commit/3fa17954dedd59bfad9cef1778719fb6312a5949
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/Target.h
M lld/test/ELF/riscv-reloc-leb128.s
Log Message:
-----------
[ELF] Support R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 in SHF_ALLOC sections (#77261)
Complement #72610 (non-SHF_ALLOC sections). GCC-generated
.gcc_exception_table has the SHF_ALLOC flag and may contain
R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 relocations.
Commit: 49c35f69ac6884a07f07e7c09ca7b79282707f49
https://github.com/llvm/llvm-project/commit/49c35f69ac6884a07f07e7c09ca7b79282707f49
Author: Brad Smith <brad at comstyle.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/libclang/CMakeLists.txt
M llvm/cmake/modules/AddLLVM.cmake
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[CMake] Add support for building on illumos (#74930)
illumos has an older version of the Solaris linker that does not
support the GNU version script compat nor version scripts and does
not support -Bsymbolic-functions. Treat illumos linker separately.
The libclang/CMakeLists part lifted from NetBSD's pkgsrc.
Build tested on Solaris 11.4 and OpenIndiana 2023.10.
/usr/bin/ld --version
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.3260
ld: Software Generation Utilities - Solaris Link Editors: 5.11-1.1790 (illumos)
Commit: f6dbd4cc5f52b6d40f98cf09af22b276b8e1f289
https://github.com/llvm/llvm-project/commit/f6dbd4cc5f52b6d40f98cf09af22b276b8e1f289
Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/Driver.cpp
M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
A clang/test/Driver/android-version.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
Log Message:
-----------
Make clang report invalid target versions. (#75373)
Clang always silently ignores garbage target versions and this makes
debug harder. So clang will report when target versions are invalid.
Commit: b2b4ffbc9bdda617977cbece015b8ea5ac44c531
https://github.com/llvm/llvm-project/commit/b2b4ffbc9bdda617977cbece015b8ea5ac44c531
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/Transforms/PGOProfile/Inputs/multiple_hash_profile.proftext
M llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
Log Message:
-----------
[Instrumentation] Remove -pgo-instr-old-cfg-hashing (#77357)
It's been more than 3 years since -pgo-instr-old-cfg-hashing was
introduced by:
commit 120e66b3418b37b95fc1dbbb23e296a602a24fa8
Author: Hiroshi Yamauchi <yamauchi at google.com>
Date: Tue Jul 28 10:09:49 2020 -0700
I don't think anyone really cares about the ability to use the old CFG
hashing at this point.
Commit: 0930f62cf600d9e2e9a45fef1b3a422d50be89d5
https://github.com/llvm/llvm-project/commit/0930f62cf600d9e2e9a45fef1b3a422d50be89d5
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M lld/ELF/LinkerScript.cpp
A lld/test/ELF/linkorder-group.test
Log Message:
-----------
[ELF] -r: fix crash when SHF_LINK_ORDER linked-to section has a larger index
Fixes: b8dface221f4490933b0d39deb769e97ca134e5f
ThinLTO asan build may place `asan_globals` before the associated `.bss.xxx` section.
`rel->getOutputSection()` is nullptr because `rel->parent` hasn't been
set, leading to a crash. Simplify return `s->name` in this case.
Commit: 782c5250077cf472941f0ab7555f87ff22d6e724
https://github.com/llvm/llvm-project/commit/782c5250077cf472941f0ab7555f87ff22d6e724
Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/loop_bind_messages.cpp
M clang/test/PCH/pragma-loop.cpp
Log Message:
-----------
[OpenMP] Patch for Support to loop bind clause : Checking Parent Region (#76938)
Changes uploaded to the phabricator on Dec 16th are lost because the
phabricator is down. Hence re-uploading it to the github.com.
Changes to be committed:
modified: clang/include/clang/Sema/Sema.h
modified: clang/lib/Sema/SemaOpenMP.cpp
modified: clang/test/OpenMP/generic_loop_ast_print.cpp
modified: clang/test/OpenMP/loop_bind_messages.cpp
modified: clang/test/PCH/pragma-loop.cpp
---------
Co-authored-by: Sunil Kuravinakop
Commit: abaa79b25dde740d5b54adab463432bee2840c85
https://github.com/llvm/llvm-project/commit/abaa79b25dde740d5b54adab463432bee2840c85
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/QueryParser.cpp
M mlir/lib/TableGen/Class.cpp
M mlir/lib/Tools/lsp-server-support/SourceMgrUtils.cpp
Log Message:
-----------
[mlir] Use StringRef::ltrim (NFC)
Commit: ee78e038667d89f5dcd5ed25a36659b3653095d0
https://github.com/llvm/llvm-project/commit/ee78e038667d89f5dcd5ed25a36659b3653095d0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
AMDGPU: Avoid instantiating PatFrag with null_frag (#77271)
This makes it possible to pass null_frag to the MAIInst multiclass.
null_frag does not work as you may hope if used as the input to a
PatFrag, which is what happens when it's passed through to *MAIFrag.
Avoid this by checking for null_frag. It might be possible to hack up
tablegen to allow consuming PatFrag inputs.
Commit: 0c24c175f262b1043752c67798cd83f79188e9d2
https://github.com/llvm/llvm-project/commit/0c24c175f262b1043752c67798cd83f79188e9d2
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
A llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
Log Message:
-----------
[RISCV][ISel] Use vaaddu with rounding mode rdn for ISD::AVGFLOORU. (#76550)
This patch aims to use `vaaddu` with rounding mode rdn (i.e `vxrm[1:0] =
0b10`) for `ISD::AVGFLOORU`.
### Source code
```
define <8 x i8> @vaaddu_auto(ptr %x, ptr %y, ptr %z) {
%xv = load <8 x i8>, ptr %x, align 2
%yv = load <8 x i8>, ptr %y, align 2
%xzv = zext <8 x i8> %xv to <8 x i16>
%yzv = zext <8 x i8> %yv to <8 x i16>
%add = add nuw nsw <8 x i16> %xzv, %yzv
%div = lshr <8 x i16> %add, <i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1, i16 1>
%ret = trunc <8 x i16> %div to <8 x i8>
ret <8 x i8> %ret
}
```
### Before this patch
```
vaaddu_auto:
vsetivli zero, 8, e8, mf2, ta, ma
vle8.v v8, (a0)
vle8.v v9, (a1)
vwaddu.vv v10, v8, v9
vnsrl.wi v8, v10, 1
ret
```
### After this patch
```
vaaddu_auto:
vsetivli zero, 8, e8, mf2, ta, ma
vle8.v v8, (a0)
vle8.v v9, (a1)
csrwi vxrm, 2
vaaddu.vv v8, v8, v9
ret
```
### Note on signed averaging addition
Based on the rvv spec, there is also a variant for signed averaging
addition called `vaadd`.
But AFAIU, no matter in which rounding mode, we cannot achieve the
semantic of signed averaging addition through `vaadd`.
Thus this patch only introduces `vaaddu`.
Commit: 38ce770ef13131dce92a76ff80e6d5caba2d8422
https://github.com/llvm/llvm-project/commit/38ce770ef13131dce92a76ff80e6d5caba2d8422
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/apx/gr8_norex2.ll
Log Message:
-----------
[X86][test] Add test to check ah is not allocatable for register class gr8_norex2
This test should be added after #73529
Commit: f1ec0d12bb0843f0deab83ef2b5cf1339cbc4f0b
https://github.com/llvm/llvm-project/commit/f1ec0d12bb0843f0deab83ef2b5cf1339cbc4f0b
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
A llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/CodeGen/AArch64/aarch64-codegen-prepare-atp.ll
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
M llvm/test/CodeGen/AArch64/arm64_32-gep-sink.ll
M llvm/test/CodeGen/AArch64/cgp-trivial-phi-node.ll
M llvm/test/CodeGen/AArch64/convertphitype.ll
M llvm/test/CodeGen/AArch64/scalable-vector-promotion.ll
M llvm/test/CodeGen/AArch64/sve-vscale.ll
M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/ARM/vector-promotion.ll
M llvm/test/CodeGen/Generic/addr-sink-call-multi-arg.ll
M llvm/test/CodeGen/Generic/addr-use-count.ll
M llvm/test/CodeGen/X86/callbr-codegenprepare.ll
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
M llvm/test/CodeGen/X86/convertphitype.ll
M llvm/test/CodeGen/X86/indirect-br-gep-unmerge.ll
M llvm/test/CodeGen/X86/pr58538.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-extract.ll
M llvm/test/DebugInfo/ARM/salvage-debug-info.ll
M llvm/test/DebugInfo/X86/zextload.ll
M llvm/test/Other/codegenprepare-and-debug.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/free-zext.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-gather-scatter-addressing.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/trunc-weird-user.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/addressing-modes.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/dead-gep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/memory-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/splitgep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-constant-numerator.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-introduce-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-sink-nop-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/and-mask-sink.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/SPARC/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/computedgoto.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/X86/delete-assume-dead-code.ll
M llvm/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
M llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gep-unmerging.ll
M llvm/test/Transforms/CodeGenPrepare/X86/invariant.group.ll
M llvm/test/Transforms/CodeGenPrepare/X86/masked-gather-struct-gep.ll
M llvm/test/Transforms/CodeGenPrepare/X86/nonintegral.ll
M llvm/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll
M llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr27536.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr35658.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr72046.ll
M llvm/test/Transforms/CodeGenPrepare/X86/recursively-delete-dead-instructions.ll
M llvm/test/Transforms/CodeGenPrepare/X86/remove-assume-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-two-phi.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-indirect-loop.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/X86/statepoint-relocate.ll
M llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
M llvm/test/Transforms/CodeGenPrepare/X86/widenable-condition.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll
M llvm/test/Transforms/CodeGenPrepare/dead-allocation.ll
M llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
M llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll
M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
M llvm/tools/opt/opt.cpp
Log Message:
-----------
Port CodeGenPrepare to new pass manager (and BasicBlockSectionsProfil… (#77182)
Port CodeGenPrepare to new pass manager and dependency
BasicBlockSectionsProfileReader
Fixes: #75380
Co-authored-by: Krishna-13-cyber <84722531+Krishna-13-cyber at users.noreply.github.com>
Commit: cf6e9c4b2711fa4450c537aa381a1d693e130740
https://github.com/llvm/llvm-project/commit/cf6e9c4b2711fa4450c537aa381a1d693e130740
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-08 (Mon, 08 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[RISCV] Add documentation in the LangRef on GHC CC (#72762)
The GHC CC got added to RISCV in
a8dc2110cd4dd69212a204bc1074729f95d5402a but it never got documented in
the LangRef. This adds documentation in the LangRef noting that RISCV is
supports the GHC calling convention and notes the specific limitations
of the GHC CC on RISCV.
Commit: 4a5ebc7f6538dbebe9d671346de6138de657cb7d
https://github.com/llvm/llvm-project/commit/4a5ebc7f6538dbebe9d671346de6138de657cb7d
Author: Lu Weining <luweining at loongson.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
Log Message:
-----------
[BinaryFormat][LoongArch] Define psABI v2.30 relocs (#77039)
Commit: dad614cc606333fa614e696dbdd22263096dadb7
https://github.com/llvm/llvm-project/commit/dad614cc606333fa614e696dbdd22263096dadb7
Author: Hana Dusíková <hanicka at hanicka.net>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/docs/SphinxQuickstartTemplate.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
Log Message:
-----------
[Documentation] fix invalid links in documentation (#76502)
Commit: b57159cb19cdc06ec5733f93f0975aa6f40595cb
https://github.com/llvm/llvm-project/commit/b57159cb19cdc06ec5733f93f0975aa6f40595cb
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
A llvm/test/MC/LoongArch/Relocations/leb128.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
Log Message:
-----------
[LoongArch] Support R_LARCH_{ADD,SUB}_ULEB128 for .uleb128 and force relocs when sym is not in section (#76433)
1, Follow RISCV 1df5ea29 to support generates relocs for .uleb128 which
can not be folded. Unlike RISCV, the located content of LoongArch should
be zero. LoongArch fixup uleb128 value by in-place addition and
subtraction reloc types named R_LARCH_{ADD,SUB}_ULEB128. The located
content can affect the result and R_LARCH_ADD_ULEB128 has enough info to
represent the first symbol value, so it needs to be set to zero.
2, Force relocs if sym is not in section so that it can emit relocs for
external symbol.
Fixes:
https://github.com/llvm/llvm-project/pull/72960#issuecomment-1866844679
Commit: 7b45c549670a8e8b6fe90f4382b0699dd20707d3
https://github.com/llvm/llvm-project/commit/7b45c549670a8e8b6fe90f4382b0699dd20707d3
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
A llvm/test/MC/RISCV/align-non-executable.s
Log Message:
-----------
[MC][RISCV] Check hasEmitNops before call shouldInsertExtraNopBytesForCodeAlign (#77236)
The shouldInsertExtraNopBytesForCodeAlign() need STI to check whether
relax is enabled or not. It is initialized when call setEmitNops. The
setEmitNops may not be called in a section which has instructions but is
not executable. In this case uninitialized STI will cause problems.
Thus, check hasEmitNops before call it.
Fixes:
https://github.com/llvm/llvm-project/pull/76552#issuecomment-1878952480
Commit: 3d688d4e3db58c68f090c3e118e7e052c9c25593
https://github.com/llvm/llvm-project/commit/3d688d4e3db58c68f090c3e118e7e052c9c25593
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Adjust BUILD.bazel file for b43c50490c5964b3b1aa1b95a9025a5b5942a46e
Commit: 81df51fb318f2a83de3414c6f9f6770fa6ccda38
https://github.com/llvm/llvm-project/commit/81df51fb318f2a83de3414c6f9f6770fa6ccda38
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
Log Message:
-----------
[mlir][vector] Don't treat memrefs with empty stride as non-contiguous (#76848)
As per the docs [1]:
```
In absence of an explicit layout, a memref is considered to have a
multi-dimensional identity affine map layout.
```
This patch makes sure that MemRefs with no strides (i.e. no explicit
layout) are treated as contiguous when checking whether a particular
vector is a contiguous slice of the given MemRef.
[1] https://mlir.llvm.org/docs/Dialects/Builtin/#layout
Follow-up for #76428.
Commit: daecc303bb719ed63566fcb343afec169826f82c
https://github.com/llvm/llvm-project/commit/daecc303bb719ed63566fcb343afec169826f82c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
Log Message:
-----------
AMDGPU: Replace sqrt OpenCL libcalls with llvm.sqrt (#74197)
The library implementation is just a wrapper around a call to the
intrinsic, but loses metadata. Swap out the call site to the intrinsic
so that the lowering can see the !fpmath metadata and fast math flags.
Since d56e0d07cc5ee8e334fd1ad403eef0b1a771384f, clang started placing
!fpmath on OpenCL library sqrt calls. Also don't bother emitting
native_sqrt anymore, it's just another wrapper around llvm.sqrt.
Commit: c6bb89f308c6715edf3f35fb7c6257713ecfc614
https://github.com/llvm/llvm-project/commit/c6bb89f308c6715edf3f35fb7c6257713ecfc614
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Decl.cpp
M clang/test/CodeGen/flexible-array-init.c
Log Message:
-----------
[clang] Fix assertion failure when initializing union with FAM (#77298)
When initializing a union that constrain a struct with a flexible array
member, and the initializer list is empty, we currently trigger an
assertion failure. This happens because getFlexibleArrayInitChars()
assumes that the initializer list is non-empty.
Fixes https://github.com/llvm/llvm-project/issues/77085.
Commit: 4cb1d914ff7b36be06137a8357da0afbf8d628c9
https://github.com/llvm/llvm-project/commit/4cb1d914ff7b36be06137a8357da0afbf8d628c9
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] add folding support for quad bessels (#77314)
This is done using libquadmath and the mappings are only available if
libquadmath was found by cmake.
Support for non quad bessels is already available on POSIX platform
using libm extensions.
Commit: 2357e899cb11e05312c54b689ebd0355487be6bc
https://github.com/llvm/llvm-project/commit/2357e899cb11e05312c54b689ebd0355487be6bc
Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
A llvm/include/llvm/DWARFLinker/AddressesMap.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
A llvm/include/llvm/DWARFLinker/DWARFFile.h
R llvm/include/llvm/DWARFLinker/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
R llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
R llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h
R llvm/include/llvm/DWARFLinker/DWARFStreamer.h
A llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/StringPool.h
R llvm/include/llvm/DWARFLinkerParallel/AddressesMap.h
R llvm/include/llvm/DWARFLinkerParallel/DWARFFile.h
R llvm/include/llvm/DWARFLinkerParallel/DWARFLinker.h
R llvm/include/llvm/DWARFLinkerParallel/StringPool.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/lib/CMakeLists.txt
M llvm/lib/DWARFLinker/CMakeLists.txt
A llvm/lib/DWARFLinker/Classic/CMakeLists.txt
A llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
A llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
A llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
R llvm/lib/DWARFLinker/DWARFLinker.cpp
R llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp
R llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp
R llvm/lib/DWARFLinker/DWARFStreamer.cpp
A llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
A llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
A llvm/lib/DWARFLinker/Parallel/ArrayList.h
A llvm/lib/DWARFLinker/Parallel/CMakeLists.txt
A llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
A llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.h
A llvm/lib/DWARFLinker/Parallel/DIEGenerator.h
A llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.h
A llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
A llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
A llvm/lib/DWARFLinker/Parallel/DependencyTracker.h
A llvm/lib/DWARFLinker/Parallel/IndexedValuesMap.h
A llvm/lib/DWARFLinker/Parallel/OutputSections.cpp
A llvm/lib/DWARFLinker/Parallel/OutputSections.h
A llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
A llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
A llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
A llvm/lib/DWARFLinker/Parallel/TypePool.h
A llvm/lib/DWARFLinker/Parallel/Utils.h
A llvm/lib/DWARFLinker/Utils.cpp
R llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.cpp
R llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.h
R llvm/lib/DWARFLinkerParallel/ArrayList.h
R llvm/lib/DWARFLinkerParallel/CMakeLists.txt
R llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.cpp
R llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.h
R llvm/lib/DWARFLinkerParallel/DIEGenerator.h
R llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.cpp
R llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.h
R llvm/lib/DWARFLinkerParallel/DWARFFile.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinker.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.h
R llvm/lib/DWARFLinkerParallel/DebugLineSectionEmitter.h
R llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp
R llvm/lib/DWARFLinkerParallel/DependencyTracker.h
R llvm/lib/DWARFLinkerParallel/IndexedValuesMap.h
R llvm/lib/DWARFLinkerParallel/OutputSections.cpp
R llvm/lib/DWARFLinkerParallel/OutputSections.h
R llvm/lib/DWARFLinkerParallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/lib/DWARFLinkerParallel/StringPool.cpp
R llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.cpp
R llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.h
R llvm/lib/DWARFLinkerParallel/TypePool.h
R llvm/lib/DWARFLinkerParallel/Utils.h
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/llvm-dwarfutil/CMakeLists.txt
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
M llvm/unittests/DWARFLinkerParallel/StringPoolTest.cpp
Log Message:
-----------
[DWARFLinker][DWARFLinkerParallel][NFC] Refactor DWARFLinker&DWARFLinkerParallel to have a common library. Part 1. (#75925)
This patch creates DWARFLinkerBase library, places DWARFLinker code into
DWARFLinker\Classic, places DWARFLinkerParallel into DWARFLinker\Parallel.
updates BOLT to use new library. This patch is NFC.
Commit: db78c30ba772af1466bb0d0c1d376c8e642ee4a9
https://github.com/llvm/llvm-project/commit/db78c30ba772af1466bb0d0c1d376c8e642ee4a9
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M llvm/include/llvm/Support/RISCVISAInfo.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Deduplicate RISCVISAInfo::toFeatures/toFeatureVector. NFC (#76942)
toFeatures and toFeatureVector both output a list of target feature
flags, just with a slightly different interface. toFeatures keeps any
unsupported extensions, and also provides a way to append negative
extensions (AddAllExtensions=true).
This patch combines them into one function, so that a later patch will
be be able to get a std::vector of features that includes all the
negative extensions, which was previously only possible through the
StrAlloc interface.
Commit: ae5575db1561c0606582346d5f0cbc799c1c02f3
https://github.com/llvm/llvm-project/commit/ae5575db1561c0606582346d5f0cbc799c1c02f3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/test/Target/LLVMIR/arm-sme-invalid.mlir
M mlir/test/Target/LLVMIR/arm-sme.mlir
Log Message:
-----------
[mlir][ArmSME] Add `arm_sme.intr.cnts(b|h|w|d)` intrinsics (#77319)
This adds MLIR versions of the Arm streaming vector length intrinsics.
These allow reading the streaming vector length regardless of the
streaming mode.
Commit: b59b8d418279f20275ece99bb6c31b1417a7bd80
https://github.com/llvm/llvm-project/commit/b59b8d418279f20275ece99bb6c31b1417a7bd80
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Add GFX12 S_WAIT_* instructions (#77336)
GFX12 has separate wait instructions per counter e.g. S_WAIT_LOADCNT.
S_WAITCNT still exists but is deprecated and codegen should stop using
it. S_WAITCNT_* (e.g. S_WAITCNT_VSCNT) are removed.
This patch adds/removes MC layer support for these instructions.
Commit: b399c8407351a8fce7313d6ecd6510cb04e94d8f
https://github.com/llvm/llvm-project/commit/b399c8407351a8fce7313d6ecd6510cb04e94d8f
Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[NFC] [lld] [MTE] Rename MemtagDescriptors to MemtagGlobalDescriptors (#77300)
Requested in https://github.com/llvm/llvm-project/pull/77078, I agree
that we may as well be unambiguous.
Commit: b81ba52e15d95c3353489d4ce2f61c3771714c28
https://github.com/llvm/llvm-project/commit/b81ba52e15d95c3353489d4ce2f61c3771714c28
Author: Frederik Carlier <frederik.carlier at quamotion.mobi>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/test/CodeGenObjC/dllstorage.m
Log Message:
-----------
Set dllstorage on ObjectiveC ivar offsets (#77385)
Mark instance variable offset symbols with `dllexport`/`dllimport` if
they are not hidden and the interface declaration is marked with
`dllexport`/`dllimport`, when using the GNUstep 2.x ABI.
/cc @davidchisnall
Commit: 243a5822f68d784f5d8b12db5d50353a37a2f0f4
https://github.com/llvm/llvm-project/commit/243a5822f68d784f5d8b12db5d50353a37a2f0f4
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] update build for 2357e899cb11e05312c54b689ebd0355487be6bc
Commit: 414ea3a77181ef01d2cc2ad34950fc1c03ce0d41
https://github.com/llvm/llvm-project/commit/414ea3a77181ef01d2cc2ad34950fc1c03ce0d41
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/TextNodeDumper.cpp
A clang/test/AST/ast-dump-coroutine.cpp
Log Message:
-----------
[AST] Teach TextNodeDumper to print the "implicit" bit for coroutine AST nodes (#77311)
Commit: 25e0dc92a1df906d6e42c66a32f1fa764f1acabd
https://github.com/llvm/llvm-project/commit/25e0dc92a1df906d6e42c66a32f1fa764f1acabd
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen] Port `GCLowering` to new pass manager (#75305)
Commit: f9fec402896a90f3b09cea359c330f65a0908649
https://github.com/llvm/llvm-project/commit/f9fec402896a90f3b09cea359c330f65a0908649
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
AMDGPU: Make v32bf16 a legal type (#76679)
Depends #76678
Commit: 7a2596344045565f24dd08486a36a30d8966d27e
https://github.com/llvm/llvm-project/commit/7a2596344045565f24dd08486a36a30d8966d27e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
[AMDGPU] Flip the default value of maybeAtomic. NFCI. (#75220)
In practice maybeAtomic = 0 is used to prevent SIMemoryLegalizer from
interfering with instructions that are mayLoad or mayStore but lack
MachineMemOperands. These instructions should be the exception not the
rule, so this patch sets maybeAtomic = 1 by default and only overrides
it to 0 where necessary.
Commit: 124efcaa973306ce42633cea07ed3cf55d63afde
https://github.com/llvm/llvm-project/commit/124efcaa973306ce42633cea07ed3cf55d63afde
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir][bufferization][NFC] Clean up Bazel build files (#77429)
`*OpsIncGen` should depend only on the respective `*OpsTdFiles`.
Commit: f92b928b1e1e662e091c8064a161bf4b5dfccdb9
https://github.com/llvm/llvm-project/commit/f92b928b1e1e662e091c8064a161bf4b5dfccdb9
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[GISel] Infer the type of an immediate when there is one element in TEC (#77399)
When there is just one element in the type equivalence class (TEC),
`inferNamedOperandType` fails because it does not consider the passed
operand as a suitable one. This is incorrect when inferring the type of
an (unnamed) immediate operand.
Commit: 51afb101743855e2ae2624ebbe087da77128d92c
https://github.com/llvm/llvm-project/commit/51afb101743855e2ae2624ebbe087da77128d92c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[LV] Create block in mask up-front if needed. (#76635)
At the moment, block and edge masks are created on demand, which means
that they are inserted at the point where they are demanded and then
cached. It is possible that the mask for a block is looked up later at a
point that's not dominated by the point where the mask has been
inserted.
To avoid this, create masks up front on entry to the corresponding basic
block and leave it to VPlan simplification to remove unneeded masks.
Note that we need to create masks for all blocks, if any of the blocks
in the loop needs predication, as computing the mask of a block depends
on the masks of its predecessor.
Needed for #76090.
https://github.com/llvm/llvm-project/pull/76635
Commit: c7d404ea728f1f74d6bacd3dec3ebfa28ac6a0a5
https://github.com/llvm/llvm-project/commit/c7d404ea728f1f74d6bacd3dec3ebfa28ac6a0a5
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update cxx_dr_status.html (#77372)
This patch updates `cxx_dr_status.html` to bring it in sync with Core Issues List Revision 113.
Commit: 9be29ad48cdd948ad54f305f6ede391b83198eb9
https://github.com/llvm/llvm-project/commit/9be29ad48cdd948ad54f305f6ede391b83198eb9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
AMDGPU: Regenerate test checks
Fix test failures after auto-merge of f9fec402896a90f3b09cea359c330f65a0908649
Commit: 4f68ee36fc80212fe5d31085ac2d8503630d99cc
https://github.com/llvm/llvm-project/commit/4f68ee36fc80212fe5d31085ac2d8503630d99cc
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Headers/arm_acle.h
A clang/test/CodeGen/arm-acle-coproc.c
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
[ARM] arm_acle.h add Coprocessor Instrinsics (#75440)
https://github.com/llvm/llvm-project/issues/75424
Add Coprocessor Instrinsics
Commit: f9a1d157e5168acefaa2281ef14c3809bc6ee539
https://github.com/llvm/llvm-project/commit/f9a1d157e5168acefaa2281ef14c3809bc6ee539
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/StackProtector.h
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen] Port `StackProtector` to new pass manager (#75334)
The original `StackProtector` is both transform and analysis pass, break
it into two passes now. `getAnalysis<StackProtector>()` could be now
replaced by `FAM.getResult<SSPLayoutAnalysis>(F)` in new pass system.
Commit: a529b6eaf05d24518bbe0f0a5539c378252d2671
https://github.com/llvm/llvm-project/commit/a529b6eaf05d24518bbe0f0a5539c378252d2671
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/StackProtector.h
Log Message:
-----------
[CodeGen] Fix -Wmismatched-tags in StackProtector.h (NFC)
llvm-project/llvm/include/llvm/CodeGen/StackProtector.h:69:10:
error: class 'AnalysisInfoMixin' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Werror,-Wmismatched-tags]
69 | friend class AnalysisInfoMixin<SSPLayoutAnalysis>;
| ^
llvm-project/llvm/include/llvm/IR/PassManager.h:414:8: note: previous use is here
414 | struct AnalysisInfoMixin : PassInfoMixin<DerivedT> {
| ^
llvm-project/llvm/include/llvm/CodeGen/StackProtector.h:69:10: note: did you mean struct here?
69 | friend class AnalysisInfoMixin<SSPLayoutAnalysis>;
| ^~~~~
| struct
1 error generated.
Commit: 839435cc6ccbd84fff20790285af84bdba83778a
https://github.com/llvm/llvm-project/commit/839435cc6ccbd84fff20790285af84bdba83778a
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
M flang/test/Lower/polymorphic.f90
Log Message:
-----------
[flang] Fix fir::isPolymorphic for TYPE(*) assumed-size arrays (#77339)
fir::isPolymorphic was returning false for TYPE(*) assumed-size arrays
causing bad fir.rebox to be created when passing a polymorphic actual
argument to such TYPE(*) dummy.
Fix fir::isAssumedSize to return true for fir.ref<fir.array<none>> and
fir.ref<none>.
@cabreraam, I found this bug when testing your patch, although it is not
caused by it, so you may hit it when passing TYPE(*) deferred shape of
to assumed size TYPE(*) with a different rank.
Commit: c7148467fc08eefaaae876c7d11d629c849f42cf
https://github.com/llvm/llvm-project/commit/c7148467fc08eefaaae876c7d11d629c849f42cf
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64.h
A llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
A llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/CMakeLists.txt
A llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[AArch64] Add an AArch64 pass for loop idiom transformations (#72273)
We have added a new pass that looks for loops such as the following:
```
while (i != max_len)
if (a[i] != b[i])
break;
... use index i ...
```
Although similar to a memcmp, this is slightly different because instead
of returning the difference between the values of the first non-matching
pair of bytes, it returns the index of the first mismatch. As such, we
are not able to lower this to a memcmp call.
The new pass can now spot such idioms and transform them into a
specialised predicated loop that gives a significant performance
improvement for AArch64. It is intended as a stop-gap solution until
this can be handled by the vectoriser, which doesn't currently deal with
early exits.
This specialised loop makes use of a generic intrinsic that counts the
trailing zero elements in a predicate vector. This was added in
https://reviews.llvm.org/D159283 and for SVE we end up with brkb & incp
instructions.
Although we have added this pass only for AArch64, it was written in a
generic way so that in theory it could be used by other targets.
Currently the pass requires scalable vector support and needs to know
the minimum page size for the target, however it's possible to make it
work for fixed-width vectors too. Also, the llvm.experimental.cttz.elts
intrinsic used by the pass has generic lowering, but can be made
efficient for targets with instructions similar to SVE's brkb, cntp and
incp.
Original version of patch was posted on Phabricator:
https://reviews.llvm.org/D158291
Patch co-authored by Kerry McLaughlin (@kmclaughlin-arm) and David
Sherwood (@david-arm)
See the original discussion on Discourse:
https://discourse.llvm.org/t/aarch64-target-specific-loop-idiom-recognition/72383
Commit: 19870ed9c3238f348bf82dcc2b2e0a2894536874
https://github.com/llvm/llvm-project/commit/19870ed9c3238f348bf82dcc2b2e0a2894536874
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/lib/Basic/Targets/X86.cpp
M clang/test/CodeGen/X86/avx512er-builtins.c
M clang/test/CodeGen/X86/avx512pf-builtins.c
M clang/test/Driver/cl-x86-flags.c
M clang/test/Frontend/x86-target-cpu.c
Log Message:
-----------
[X86] Emit Warnings for frontend options to enable knl/knm specific ISAs. (#75580)
Since Knight Landing and Knight Mill microarchitectures are EOL, we
would like to remove intrinsic supports for its specific ISA in LLVM 19.
In LLVM 18, we will first emit a warning for the usage.
Commit: d5985d4c70bad7b25740027cb873c91a31ff0659
https://github.com/llvm/llvm-project/commit/d5985d4c70bad7b25740027cb873c91a31ff0659
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/docs/Passes.md
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Passes.td
Log Message:
-----------
[mlir][docs] Fix a broken passes documentation (#77402)
- Add EmitC passes into Pass.md
- Modify header level of the pass description to under the
`LegalizeVectorStorage` pass
Commit: 62b30e7948d1278900585518523794f9286fa5c9
https://github.com/llvm/llvm-project/commit/62b30e7948d1278900585518523794f9286fa5c9
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/StackProtector.h
Log Message:
-----------
[CodeGen] Fix friend declaration in SSPLayoutAnalysis (#77447)
Commit: e7636b1094ba53fe4edc16dd52ef981c01e35ceb
https://github.com/llvm/llvm-project/commit/e7636b1094ba53fe4edc16dd52ef981c01e35ceb
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
Log Message:
-----------
[NewPM] Update `CodeGenPreparePass` reference in `CodeGenPassBuilder.h` (#77446)
Reland #77054.
Commit: 0b9b00c8c86d42f72f8abf379052a451778dcc63
https://github.com/llvm/llvm-project/commit/0b9b00c8c86d42f72f8abf379052a451778dcc63
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
Log Message:
-----------
[AMDGPU] Make isScalarLoadLegal a member of AMDGPURegisterBankInfo. NFC.
Commit: 4f7c402d9ff1b2c908b97b78baf84157f08745e8
https://github.com/llvm/llvm-project/commit/4f7c402d9ff1b2c908b97b78baf84157f08745e8
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-lshr-and-cmp.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
Log Message:
-----------
[AMDGPU][NFC] Update left over tests for COV5 (#76984)
Update AMDGPU CodeGen lit tests to check for COV5 ABI.
Commit: 633d9184f5f8ab227ab22fd7a7db366b843a02d2
https://github.com/llvm/llvm-project/commit/633d9184f5f8ab227ab22fd7a7db366b843a02d2
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
Log Message:
-----------
[mlir] introduce transform.collect_matching (#76724)
Introduce a new match combinator into the transform dialect. This
operation collects all operations that are yielded by a satisfactory
match into its results. This is a simpler version of `foreach_match`
that can be inserted directly into existing transform scripts.
Commit: 4cb2ef4fe372d32d1773f4dd358d6dff91518b5f
https://github.com/llvm/llvm-project/commit/4cb2ef4fe372d32d1773f4dd358d6dff91518b5f
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A mlir/docs/Tutorials/transform/Ch4.md
M mlir/docs/Tutorials/transform/_index.md
M mlir/examples/transform/CMakeLists.txt
M mlir/examples/transform/Ch3/transform-opt/transform-opt.cpp
A mlir/examples/transform/Ch4/CMakeLists.txt
A mlir/examples/transform/Ch4/include/CMakeLists.txt
A mlir/examples/transform/Ch4/include/MyExtension.h
A mlir/examples/transform/Ch4/include/MyExtension.td
A mlir/examples/transform/Ch4/lib/CMakeLists.txt
A mlir/examples/transform/Ch4/lib/MyExtension.cpp
A mlir/examples/transform/Ch4/transform-opt/transform-opt.cpp
M mlir/test/CMakeLists.txt
A mlir/test/Examples/transform/Ch4/features.mlir
A mlir/test/Examples/transform/Ch4/multiple.mlir
A mlir/test/Examples/transform/Ch4/sequence.mlir
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] add a chapter on matchers to the transform dialect tutorial (#76725)
These operations has been available for a while, but were not described
in the tutorial. Add a new chapter on using and defining match
operations.
Commit: 197214e39b7100dd0e88aa38cffdce9ee1f4464b
https://github.com/llvm/llvm-project/commit/197214e39b7100dd0e88aa38cffdce9ee1f4464b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
Log Message:
-----------
[RFC][SelectionDAG] Add and use SDNode::getAsZExtVal() helper (#76710)
This follows on from #76708, allowing
`cast<ConstantSDNode>(N)->getZExtValue()` to be replaced with just
`N->getAsZextVal();`
Introduced via `git grep -l "cast<ConstantSDNode>\(.*\).*getZExtValue" |
xargs sed -E -i
's/cast<ConstantSDNode>\((.*)\)->getZExtValue/\1->getAsZExtVal/'` and
then using `git clang-format` on the result.
Commit: f499472de3e1184b83fc6cd78bc244a55f2cac7d
https://github.com/llvm/llvm-project/commit/f499472de3e1184b83fc6cd78bc244a55f2cac7d
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
Log Message:
-----------
[LoongArch] Pre-commit test for #76913. NFC
This test will crash with expensive check.
Crash message:
```
*** Bad machine code: Using an undefined physical register ***
- function: main
- basic block: %bb.0 entry (0x20fee70)
- instruction: $r3 = frame-destroy ADDI_D $r22, -288
- operand 1: $r22
```
Commit: 98c6aa72299caeff6b188e1ff2fc1b39c5b893b6
https://github.com/llvm/llvm-project/commit/98c6aa72299caeff6b188e1ff2fc1b39c5b893b6
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
Log Message:
-----------
[LoongArch] Implement LoongArchRegisterInfo::canRealignStack() (#76913)
This patch fixes the crash issue in the test:
CodeGen/LoongArch/can-not-realign-stack.ll
Register allocator may spill virtual registers to the stack, which
introduces stack alignment requirements (when the size of spilled
registers exceeds the default alignment size of the stack). If a
function does not have stack alignment requirements before register
allocation, registers used for stack alignment will not be preserved.
Therefore, we should implement `canRealignStack()` to inform the
register allocator whether it is allowed to perform stack realignment
operations.
Commit: d9710d7624171ff3d476925da0f4670c2c9a34cd
https://github.com/llvm/llvm-project/commit/d9710d7624171ff3d476925da0f4670c2c9a34cd
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang][Driver] Enable gpulibc/nogpulibc options for Flang, which allows linking of GPU LIBC for the fortran and OpenMP runtime (#77135)
This patch seeks to add the -gpulibc and -nogpulibc for Flang, which
allows the linking of the GPU libc library, this allows the use of
memcpy and other useful library functions for GPU.
In particular, this allows the Fortran runtime (written in C++) to be
compiled for offload and then linked against the GPU LIBC library via
this option to resolve memcpy and other C library functions that the
fortran runtime depends on for AMD GPU devices (and likely other GPU
devices).
This is the current method I've tested and found to be able to utilise
the Fortran runtime when compiled for AMD GPU, albeit it requires
compiling libc for GPU and then the Fortran runtime for GPU, so not
particularly straight forward or user friendly yet.
Activating this option will allow the subset of C functions to also be
utilised for GPU in other C/C++ based Fortran libraries if any are made
when linking against GPU libc.
Commit: c1ed45a271145acbfad81d87706aeebf361809c3
https://github.com/llvm/llvm-project/commit/c1ed45a271145acbfad81d87706aeebf361809c3
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
Log Message:
-----------
[mlir] Add global and program memory space handling to the data layout subsystem (#77367)
This patch is based on a previous PR https://reviews.llvm.org/D144657
that added alloca address space handling to MLIR's DataLayout and DLTI
interface. This patch aims to add identical features to import and
access the global and program memory space through MLIR's
DataLayout/DLTI system.
Commit: 2c651e6c381905aff6c7ac4b1585bad168f5b553
https://github.com/llvm/llvm-project/commit/2c651e6c381905aff6c7ac4b1585bad168f5b553
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A llvm/test/Transforms/LoopIdiom/AArch64/lit.local.cfg
Log Message:
-----------
[AArch64] Fix regression introduced by c7148467fc08eefaaae876c7d11d62… (#77467)
…9c849f42cf
Commit: 20c144ea10be1e4b2620a4a1c949cbad315cff72
https://github.com/llvm/llvm-project/commit/20c144ea10be1e4b2620a4a1c949cbad315cff72
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
Log Message:
-----------
[clang][Sema][NFC] Make a few parameters const
Commit: 963a2ebef8e9b3409ffc728e377dc53b0baff722
https://github.com/llvm/llvm-project/commit/963a2ebef8e9b3409ffc728e377dc53b0baff722
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
M llvm/test/Transforms/JumpThreading/loop-phi.ll
M llvm/test/Transforms/JumpThreading/unreachable-loops.ll
Log Message:
-----------
[JumpThreading] Regenerate test checks (NFC)
Commit: 7c00a5be5cdeb34711a546054ba0aa89c26d14eb
https://github.com/llvm/llvm-project/commit/7c00a5be5cdeb34711a546054ba0aa89c26d14eb
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
Log Message:
-----------
[PhaseOrdering] Regenerate test checks (NFC)
Commit: 2d54ec36f762a081c9f17cacd3407cc6f35622b1
https://github.com/llvm/llvm-project/commit/2d54ec36f762a081c9f17cacd3407cc6f35622b1
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
Log Message:
-----------
[SelectionDAG] Add and use SDNode::getAsAPIntVal() helper (#77455)
This is the logical equivalent for #76710 for APInt and uses the same
naming scheme.
Converted existing users through:
`git grep -l "cast<ConstantSDNode>\(.*\).*getAPIntValueValue" | xargs
sed -E -i
's/cast<ConstantSDNode>\((.*)\)->getAPIntValue/\1->getAsAPIntVal/'`
Commit: a2dba0c97756c65c7dd9d91bec2ceda80a933bb1
https://github.com/llvm/llvm-project/commit/a2dba0c97756c65c7dd9d91bec2ceda80a933bb1
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
Log Message:
-----------
[SEH][CodeGen] Add test to track CFG optimization bug for SEH (#77441)
LiveDebugValues requires CFG only has one entry. BranchFolding and
MachineBlockPlacement may remove all predecessors of landing pad which
leaves it to be another entry.
Commit: 06286a553280fc843d6f5df477a2c776aa2ece35
https://github.com/llvm/llvm-project/commit/06286a553280fc843d6f5df477a2c776aa2ece35
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[GISel] Add RegState::Define to temporary defs in apply patterns (#77425)
Previously, registers created for temporary defs in apply patterns were
rendered as uses, resulting in machine verifier errors.
Commit: e9ac2dc68d0b0578a5c1a98b4e083d133c1d7b2b
https://github.com/llvm/llvm-project/commit/e9ac2dc68d0b0578a5c1a98b4e083d133c1d7b2b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] XformToShuffleWithZero - use dyn_cast instead of isa/cast pair. NFCI.
Commit: db1d9ad109d8e0f17acb2de60c8b57085fe2de77
https://github.com/llvm/llvm-project/commit/db1d9ad109d8e0f17acb2de60c8b57085fe2de77
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/unittests/MI/LiveIntervalTest.cpp
Log Message:
-----------
[llvm/unittests] Reset the IsSSA property when using finalizeBundle() (#77469)
Commit: 0242d27dc89ff19e331ae4945933cdb360c7d4cf
https://github.com/llvm/llvm-project/commit/0242d27dc89ff19e331ae4945933cdb360c7d4cf
Author: Pradeep Kumar <pradeepisro49 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
Log Message:
-----------
[MLIR][NVVM] Add missing `;` when lowering stmatrix Op (#77471)
Commit: ab4af25d5dfaecf01e6c6e94dc79e7304321c376
https://github.com/llvm/llvm-project/commit/ab4af25d5dfaecf01e6c6e94dc79e7304321c376
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A mlir/docs/Dialects/OpenACC.md
M mlir/include/mlir/Dialect/OpenACC/OpenACCBase.td
Log Message:
-----------
[acc] OpenACC dialect design philosophy and details (#75548)
This document captures the design philosophy of the acc dialect. It also
shares the rationale behind the design and implementation of various
operations - and ties that back to the dialect design goals.
Co-authored-by: Valentin Clement <clementval at gmail.com>
Co-authored-by: Slava Zakharin <szakharin at nvidia.com>
Commit: a85cbe8f9036c8771fbf61335eb288eaefcda365
https://github.com/llvm/llvm-project/commit/a85cbe8f9036c8771fbf61335eb288eaefcda365
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/test/Modules/autolink_private_module.m
Log Message:
-----------
Disable autolink_private_module.m for z/OS & AIX
This change disables it on z/OS and AIX since it fails on both platforms with:
fatal error: error in backend: Objective-C support is unimplemented for object file format
Commit: 07c9189fcc063bdf6219d2733843c89cde3991e1
https://github.com/llvm/llvm-project/commit/07c9189fcc063bdf6219d2733843c89cde3991e1
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Profile/c-general.c
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/profile/InstrProfiling.h
A compiler-rt/test/profile/Linux/instrprof-weak-symbol.c
A compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
[PGO] Exposing PGO's Counter Reset and File Dumping APIs (#76471)
This PR exposes four PGO functions
- `__llvm_profile_set_filename`
- `__llvm_profile_reset_counters`,
- `__llvm_profile_dump`
- `__llvm_orderfile_dump`
to user programs through the new header `instr_prof_interface.h` under
`compiler-rt/include/profile`. This way, the user can include the header
`profile/instr_prof_interface.h` to introduce these four names to their
programs.
Additionally, this PR defines macro `__LLVM_INSTR_PROFILE_GENERATE` when
the program is compiled with profile generation, and defines macro
`__LLVM_INSTR_PROFILE_USE` when the program is compiled with profile
use. `__LLVM_INSTR_PROFILE_GENERATE` together with
`instr_prof_interface.h` define the PGO functions only when the program
is compiled with profile generation. When profile generation is off,
these PGO functions are defined away and leave no trace in the user's
program.
Background:
https://discourse.llvm.org/t/pgo-are-the-llvm-profile-functions-stable-c-apis-across-llvm-releases/75832
Commit: ca06c330fd07f05e65a638892c32ca1474d47b5e
https://github.com/llvm/llvm-project/commit/ca06c330fd07f05e65a638892c32ca1474d47b5e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-optimized-speed.cmake
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
M libcxx/test/support/count_new.h
M libcxx/test/support/test_macros.h
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libunwind/test/libunwind_02.pass.cpp
M libunwind/test/unw_resume.pass.cpp
M libunwind/test/unwind_leaffunction.pass.cpp
Log Message:
-----------
[libc++] Allow running the test suite with optimizations (#68753)
This patch adds a configuration of the libc++ test suite that enables
optimizations when building the tests. It also adds a new CI
configuration to exercise this on a regular basis. This is added in the
context of [1], which requires building with optimizations in order to
hit the bug.
[1]: https://github.com/llvm/llvm-project/issues/68552
Commit: 2aec7083ada09c8b8a0aad79492cbedcf8f9fbb7
https://github.com/llvm/llvm-project/commit/2aec7083ada09c8b8a0aad79492cbedcf8f9fbb7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[mlir][gpu] Use DenseI32Array for NVVM's maxntid and reqntid (NFC) (#77466)
Commit: 4b7e861d136d941d86b234fbcef520fd798b26fa
https://github.com/llvm/llvm-project/commit/4b7e861d136d941d86b234fbcef520fd798b26fa
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
Log Message:
-----------
[clang]use correct this scope to evaluate noexcept expr (#77416)
Fixes: #77411
When substituting deduced type, noexcept expr in method should be
instantiated and evaluated.
ThisScrope should be switched to method context instead of origin sema
context
Commit: 7f9e3bf062a4aa36ed5350282cc1c307641145f0
https://github.com/llvm/llvm-project/commit/7f9e3bf062a4aa36ed5350282cc1c307641145f0
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Classic/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Parallel/BUILD.gn
R llvm/utils/gn/secondary/llvm/lib/DWARFLinkerParallel/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/DWARFLinkerParallel/BUILD.gn
Log Message:
-----------
[gn] port 07c9189fcc06 (DWARFLinker/Classic)
Commit: ec56c922ab257845538215f21cac00cf278fbd04
https://github.com/llvm/llvm-project/commit/ec56c922ab257845538215f21cac00cf278fbd04
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
Log Message:
-----------
[gn] port 07c9189fcc06
Commit: f7cb1afa06335edfc043cb5f11f97907e9df844c
https://github.com/llvm/llvm-project/commit/f7cb1afa06335edfc043cb5f11f97907e9df844c
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
Log Message:
-----------
[gn] Make sync script print github URLs
Phab no longer knows about new revisions.
Commit: 4ea5c603b4c4db36b8ee7e04adf96416f4d996dc
https://github.com/llvm/llvm-project/commit/4ea5c603b4c4db36b8ee7e04adf96416f4d996dc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/include/lldb/Symbol/Type.h
M lldb/source/Symbol/Type.cpp
Log Message:
-----------
[lldb][Type] Add TypeQuery::SetLanguages API (#75926)
This is required for users of `TypeQuery` that limit the set of
languages of the query using APIs such as
`GetSupportedLanguagesForTypes` or
`GetSupportedLanguagesForExpressions`.
Example usage: https://github.com/apple/llvm-project/pull/7885
Commit: b5f2db940643af3837c77adde1dadb7208922211
https://github.com/llvm/llvm-project/commit/b5f2db940643af3837c77adde1dadb7208922211
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
Log Message:
-----------
[lldb][libc++] Adds some C++20 calendar data formatters. (#76983)
This adds a subset of the C++20 calendar data formatters:
- day,
- month,
- year,
- month_day,
- month_day_last, and
- year_month_day.
A followup patch will add the missing calendar data formatters:
- weekday,
- weekday_indexed,
- weekday_last,
- month_weekday,
- month_weekday_last,
- year_month,
- year_month_day_last
- year_month_weekday, and
- year_month_weekday_last.
Commit: 51bf0dff53fdaca25f30d30a1c99462c7afdce74
https://github.com/llvm/llvm-project/commit/51bf0dff53fdaca25f30d30a1c99462c7afdce74
Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
A llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
Log Message:
-----------
[GVNSink] Skip debug intrinsics when identifying sinking candidates (#77419)
Fixes #77147.
Commit: 9160f49e08af4267efdc870a1c9a434bfd155ae3
https://github.com/llvm/llvm-project/commit/9160f49e08af4267efdc870a1c9a434bfd155ae3
Author: Romaric Jodin <89833130+rjodinchr at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
Log Message:
-----------
libclc: generic: add half implementation for erf/erfc (#66901)
libclc does not have a half implementation for erf/erfc
Add one based on the float implementation by extending the input and
truncating the output.
Commit: c19995e9654f3ad01defea06f2cfe25cf57475c5
https://github.com/llvm/llvm-project/commit/c19995e9654f3ad01defea06f2cfe25cf57475c5
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
[bazel] Fix compiler-rt build after 07c9189fcc063bdf6219d2733843c89cde3991e1
Commit: affd9e8e00fc94ccfe87cc41b337852fb681adde
https://github.com/llvm/llvm-project/commit/affd9e8e00fc94ccfe87cc41b337852fb681adde
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
Log Message:
-----------
AMDGPU: Break vop3p handling out of vop3 base patterns (#77472)
Add the vop3p op_sel fields in getInsVOP3P instead of getInsVOP3Base.
Also start using defvar for some of the intermediate fields. let
overrides of all the visible fields are really difficult to follow.
Commit: dc03382d3e38c8028926b2b66eebf3ca98efc7d3
https://github.com/llvm/llvm-project/commit/dc03382d3e38c8028926b2b66eebf3ca98efc7d3
Author: Brad Smith <brad at comstyle.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[openmp][AIX] Add AIX to __kmp_set_stack_info() (#77421)
Commit: 5cfe24eee49dfb9f6f72e73142e075dbbadd3089
https://github.com/llvm/llvm-project/commit/5cfe24eee49dfb9f6f72e73142e075dbbadd3089
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
Log Message:
-----------
[mlir][Vector] Add nontemporal attribute, mirroring memref (#76752)
Since vector loads and stores from scalar memrefs translate to
llvm.load/store, add the ability to tag said loads and stores as
nontemporal. This mirrors functionality available in memref.load/store.
Commit: 888a20c466e1a7b0da4bd662da8668f13a14e75f
https://github.com/llvm/llvm-project/commit/888a20c466e1a7b0da4bd662da8668f13a14e75f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
A llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
Log Message:
-----------
AMDGPU: Drop amdgpu-no-lds-kernel-id attribute in LDS lowering (#71481)
This is in preparation for moving the run of AMDGPUAttributor earlier.
Currently it infers the lack of the corresponding intrinsic calls,
so if we introduce new ones we need to remove the attribute from any
possible transitive callers. This is more conservative than necessary,
we could try to identify specific subgraphs where LDS globals are not
used.
Other options include teaching the attributor to avoid adding it in
cases
where the lowering may choose the table, but this seems more complex.
Alternatively could add a second run which doesn't seem worth it.
Depends #71349
Commit: 79e17cd01491c0fde241097ad4c5c24afbb1883e
https://github.com/llvm/llvm-project/commit/79e17cd01491c0fde241097ad4c5c24afbb1883e
Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
[clang] Improve bit-field in ref NTTP diagnostic (#71077)
Prior to this, attempts to bind a bit-field to an NTTP of reference type
produced an error because references to subobjects in NTTPs are
disallowed. But C++20 allows references to subobjects in NTTPs generally
(see
[P1907R1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1907r1.html)).
Without this change, implementing P1907R1 would cause a bug allowing
bit-fields to be bound to reference template arguments.
Extracted from https://reviews.llvm.org/D140996
Commit: c9da4dc77f780df003718bc0d36c0c9e371bfb9c
https://github.com/llvm/llvm-project/commit/c9da4dc77f780df003718bc0d36c0c9e371bfb9c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Refactor GPRF64 register class to make it usable for Zacas. (#77408)
-Rename to GPRPair.
-Rename registers to be named like X10_X11 instead of X10_PD. Except X0
which is now X0_Pair since it is not paired with X1.
-Use unknown size and offset for the subreg indices. This might
be a functional change, but does not affect any lit tests.
Commit: 6eb372e4e46a6dc4511f454b6501e93eb4cad22d
https://github.com/llvm/llvm-project/commit/6eb372e4e46a6dc4511f454b6501e93eb4cad22d
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[clang-tidy] Improve performance of misc-const-correctness (#72705)
Replaced certain AST matchers in ExprMutationAnalyzer with a more direct
utilization of AST classes. The primary bottleneck was identified in the
canResolveToExpr AST matcher. Since this matcher was employed multiple
times and used recursively, each invocation led to the constant creation
and destruction of other matchers within it. Additionally, the continual
comparison of DynTypedNode resulted in significant performance
degradation.
The optimization was tested on the TargetLowering.cpp file. Originally,
the check took 156 seconds on that file, but after implementing this
enhancement, it now takes approximately 40 seconds, making it nearly
four times faster.
Despite this improvement, there are still numerous issues in this file.
To further reduce the computational cost of this class, it is advisable
to consider removing the remaining matchers and exploring alternatives
such as leveraging RecursiveASTVisitor and increasing the direct use of
AST classes.
Closes #71786
Commit: 810c291574831eb06bfcb8fa0e27f9bbd5af6c59
https://github.com/llvm/llvm-project/commit/810c291574831eb06bfcb8fa0e27f9bbd5af6c59
Author: David Green <david.green at arm.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/count-elemental.fir
Log Message:
-----------
[Flang] Generate inline reduction loops for elemental count intrinsics (#75774)
This adds a ReductionElementalConversion transform to
OptimizedBufferizationPass, taking hlfir::count(hlfir::elemental) and
generating the inline loop to perform the count of true elements. This
lets us generate a single loop instead of ending up as two plus a
temporary.
Any and All should be able to share the same code with a different
function/initial value.
Commit: 8ca0364d33c7e6c4083e3b1c0b77b00b2c93ff46
https://github.com/llvm/llvm-project/commit/8ca0364d33c7e6c4083e3b1c0b77b00b2c93ff46
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/TextAPI/InterfaceFile.cpp
Log Message:
-----------
[TextAPI] Skip adding empty attributes (#77400)
An empty string attribute value (e.g. a parent-umbrella: "") is
equivalent to omitting it. Theres no reason to write it out.
Commit: 90525125421300d9d1b6bf55288bd1871855d35d
https://github.com/llvm/llvm-project/commit/90525125421300d9d1b6bf55288bd1871855d35d
Author: David Green <david.green at arm.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
Log Message:
-----------
[Flang] Remove unnecessary static_assert
Certain compilers do not seem to like the static assert with a string, causing
a implicit conversion. It can be removed as it should not be reachable and the
mlir::failure should handle it correctly in case it is.
Commit: 02fa434b92a5529f043b3fa353bc4fc5bd680424
https://github.com/llvm/llvm-project/commit/02fa434b92a5529f043b3fa353bc4fc5bd680424
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
Log Message:
-----------
[mlir][openacc] Restore unit tests for device_type functions (#77122)
These tests were initially pushed together with
https://github.com/llvm/llvm-project/pull/75864 but they were triggering
some buildbot failure (sanitizers). They now make use of the
`OwningOpRef` so all the resources are correctly destroyed at the end of
each tests.
They will be extended to includes all the extra getter functions added
with device_type support.
Commit: ed640420b50e960b7700e2fa973b9fdcdcb32838
https://github.com/llvm/llvm-project/commit/ed640420b50e960b7700e2fa973b9fdcdcb32838
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/lib/Semantics/check-acc-structure.cpp
M flang/test/Semantics/OpenACC/acc-loop.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Fix clauses check with device_type (#77389)
A couple of clauses are allowed multiple times when they are separated
by a device_type clause. This patch updates the ACC.td file to move
these clauses to the `allowedClause` list and the
`CheckAllowedOncePerGroup` function is used to make sure they appear
only once on the directive or for each device_type.
Commit: 064e73cd54061d39d42ae682d2f0780296a6ca5d
https://github.com/llvm/llvm-project/commit/064e73cd54061d39d42ae682d2f0780296a6ca5d
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/GVNSink.cpp
R llvm/test/Transforms/GVNSink/sink-ignore-dbg-intrinsics.ll
Log Message:
-----------
Revert "[GVNSink] Skip debug intrinsics when identifying sinking candidates (#77419)"
This reverts commit 51bf0dff53fdaca25f30d30a1c99462c7afdce74.
There are test failures on Windows.
Commit: d29297239f4ebfd2948915fe084e1d2e36f558f9
https://github.com/llvm/llvm-project/commit/d29297239f4ebfd2948915fe084e1d2e36f558f9
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
Log Message:
-----------
[libc++] Implements P2517R1. (#77239)
As pointed out by @Zingam the paper was implemented in libc++ as an
extension. This patch does the bookkeeping. The inital release version
is based on historical release dates.
Completes:
- Add a conditional noexcept specification to std::apply
Commit: f0fd8fd752d69671d0cf391d90d9aba10da98978
https://github.com/llvm/llvm-project/commit/f0fd8fd752d69671d0cf391d90d9aba10da98978
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M README.md
M libcxx/docs/index.rst
Log Message:
-----------
[libc++][CI] Moves CI badge to main README. (#77247)
The current CI badge is currently in libc++ documentation. This does not
seem the right place:
- The typical location on GitHub is on the main README.
- The documentation is shipped as part of the release:
- This link does not work in off-line mode. Currently our documentation
works in off-line mode.
- The status in the release documentation does not reflect the status of
the shipped library. So users looking at it may see a red status and get
confused.
This moves the badge to the README.
Commit: 03a0bfa96a6eb09c4bbae344ac3aa062339aa730
https://github.com/llvm/llvm-project/commit/03a0bfa96a6eb09c4bbae344ac3aa062339aa730
Author: martinboehme <mboehme at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Log Message:
-----------
[clang][dataflow] Add an early-out to `flowConditionImplies()` / `flowConditionAllows()`. (#77453)
This saves having to assemble the set of constraints and run the SAT
solver in
the trivial case where `F` is true.
This is a performance win on the benchmarks for the Crubit nullability
checker:
```
name old cpu/op new cpu/op delta
BM_PointerAnalysisCopyPointer 64.1µs ± 5% 63.1µs ± 0% -1.56% (p=0.000 n=20+17)
BM_PointerAnalysisIntLoop 172µs ± 2% 171µs ± 0% ~ (p=0.752 n=20+17)
BM_PointerAnalysisPointerLoop 408µs ± 3% 355µs ± 0% -12.99% (p=0.000 n=20+17)
BM_PointerAnalysisBranch 201µs ± 2% 184µs ± 0% -8.28% (p=0.000 n=20+19)
BM_PointerAnalysisLoopAndBranch 684µs ± 2% 613µs ± 2% -10.38% (p=0.000 n=20+19)
BM_PointerAnalysisTwoLoops 309µs ± 2% 308µs ± 2% ~ (p=0.728 n=20+19)
BM_PointerAnalysisJoinFilePath 37.9ms ± 2% 37.9ms ± 2% +0.06% (p=0.041 n=20+19)
BM_PointerAnalysisCallInLoop 26.5ms ± 2% 26.4ms ± 4% -0.59% (p=0.024 n=20+20)
```
When running clang-tidy on real-world code, the results are less clear.
In
three runs, averaged, on an arbitrarily chosen input file, I get 11.91 s
of user
time without this patch and 11.81 s with it, though with considerable
measurement noise (I'm seeing up to 0.2 s of variation between runs).
Still, this is a very simple change, and it is a clear win in
benchmarks, so I
think it is worth making.
Commit: 1b8e39a1a2e8237852914501e3361d98af6db054
https://github.com/llvm/llvm-project/commit/1b8e39a1a2e8237852914501e3361d98af6db054
Author: Jake Egan <5326451+jakeegan at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/test/Modules/autolink_private_module.m
Log Message:
-----------
[clang][modules] Objective-C test lacks support on AIX/zOS (#77485)
To fix error: `fatal error: error in backend: Objective-C support is
unimplemented for object file format`
Same rationale as 22f01cd.
Commit: 7620f03ef7a662384d67b6bd1fad8582dfe9dd82
https://github.com/llvm/llvm-project/commit/7620f03ef7a662384d67b6bd1fad8582dfe9dd82
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/CodeGen/AArch64/patchable-function-entry.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
M llvm/test/CodeGen/Mips/xray-section-group.ll
M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
M llvm/test/CodeGen/X86/basic-block-sections-labels-functions-sections.ll
M llvm/test/CodeGen/X86/gcc_except_table-multi.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
M llvm/test/CodeGen/X86/stack-size-section.ll
M llvm/test/CodeGen/X86/xray-section-group.ll
M llvm/test/MC/ELF/section-combine.s
M llvm/test/MC/ELF/section.s
Log Message:
-----------
[MC] Parse SHF_LINK_ORDER argument before section group name (#77407)
When both SHF_LINK_ORDER | SHF_GROUP flags are set, GNU assembler from
2.35 onwards (https://sourceware.org/PR25381
https://sourceware.org/binutils/docs/as/Section.html) parses the
SHF_LINK_ORDER argument before section group name, different from us.
This is unfortunate, but does not matter because the `.section` flag `o`
is a niche feature only used by compiler instrumentations, not adopted
by hand-written assembly, and using both flags is extremely rare. Let's
just match GNU assembler. There is another benefit: we now support
zero-flag section group with the SHF_LINK_ORDER flag, while previously
there isn't a syntax.
While here, print 'G' after 'o' to be clear that the 'G' argument is
parsed after the 'o' argument. To make the diff smaller, we don't print
'G' after 'w' in the absence of 'o' for now.
Commit: fa9284589f111cfd3614a75bfbe0709db39a8f15
https://github.com/llvm/llvm-project/commit/fa9284589f111cfd3614a75bfbe0709db39a8f15
Author: Adrian Prantl <adrian-prantl at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/include/lldb/Core/Module.h
M lldb/source/Core/Module.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
M lldb/tools/lldb-test/lldb-test.cpp
Log Message:
-----------
[lldb] DWARFDIE: Follow DW_AT_specification when computing CompilerCo… (#77157)
…ntext
Following the specification chain seems to be clearly the expected
behavior of GetDeclContext(). Otherwise C++ methods have an empty
CompilerContext instead of being nested in their struct/class.
Theprimary motivation for this functionality is the Swift plugin. In
order to test the change I added a proof-of-concept implementation of a
Module::FindFunction() variant that takes a CompilerContext, expesed via
lldb-test.
rdar://120553412
Commit: f972e4d3434364718899f974e4d1c8e60aea91fa
https://github.com/llvm/llvm-project/commit/f972e4d3434364718899f974e4d1c8e60aea91fa
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/MC/MCSectionELF.cpp
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/SPARC/constructor.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/elf-comdat.ll
M llvm/test/CodeGen/X86/elf-comdat2.ll
M llvm/test/CodeGen/X86/elf-group.ll
M llvm/test/CodeGen/X86/explicit-section-mergeable.ll
M llvm/test/CodeGen/X86/global-sections-comdat.ll
M llvm/test/DebugInfo/SystemZ/eh_frame_personality.ll
M llvm/test/DebugInfo/SystemZ/eh_frame_personality.s
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_ehframe_basic.s
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_ehframe_large_static_personality_encodings.s
M llvm/test/MC/ELF/alias-to-local.s
M llvm/test/MC/ELF/relocation.s
M llvm/test/tools/llvm-symbolizer/frame.s
Log Message:
-----------
[MC,ELF] .section: unconditionally print section flag 'G' after 'o'
* Placing 'G' before 'M' (SHF_MERGE) can be misleading as the sh_entsize
argument goes before the section group name, if a reader doesn't know
that the order of extra arguments is not affected by the order of flags.
* 'a', 'w', and 'x' indicate basic permission-related flags. Separating
them with 'G' is kinda ugly.
Simplify code and move 'G' after 'o'. The new output is more similar to
GCC.
Commit: c1173e4e05375514b1416e00b092e1ea1468a46e
https://github.com/llvm/llvm-project/commit/c1173e4e05375514b1416e00b092e1ea1468a46e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Use FoldConstantArithmetic for unary bitops constant folding.
BSWAP/BITREVERSE/CTPOP/CTLZ/CTLZ_ZERO_UNDEF/CTTZ/CTTZ_ZERO_UNDEF are all handled by FoldConstantArithmetic - so use directly instead of testing for isConstantIntBuildVectorOrConstantInt and relying on DAG.getNode() to perform the constant fold.
Commit: 417df8ee4a149cc49b3fa7e68c64cb926fee8a6f
https://github.com/llvm/llvm-project/commit/417df8ee4a149cc49b3fa7e68c64cb926fee8a6f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr77459.ll
Log Message:
-----------
[X86] Add test coverage for #77459
Commit: a50ea2f76f993f65c8756067f7ad5a21e560b0c9
https://github.com/llvm/llvm-project/commit/a50ea2f76f993f65c8756067f7ad5a21e560b0c9
Author: Nicholas Mosier <nmosier at stanford.edu>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
M lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
M lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/test/API/commands/trace/TestTraceDumpInfo.py
M lldb/test/API/commands/trace/TestTraceLoad.py
Log Message:
-----------
[lldb] Fix Intel PT plugin compile errors (#77252)
Fix #77251.
Commit: 0ab5d8ba023f920e03dcd328f62c4df1855af374
https://github.com/llvm/llvm-project/commit/0ab5d8ba023f920e03dcd328f62c4df1855af374
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lld/test/ELF/linkorder-group.test
Log Message:
-----------
[ELF,test] Set alignment of SHT_GROUP to 4
Fixes: 0930f62cf600d9e2e9a45fef1b3a422d50be89d5
This makes the test more conforming and fixes a -fsanitize=alignment
failure in finalizeShtGroup.
Commit: 144ae5b271f7026dec51617c667047a9641fd9e0
https://github.com/llvm/llvm-project/commit/144ae5b271f7026dec51617c667047a9641fd9e0
Author: madanial0 <118996571+madanial0 at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
Log Message:
-----------
[Flang] Xfail hlfir test case on AIX (#76802)
This test case seems to fail at the `Merge disjoint stack slots` pass on
AIX, it passes if compilled with `-mllvm --no-stack-coloring`. This PR
xfails the teest case on AIX temporarily until the issue is addressed.
---------
Co-authored-by: Mark Danial <mark.danial at ibm.com>
Commit: 3210ce276350a247220b193db12a9b45d1034724
https://github.com/llvm/llvm-project/commit/3210ce276350a247220b193db12a9b45d1034724
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr77459.ll
Log Message:
-----------
[X86] Fold (iX bitreverse(bitcast(vXi1 X))) -> (iX bitcast(shuffle(X)))
X86 doesn't have a BITREVERSE instruction, so if we're working with a casted boolean vector, we're better off shuffling the vector instead if we have PSHUFB (SSSE3 or later)
Fixes #77459
Commit: b565ee1ad3b40a6eadfce24f65069091b76ea47f
https://github.com/llvm/llvm-project/commit/b565ee1ad3b40a6eadfce24f65069091b76ea47f
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
R mlir/docs/Dialects/OpenACC.md
A mlir/docs/Dialects/OpenACCDialect.md
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
Log Message:
-----------
[acc] Fix OpenACC documentation (#77502)
After PR#75548, the OpenACC documentation on the MLIR website has a few
issues. This change corrects them:
- Renames OpenACC.md to OpenACCDialect.md so that links remain
unchanged. In its current state, the links to
https://mlir.llvm.org/docs/Dialects/OpenACCDialect/ no longer work.
- Since the old OpenACCDialect.md (the one with operation definitions)
is being included in the new file, rename the old file to prevent name
ambiguity.
- A header is needed in the .md file, otherwise the index on website is
not properly created.
- Add a new section before including the operations .md file because
otherwise the separation is not clear.
Commit: b629b8662c16ebe76c0779d85bef41a2eea49671
https://github.com/llvm/llvm-project/commit/b629b8662c16ebe76c0779d85bef41a2eea49671
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-globals.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
Log Message:
-----------
[AMDGPU][MC] Use normal ELF syntax for section switching (#77267)
For some reasons `SunStyleELFSectionSwitchSyntax` is set to `true` for
AMDGPU, but according to
https://github.com/llvm/llvm-project/issues/64862#issuecomment-1880419239
that syntax is only limited to Sun system.
Fix #64862.
Commit: a43e0f90b650fdcdf80bcb221d50a62905bf8977
https://github.com/llvm/llvm-project/commit/a43e0f90b650fdcdf80bcb221d50a62905bf8977
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/test/support/filesystem_test_helper.h
Log Message:
-----------
[libc++][test] try to directly create socket file in /tmp when filepath is too long (#77058)
If TMP is set to a folder which path is too long, the current libcxx
test helper function `create_socket()` will fail because of the test
temp folder `test_root`'s path is too long to be used in socket
creation.
In such case, this patch will try to create the socket file directly in
`/tmp` folder.
This patch also add an assertion for `bind()`.
Commit: 6c207ee5d20d2b054509123e6d0507df1332b376
https://github.com/llvm/llvm-project/commit/6c207ee5d20d2b054509123e6d0507df1332b376
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
A llvm/test/CodeGen/RISCV/option-relax-relocation.ll
Log Message:
-----------
[RISCV] Force relocations if initial MCSubtargetInfo contains FeatureRelax (#77436)
Regarding
```
.option norelax
j label
.option relax
// relaxable instructions
// For assembly input, RISCVAsmParser::ParseInstruction will set ForceRelocs (https://reviews.llvm.org/D46423).
// For direct object emission, ForceRelocs is not set after https://github.com/llvm/llvm-project/pull/73721
label:
```
The J instruction needs a relocation to ensure the target is correct
after linker relaxation. This is related a limitation in the assembler:
RISCVAsmBackend::shouldForceRelocation decides upfront whether a
relocation is needed, instead of checking more information (whether
there are relaxable fragments in between).
Despite the limitation, `j label` produces a relocation in direct object
emission mode, but was broken by #73721 due to the shouldForceRelocation
limitation.
Add a workaround to RISCVTargetELFStreamer to emulate the previous
behavior.
Link: https://github.com/ClangBuiltLinux/linux/issues/1965
Commit: 0804ef2d1539fde7f45e18e4f87d99f7019f9aae
https://github.com/llvm/llvm-project/commit/0804ef2d1539fde7f45e18e4f87d99f7019f9aae
Author: Sanjay Marreddi <sanjay.mareddi at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/include/regex
M libcxx/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp
Log Message:
-----------
[libc++] Fix `regex_search` to match `$` alone with `match_default` flag (#77256)
Using `regex_search` with the regex_constant `match_default` and a
simple regex pattern `$` is expected to match general strings such as
_"a", "ab", "abc"..._ at `[last, last)` positions. But, the current
implementation fails to do so.
Fixes #75042
Commit: 65a1efc60ca390cb68409fd27d5648b4caa6cb54
https://github.com/llvm/llvm-project/commit/65a1efc60ca390cb68409fd27d5648b4caa6cb54
Author: James Touton <bekenn at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/include/__memory/shared_ptr.h
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/cmp_nullptr.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.special/cmp_nullptr.pass.cpp
Log Message:
-----------
Fixed shared_ptr comparisons with nullptr_t when spaceship is unavailable. (#76781)
This was causing compilation errors when attempting to compare a
`shared_ptr<T[]>` with `nullptr`, as `get()` returns `T*` rather than `T
(*)[]`. `unique_ptr` did not have this issue, but I've added tests to
make sure.
Commit: 7e956ca88a90feadd2982ba52e0b008a9fa2249e
https://github.com/llvm/llvm-project/commit/7e956ca88a90feadd2982ba52e0b008a9fa2249e
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/no-libcalls.ll
Log Message:
-----------
[NFC][AMDGPU] Require `x86-registered-target` for `llvm/test/Transforms/MemCpyOpt/no-libcalls.ll`
The test sets `-mtriple=x86_64` but doesn't require it. This can cause issue on
non-x86 system.
Commit: b6d1577071017f1ba3f12bfe30c1746ffaf5d98d
https://github.com/llvm/llvm-project/commit/b6d1577071017f1ba3f12bfe30c1746ffaf5d98d
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
[PGO] Fix `instrprof-api.c` on Windows (#77508)
https://github.com/llvm/llvm-project/pull/76471 introduced a new test
but the check lines have over-restrictive patterns for a string variable
name that cause test failures on Windows (e.g.
https://lab.llvm.org/buildbot/#/builders/127/builds/60637/steps/4/logs/stdio).
This PR fixes the test.
Commit: c7c68f1764ddd38d940946007c634b4bacb902b2
https://github.com/llvm/llvm-project/commit/c7c68f1764ddd38d940946007c634b4bacb902b2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
A openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.cpp
A openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.h
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Allow the CPU targets to be built without libffi (#77495)
Summary:
The CPU targets currently rely on `libffi` to invoke the "kernel"
functions. Previously we would not build these if this dependency was
not found. This patch copies th eapproach used for things like CUDA and
HSA to dynamically load this if it is not found.
The one sketchy thing this does is hard-code the default ABI for the
target. These are normally defined on a per-file basis in the FFI
source, so I had to fish out the expected values. We only use two types,
so ideally we will always be able to use the default ABI.
It's possible we could remove this dependency entirely in the future as
well.
Commit: 340cc1702e21128b62799c5dfbf2875c3c2c96a1
https://github.com/llvm/llvm-project/commit/340cc1702e21128b62799c5dfbf2875c3c2c96a1
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/setmaxnreg.ll
A llvm/test/Verifier/NVPTX/lit.local.cfg
A llvm/test/Verifier/NVPTX/setmaxnreg.ll
Log Message:
-----------
[LLVM][NVPTX]: Add intrinsic for setmaxnreg (#77289)
This patch adds an intrinsic for setmaxnreg PTX instruction.
* PTX Doc link for this instruction:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-setmaxnreg
* The i32 argument, an immediate value, specifies the actual
absolute register count for the instruction.
* The `setmaxnreg` instruction is available in SM90a.
So, this patch adds 'hasSM90a' predicate to use in
the NVPTX backend.
* lit tests are added to verify the lowering of the intrinsic.
* Verifier logic (and tests) are added to test the register
count range and divisibility-by-8 requirements.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 47605ffec8864e989905027b2f56277e2dc8b8fa
https://github.com/llvm/llvm-project/commit/47605ffec8864e989905027b2f56277e2dc8b8fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/source/Target/ProcessTrace.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/source/Target/ProcessTrace.cpp:23:33: error: extra ';' outside
of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: fb1466216889e9f4d884a387f430d2e85b4542f6
https://github.com/llvm/llvm-project/commit/fb1466216889e9f4d884a387f430d2e85b4542f6
Author: Ralf Jung <post at ralfj.de>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
LangRef: rint, nearbyint: mention that default rounding mode is assumed (#77191)
LLVM assumes round-to-nearest mode and sometimes performs constant-folding based on that assumption. This updates the language ref documentation for the rint and nearbyint intrinsics to mention that fact.
Commit: baa8c2abcd8da31549996458c9df4871454b0673
https://github.com/llvm/llvm-project/commit/baa8c2abcd8da31549996458c9df4871454b0673
Author: sethp <seth.pellegrino at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/test/Frontend/verify.c
Log Message:
-----------
[Clang] Wide delimiters ('{{{') for expect strings (#77326)
Prior to this commit, it was impossible to use the simple string
matching directives to look for any content that contains unbalanced
`{{` `}}` pairs, such as:
```
// expected-note {{my_struct{{1}, 2}}}
```
Which would parse like so:
```
"nested" brace v
// expected-note {{my_struct{{1}, 2}}}
closes the nested brace ^ |
trailing }
```
And the frontend would complain 'cannot find end ('}}') of expected'.
At this snapshot, VerifyDiagnosticConsumer's parser now counts the
opening braces and looks for a matching length of closing sigils,
allowing the above to be written as:
```
// expected-note {{{my_struct{{1}, 2}}}}
opening brace |-| |-|
closing brace is '}}}', found here ^
```
This came about as a result of this discussion:
https://github.com/llvm/llvm-project/pull/74852#discussion_r1443117644
cc @erichkeane
Commit: 3a8a9267c5ee75e0d1e2f00662d2b913e1dba8d1
https://github.com/llvm/llvm-project/commit/3a8a9267c5ee75e0d1e2f00662d2b913e1dba8d1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[Instrumentation] Remove redundant LLVM_DEBUG (NFC)
Commit: cd101ab76bdee8d2583ae7b0dfbae9a745373731
https://github.com/llvm/llvm-project/commit/cd101ab76bdee8d2583ae7b0dfbae9a745373731
Author: Nic <NCGThompson at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Tweak description of `@llvm.is.constant.*` (#77519)
Fixes #77517
Commit: ab590377a371d8099829f77ab4e67c24f8740bd9
https://github.com/llvm/llvm-project/commit/ab590377a371d8099829f77ab4e67c24f8740bd9
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
A mlir/test/Dialect/Mesh/folding.mlir
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
[mlir][mesh] Add folding of ClusterShapeOp (#77033)
If the mesh has static size on some of the requested axes, the result is
substituted with a constant.
Commit: 4e8986fc58dd88cbef9089a9b2841e0a87cbb481
https://github.com/llvm/llvm-project/commit/4e8986fc58dd88cbef9089a9b2841e0a87cbb481
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/X86/cov-sections.ll
Log Message:
-----------
[Coverage] Mark coverage sections as metadata sections on COFF. (#76834)
Mark `.lcovmap$M`, `.lcovfun$M`, `.lcovd` and `.lcovn` as metadata
sections on COFF so they are not loaded into memory.
Commit: 71e5652f47b0d02a54aa9582319648bc4c23842c
https://github.com/llvm/llvm-project/commit/71e5652f47b0d02a54aa9582319648bc4c23842c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/test/hwasan/TestCases/Linux/aligned_alloc-alignment.cpp
M compiler-rt/test/hwasan/TestCases/Linux/pvalloc-overflow.cpp
M compiler-rt/test/hwasan/TestCases/Posix/posix_memalign-alignment.cpp
M compiler-rt/test/hwasan/TestCases/allocator_returns_null.cpp
M compiler-rt/test/hwasan/TestCases/halt-on-error.cpp
M compiler-rt/test/hwasan/TestCases/report-unmapped.cpp
M compiler-rt/test/hwasan/TestCases/use-after-free.c
M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
Log Message:
-----------
[sanitizer] Select non-internal frames in ReportErrorSummary (#77406)
Summary contains one line and should point to user code instead of
internal compiler-rt location. TSAN already does that.
Commit: e07a2f49e3d3c13b6e9b89e0f6118652f2b2d3ac
https://github.com/llvm/llvm-project/commit/e07a2f49e3d3c13b6e9b89e0f6118652f2b2d3ac
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/types.h
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/types.h
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/types.h
M libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/types.h
M libcxx/test/support/test_range.h
Log Message:
-----------
[libc++][NFC] Create and use test-defined simple_view concept (#77334)
Instead of using a concept defined in the internal implementation, use a
definition of the simple_view ranges concept separately defined and
included in test code.
Commit: b5d4332286154838557a8ab5c76b794e85d946b3
https://github.com/llvm/llvm-project/commit/b5d4332286154838557a8ab5c76b794e85d946b3
Author: Walter Erquinigo <a20012251 at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
A lldb/tools/lldb-dap/.editorconfig
A lldb/tools/lldb-dap/.gitignore
A lldb/tools/lldb-dap/.prettierrc.json
A lldb/tools/lldb-dap/.vscode/launch.json
A lldb/tools/lldb-dap/.vscode/tasks.json
A lldb/tools/lldb-dap/LICENSE.TXT
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
A lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/disposable-context.ts
A lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/types.ts
A lldb/tools/lldb-dap/tsconfig.json
Log Message:
-----------
[lldb-dap] Create a typescript extension for lldb-dap (#75515)
The main motivations behind this are two:
- Allow different companies developing their own vscode extensions for
LLDB to have a single contribution point, thus sharing resources and
working as a virtual large team.
- Allow for visual ways to configure the debugger, which currently has
to be done through launch.json files.
In terms of implementation, this is very straightforward and these are
the most important details:
- All the cpp code has been moved to a subfolder for cleanness. There's
a specific commit in the list of commits of this PR that just does that,
in case that helps reviewing this.
- A new folder `src-ts` has been created for the typescript code
- The ts extension can be used in two ways: as a regular vscode
extension and as a library. There file `extension.ts` explains which
entry point to use.
- The README has been updated the mention how to install the extension,
which is simpler than before. There are two additional sections for
rebuilding and formatting.
- The ts code I added merely sets up the debug adapter using two
possible options: reading the lldb-dap path from vscode settings or from
a config object passed by users of the extension is used as a library. I
did this to show how we can support easily both worlds.
Commit: a7262d2d9bee9bdfdbcd03ca27a0128c2e2b1c1a
https://github.com/llvm/llvm-project/commit/a7262d2d9bee9bdfdbcd03ca27a0128c2e2b1c1a
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/python/ir/diagnostic_handler.py
Log Message:
-----------
[mlir][arith] Add overflow flags support to arith ops (#77211)
Add overflow flags support to the following ops:
* `arith.addi`
* `arith.subi`
* `arith.muli`
Example of new syntax:
```
%res = arith.addi %arg1, %arg2 overflow<nsw> : i64
```
Similar to existing LLVM dialect syntax
```
%res = llvm.add %arg1, %arg2 overflow<nsw> : i64
```
Tablegen canonicalization patterns updated to always drop flags, proper
support with tests will be added later.
Updated LLVMIR translation as part of this commit as it currenly written
in a way that it will crash when new attributes added to arith ops
otherwise.
Discussion
https://discourse.llvm.org/t/rfc-integer-overflow-flags-support-in-arith-dialect/76025
---------
Co-authored-by: Yi Wu <yi.wu2 at arm.com>
Commit: b932f03bda5a88f699d33d118ca2735da3c66677
https://github.com/llvm/llvm-project/commit/b932f03bda5a88f699d33d118ca2735da3c66677
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/src/math/smoke/CMakeLists.txt
Log Message:
-----------
[libc] Disable Death Tests While Hermetic (#77388)
The death test infrastructure seems to depend on operator new, which
isn't currently supported in our hermetic tests. This patch just
disables the death tests in hermetic mode since they only overlap in the
nan tests.
Commit: 5f71aa9270c3d680babfbc6e766773d113c2a79a
https://github.com/llvm/llvm-project/commit/5f71aa9270c3d680babfbc6e766773d113c2a79a
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
Log Message:
-----------
[lldb] [Mach-O] don't strip the end of the "kern ver str" LC_NOTE (#77538)
The "kern ver str" LC_NOTE gives lldb a kernel version string -- with a
UUID and/or a load address (stext) to load it at. The LC_NOTE specifies
a size of the identifier string in bytes. In
ObjectFileMachO::GetIdentifierString, I copy that number of bytes into a
std::string, and in case there were additional nul characters at the end
of the sting for padding reasons, I tried to shrink the std::string to
not include these extra nul's.
However, I did this resizing without handling the case of an empty
identifier string. I don't know why any corefile creator would do that,
but of course at least one does. This patch removes the resizing
altogether; I was solving something that hasn't ever shown to be a
problem. I also added a test case for this, to check that lldb doesn't
crash when given one of these corefiles.
rdar://120390199
Commit: feb49bb42433c55a206489d4c8dafd940c019e30
https://github.com/llvm/llvm-project/commit/feb49bb42433c55a206489d4c8dafd940c019e30
Author: Nour1248 <121687016+Nour1248 at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
Log Message:
-----------
[clangd] Fix typo in function name in AST.cpp (#77504)
Commit: 046dffce237f193a50a46c3f5bd8a8ca2efc3c77
https://github.com/llvm/llvm-project/commit/046dffce237f193a50a46c3f5bd8a8ca2efc3c77
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
Log Message:
-----------
Fix -Wunused-variable in TestSimplifications.cpp (NFC)
llvm-project/mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp:36:17:
error: unused variable 'status' [-Werror,-Wunused-variable]
LogicalResult status =
^
1 error generated.
Commit: ab82b0624015d910455b5844cb0ad3d2a4d38732
https://github.com/llvm/llvm-project/commit/ab82b0624015d910455b5844cb0ad3d2a4d38732
Author: Chris Apple <14171107+cjappl at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M compiler-rt/cmake/config-ix.cmake
Log Message:
-----------
Make SANITIZER_MIN_OSX_VERSION a cache variable (#74394)
It is desirable to be able to configure the `-mmacosx-version-min` flag
for the sanitizers, but this flag was never made a CACHE variable in
cmake.
By doing this, it will allow developers to select different minimum
versions, which results in different interceptors being enabled or
disabled on their platforms. This version can now persist between cmake
runs, so it can be remembered by cmake, and edited in the cache file.
Commit: 412d784188257f6b8a3748ac9a800002db861181
https://github.com/llvm/llvm-project/commit/412d784188257f6b8a3748ac9a800002db861181
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
Log Message:
-----------
[mlir][sparse][CRunnerUtils] Add shuffle in CRunnerUtils (#77124)
Shuffle can generate an array of unique and random numbers from 0 to
size-1. It can be used to generate tensors with specified sparsity
level.
Commit: 46944210ebd93765b068eeba22bd3e337099af3e
https://github.com/llvm/llvm-project/commit/46944210ebd93765b068eeba22bd3e337099af3e
Author: Ding Fei <fding at feysh.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
A clang/test/Parser/gh30908-scope-balance-on-invalid-var-direct-init-1.cpp
A clang/test/Parser/gh30908-scope-balance-on-invalid-var-direct-init-2.cpp
Log Message:
-----------
[clang][Parser] Pop scope prior VarDecl invalidating by invalid init (#77434)
Invalid (direct) initializer would invalid `VarDecl` so
`InitializerScopeRAII` cannot restore scope stack balance.
As with other kind of initializer, `InitializerScopeRAII::pop()` is
moved up before `Sema::ActOnInitializerError()` which invalidates the
`VarDecl`, so scope can be balanced and current `DeclContext` can be
restored.
Fixes #30908
Commit: ea3c7b3397f8de8e885ea7cd1ed5138ec4a72d50
https://github.com/llvm/llvm-project/commit/ea3c7b3397f8de8e885ea7cd1ed5138ec4a72d50
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
Log Message:
-----------
Revert "[X86][NFC] Remove dead code for "_REV" instructions"
This reverts commit 85f3d81fabb9381ce5bc0112d029a7c684b01006.
Affects BOLT macro-fusion and not NFC.
Commit: 6615581526f62a00833b2d60cc31f7f12497b5ff
https://github.com/llvm/llvm-project/commit/6615581526f62a00833b2d60cc31f7f12497b5ff
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/test/CodeGen/PowerPC/intrinsic-trap.ll
Log Message:
-----------
[PowerPC] Make verifier happy when lowering `llvm.trap` (#77266)
`llvm.trap` is lowered to `PPC::TRAP` and `PPC::TRAP` is set as
terminator. Verifier complains about terminator should not lie in the
middle of an MBB. See #77095.
Fix it by removing `isTerminator` and `isBarrier` and then set `isTrap`
which was introduced by https://reviews.llvm.org/D48836# and is being
used by X86 and AArch64.
`PPC::TRAP` is not a hardware memory barrier and `llvm.trap` doesn't
indicate a memory barrier either.
Commit: c9124adfd8291a5f5b1d23295308d8940648c596
https://github.com/llvm/llvm-project/commit/c9124adfd8291a5f5b1d23295308d8940648c596
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
R llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
Log Message:
-----------
Revert "[SEH][CodeGen] Add test to track CFG optimization bug for SEH" (#77542)
Reverts llvm/llvm-project#77441
I'll land it with fix.
Commit: e364ddf0c9044f3af147a907aa770599a206c30f
https://github.com/llvm/llvm-project/commit/e364ddf0c9044f3af147a907aa770599a206c30f
Author: Nicholas Mosier <nmosier at stanford.edu>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
[docs] Fix formatting issues in MyFirstTypoFix (#77527)
Fix various formatting issues in MyFirstTypoFix.
Commit: aa4c1e90b6f25a5c6312927e0574f9d07fa25582
https://github.com/llvm/llvm-project/commit/aa4c1e90b6f25a5c6312927e0574f9d07fa25582
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
Revert "[PGO] Fix `instrprof-api.c` on Windows (#77508)"
Issue #77546
This reverts commit b6d1577071017f1ba3f12bfe30c1746ffaf5d98d.
Commit: a828cda9c80282a77b579f8fc9dc17a310173af4
https://github.com/llvm/llvm-project/commit/a828cda9c80282a77b579f8fc9dc17a310173af4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Profile/c-general.c
M compiler-rt/include/CMakeLists.txt
R compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/profile/InstrProfiling.h
R compiler-rt/test/profile/Linux/instrprof-weak-symbol.c
R compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
Revert "[PGO] Exposing PGO's Counter Reset and File Dumping APIs (#76471)"
Issue #77546
This reverts commit 07c9189fcc063bdf6219d2733843c89cde3991e1.
Commit: 3593ade43dd8af557432dce72f93aa0186c281ef
https://github.com/llvm/llvm-project/commit/3593ade43dd8af557432dce72f93aa0186c281ef
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
Log Message:
-----------
[gn build] Port a828cda9c802
Commit: a79d13f12ab81bc6edd54e27f7cfffb96487af8d
https://github.com/llvm/llvm-project/commit/a79d13f12ab81bc6edd54e27f7cfffb96487af8d
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
Log Message:
-----------
[RISCV][ISel] Use vaaddu with rounding mode rnu for ISD::AVGCEILU. (#77473)
Similar to #76550, but for `ISD::AVGCEILU`.
Specifically, this patch aims to use `vaaddu` with rounding mode rnu
(i.e `vxrm[1:0] = 0b00`) for `ISD::AVGCEILU`.
### Source code
```
define <vscale x 8 x i8> @vaaddu_vv_nxv8i8_ceil(<vscale x 8 x i8> %x, <vscale x 8 x i8> %y) {
%xzv = zext <vscale x 8 x i8> %x to <vscale x 8 x i16>
%yzv = zext <vscale x 8 x i8> %y to <vscale x 8 x i16>
%add = add nuw nsw <vscale x 8 x i16> %xzv, %yzv
%one = insertelement <vscale x 8 x i16> poison, i16 1, i32 0
%splat = shufflevector <vscale x 8 x i16> %one, <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer
%add1 = add nuw nsw <vscale x 8 x i16> %add, %splat
%div = lshr <vscale x 8 x i16> %add1, %splat
%ret = trunc <vscale x 8 x i16> %div to <vscale x 8 x i8>
ret <vscale x 8 x i8> %ret
}
```
### Before this patch
```
vaaddu_vv_nxv8i8_ceil:
vsetvli a0, zero, e8, m1, ta, ma
vwaddu.vv v10, v8, v9
vsetvli zero, zero, e16, m2, ta, ma
vadd.vi v10, v10, 1
vsetvli zero, zero, e8, m1, ta, ma
vnsrl.wi v8, v10, 1
ret
```
### After this patch
```
vaaddu_vv_nxv8i8_ceil:
vsetvli a0, zero, e8, m1, ta, ma
csrwi vxrm, 0
vaaddu.vv v8, v8, v9
ret
```
Commit: a9f39ff2b628e38826d5b95c1e8ae3cb7c692de9
https://github.com/llvm/llvm-project/commit/a9f39ff2b628e38826d5b95c1e8ae3cb7c692de9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
Log Message:
-----------
[RISCV] Reorder RISCVInstrInfoA.td. NFC (#77539)
Move classes out of `let Predicates` scopes. The instantiation of the
class should be responsible for providing the Predicates.
Put the RV64 pseudoinstructions and patterns next to the RV32 version of
the same category. The categories are AMOs, pseudo AMOs, and compare
exchange. The main reason for this commit is that the compare exchange
patterns need to be disabled when Zacas is enabled so we can directly
select Zacas instructions with isel patterns. This necessitates compare
exchange having a different `let Predicates=` from the others anyway.
Commit: e42a70afab47a7a9e76a40bb553eee458a5f18ae
https://github.com/llvm/llvm-project/commit/e42a70afab47a7a9e76a40bb553eee458a5f18ae
Author: jiahanxie353 <jx353 at cornell.edu>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-alu.ll
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-add-zve32x.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-add.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-and.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-or.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-sub.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-xor.mir
Log Message:
-----------
[RISCV][GISel] IRTranslate and Legalize some instructions with scalable vector type
* Add IRTranslate tests for ADD, SUB, AND, OR, and XOR with scalable
vector types to show that they work as expected.
* Legalize G_ADD, G_SUB, G_AND, G_OR, and G_XOR of scalable vector
type for the RISC-V vector extension.
Commit: b53628a52d1947c51e250d6fa4ff5dd12b737aa0
https://github.com/llvm/llvm-project/commit/b53628a52d1947c51e250d6fa4ff5dd12b737aa0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/test/Format/clang-format-ignore.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Reland "[clang-format] Optimize processing .clang-format-ignore files"
(42ec976184ac was reverted by 26993f61673e due to a use-after-scope bug.)
Reuse the patterns governing the previous input file being formatted if
the current input file is from the same directory.
Commit: c2b57a052daee22cb6401bc7bc514d858ea11eb6
https://github.com/llvm/llvm-project/commit/c2b57a052daee22cb6401bc7bc514d858ea11eb6
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Program.cpp
Log Message:
-----------
[clang][Interp][NFC] Make a few pointers const
Commit: 7388b7422f9307dd5ae3fe3876a676d83d702daf
https://github.com/llvm/llvm-project/commit/7388b7422f9307dd5ae3fe3876a676d83d702daf
Author: Juneyoung Lee <aqjune at gmail.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
A llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
Log Message:
-----------
[WebAssembly] Correctly consider signext/zext arg flags at function declaration (#77281)
This patch fixes WebAssembly's FastISel pass to correctly consider
signext/zeroext parameter flags at function declaration.
Previously, the flags at call sites were only considered during code
generation, which caused an interesting bug report #63388 .
This is problematic especially because in WebAssembly's ABI, either
signext or zeroext can be tagged to a function argument, and it must be
correctly reflected in the generated code. Unit test
https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/WebAssembly/signext-zeroext.ll
shows that `i8 zeroext %t` and `i8 signext %t`'s code gen are different.
Commit: 7fc7ef14340a3a58cebd0801497b68eb698c2784
https://github.com/llvm/llvm-project/commit/7fc7ef14340a3a58cebd0801497b68eb698c2784
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/fpenv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-fpenv.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpenv.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/TableGen/GlobalISelEmitter.td
Log Message:
-----------
[GlobalISel] Lowering of {get,set,reset}_fpenv (#75086)
The intrinsics get_fpenv, set_fpenv and reset_fpenv in this change are
implemented as calls to math library functions. Target specific lowering
will be implemented later on.
Commit: efcf192a0a5993165f837ce71250fb6df689634b
https://github.com/llvm/llvm-project/commit/efcf192a0a5993165f837ce71250fb6df689634b
Author: Bhuminjay Soni <76656712+11happy at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp
Log Message:
-----------
Changed Checks from TriviallyCopyable to TriviallyCopyConstructible (#77194)
**Overview:**
Fix a bug where Clang's range-loop-analysis incorrectly checks for trivial copyability instead
of trivial copy constructibility, leading to erroneous warnings.
Fixes #47355
Commit: b788692fa5b6ed79ea2c85ee464353cca30d867a
https://github.com/llvm/llvm-project/commit/b788692fa5b6ed79ea2c85ee464353cca30d867a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-09 (Tue, 09 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-alu.ll
Log Message:
-----------
[RISCV][NFC] Remove unused CHECK prefixes to fix buildbots. NFC
Commit: 8f78dd4b92b44c490d263a4d161850853874859d
https://github.com/llvm/llvm-project/commit/8f78dd4b92b44c490d263a4d161850853874859d
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add function 'ungetc' to StreamChecker. (#77331)
`StdLibraryFunctionsChecker` is updated too with `ungetc`.
Commit: f443fbc49b8914a8453de61aea741221df9648cf
https://github.com/llvm/llvm-project/commit/f443fbc49b8914a8453de61aea741221df9648cf
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Lower/OpenMP/nogpulib.f90
M flang/tools/bbc/bbc.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/attr.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang][OpenMP][MLIR] Add support for -nogpulib option (#71045)
If -nogpulib option is passed by the user, then the OpenMP device
runtime is not used and we should not emit globals to configure
debugging at compile-time for the device runtime.
Link to -nogpulib flag implementation for Clang:
https://reviews.llvm.org/D125314
Commit: 084f1c2ee074a5ac8186ea4b5b181b48bf4621b6
https://github.com/llvm/llvm-project/commit/084f1c2ee074a5ac8186ea4b5b181b48bf4621b6
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
A llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
Log Message:
-----------
[AMDGPU][True16] Support V_CEIL_F16. (#73108)
As not all fake instructions have their real counterparts implemented
yet, we specify no AssemblerPredicate for UseFakeTrue16Insts to allow
both fake and real True16 instructions in assembler and disassembler
tests in the -mattr=+real-true16 mode during the transition period.
Source DPP and desitnation VOPDstOperand_t16 operands are still not
supported and will be addressed separately.
Commit: d0918a20d2a85bad3cd0ec48be4b91e873bfe737
https://github.com/llvm/llvm-project/commit/d0918a20d2a85bad3cd0ec48be4b91e873bfe737
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/test/CXX/drs/dr18xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests for CWG1800-1804 (#77509)
Covers C++ core issues 1800, 1801, 1802, 1803, 1804.
Commit: c69ec700adec315b3daa55742f2ef655242fa297
https://github.com/llvm/llvm-project/commit/c69ec700adec315b3daa55742f2ef655242fa297
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Format/.clang-format
M clang/lib/Format/.clang-format
M clang/tools/clang-format/.clang-format
M clang/unittests/Format/.clang-format
Log Message:
-----------
[clang-format][NFC] Don't use clang-format style in config files
The current CI doesn't use the latest clang-format and fails most
clang-format patches on the code formatting check. This patch
temporarily removes the clang-format style from the .clang-format
files.
Commit: 14435a28cd144f157ec4e6022d8c0ff0926e549f
https://github.com/llvm/llvm-project/commit/14435a28cd144f157ec4e6022d8c0ff0926e549f
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M openmp/CMakeLists.txt
Log Message:
-----------
[OpenMP] Allow setting OPENMP_INSTALL_LIBDIR (#77533)
The comment indicate that it should be possible, but as long as it
wasn't a cache variable, the cmake script overwrote whatever variable
the user had set.
Commit: be320fdf7ba9a94f6970f433ec1402cdc5cfe6b1
https://github.com/llvm/llvm-project/commit/be320fdf7ba9a94f6970f433ec1402cdc5cfe6b1
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libunwind/CMakeLists.txt
Log Message:
-----------
[libunwind] Convert a few options from CACHE PATH to CACHE STRING (#77534)
This applies the same change as in
760261a3daf98882ccbd177e3133fb4a058f47ad (where they were applied to
libcxxabi and libcxx) to libunwind as well.
These options can reasonably be set either as an absolute or relative
path, but if set as type PATH, they are rewritten from relative into
absolute relative to the build directory, while the relative form is
intended to be relative to the install prefix.
Commit: 65a56a29b6ad3d9df43df1c5a1238b1f870f24f9
https://github.com/llvm/llvm-project/commit/65a56a29b6ad3d9df43df1c5a1238b1f870f24f9
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/linux-ld.c
Log Message:
-----------
[clang] [Driver] Treat MuslEABIHF as a hardfloat environment wrt multiarch directories (#77536)
If using multiarch directories with musl, the multiarch directory still
uses *-linux-gnu triples - which may or may not be intentional, while it
is somewhat consistent at least.
However, for musl armhf targets, make sure that this also picks
arm-linux-gnueabihf, rather than arm-linux-gnueabi.
Commit: ef87e6643ea24103e884a71ec2f5cd2e13e0b454
https://github.com/llvm/llvm-project/commit/ef87e6643ea24103e884a71ec2f5cd2e13e0b454
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
Log Message:
-----------
[LVI] Assert that only one value is pushed (NFC)
Commit: a6b5d6dab0544892fb6afc46f71677969285c5a8
https://github.com/llvm/llvm-project/commit/a6b5d6dab0544892fb6afc46f71677969285c5a8
Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
M llvm/test/tools/dsymutil/ARM/inline-source.test
Log Message:
-----------
[DWARFLinker] backport line table patch into the DWARFLinkerParallel. (#77497)
This patch backports https://github.com/llvm/llvm-project/pull/77016
into the DWARFLinkerParallel.
Commit: 7c71a09d5e712bedbed867226b3fa0bbfe789384
https://github.com/llvm/llvm-project/commit/7c71a09d5e712bedbed867226b3fa0bbfe789384
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[CodeGen][NewPM] Port AssignmentTrackingAnalysis to new pass manager (#77550)
Commit: 7ce010f2fb01341ab253547324e126d81d47f794
https://github.com/llvm/llvm-project/commit/7ce010f2fb01341ab253547324e126d81d47f794
Author: martinboehme <mboehme at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Formula.h
M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
Log Message:
-----------
Revert "[clang][dataflow] Add an early-out to `flowConditionImplies()` / `flowConditionAllows()`." (#77570)
Reverts llvm/llvm-project#77453
Commit: e22cb93890c33e21534338e4f2ea5ce640c78b77
https://github.com/llvm/llvm-project/commit/e22cb93890c33e21534338e4f2ea5ce640c78b77
Author: David Green <david.green at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/all-elemental.fir
A flang/test/HLFIR/any-elemental.fir
Log Message:
-----------
[Flang] Any and All elemental lowering (#75776)
This is an extension of https://github.com/llvm/llvm-project/pull/75774,
with Any and All lowering added alongside Count.
Commit: a26cc759ae5a8018e2c328cf53173992340b995a
https://github.com/llvm/llvm-project/commit/a26cc759ae5a8018e2c328cf53173992340b995a
Author: Hana Dusíková <hanicka at hanicka.net>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Stmt.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CoverageMapping/if.cpp
Log Message:
-----------
[clang][coverage] Fix "if constexpr" and "if consteval" coverage report (#77214)
Replace the discarded statement by an empty compound statement so we can keep track of the
whole source range we need to skip in coverage
Fixes #54419
Commit: e2b896aa640fec25f68d283948c1b44711087f0f
https://github.com/llvm/llvm-project/commit/e2b896aa640fec25f68d283948c1b44711087f0f
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
A flang/include/flang/Optimizer/Builder/Runtime/Execute.h
A flang/include/flang/Runtime/execute.h
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/Runtime/Execute.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/command.cpp
A flang/runtime/execute.cpp
M flang/runtime/tools.cpp
M flang/runtime/tools.h
A flang/test/Lower/Intrinsics/execute_command_line-optional.f90
A flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] Add EXECUTE_COMMAND_LINE runtime and lowering intrinsics implementation (#74077)
This patch add support of intrinsics Fortran 2008 EXECUTE_COMMAND_LINE.
The patch contains both the lowering and the runtime code and works on
both Windows and Linux. The patch contains a list of commits, to convey
the authorship and the history of changes. Some implementation specifics
or status has been added to `flang/docs/Intrinsics.md`.
I have provided a summary of the usage and the options required for the
`EXECUTE_COMMAND_LINE intrinsic`. The intrinsic supports both a
synchronous
(by default) and an asynchronous option.
| System | Mode | Implemention |
|---------|-------|---------------------------|
| Linux | Sync | std::system() |
| Windows | Sync | std::system() |
| Linux | Async | fork() |
| Windows | Async | CreateProcess |
Support for the SYSTEM GNU extension will be added in a separate PR.
Co-authored with @jeffhammond
---------
Signed-off-by: Jeff Hammond <jeff.science at gmail.com>
Co-authored-by: Jeff Hammond <jeff.science at gmail.com>
Co-authored-by: Yi Wu <yiwu02 at wdev-yiwu02.arm.com>
Commit: ccaf9e0bc0a4739170584d995f9de98bf3beb1f9
https://github.com/llvm/llvm-project/commit/ccaf9e0bc0a4739170584d995f9de98bf3beb1f9
Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
M llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Log Message:
-----------
[AArch64] Enable AArch64 loop idiom transform pass (#77480)
Following on from
https://github.com/llvm/llvm-project/pull/72273
which added the new AArch64 loop idiom transformation pass, this patch
enables the pass by default for AArch64.
Commit: 38394a3d0b8b9a1fdc444bdebeba17a19250997d
https://github.com/llvm/llvm-project/commit/38394a3d0b8b9a1fdc444bdebeba17a19250997d
Author: Lu Weining <luweining at loongson.cn>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/Target.h
M lld/test/ELF/loongarch-pc-aligned.s
Log Message:
-----------
[lld][LoongArch] Handle extreme code model relocs according to psABI v2.30 (#73387)
psABI v2.30 requires the extreme code model instructions sequence
(pcalau12i+addi.d+lu32i.d+lu52i.d) to be adjacent.
See https://github.com/llvm/llvm-project/pull/71907 and
https://github.com/loongson-community/discussions/issues/17 for details.
Commit: 53d48902bc6b05cc284f767089fe070ada651910
https://github.com/llvm/llvm-project/commit/53d48902bc6b05cc284f767089fe070ada651910
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Dialect/ArmSME/roundtrip.mlir
Log Message:
-----------
[mlir][ArmSME] Add arm_sme.streaming_vl operation (#77321)
This operation provides a convenient way to query the streaming vector
length regardless of the streaming mode. This most useful for functions
that call/pass data to streaming functions, but are not streaming
themselves.
Example:
```mlir
%svl_w = arm_sme.streaming_vl <word>
```
Created based on discussion here:
https://github.com/llvm/llvm-project/pull/76086#discussion_r1434226352
Commit: 76482b74400cccae10d30195f6613f2bf538a43f
https://github.com/llvm/llvm-project/commit/76482b74400cccae10d30195f6613f2bf538a43f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
M llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep.ll
Log Message:
-----------
[SLSR] Regenerate test checks (NFC)
Commit: 9bc4355f091b530625ec6839a8c4858b6de4f1b4
https://github.com/llvm/llvm-project/commit/9bc4355f091b530625ec6839a8c4858b6de4f1b4
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
M llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep.ll
Log Message:
-----------
[SLSR] Always generate i8 GEPs
Always generate canonical i8 GEPs. Especially as this is a backend
pass, trying to generate a "nice" GEP representation is not useful.
Commit: c2654befcaecba121ca40415d157925e0da05b5e
https://github.com/llvm/llvm-project/commit/c2654befcaecba121ca40415d157925e0da05b5e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
Log Message:
-----------
[SeparateConstOFfsetFromGEP] Regenerate test checks (NFC)
Commit: 5cc03442d392693d0d2457f571cc8fa1736bfe5e
https://github.com/llvm/llvm-project/commit/5cc03442d392693d0d2457f571cc8fa1736bfe5e
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
[clang-repl] Enable native CPU detection by default (#77491)
We can pass `-mcpu=native` to the clang driver to let it consider the
host CPU when choosing the compile target for `clang-repl`. We can
already achieve this behavior with `clang-repl -Xcc -mcpu=native`, but
it seems like a reasonable default actually.
The trade-off between optimizing for a specific CPU and maximum
compatibility often leans towards the latter for static binaries,
because distributing many versions is cumbersome. However, when
compiling at runtime, we know the exact target CPU and we can use that
to optimize the generated code.
This patch makes a difference especially for "scattered" architectures
like ARM. When cross-compiling for a Raspberry Pi for example, we may
use a stock toolchain like arm-linux-gnueabihf-gcc. The resulting binary
will be compatible with all hardware versions. This is handy, but they
will all have `arm-linux-gnueabihf` as their host triple. Previously,
this caused the clang driver to select triple `armv6kz-linux-gnueabihf`
and CPU `arm1176jzf-s` as the REPL target. After this patch the default
triple and CPU on Raspberry Pi 4b will be `armv8a-linux-gnueabihf` and
`cortex-a72` respectively.
With this patch clang-repl matches the host detection in Orc.
Commit: 08da7ac80c165dbae0cb71257b3cdcd8a1006a76
https://github.com/llvm/llvm-project/commit/08da7ac80c165dbae0cb71257b3cdcd8a1006a76
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
Log Message:
-----------
[AMDGPU] Fix broken sign-extended subword buffer load combine (#77470)
Commit: 9e5a77f252badfc932d1e28ee998746072ddc33f
https://github.com/llvm/llvm-project/commit/9e5a77f252badfc932d1e28ee998746072ddc33f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AArch64/scalable-vector-geps.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/RISCV/split-gep.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Always emit i8 gep
Always emit canonical i8 GEPs, don't try to preserve the original
element type. As this is a backend pass, trying to preserve the
type is not useful.
Commit: 29f98d6c25e237d311038ce225f0b3109925d400
https://github.com/llvm/llvm-project/commit/29f98d6c25e237d311038ce225f0b3109925d400
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/bitreverse-known-bits.ll
A llvm/test/Transforms/InstCombine/bitwiselogic-bitmanip.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
Log Message:
-----------
[InstCombine] Fold bitwise logic with intrinsics (#77460)
This patch does the following folds:
```
bitwise(fshl (A, B, ShAmt), fshl(C, D, ShAmt)) -> fshl(bitwise(A, C), bitwise(B, D), ShAmt)
bitwise(fshr (A, B, ShAmt), fshr(C, D, ShAmt)) -> fshr(bitwise(A, C), bitwise(B, D), ShAmt)
bitwise(bswap(A), bswap(B)) -> bswap(bitwise(A, B))
bitwise(bswap(A), C) -> bswap(bitwise(A, bswap(C)))
bitwise(bitreverse(A), bitreverse(B)) -> bitreverse(bitwise(A, B))
bitwise(bitreverse(A), C) -> bitreverse(bitwise(A, bitreverse(C)))
```
Alive2: https://alive2.llvm.org/ce/z/iZN_TL
Commit: adfd13157dac4f512f579c14de8da6c7c0c9b698
https://github.com/llvm/llvm-project/commit/adfd13157dac4f512f579c14de8da6c7c0c9b698
Author: Mark Harley <mark.harley at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
Log Message:
-----------
[AArch64][SVE] Add optimisation for SVE intrinsics with no active lanes (#73964)
This patch introduces optimisations for SVE intrinsic function calls
which have all false predicates.
Commit: 78cf2c041b778c82cc01b8606ec3e68840b769af
https://github.com/llvm/llvm-project/commit/78cf2c041b778c82cc01b8606ec3e68840b769af
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/pr77459.ll
Log Message:
-----------
[X86] pr77459.ll - add missing AVX512 check prefixes
Missed these in 3210ce276350a247220b193db12a9b45d1034724 for the #77459 fix
Commit: 5b4abae7630572c96a736faa1f09b1a3c37201a2
https://github.com/llvm/llvm-project/commit/5b4abae7630572c96a736faa1f09b1a3c37201a2
Author: darkfeline <darkfeline at felesatra.moe>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang-tools-extra/clang-include-fixer/tool/clang-include-fixer.el
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-rename/clang-rename.el
M llvm/utils/emacs/tablegen-mode.el
M mlir/utils/emacs/mlir-lsp-client.el
M mlir/utils/emacs/mlir-mode.el
Log Message:
-----------
[emacs] Fix Emacs library formatting (#76110)
This makes it easier to ship/install these using the builtin Emacs
package format (in particular, a Version is required).
Commit: 205aa3fb89769c703c14ff448cb7bff73438488f
https://github.com/llvm/llvm-project/commit/205aa3fb89769c703c14ff448cb7bff73438488f
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M flang/docs/GettingStarted.md
Log Message:
-----------
[flang] Document DEFAULT_SYSROOT usage on Darwin (#77353)
Commit: 1220c9bafc11a3edf96921a8ab892d777b7ed06b
https://github.com/llvm/llvm-project/commit/1220c9bafc11a3edf96921a8ab892d777b7ed06b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
A llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
Log Message:
-----------
[InstCombine] Fold the `log2_ceil` idiom (#76661)
This patch folds the `log2_ceil` idiom:
```
(BW - ctlz(A)) + (is_power2(A) ? 0 : 1) ->
zext(ctpop(A) >u/!= 1) + (ctlz(A, true) ^ (BW - 1)) (canonical form) ->
BW - ctlz(A - 1, false)
```
Alive2: https://alive2.llvm.org/ce/z/6mSbdi
Commit: c933bd818594c872435d6f1d2cc5ad18715a8986
https://github.com/llvm/llvm-project/commit/c933bd818594c872435d6f1d2cc5ad18715a8986
Author: Thomas Raoux <thomas.raoux at openai.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/test/Dialect/SCF/loop-pipelining.mlir
Log Message:
-----------
[MLIR][SCF] Add checks to verify that the pipeliner schedule is correct. (#77083)
Add a check to validate that the schedule passed to the pipeliner
transformation is valid and won't cause the pipeliner to break SSA.
This checks that the for each operation in the loop operations are
scheduled after their operands.
Commit: 19044b099db0882af788d44bf2369a5becf47b00
https://github.com/llvm/llvm-project/commit/19044b099db0882af788d44bf2369a5becf47b00
Author: Maciej Gabka <maciej.gabka at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
Log Message:
-----------
[NFC][TLI] order SLEEF and ArmPL mappings by alphabetical order (#77500)
To make checking test easier, it is better to keep an order of the TLI
mappings. This patch sorts all variants of the SLEEF and ArmPL mappings
in the order of their base names.
This patch also removes some extra inconsistent whitespace added to some
of the entries.
Commit: 77753750033632e353e17948457433efd67f92de
https://github.com/llvm/llvm-project/commit/77753750033632e353e17948457433efd67f92de
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M flang/docs/GettingStarted.md
Log Message:
-----------
[flang][doc] Correct spelling of CMake
Commit: cc21aa1922b3d0c4fde52046d8d16d1048f8064e
https://github.com/llvm/llvm-project/commit/cc21aa1922b3d0c4fde52046d8d16d1048f8064e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/pr77459.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
Log Message:
-----------
[X86] lower1BitShuffle - fold permute(setcc(x,y)) -> setcc(permute(x),permute(y)) for 32/64-bit element vectors
Noticed in #77459 - for wider element types, its usually better to pre-shuffle the comparison arguments if we can, like we already for broadcasts
Commit: b8dca4fa729fcbd5d42ce3ca056dc4d278da2548
https://github.com/llvm/llvm-project/commit/b8dca4fa729fcbd5d42ce3ca056dc4d278da2548
Author: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
Log Message:
-----------
[mlir][math] Add math.acosh|asin|asinh|atanh op (#77463)
Signed-Off By: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Commit: 60bb5c54f6e1eeed0aae7917d10f746ee8135d9d
https://github.com/llvm/llvm-project/commit/60bb5c54f6e1eeed0aae7917d10f746ee8135d9d
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Fix predicates for various True16 instructions. (#77581)
Resolves AsmParser ambiguities, e.g., between
V_SUBREV_F16_t16_dpp8_gfx11 and V_SUBREV_F16_t16_dpp8_gfx12.
Part of <https://github.com/llvm/llvm-project/issues/69256>.
Commit: 5c0b3a0cb7f70db3ebcd195596e5fadc12d0bc9c
https://github.com/llvm/llvm-project/commit/5c0b3a0cb7f70db3ebcd195596e5fadc12d0bc9c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
Log Message:
-----------
[lldb][ClangASTImporter][NFC] Remove redundant do-while loop (#77596)
This seems to have always been a redundant do-while since its
introduction in `2e93a2ad2148d19337bf5f9885e46e3c00e8ab82`.
Commit: d65a7d1f1a2139f927949ab6b1a9d90113de9a90
https://github.com/llvm/llvm-project/commit/d65a7d1f1a2139f927949ab6b1a9d90113de9a90
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[Libomptarget] Do not run CPU tests if FFI was not found
Summary:
The previous behaviour before I made it dynamically open libFFI was that
these tests would be ignored if FFI was not found. This now allows tests
to be run without the dependency and thus the tests fails on some
buildbots. This simply makesit not build the tests if it's not present.
Commit: 9aa8c82748bfb313598e71476123b785f6da41b9
https://github.com/llvm/llvm-project/commit/9aa8c82748bfb313598e71476123b785f6da41b9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/shift-16.ll
Log Message:
-----------
[SystemZ] Fix 256-bit shifts when i128 is legal
When i128 is a legal type, SelectionDAG now attempts to use
SRL_PARTS etc. with type i128, which is not implemented. Fix
by marking those as Expand, just like we do for i64.
Fixes https://github.com/llvm/llvm-project/issues/77132
Commit: ae978baaf6cc5566036b89ceaadcabb47361ba2f
https://github.com/llvm/llvm-project/commit/ae978baaf6cc5566036b89ceaadcabb47361ba2f
Author: John Brawn <john.brawn at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
A llvm/test/Transforms/LoopFlatten/loop-flatten-gep.ll
Log Message:
-----------
[LoopFlatten] Recognise gep+gep (#72515)
Now that InstCombine canonicalises add+gep to gep+gep, LoopFlatten needs
to recognise (gep (gep ptr (i*M)), j) as being something it can
optimise.
Commit: 9bde5becb44ea071f5e1fa1f5d4071dc8788b18c
https://github.com/llvm/llvm-project/commit/9bde5becb44ea071f5e1fa1f5d4071dc8788b18c
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
Log Message:
-----------
[BranchFolding][SEH] Add test to track SEH CFG optimization (#77598)
This test tracks BranchFolding pass which removes fall through jump and
leaves landing-pad to be machine basic block of no predecessors. It
would raise bug as introduced in #77441.
Commit: 113bce0c79fe5cc2b949949c5d96b7f679524b6e
https://github.com/llvm/llvm-project/commit/113bce0c79fe5cc2b949949c5d96b7f679524b6e
Author: Prathamesh Tagore <63031630+meshtag at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[mlir][tensor] Fold producer linalg transpose with consumer tensor pack (#75658)
Successor to https://github.com/llvm/llvm-project/pull/74206
Partial fix to https://github.com/openxla/iree/issues/15367
Commit: 45be680b1ae51866568b1794fa6f59190042ee92
https://github.com/llvm/llvm-project/commit/45be680b1ae51866568b1794fa6f59190042ee92
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
Log Message:
-----------
[SimplifyCFG] Emit `rotl` directly in `ReduceSwitchRange` (#77603)
This patch emits `ROTL(Cond, BitWidth - Shift)` directly in
`ReduceSwitchRange`. This should give better codegen because
`SimplifyDemandedBits` will break the rotation patterns in the original
form.
See also https://github.com/llvm/llvm-project/pull/73441 and the IR diff
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/115/files.
This patch should cover most of cases handled by #73441.
Commit: fef2fc3400eb5a22a5ccc96bd3862bec0058d305
https://github.com/llvm/llvm-project/commit/fef2fc3400eb5a22a5ccc96bd3862bec0058d305
Author: Visoiu Mistrih Francis <890283+francisvm at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/test/TableGen/getsetop.td
Log Message:
-----------
[TableGen] Support non-def operators in !getdagop (#77531)
`!getdagop` expects the dag operator to be a def, and errors out if it's
not.
While that's true in most cases, when multiclasses are involved, the
late resolution of the dag operator can result in it not being a def
yet, but still have a proper type, wich is required to check against the
optional parameter Ty in `!getdagop<Ty>`.
e.g, in the following dag:
```
(!cast<TestInstruction>(TestInstructionAndPattern::NAME) foo)
```
the operator is a UnOpInit, but all we need here is to check its type.
This fixes a bug where !getdagop is used to query the dag operator that
is dependent on the multiclass, which is not yet resolved to a def. Once
the folding is performed, the field becomes a record that can be
queried.
Commit: 79aa77626770c91badd7c9ba9d26e55a28d34416
https://github.com/llvm/llvm-project/commit/79aa77626770c91badd7c9ba9d26e55a28d34416
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
A mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
A mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
A mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
A mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][mesh] Add lowering of process multi-index op (#77490)
* Rename mesh.process_index -> mesh.process_multi_index.
* Add mesh.process_linear_index op.
* Add lowering of mesh.process_multi_index into an expression using
mesh.process_linear_index, mesh.cluster_shape and
affine.delinearize_index.
This is useful to lower mesh ops and prepare them for further lowering
where the runtime may have only the linear index of a device/process.
For example in MPI we have a rank (linear index) in a communicator.
Commit: 8b7bbedec7bcfbeaee4ab9b74471cbbbc8633e1a
https://github.com/llvm/llvm-project/commit/8b7bbedec7bcfbeaee4ab9b74471cbbbc8633e1a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Re-add early exit in VPRecipeBuilder::createBlockInMask.
Re-add early exit that was accidentally dropped in 51afb10.
Commit: 14e291000f96c20e35ef494bd407f459b4617fca
https://github.com/llvm/llvm-project/commit/14e291000f96c20e35ef494bd407f459b4617fca
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/RISCVISAInfo.h
Log Message:
-----------
[RISCV] Remove extraneous semicolons. NFC
Commit: 6876fe53afabfc6f0c3b5e7c838f32a282da6f77
https://github.com/llvm/llvm-project/commit/6876fe53afabfc6f0c3b5e7c838f32a282da6f77
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
Log Message:
-----------
[mlir][linalg] Add a test to demonstrate peeling + vectorisation (#77590)
Following on from #75842, we can demonstrate that loop peeling combined
with masked vectorisation and existing canonicalization for vector.mask
operations leads to the following loop structure:
```
// M dimension
scf.for 1:M
// N dimension (contains vector ops _without_ masking)
scf.for 1:UB
// K dimension
scf.for 1:K
vector.add
// N dimension (contains vector ops _with_ masking)
scf.for UB:N
// K dimension
scf.for 1:K
vector.mask { vector.add }
```
This is particularly beneficial for scalable vectors which normally
require masking. This example demonstrates how to avoid them.
Commit: 73ce13d79bb6f200d6dde61a88369daf74c7a39e
https://github.com/llvm/llvm-project/commit/73ce13d79bb6f200d6dde61a88369daf74c7a39e
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
Log Message:
-----------
[SLP][TTI]Improve detection of the insert-subvector pattern for SLP. (#74749)
SLP vectorizer passes the type of the subvector and the mask, which size
determines the size of the resulting vector. TTI should support this
pattern to improve cost estimation of the insert_subvector shuffle
pattern.
Commit: 6c92770a80257018df69369fd617628c80b9fa18
https://github.com/llvm/llvm-project/commit/6c92770a80257018df69369fd617628c80b9fa18
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[RewriteStatepointsForGC] Remove unnecessary bitcasts (NFCI)
Commit: d301539b777c5047d1420003b4ab1e05a1f87166
https://github.com/llvm/llvm-project/commit/d301539b777c5047d1420003b4ab1e05a1f87166
Author: Will Hawkins <hawkinsw at obs.cr>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
M libcxx/utils/libcxx/test/format.py
Log Message:
-----------
[libc++][docs] Document the libc++ Lit testing format naming scheme (#73136)
As a new contributor, I found it hard to find the documentation for the
meaning of the names of different tests and how those names translate to
Lit. This patch moves the documentation to the RST documentation we
publish on the website instead of leaving it in the source code only.
Commit: 5934a6ee5967f795634d5161d46da8412be96404
https://github.com/llvm/llvm-project/commit/5934a6ee5967f795634d5161d46da8412be96404
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/Headers/ia32intrin.h
Log Message:
-----------
[Headers][X86] Reformat ia32intrin.h doc to match the other headers (#77525)
Doxygen comment style for every other intrinsic-function header uses ///
comments, so change ia32intrin.h from the /** style to /// style. While
I was in there, change `<c> INSTR </c>` to `\c INSTR` and toss in a few
missing full-stops.
Commit: 0d6412eae32777cd892a1a9ed016a07e68eaa191
https://github.com/llvm/llvm-project/commit/0d6412eae32777cd892a1a9ed016a07e68eaa191
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[Libomptarget] Add error message back in after changes (#77528)
Summary:
My previous reworking of the image hangling removed the image info which
was originally used for this extra error message requested by Ye Luo. I
have since added in the necessary ELF facilities to extract it from the
object file and can add it back in. It's a little verbose mostly from
needing to shuffle around types and potential errors.
Commit: d03b8c3a048262eae1b13be829e20971e1714ade
https://github.com/llvm/llvm-project/commit/d03b8c3a048262eae1b13be829e20971e1714ade
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/include/State.h
M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
M openmp/libomptarget/DeviceRTL/src/Reduction.cpp
M openmp/libomptarget/include/Shared/Profile.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
Log Message:
-----------
[Libomptarget][NFC] Format in-line comments consistently (#77530)
Summary:
The LLVM style uses /*Foo=*/ when indicating the name of a constant. See
https://llvm.org/docs/CodingStandards.html#comment-formatting. This is
useful for consistency, as well as because `clang-format` understands
this syntax and formats it more cleanly. Do a bulk update of this
syntax.
Commit: d4b4ded1867768ecb2c857ae9c2593764d7f3e41
https://github.com/llvm/llvm-project/commit/d4b4ded1867768ecb2c857ae9c2593764d7f3e41
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M flang/include/flang/Parser/format-specification.h
Log Message:
-----------
[Flang][Parser] Add missing #include "flang/Common/idioms.h" (#77484)
The file format-specification.h uses definitions from Fortran::common,
but doesn't include any headers that provide them.
Commit: 2472c45ba38828ee084360d52705955ff763e5b0
https://github.com/llvm/llvm-project/commit/2472c45ba38828ee084360d52705955ff763e5b0
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Enhance pack/unpack simplification for identity outer_dims_perm cases. (#77409)
They can be simplified to reshape ops if outer_dims_perm is an identity
permutation. The revision adds a `isIdentityPermutation` method to
IndexingUtils.
Commit: fb1523e7120aeb9584eef5b3241f03f1cadff62b
https://github.com/llvm/llvm-project/commit/fb1523e7120aeb9584eef5b3241f03f1cadff62b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Port 79aa77626770c91badd7c9ba9d26e55a28d34416
Commit: 1d5106d69cf475215887c42834158d710e586f1b
https://github.com/llvm/llvm-project/commit/1d5106d69cf475215887c42834158d710e586f1b
Author: Frederik Carlier <frederik.carlier at keysight.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
A clang/test/CodeGenObjC/exceptions-personality.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjCXX/personality.mm
Log Message:
-----------
Objective C: use C++ exceptions on MinGW+GNUstep (#77255)
The GNUstep Objective C runtime (libobjc2) is adding support for the GNU
ABI on Windows (more specifically, MinGW). The libobjc2 runtime uses C++
exceptions in that configuration; this PR updates clang to act
accordingly.
The corresponding change to libobjc2 is here:
https://github.com/gnustep/libobjc2/pull/267
Commit: af78e5daf0791135485dbd7972ffedb927727a6b
https://github.com/llvm/llvm-project/commit/af78e5daf0791135485dbd7972ffedb927727a6b
Author: Tai Ly <tai.ly at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
Log Message:
-----------
[mlir][tosa]Fix Rescale shift attr data type (#71084)
Change Rescale shift attribute to be DenseI8ArrayAttr to match spec
(instead of DenseI32ArrayAttr)
This replaces https://reviews.llvm.org/D157439
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: d7ac4123333a5bc042b2eb9e17df8f723f6b56d9
https://github.com/llvm/llvm-project/commit/d7ac4123333a5bc042b2eb9e17df8f723f6b56d9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sve2-min-max-clamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
Log Message:
-----------
[AArch64][SME] Fix definition of uclamp/sclamp instructions. (#77619)
For some reason the arguments were in the wrong order.
Commit: 14e7dac92a32f900a66cb868be89c964b687a825
https://github.com/llvm/llvm-project/commit/14e7dac92a32f900a66cb868be89c964b687a825
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-extq.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
Log Message:
-----------
[Clang][LLVM][AArch64]SVE2.1 update the intrinsics according to acle[1] (#76844)
This patch changes the following intrinsic
```svst1uwq[_{d}] replaced by svst1wq[_{d}]
svst1uwq_vnum[_{d}] replaced by svst1wq_vnum[_{d}]
svst1udq[_{d}] replaced by svst1dq[_{d}]
svst1udq_vnum[_{d}] replaced by svst1dq_vnum[_{d}]
```
Drops 'u' from the quadword stores because it is simply truncating the
quadwords to 32 bits
```
svextq_lane[_{d}] replaced by svextq[_{d}]
```
EXTQ follows the previous defined EXT intrinsics
```
svdot[_{d}_{2}_{3}] replaced by svdot[_{d}_{2}]
```
Introduced with the latest SME2 ACLE change
[1]https://github.com/ARM-software/acle/pull/257
Commit: c053e9f0f4b56a56582ad149a8c89434126eff7f
https://github.com/llvm/llvm-project/commit/c053e9f0f4b56a56582ad149a8c89434126eff7f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv64zacas-invalid.s
Log Message:
-----------
[RISCV] Re-implement Zacas MC layer support to make it usable for CodeGen. (#77418)
This changes the register class to GPRPair and adds the destination
register as a source with a tied operand constraint.
Parsing for the paired register is done with a custom parser that
checks for even register and converts it to its pair version. A
bit of care needs to be taken so that we only parse as a pair register
based on which instruction we're parsing and the mode in the subtarget.
This allows amocas.w to be parsed correcty in both modes.
I've added a FIXME to note that we should be creating pair registers
for Zdinx on RV32 to match the instructions CodeGen generates.
Commit: 6bc7e3764c244b3d6ba2ab861889d80082766017
https://github.com/llvm/llvm-project/commit/6bc7e3764c244b3d6ba2ab861889d80082766017
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[MLIR][Tensor] Fix checks for `fold-into-pack-and-unpack.mlir` (#77622)
Fix after 113bce0
Commit: 7cc9ae95512edd0b969823fdfa062b92cb3c4d4e
https://github.com/llvm/llvm-project/commit/7cc9ae95512edd0b969823fdfa062b92cb3c4d4e
Author: Okwan Kwon <okkwon at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/test/Transforms/inlining.mlir
Log Message:
-----------
[mlir] allow inlining complex ops (#77514)
Complex ops are pure ops just like the arithmetic ops so they can be
inlined.
Commit: 2c60d59864ed8b2b26c4f0683ee7a1816c6d951e
https://github.com/llvm/llvm-project/commit/2c60d59864ed8b2b26c4f0683ee7a1816c6d951e
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/riscv-rvv-vector-bits.f90
Log Message:
-----------
[Flang] Support -mrvv-vector-bits flag (#77588)
This patch adds support for the -mrvv-vector-bits flag in the Flang
driver, and
translates them to -mvscale-min/-mvscale-max.
The code was copied from the Clang toolchain (similarly to what was done
for
AArch64's -msve-vector-bits flag) so it also supports the same
-mrvv-vector-bits=zvl mode.
Note that Flang doesn't yet define the __riscv_v_fixed_vlen macro, so
the help
text has been updated to highlight that it's only defined for Clang.
Commit: e203968e411bba6395133d93881eb32e7895e50b
https://github.com/llvm/llvm-project/commit/e203968e411bba6395133d93881eb32e7895e50b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Libomptarget] Do not abort on failed plugin init (#77623)
Summary:
The current code logic is supposed to skip plugins that aren't found or
could not be loaded. However, the plugic ontained a call to `abort` if
it failed, which prevented us from continuing if initilalization the
plugin failed (such as if `dlopen` failed for the dyanmic plugins).
Commit: 6a075a9d5dda8f6ce37b176c6d4a7f87a770ec31
https://github.com/llvm/llvm-project/commit/6a075a9d5dda8f6ce37b176c6d4a7f87a770ec31
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM]: Update setmaxregister NVVM Op (#77594)
This patch updates the setmaxregister NVVM Op to use the
intrinsics instead of inline-ptx.
* The interface remains same (as expected).
* Tests are added to verify the lowered intrinsics in
Target/LLVMIR/nvvmir.mlir.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: f502b981b471c04bef1b2a6c581c02b59f931163
https://github.com/llvm/llvm-project/commit/f502b981b471c04bef1b2a6c581c02b59f931163
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
Log Message:
-----------
[libc++][NFC] Add comment in test to explain the presence of some assertions
Commit: cd7eaaa6db0dc9a00a097ba8e6ebad6fb2dec56a
https://github.com/llvm/llvm-project/commit/cd7eaaa6db0dc9a00a097ba8e6ebad6fb2dec56a
Author: Pete Lawrence <plawrence at apple.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lldb/include/lldb/Utility/StreamString.h
M lldb/source/Utility/StreamString.cpp
Log Message:
-----------
[lldb] Add color support to StreamString (#77380)
This change just adds a `bool colors` parameter to the `StreamString`
class's constructor, which it passes up to its superclass’s constructor.
I'm working on another patch that prints out error messages using a
`StreamString` but I wasn't getting colorized text because of this
missing implementation detail.
rdar://120671168
Commit: 1c209322e462c1d1675cc4b9947712dcceac93b5
https://github.com/llvm/llvm-project/commit/1c209322e462c1d1675cc4b9947712dcceac93b5
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/unittests/ADT/StringRefTest.cpp
Log Message:
-----------
[ADT] Make StringRef std::string_view conversion operator constexpr. NFC (#77506)
This would allow us to compare StringRefs via std::string_view, avoiding
having
to make the existing StringRef compare machinery constexpr for now.
Commit: cac6b1a5420d76f4635696372849dbbf07a77376
https://github.com/llvm/llvm-project/commit/cac6b1a5420d76f4635696372849dbbf07a77376
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'var' parsing correctly, support array sections (#77617)
While investigating implementing 'var-list' generically for the variety
of clauses that support this syntax (an extensive list!) I discovered
that it includes 'compound types' and members of compound types, as well
as array sections.
This patch genericizes that function, and implements it in terms of an
assignment expression, and enables a simplified version of OMP Array
Sections for it. OpenACC only supports a startidx + length, so this
patch implements that parsing.
However, it is currently still being represented as an OpenMP Array
Section, which is semantically very similar. It is my intent to come
back and genericize the OMP Array Sections types (or create a similar
expression node) in the future when dealing with Sema.
At the moment, the only obvious problem with it is that the diagnostic
for using it in the 'wrong' place says OpenMP instead of OpenACC, which
I intend to fix when I deal with the AST node changes.
Commit: 761b9d9e4631aa85f932e5ee33aae1f7b8a0538e
https://github.com/llvm/llvm-project/commit/761b9d9e4631aa85f932e5ee33aae1f7b8a0538e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/cstdio
Log Message:
-----------
[libc++] Remove _LIBCPP_C_HAS_NO_GETS (#77346)
Since we use _LIBCPP_USING_IF_EXISTS to handle missing C library functions
now, _LIBCPP_C_HAS_NO_GETS shouldn't be necessary anymore.
See the discussion thread in #77242 for more details.
Commit: 04f77a1320e14560543e3b876f11804fa50a45ff
https://github.com/llvm/llvm-project/commit/04f77a1320e14560543e3b876f11804fa50a45ff
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
Log Message:
-----------
[SLP][NFC]Replace constant by some meaningfull values to make test more
relevant, NFC.
Commit: 004ec8ea1e9bd775246dba4eb93c1025bedaa5bd
https://github.com/llvm/llvm-project/commit/004ec8ea1e9bd775246dba4eb93c1025bedaa5bd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[ci] Set timeout for individual tests and report slowest tests (#76300)
There are builds like
https://buildkite.com/llvm-project/github-pull-requests/builds/24894
It looks like a deadlock in a test, but we can't see which one.
`--timeout=` will make lit kill and report such tests.
`--time-tests` produces nice report about slowest test, so we can tune
them over time.
The same build as above with new flags
https://buildkite.com/llvm-project/github-pull-requests/builds/24961
Commit: f1e4142f930a4c9d301061a1c31c9a8853f28d83
https://github.com/llvm/llvm-project/commit/f1e4142f930a4c9d301061a1c31c9a8853f28d83
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
Log Message:
-----------
[compiler-rt][profile] remove unneeded freebsd hack. (#77209)
Commit: c1d02bd1479e669f6622f3f9b5b52423ae9631a1
https://github.com/llvm/llvm-project/commit/c1d02bd1479e669f6622f3f9b5b52423ae9631a1
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/AsmParser/Parser.h
M mlir/lib/AsmParser/ParserState.h
Log Message:
-----------
[mlir] Change end of OperationDefinition. (#77273)
Store the last token parsed in the parser state so that the range parsed
can utilize its end rather than the start of the token after parsed.
This results in a tighter range (especially true in the case of
comments, see
```mlir
|%c4 = arith.constant 4 : index
// Foo
|
```
vs
```mlir
|%c4 = arith.constant 4 : index|
```
).
Discovered while working on a little textual post processing tool.
Commit: 5c9b713394486be91dc181062e5c01d696c30787
https://github.com/llvm/llvm-project/commit/5c9b713394486be91dc181062e5c01d696c30787
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
Log Message:
-----------
[libc++][NFC] Fix typo in comments
Commit: 3358c77b01fff71c586cc998dd80e06662d9e854
https://github.com/llvm/llvm-project/commit/3358c77b01fff71c586cc998dd80e06662d9e854
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[CMake] Deprecate GCC_INSTALL_PREFIX (#77537)
Part of https://reviews.llvm.org/D158218
GCC_INSTALL_PREFIX is a rarely-used legacy option inherited from
pre-CMake build system and has configuration file replacement nowadays.
Many `clang/test/Driver` tests specify `--gcc-toolchain=` to prevent
failures when `GCC_INSTALL_PREFIX` is specified: some contributors add
them to fix tests and some just do cargo culting. This is not healthy
for contributors adding cross compilation support for this rarely used
option.
`DEFAULT_SYSROOT` should in spirit be deprecated as well, but a relative
path doesn't have good replacement, so don't deprecate it for now.
Link:
https://discourse.llvm.org/t/add-gcc-install-dir-deprecate-gcc-toolchain-and-remove-gcc-install-prefix/65091
Link:
https://discourse.llvm.org/t/correct-cmake-parameters-for-building-clang-and-lld-for-riscv/72833
---
With `GCC_INSTALL_PREFIX=/usr`, `clang a.c` behaves like
`clang --gcc-toolchain=/usr a.c`.
Here is a simplified version of GCC installation detection code.
```
if (OPT_gcc_install_dir_EQ)
return OPT_gcc_install_dir_EQ;
if (OPT_gcc_triple)
candidate_gcc_triples = {OPT_gcc_triple};
else
candidate_gcc_triples = collectCandidateTriples();
if (OPT_gcc_toolchain)
prefixes = {OPT_gcc_toolchain};
else
prefixes = {OPT_sysroot/usr, OPT_sysroot};
for (prefix : prefixes)
if "$prefix/lib/gcc" exists // also tries $prefix/lib/gcc-cross
for (triple : candidate_gcc_triples)
if "$prefix/lib/gcc/$triple" exists
return "$prefix/lib/gcc/$triple/$version"; // pick the largest version
```
`--gcc-toolchain=` specifies a directory where
`lib/gcc{,-cross}/$triple/$version` can be found. If you actually want
to use a specific version of GCC, specify something like
`--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11` in a configuration
file. You can also specify `--gcc-triple=`.
On Debian and its derivatives where the target triple omits the vendor
part, the following ways are roughly equivalent, except that
`--gcc-install-dir=` specifies a version as well:
```
clang --gcc-toolchain=/usr a.c
clang --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/11 a.c
clang --gcc-triple=x86_64-linux-gnu a.c
```
Commit: e6c2952eb51a422e17f002d97b0ea467be4d325b
https://github.com/llvm/llvm-project/commit/e6c2952eb51a422e17f002d97b0ea467be4d325b
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/condition_variable.h
Log Message:
-----------
[scudo] Condition variable can be disabled by setting the flag to off (#77532)
To enable the condition variable, you have to define both
UseConditionVariable and the ConditionVariableT. Otherwise, it'll be
disabled. However, you may want to disable the condition variable by
setting UseConditionVariable=false, for example, while measuring the
performance and you want to turn it off temporarily. Instead of
requiring the removal of the variable, examining its value makes more
sense.
Commit: 408dce82016463dcb5026b2ddfc62174970a88e9
https://github.com/llvm/llvm-project/commit/408dce82016463dcb5026b2ddfc62174970a88e9
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
Log Message:
-----------
[SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)
After changes, that does not require support from InstCombine, we can
drop some extra requirements for values-to-be-demoted. No need to check
for external uses for roots/other instructions, just check that the
no non-vectorized insertelement instruction, which may require
widening.
Commit: 51fbab134560ece663517bf1e8c2a30300d08f1a
https://github.com/llvm/llvm-project/commit/51fbab134560ece663517bf1e8c2a30300d08f1a
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/asan-stack-safety.ll
M llvm/test/Instrumentation/AddressSanitizer/debug_info.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/local_stack_base.ll
M llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
M llvm/test/Instrumentation/AddressSanitizer/stack_layout.ll
Log Message:
-----------
[asan] Enable StackSafetyAnalysis by default
StackSafetyAnalysis determines whether stack-allocated variables are
guaranteed to be safe from memory access bugs and enables the removal of
certain unneeded instrumentations.
(hwasan enables StackSafetyAnalysis in https://reviews.llvm.org/D108381)
Test updates:
* asan-stack-safety.ll: test the -asan-use-stack-safety=1 default
* lifetime-uar-uas.ll: switch to an indexed store to prevent
StackSafetyAnalysis from optimizing out instrumentation for %c
* alloca_vla_interact.cpp: add a load to prevent StackSafetyAnalysis
from optimizing out `__asan_alloca_poison` for the VLA `array`
* scariness_score_test.cpp: add -asan-use-stack-safety=0 to make a load
of a `__asan_poison_memory_region`-poisoned local variable fail as
intended.
* other .ll tests: add -asan-use-stack-safety=0
Reviewers: kstoimenov, eugenis, vitalybuka
Reviewed By: kstoimenov
Pull Request: https://github.com/llvm/llvm-project/pull/77210
Commit: e80b9436476bba714e843461e03227b222185f7b
https://github.com/llvm/llvm-project/commit/e80b9436476bba714e843461e03227b222185f7b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/test/AST/Interp/literals.cpp
Log Message:
-----------
[clang][Interp] Fix discarded integral and floating casts (#77295)
We need to handle this at the CastExpr level.
Commit: a1dc813f759955ddbcf9b12ed052dfc8a07fdf4a
https://github.com/llvm/llvm-project/commit/a1dc813f759955ddbcf9b12ed052dfc8a07fdf4a
Author: Emilio Cota <ecg at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
Log Message:
-----------
[mlir][mesh] fix unused variable error
Commit: 2dde029df8f9e3b2ece6899dc73bea226f227d11
https://github.com/llvm/llvm-project/commit/2dde029df8f9e3b2ece6899dc73bea226f227d11
Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/Barvinok.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Analysis/Presburger/Matrix.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/Matrix.cpp
M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
Log Message:
-----------
[MLIR][Presburger] Implement computation of generating function for unimodular cones (#77235)
We implement a function that computes the generating function
corresponding to a unimodular cone.
The generating function for a polytope is obtained by summing these
generating functions over all tangent cones.
Commit: 0a1b066bbaf7e3800f47697231d7e1e91744ecbf
https://github.com/llvm/llvm-project/commit/0a1b066bbaf7e3800f47697231d7e1e91744ecbf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
Log Message:
-----------
[RISCV] Support isel for Zacas for XLen and i32. (#77666)
This adds new isel patterns for Zacas that take priority over the
pseudoinstructions we use for the A extension.
Support for 2x XLen types will come in a separate patch since they need
to be done differently.
Commit: 183eae0643719aac75ef689ee295b697d5367245
https://github.com/llvm/llvm-project/commit/183eae0643719aac75ef689ee295b697d5367245
Author: Chris B <chris.bieneman at me.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
A clang/docs/HLSL/FunctionCalls.rst
M clang/docs/HLSL/HLSLDocs.rst
Log Message:
-----------
[HLSL][Docs] Add documentation for HLSL functions (#75397)
This adds a new document that covers the HLSL approach to function calls
and parameter semantics. At time of writing this document is a proposal
for the implementation.
Commit: 1c342571b80d0f76202ec590a19706fe9e05c86d
https://github.com/llvm/llvm-project/commit/1c342571b80d0f76202ec590a19706fe9e05c86d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use value_or to simplify code. NFC (#77030)
Commit: 3378514a4da2a09abf644273c7170ffebbd25b43
https://github.com/llvm/llvm-project/commit/3378514a4da2a09abf644273c7170ffebbd25b43
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
Log Message:
-----------
[RISCV] Use any_extend for type legalizing atomic_compare_swap with Zacas. (#77669)
With Zacas we will use amocas.w which doesn't require the input to be
sign extended.
Commit: fb7fe49960ae053c92985f3376d85a15bbd10d1a
https://github.com/llvm/llvm-project/commit/fb7fe49960ae053c92985f3376d85a15bbd10d1a
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[CommandLine][NFCI] Do not add 'All' to 'RegisteredSubCommands' (#77041)
After #75679, it is no longer necessary to add the `All` pseudo
subcommand to the list of registered subcommands. The change causes the
list to contain only real subcommands, i.e. an unnamed top-level
subcommand and named ones. This simplifies the code a bit by removing
some checks for this special case.
Commit: a08506e374f5938e30a9c13b61a697e8c0e12aa3
https://github.com/llvm/llvm-project/commit/a08506e374f5938e30a9c13b61a697e8c0e12aa3
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/driver.test
Log Message:
-----------
[LLD] [MinGW] Add support for more ThinLTO specific options (#77387)
This was missed when mass-adding support for other LTO options in
0b51e648307cf6c21c463d3e73e51c03aaa8c9e2.
Group the existing thinlto_cache_dir with these other options in a new
group, next to the other LTO options.
This skips adding the options --thinlto-emit-index-files and
--thinlto-single-module=, which don't seem to have corresponding options
on the lld-link level currently.
This should fix https://github.com/mstorsjo/llvm-mingw/issues/386.
Commit: aec73eade7af0e22c944714bec31570181bc1ad4
https://github.com/llvm/llvm-project/commit/aec73eade7af0e22c944714bec31570181bc1ad4
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
Log Message:
-----------
[mlir][sparse] allow unknown ops in one-shot bufferization in mini-pipeline (#77688)
Rationale:
Since this mini-pipeline may be used in alternative pipelines (viz.
different from the default "sparsifier" pipeline) where unknown ops are
handled by alternative bufferization methods that are downstream of this
mini-pipeline, we allow unknown ops by default (failure to bufferize is
eventually apparent by failing to convert to LLVM IR).
This is part of enabling e2e testing for TORCH-MLIR tests using a
sparsifier backend
Commit: e51fe958a226888f57ad3646034e6060b830f01a
https://github.com/llvm/llvm-project/commit/e51fe958a226888f57ad3646034e6060b830f01a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
Log Message:
-----------
[clang][NFC] Improve comments in C++ DR test suite (#77670)
Previously, we've been mentioning tests that were placed in their own files in corresponding `drNNxx.cpp` file. This patch makes sure we do this consistently, and improves upon existing practice by specifying the name of the file test is placed in.
Commit: 8ca07e57c3be0dc41dbb95f6b21e541fecd74e8a
https://github.com/llvm/llvm-project/commit/8ca07e57c3be0dc41dbb95f6b21e541fecd74e8a
Author: Andrew Gozillon <Andrew.Gozillon at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
R openmp/libomptarget/test/offloading/fortran/failing/target_map_common_block1.f90
M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
A openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
Log Message:
-----------
[Flang][OpenMP][Offloading][Test] Adjust slightly incorrect tests now cmake configuration works
These tests were slightly broken, in one case a failing test that now works. In the other case
some accidentally left over code during a name change that broke compilation due to missing
symbols.
Commit: 98e3d98bf34ff9202e8b82d4967c02e4fd7d6532
https://github.com/llvm/llvm-project/commit/98e3d98bf34ff9202e8b82d4967c02e4fd7d6532
Author: Christopher Di Bella <cjdb at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
Log Message:
-----------
[libc++] Rename local variable to avoid shadowing error (#77672)
Due to the inclusion of a header, a global type is was being shadowed,
which upset GCC.
Commit: 21a784f24e3f6c09558de6a3dfb32e2069955405
https://github.com/llvm/llvm-project/commit/21a784f24e3f6c09558de6a3dfb32e2069955405
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/utils/TableGen/ExegesisEmitter.cpp
Log Message:
-----------
[llvm-exegesis] Add tablegen support for validation counters (#76652)
This patch adds support in the llvm-exegesis tablegen emitter for
validation counters. Full support for validation counters in
llvm-exegesis will be added in a future patch.
Commit: 04a906ec980e7bf49ffda0808766f51d08e8ae76
https://github.com/llvm/llvm-project/commit/04a906ec980e7bf49ffda0808766f51d08e8ae76
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
A lld/test/ELF/aarch64-reloc-gotpcrel32.s
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
A llvm/test/MC/AArch64/elf-reloc-gotpcrel32.s
Log Message:
-----------
[llvm][lld] Support R_AARCH64_GOTPCREL32 (#72584)
This is the follopw implementation to
https://github.com/ARM-software/abi-aa/pull/223 that supports this
relocation in llvm and lld.
Commit: f7678c81fe96dc8a350d947b77ce5311a9f99612
https://github.com/llvm/llvm-project/commit/f7678c81fe96dc8a350d947b77ce5311a9f99612
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
A lld/test/ELF/riscv64-reloc-got32-pcrel.s
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
A llvm/test/MC/RISCV/elf-reloc-got32-pcrel.s
Log Message:
-----------
[llvm][lld] Support R_RISCV_GOT32_PCREL (#72587)
This is the followup implementation to
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/402 that
supports this relocation in llvm and lld.
Commit: f65265ab779f5c6c571ff702aae5670722765ae0
https://github.com/llvm/llvm-project/commit/f65265ab779f5c6c571ff702aae5670722765ae0
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/lib/Target/X86/X86PfmCounters.td
Log Message:
-----------
[llvm-exegesis] Fix validation counters
While landing #76652, I realized I messed up a rebase/merge at some
point and some of the changes I intended to land with #76652 ended up in
a different PR (#76653) instead. This patch fixes the validation
counters to how they were intended to land in #76652.
Commit: fefdef808c230c79dca2eb504490ad0f17a765a5
https://github.com/llvm/llvm-project/commit/fefdef808c230c79dca2eb504490ad0f17a765a5
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-counted-by.c
Log Message:
-----------
[Clang] Implement the 'counted_by' attribute (#76348)
The 'counted_by' attribute is used on flexible array members. The
argument for the attribute is the name of the field member holding the
count of elements in the flexible array. This information is used to
improve the results of the array bound sanitizer and the
'__builtin_dynamic_object_size' builtin. The 'count' field member must
be within the same non-anonymous, enclosing struct as the flexible array
member. For example:
```
struct bar;
struct foo {
int count;
struct inner {
struct {
int count; /* The 'count' referenced by 'counted_by' */
};
struct {
/* ... */
struct bar *array[] __attribute__((counted_by(count)));
};
} baz;
};
```
This example specifies that the flexible array member 'array' has the
number of elements allocated for it in 'count':
```
struct bar;
struct foo {
size_t count;
/* ... */
struct bar *array[] __attribute__((counted_by(count)));
};
```
This establishes a relationship between 'array' and 'count';
specifically that 'p->array' must have *at least* 'p->count' number of
elements available. It's the user's responsibility to ensure that this
relationship is maintained throughout changes to the structure.
In the following, the allocated array erroneously has fewer elements
than what's specified by 'p->count'. This would result in an
out-of-bounds access not not being detected:
```
struct foo *p;
void foo_alloc(size_t count) {
p = malloc(MAX(sizeof(struct foo),
offsetof(struct foo, array[0]) + count *
sizeof(struct bar *)));
p->count = count + 42;
}
```
The next example updates 'p->count', breaking the relationship
requirement that 'p->array' must have at least 'p->count' number of
elements available:
```
void use_foo(int index, int val) {
p->count += 42;
p->array[index] = val; /* The sanitizer can't properly check this access */
}
```
In this example, an update to 'p->count' maintains the relationship
requirement:
```
void use_foo(int index, int val) {
if (p->count == 0)
return;
--p->count;
p->array[index] = val;
}
```
Commit: 8ae8ae967406bc8cb1c21396b879681b06bdbfe6
https://github.com/llvm/llvm-project/commit/8ae8ae967406bc8cb1c21396b879681b06bdbfe6
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Target.h
Log Message:
-----------
[llvm-exegesis] Update validation counters enum
To be consistent with f65265ab779f5c6c571ff702aae5670722765ae0.
Commit: 4a3fb9ce27dda17e97341f28005a28836c909cfc
https://github.com/llvm/llvm-project/commit/4a3fb9ce27dda17e97341f28005a28836c909cfc
Author: Bill Wendling <morbo at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang] Update 'counted_by' documentation
Describe a limitation of the 'counted_by' attribute when used in unions.
Also fix a errant typo.
Commit: 422b84a77167c43259e18cc3eff88b4b2530defc
https://github.com/llvm/llvm-project/commit/422b84a77167c43259e18cc3eff88b4b2530defc
Author: Billy Zhu <billyzhu at modular.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h
A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp
A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Dialect/LLVMIR/di-expression-legalization.mlir
Log Message:
-----------
[MLIR][LLVM] DI Expression Rewrite & Legalization (#77541)
Add a rewriter for DIExpressions & use it to run legalization patterns
before exporting to llvm (because LLVM dialect allows DI Expressions
that may not be valid in LLVM IR).
The rewriter driver works similarly to the existing mlir rewriter
drivers, except it operates on lists of DIExpressionElemAttr (i.e.
DIExpressionAttr). Each rewrite pattern transforms a range of
DIExpressionElemAttr into a new list of DIExpressionElemAttr.
In addition, this PR sets up a place to add legalization patterns that
are broadly applicable internally to the LLVM dialect, and they will
always be applied prior to export. This PR adds one pattern for merging
fragment operators.
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 66981f9c616812fdc452c3c03a901b85e2e2fd90
https://github.com/llvm/llvm-project/commit/66981f9c616812fdc452c3c03a901b85e2e2fd90
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
A llvm/docs/InstrProfileFormat.rst
M llvm/docs/UserGuides.rst
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
[docs][IRPGO]Document two binary formats for instrumentation-based profiles, with a focus on IRPGO. (#76105)
Commit: 03be448cce8b6a5f1aa36fc1b316508b08b3aa9f
https://github.com/llvm/llvm-project/commit/03be448cce8b6a5f1aa36fc1b316508b08b3aa9f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/test/CodeGen/Generic/live-debug-label.ll
Log Message:
-----------
[RISCV][AMDGPU] Mark test/CodeGen/Generic/live-debug-label.ll XFAIL for RISCV and AMDGPU (#77631)
Both RISC-V and AMDGPU(GCN) deploy two VirtRegRewriter in their codegen
pipeline. This test prematurely stops at the first one, which doesn't
cleanup the virtual register map and cause an assertion failure. Ideally
we can solve this by teaching `-stop-after` how to stop at the last
instance of a Pass, but we're just marking XFAIL for these two targets
for now.
Commit: 753dc0a01ccc3cbe87d5ee0fe0ec7f8db340966f
https://github.com/llvm/llvm-project/commit/753dc0a01ccc3cbe87d5ee0fe0ec7f8db340966f
Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/include/mlir/ExecutionEngine/Float16bits.h
M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
M mlir/lib/ExecutionEngine/Float16bits.cpp
M mlir/lib/ExecutionEngine/RunnerUtils.cpp
A mlir/test/Integration/Dialect/Memref/verify-memref.mlir
Log Message:
-----------
[mlir][verifyMemref] Fix bug and support more types for verifyMemref (#77682)
1. Fix a bug in verifyMemref to pass in `data` instead of `baseptr`,
which didn't verify data correctly.
2. Add `==` for f16 and bf16.
3. Add a comprehensive test of verifyMemref for all supported types.
Commit: 66d022f326779c8abe80b272751fab1a10992222
https://github.com/llvm/llvm-project/commit/66d022f326779c8abe80b272751fab1a10992222
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[clang][analyzer] Fix incorrect range of 'ftell' in the StdLibraryFunctionsChecker (#77576)
According to https://pubs.opengroup.org/onlinepubs/9699919799/, the
return value of `ftell` is not restricted to `> 0`, and may return `0`
in real world.
Commit: 31fd6d116daba3b7f8e17a2c9d671e265f49be3c
https://github.com/llvm/llvm-project/commit/31fd6d116daba3b7f8e17a2c9d671e265f49be3c
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir][mesh] fix ProcessMultiIndexOp building (#77676)
Insert default empty mesh axes array instead of null attribute without MLIR context, since the attribute is default-valued not just optional.
Commit: d85a13b867b17fa93965bc7e439a58c954045217
https://github.com/llvm/llvm-project/commit/d85a13b867b17fa93965bc7e439a58c954045217
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
Revert "[CommandLine][NFCI] Do not add 'All' to 'RegisteredSubCommands' (#77041)"
This reverts commit fb7fe49960ae053c92985f3376d85a15bbd10d1a.
The commit introduced a bug where an option with the `All' subcommand
would not be added to a category initialized after that option.
Commit: 2dce77201c0c6b541a53aa7a09ec06e7561e8f74
https://github.com/llvm/llvm-project/commit/2dce77201c0c6b541a53aa7a09ec06e7561e8f74
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
R clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
R clang/test/Sema/attr-counted-by.c
Log Message:
-----------
Revert "[Clang] Implement the 'counted_by' attribute (#76348)"
This reverts commit fefdef808c230c79dca2eb504490ad0f17a765a5.
Breaks check-clang, see
https://github.com/llvm/llvm-project/pull/76348#issuecomment-1886029515
Also revert follow-on "[Clang] Update 'counted_by' documentation"
This reverts commit 4a3fb9ce27dda17e97341f28005a28836c909cfc.
Commit: 6d19e89d240dfd91af748ef5126d33077f3411c1
https://github.com/llvm/llvm-project/commit/6d19e89d240dfd91af748ef5126d33077f3411c1
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[Pass] Remove trailing whitespace in `PassRegistry.def` NFC (#77710)
Commit: e0c734561d5b268f8d24e68c535df8aa41369690
https://github.com/llvm/llvm-project/commit/e0c734561d5b268f8d24e68c535df8aa41369690
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
M libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
M libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
M libcxx/test/support/msvc_stdlib_force_include.h
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test] Replace uses of `_LIBCPP_ABI_MICROSOFT` in tests (#77233)
Commit: 5a66c8ddc393dabbeba6c488bb802ebd9d43dd7f
https://github.com/llvm/llvm-project/commit/5a66c8ddc393dabbeba6c488bb802ebd9d43dd7f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[Clang][doc] Add blank line before lists (#77573)
The doc is not correctly rendered with missing blank lines.
Commit: 4eb68f53db608465cf557dbdfe85d9b4eb608fff
https://github.com/llvm/llvm-project/commit/4eb68f53db608465cf557dbdfe85d9b4eb608fff
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Log Message:
-----------
[Instrumentation] Use a range-based for loop (NFC)
Commit: 1bc4cb51afb9abf6049ccfa44069cb1f0612e678
https://github.com/llvm/llvm-project/commit/1bc4cb51afb9abf6049ccfa44069cb1f0612e678
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/test/MC/X86/index-operations.s
Log Message:
-----------
[X86][MC] Fix wrong action when encoding enqcmd/enqcmds (#77571)
Mentioned in https://github.com/llvm/llvm-project/pull/77293,
enqcmd/enqcmds are special for its mem operand, like movdir64b(see
https://github.com/llvm/llvm-project/commit/4dd5e9c60efa9), 0x67 prefix
can not only modify its address size, so it's mem base and index reg
should be the same type as source reg.
Commit: cc77e33271371e6ea29569ba06db9cfd1aac022a
https://github.com/llvm/llvm-project/commit/cc77e33271371e6ea29569ba06db9cfd1aac022a
Author: James Grant <42079499+jamesg-nz at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/Format/FormatToken.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't apply severe penalty if no possible column formats (#76675)
If there are possible column formats, but they weren't selected because
they don't fit within remaining characters for the current path then
applying severe penalty to induce column layout by selection of a
different path seems fair.
But if due to style configuration or what the input code is, there are
no possible column formats, different paths aren't going to have column
layouts. Seems wrong to apply the severe penalty to induce column
layouts if there are none available.
It just causes selection of sub-optimal paths, e.g. get bad formatting
when brace initializers are used inside lambda bodies.
Fixes #56350
Commit: b2c0c6f3f2741415d5257e16ca8d4083abe1b487
https://github.com/llvm/llvm-project/commit/b2c0c6f3f2741415d5257e16ca8d4083abe1b487
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-01-10 (Wed, 10 Jan 2024)
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/WhitespaceManager.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format]: Split alignment of declarations around assignment (#69340)
Function pointers are detected as a type of declaration using
FunctionTypeLParen. They are aligned based on rules for
AlignConsecutiveDeclarations. When a function pointer is on the
right-hand side of an assignment, the alignment of the function pointer
can result in excessive whitespace padding due to the ordering of
alignment, as the alignment processes a line from left-to-right and
first aligns the declarations before and after the assignment operator,
and then aligns the assignment operator. Injection of whitespace by
alignment of declarations after the equal sign followed by alignment of
the equal sign results in the excessive whitespace.
Fixes #68079.
Commit: 093e6bdd4bec8ce9b3baf1e8e0a07aa6549dd5d4
https://github.com/llvm/llvm-project/commit/093e6bdd4bec8ce9b3baf1e8e0a07aa6549dd5d4
Author: XDeme <66138117+XDeme at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix crash involving array designators (#77045)
Fixes llvm/llvm-project#76716
Fixes parsing of `[0]{}`. Before this patch it was begin parsed as a
lambda, now it is correctly parsed as a designator initializer.
Commit: 9ed30012fb4f43de42ef2f265fe384d9d0b0edf2
https://github.com/llvm/llvm-project/commit/9ed30012fb4f43de42ef2f265fe384d9d0b0edf2
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
Log Message:
-----------
[mlir][arith][nfc] Fix typos (#77700)
Cleanup after https://github.com/llvm/llvm-project/pull/77211
Commit: 1fe7bdb87b0d6331b243b3834565ad9423d8f4b0
https://github.com/llvm/llvm-project/commit/1fe7bdb87b0d6331b243b3834565ad9423d8f4b0
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
A llvm/test/CodeGen/X86/apx/adc.ll
A llvm/test/CodeGen/X86/apx/add.ll
A llvm/test/CodeGen/X86/apx/dec.ll
A llvm/test/CodeGen/X86/apx/imul.ll
A llvm/test/CodeGen/X86/apx/inc.ll
A llvm/test/CodeGen/X86/apx/neg.ll
A llvm/test/CodeGen/X86/apx/not.ll
A llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/sbb.ll
A llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/xor.ll
Log Message:
-----------
[X86][CodeGen] Support lowering for NDD ADD/SUB/ADC/SBB/OR/XOR/NEG/NOT/INC/DEC/IMUL (#77564)
We supported encoding/decoding for these instructions in
https://github.com/llvm/llvm-project/pull/76319
https://github.com/llvm/llvm-project/pull/76721
https://github.com/llvm/llvm-project/pull/76919
Commit: 1e05236dbdf6f1b27b5e68c3948fec7deea4e3dc
https://github.com/llvm/llvm-project/commit/1e05236dbdf6f1b27b5e68c3948fec7deea4e3dc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
Log Message:
-----------
[Target] Use isNullConstant (NFC)
Commit: 12bba0d4f8c2df655958decb8eb788327543b3fe
https://github.com/llvm/llvm-project/commit/12bba0d4f8c2df655958decb8eb788327543b3fe
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang-tools-extra/clang-query/QueryParser.cpp
Log Message:
-----------
[clang-query] Use StringRef::ltrim (NFC)
Commit: be76f1646f966cbebb4c52ca0faa41921a284262
https://github.com/llvm/llvm-project/commit/be76f1646f966cbebb4c52ca0faa41921a284262
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Use getConstantOperandAPInt (NFC)
Commit: e8790027b169fa10dcdb04f076cf4efafeda704c
https://github.com/llvm/llvm-project/commit/e8790027b169fa10dcdb04f076cf4efafeda704c
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Log Message:
-----------
[RISCV] Allow vsetvlis with same register AVL in doLocalPostpass (#76801)
Commit: 164f85db876e61cf4a3c34493ed11e8f5820f968
https://github.com/llvm/llvm-project/commit/164f85db876e61cf4a3c34493ed11e8f5820f968
Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
Date: 2024-01-10 (Wed, 10 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-counted-by.c
Log Message:
-----------
[Clang] Implement the 'counted_by' attribute (#76348)
The 'counted_by' attribute is used on flexible array members. The
argument for the attribute is the name of the field member holding the
count of elements in the flexible array. This information is used to
improve the results of the array bound sanitizer and the
'__builtin_dynamic_object_size' builtin. The 'count' field member must
be within the same non-anonymous, enclosing struct as the flexible array
member. For example:
```
struct bar;
struct foo {
int count;
struct inner {
struct {
int count; /* The 'count' referenced by 'counted_by' */
};
struct {
/* ... */
struct bar *array[] __attribute__((counted_by(count)));
};
} baz;
};
```
This example specifies that the flexible array member 'array' has the
number of elements allocated for it in 'count':
```
struct bar;
struct foo {
size_t count;
/* ... */
struct bar *array[] __attribute__((counted_by(count)));
};
```
This establishes a relationship between 'array' and 'count';
specifically that 'p->array' must have *at least* 'p->count' number of
elements available. It's the user's responsibility to ensure that this
relationship is maintained throughout changes to the structure.
In the following, the allocated array erroneously has fewer elements
than what's specified by 'p->count'. This would result in an
out-of-bounds access not not being detected:
```
struct foo *p;
void foo_alloc(size_t count) {
p = malloc(MAX(sizeof(struct foo),
offsetof(struct foo, array[0]) + count *
sizeof(struct bar *)));
p->count = count + 42;
}
```
The next example updates 'p->count', breaking the relationship
requirement that 'p->array' must have at least 'p->count' number of
elements available:
```
void use_foo(int index, int val) {
p->count += 42;
p->array[index] = val; /* The sanitizer can't properly check this access */
}
```
In this example, an update to 'p->count' maintains the relationship
requirement:
```
void use_foo(int index, int val) {
if (p->count == 0)
return;
--p->count;
p->array[index] = val;
}
```
Commit: 3d795bdd4d9067e96b2ff9e6278a5b8847eebe2b
https://github.com/llvm/llvm-project/commit/3d795bdd4d9067e96b2ff9e6278a5b8847eebe2b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/InstCombine/bitreverse.ll
Log Message:
-----------
[InstCombine] Handle a bitreverse idiom which ends with a bswap (#77677)
This patch handles the following `bitreverse` idiom, which is found in
https://github.com/abseil/abseil-cpp/blob/8bd6445acc4bd0d123da2a44448b7218dfc70939/absl/crc/internal/crc.cc#L75-L80:
```
uint32_t ReverseBits(uint32_t bits) {
bits = (bits & 0xaaaaaaaau) >> 1 | (bits & 0x55555555u) << 1;
bits = (bits & 0xccccccccu) >> 2 | (bits & 0x33333333u) << 2;
bits = (bits & 0xf0f0f0f0u) >> 4 | (bits & 0x0f0f0f0fu) << 4;
return absl::gbswap_32(bits);
}
```
Alive2: https://alive2.llvm.org/ce/z/ZYXNmj
Commit: 211abe38d83aced510726601c7cf6b464f6ee5b1
https://github.com/llvm/llvm-project/commit/211abe38d83aced510726601c7cf6b464f6ee5b1
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/dag-isel-complexpattern.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Add space-optimized forms of OPC_CheckComplexPat (#73310)
We record the usage of each `ComplexPat` and sort the `ComplexPat`s
by usage.
For the top 8 `ComplexPat`s, we will emit a `OPC_CheckComplexPatN`
to save one byte.
Overall this reduces the llc binary size with all in-tree targets by
about 89K.
Commit: 5c8d1238382ce3ef6004d9cbe3fe67b8342d868c
https://github.com/llvm/llvm-project/commit/5c8d1238382ce3ef6004d9cbe3fe67b8342d868c
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Add space-optimized forms of OPC_CheckPatternPredicate (#73319)
We record the usage of each `PatternPredicate` and sort them by
usage.
For the top 8 `PatternPredicate`s, we will emit a
`OPC_CheckPatternPredicateN` to save one byte.
The old `OPC_CheckPatternPredicate2` is renamed to
`OPC_CheckPatternPredicateTwoByte`.
Overall this reduces the llc binary size with all in-tree targets by
about 93K.
Commit: 1a5792735aa0bb10e5624a438bcf7fd5091ee265
https://github.com/llvm/llvm-project/commit/1a5792735aa0bb10e5624a438bcf7fd5091ee265
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[SelectionDAG] Add space-optimized forms of OPC_CheckPredicate (#73488)
We record the usage of each `Predicate` and sort them by usage.
For the top 8 `Predicate`s, we will emit a `PC_CheckPredicateN` to
save one byte.
Overall this reduces the llc binary size with all in-tree targets by
about 61K.
Commit: 3643d11988d6b14171b4320cbdfb15aba9764d0b
https://github.com/llvm/llvm-project/commit/3643d11988d6b14171b4320cbdfb15aba9764d0b
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
Log Message:
-----------
[flang][hlfir] Support box in user defined assignments (#77578)
When dealing with overlaps in user defined assignments, some entities
with descriptors (fir.box) may be saved without descriptors. The current
code was replacing the original box entity with the "raw" copy with a
simple cast instead of creating a box for the copy. This patch ensures a
fir.embox is emitted instead.
Commit: e3993e044ec5925e59c131f798f823a9f16f0433
https://github.com/llvm/llvm-project/commit/e3993e044ec5925e59c131f798f823a9f16f0433
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/test/AST/Interp/functions.cpp
Log Message:
-----------
[clang][Interp] Implement __builtin_addressof (#77303)
We don't need to do anything here, since the input is already a Pointer.
The only complexity is that we pre-classify the parameters as PT_Ptr,
but they might end up being of a different pointer type, e.g. PT_FnPtr.
Commit: 79889fedc57707e99740abc1f48e6c5601d5a3f3
https://github.com/llvm/llvm-project/commit/79889fedc57707e99740abc1f48e6c5601d5a3f3
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
M lld/ELF/Arch/RISCV.cpp
M llvm/include/llvm/Support/RISCVISAInfo.h
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Deduplicate version struct in RISCVISAInfo. NFC (#77645)
We have two structs for representing the version of an extension in
RISCVISAInfo, RISCVExtensionInfo and RISCVExtensionVersion, both
with the exact same fields. This patch deduplicates them.
Commit: 16945bc16dbb4c4acac854001b73e1454f3b601c
https://github.com/llvm/llvm-project/commit/16945bc16dbb4c4acac854001b73e1454f3b601c
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
Log Message:
-----------
[AMDGPU] Don't send DEALLOC_VGPRs after calls (#77439)
Calls do not have to wait for VsCnt, so after they return there might
still be scratch stores in progress. It's important that we don't send
the DEALLOC_VGPR message in that case, since that might release the
VGPRs and scratch allocation before those stores are complete.
Commit: c9c8f0c2fcf3b25ec310a75216f1d5b582ec343f
https://github.com/llvm/llvm-project/commit/c9c8f0c2fcf3b25ec310a75216f1d5b582ec343f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
Log Message:
-----------
[AMDGPU] Update tests for GFX12 errors and unsupported instructions (#77624)
Commit: 66eedd1dd370d22ddf994540c20848618d64d1a6
https://github.com/llvm/llvm-project/commit/66eedd1dd370d22ddf994540c20848618d64d1a6
Author: hanbeom <kese111 at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Fix worklist management in select fold (#77738)
`InstCombine` uses `Worklist` to manage change history. `setOperand`,
which was previously used to change the `Select` Instruction, does not,
so it is `run` twice, which causes an `LLVM ERROR`.
This problem is resolved by changing `setOperand` to `replaceOperand` as
the change history will be registered in the Worklist.
Fixes #77553.
Commit: 158d72d728261c1e54dc77931372b2322c52849f
https://github.com/llvm/llvm-project/commit/158d72d728261c1e54dc77931372b2322c52849f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/2006-05-19-SingleEltReturn.c
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/CSKY/csky-hard-abi.c
M clang/test/CodeGen/CSKY/csky-soft-abi.c
M clang/test/CodeGen/PowerPC/aix-alignment.c
M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
M clang/test/CodeGen/PowerPC/ppc-aggregate-abi.cpp
M clang/test/CodeGen/PowerPC/ppc32-and-aix-struct-return.c
M clang/test/CodeGen/PowerPC/ppc64-align-struct.c
M clang/test/CodeGen/PowerPC/ppc64-elf-abi.c
M clang/test/CodeGen/PowerPC/ppc64-soft-float.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/PowerPC/ppc64le-aggregates.c
M clang/test/CodeGen/PowerPC/ppc64le-f128Aggregates.c
M clang/test/CodeGen/RISCV/bfloat-abi.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/x86_32-arguments-darwin.c
M clang/test/CodeGen/X86/x86_32-arguments-iamcu.c
M clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arc/arguments.c
M clang/test/CodeGen/arm-aapcs-vfp.c
M clang/test/CodeGen/arm-arguments.c
M clang/test/CodeGen/arm-homogenous.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm-vector-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64_32.c
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/c11atomics-ios.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lanai-arguments.c
M clang/test/CodeGen/mcu-struct-return.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/mips64-nontrivial-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/regcall2.c
M clang/test/CodeGen/regparm-struct.c
M clang/test/CodeGen/renderscript.c
M clang/test/CodeGen/sparcv9-abi.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/windows-struct-abi.c
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCXX/aix-alignment.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/call-with-static-chain.cpp
M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/lambda-expressions.cpp
M clang/test/CodeGenCXX/matrix-casts.cpp
M clang/test/CodeGenCXX/matrix-type-builtins.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
M clang/test/CodeGenCXX/ms-thread_local.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/regcall.cpp
M clang/test/CodeGenCXX/regcall4.cpp
M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
M clang/test/CodeGenCXX/stack-reuse.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/thiscall-struct-return.cpp
M clang/test/CodeGenCXX/thunk-returning-memptr.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/unknown-anytype.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/x86_32-arguments.cpp
M clang/test/CodeGenCXX/x86_64-arguments.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-gro2.cpp
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/direct-method.m
M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
M clang/test/CodeGenObjC/stret-1.m
M clang/test/CodeGenObjC/stret_lookup.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjC/x86_64-struct-return-gc.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
M clang/test/Modules/templates.mm
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
Log Message:
-----------
[Clang] Set writable and dead_on_unwind attributes on sret arguments (#77116)
Set the writable and dead_on_unwind attributes for sret arguments. These
indicate that the argument points to writable memory (and it's legal to
introduce spurious writes to it on entry to the function) and that the
argument memory will not be used if the call unwinds.
This enables additional MemCpyOpt/DSE/LICM optimizations.
Commit: d7642b2200bdd7dc12f5fe1a840e1fd43b1bbd73
https://github.com/llvm/llvm-project/commit/d7642b2200bdd7dc12f5fe1a840e1fd43b1bbd73
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Combine select to integer minmax (second attempt). (#77520)
Instcombine canonicalizes selects to floating point and integer minmax.
This and the dag combiner canonicalize to floating point minmax. None of
them canonicalizes to integer minmax. On Neoverse V2 basic integer
arithmetic and integer minmax have the same costs.
Commit: 9ef2ac3ad1bd5aa9e589f63047e8abeac11ad1b2
https://github.com/llvm/llvm-project/commit/9ef2ac3ad1bd5aa9e589f63047e8abeac11ad1b2
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/AddUsingTests.cpp
Log Message:
-----------
[clangd] Handle lambda scopes inside Node::getDeclContext() (#76329)
We used to consider the `DeclContext` for selection nodes inside a
lambda as the enclosing scope of the lambda expression, rather than the
lambda itself.
For example,
```cpp
void foo();
auto lambda = [] {
return ^foo();
};
```
where `N` is the selection node for the expression `foo()`,
`N.getDeclContext()` returns the `TranslationUnitDecl` previously, which
IMO is wrong, since the method `operator()` of the lambda is closer.
Incidentally, this fixes a glitch in add-using-declaration tweaks.
(Thanks @HighCommander4 for the test case.)
Commit: ee431288a6639b3bdc07b819f5d584bfb39793ed
https://github.com/llvm/llvm-project/commit/ee431288a6639b3bdc07b819f5d584bfb39793ed
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
Log Message:
-----------
[NFC][OpenMP][Flang] Add smoke test for omp target parallel (#77579)
Added test which proves that end-to-end compilation of omp target
parallel costruct is successful for Flang compiler.
Commit: 33e5db6e045d3a82e29a7c6ebffe259dfafefb3d
https://github.com/llvm/llvm-project/commit/33e5db6e045d3a82e29a7c6ebffe259dfafefb3d
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/.clang-tidy
M clang/www/c_dr_status.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[clang] Improve colors in status tracking web pages.
Use a consistent, more pastel color for unknown status
in papers and issues tracking pages
Commit: 9d97247e26eaca29bf27c842e08bd983a34fab93
https://github.com/llvm/llvm-project/commit/9d97247e26eaca29bf27c842e08bd983a34fab93
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/www/c_status.html
Log Message:
-----------
[clang] Fix color consistency in C paper tracking web page
Commit: e034f209f5f041888e649327f4b5aae5027dc14e
https://github.com/llvm/llvm-project/commit/e034f209f5f041888e649327f4b5aae5027dc14e
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
Log Message:
-----------
[AArch64LoadStoreOptimizer] Debug messages to track decision making. NFC (#77593)
With these debug message it's possible to see why some pairs get
rejected for combining.
Commit: 7bf13fe81218b17d079cc5d61ced6b09077a913c
https://github.com/llvm/llvm-project/commit/7bf13fe81218b17d079cc5d61ced6b09077a913c
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/pr14088.ll
Log Message:
-----------
[DAG] Fold (sext (sext_inreg x)) -> (sext (trunc x)) if the trunc is free (#77616)
Commit: 75d820dcdd868b8ab6c12ff62f90216ad377ce20
https://github.com/llvm/llvm-project/commit/75d820dcdd868b8ab6c12ff62f90216ad377ce20
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
Log Message:
-----------
[AArch64] MI Scheduler: create more LDP/STP pairs (#77565)
Target hook `canPairLdStOpc` is missing quite a few opcodes for which
LDPs/STPs can created. I was hoping that it would not be necessary to
add these missing opcodes here and that the attached motivating test
case would be handled by the LoadStoreOptimiser (especially after
#71908), but it's not. The problem is that after register allocation
some things are a lot harder to do. Consider this for the motivating
example
```
[1] renamable $q1 = LDURQi renamable $x9, -16 :: (load (s128) from %ir.r51, align 8, !tbaa !0)
[2] renamable $q2 = LDURQi renamable $x0, -16 :: (load (s128) from %ir.r53, align 8, !tbaa !4)
[3] renamable $q1 = nnan ninf nsz arcp contract afn reassoc nofpexcept FMLSv2f64 killed renamable $q1(tied-def 0), killed renamable $q2, renamable $q0, implicit $fpcr
[4] STURQi killed renamable $q1, renamable $x9, -16 :: (store (s128) into %ir.r51, align 1, !tbaa !0)
[5] renamable $q1 = LDRQui renamable $x9, 0 :: (load (s128) from %ir.r.G0001_609.0, align 8, !tbaa !0)
```
We can't combine the the load in line [5] into the load on [1]:
regisister q1 is used in between. And we can can't combine [1] into
[5]: it is aliasing with the STR on line [4].
So, adding some missing opcodes here seems the best/easiest approach.
I will follow up to add some more missing cases here.
Commit: 77f2ccbaac5e05e14827247ea8f6cc0f9d214390
https://github.com/llvm/llvm-project/commit/77f2ccbaac5e05e14827247ea8f6cc0f9d214390
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/ADT/STLExtras.h
Log Message:
-----------
[STLExtras] Add out-of-line definition of friend operator== for C++20 (#72348)
The last attempt at https://github.com/llvm/llvm-project/pull/72220 was
reverted by
https://github.com/llvm/llvm-project/commit/94d6699bf5eeb5aa4c50d1d90f8bf69b79201ceb
because it breaks C++20 build in clang-17 and before.
This is a workaround of
https://github.com/llvm/llvm-project/issues/70210 and unblocks
https://github.com/llvm/llvm-project/pull/72213 which rectifies
rewriting template operator and thus introduces new breakages.
Moving the function definition out of the class makes clang find a
matching `operator!=` for the `operator==`. This makes clang not rewrite
the `operator==` with reversed args. Hence, the ambiguity is resolved.
The final plan, when https://github.com/llvm/llvm-project/issues/70210
is fixed, is to move these back to inline definition or even convert to
a member template operator. This should not be urgent and could even
wait for a major clang release including
https://github.com/llvm/llvm-project/pull/72213
Commit: 1ee93ac0991d5150ed5b21624e691da43b349612
https://github.com/llvm/llvm-project/commit/1ee93ac0991d5150ed5b21624e691da43b349612
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M libc/fuzzing/string/CMakeLists.txt
A libc/fuzzing/string/bcmp_fuzz.cpp
A libc/fuzzing/string/memcmp_fuzz.cpp
A utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf
Log Message:
-----------
[libc] Add memcmp / bcmp fuzzers (#77741)
Commit: 1de3f46938d70997cda5bcba17cbdbe166d4f269
https://github.com/llvm/llvm-project/commit/1de3f46938d70997cda5bcba17cbdbe166d4f269
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
Log Message:
-----------
Revert "[SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)"
This reverts commit 408dce82016463dcb5026b2ddfc62174970a88e9.
This triggered failed asserts with code like this:
char a[];
short *b;
int c, d, e, f;
void g() {
char *h;
for (;;) {
for (; f; ++f) {
h[f] = b[0] * a[e] + b[c] * a[1] >> 7;
++b;
}
h += d;
}
}
Compiled like this:
$ clang -target x86_64-linux-gnu -c repro.c -O2
clang: ../lib/IR/Instructions.cpp:3335: static llvm::CastInst* llvm::CastInst::Create(llvm::Instruction::CastOps, llvm::Value*, llvm::Type*, const llvm::Twine&, llvm::Instruction*): Assertion `castIsValid(op, S, Ty) && "Invalid cast!"' failed.
Commit: 4b0314d14f888cc1916556574ecaa35cc118ee00
https://github.com/llvm/llvm-project/commit/4b0314d14f888cc1916556574ecaa35cc118ee00
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang][ASTImporter] Improve import of friend class templates. (#74627)
A friend template that is in a dependent context is not linked into
declaration chains (for example with the definition of the befriended
template). This condition was not correctly handled by `ASTImporter`.
Commit: a02c0d9450052b7f1bbff02eefb5344247759da9
https://github.com/llvm/llvm-project/commit/a02c0d9450052b7f1bbff02eefb5344247759da9
Author: avl-llvm <55248412+avl-llvm at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/include/llvm/DWARFLinker/Utils.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
R llvm/lib/DWARFLinker/Parallel/Utils.h
M llvm/lib/DWARFLinker/Utils.cpp
Log Message:
-----------
[DWARFLinker][NFC] Move common code into the base library: Utils.h (#77604)
This patch is extracted from #74725.
Put some usefull routines into the common Utils.h.
Commit: 21aacb0b4c8cf4deb6e3df3533bf365aa4fda125
https://github.com/llvm/llvm-project/commit/21aacb0b4c8cf4deb6e3df3533bf365aa4fda125
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/docs/PassManagement.md
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
Log Message:
-----------
[mlir] Improve `GreedyPatternRewriteDriver` and pass documentation (#77614)
Clarify what kind of IR modifications are allowed. Also improve the
documentation of the greedy rewrite driver entry points.
Addressing comments in #76219.
Commit: dc974573a8a2364f24ce69c75ad80ab30753fe9a
https://github.com/llvm/llvm-project/commit/dc974573a8a2364f24ce69c75ad80ab30753fe9a
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
Log Message:
-----------
[mlir][ArmSME][test] Make use of arm_sme.streaming_vl (NFC) (#77322)
Commit: bd2a6efb305bfc2a4d9b368388da3d76d1b98b34
https://github.com/llvm/llvm-project/commit/bd2a6efb305bfc2a4d9b368388da3d76d1b98b34
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/SemaCXX/conversion-function.cpp
Log Message:
-----------
[clang]not lookup name containing a dependent type (#77587)
Fixes: #77583
bcd51aaaf8bde4b0ae7a4155d9ce3dec78fe2598 fixed part of template
instantiation dependent name issues but still missing some cases This
patch want to enhance the dependent name check
Commit: 9ca6e5bb86963eed00108d7da57033691bc21dbc
https://github.com/llvm/llvm-project/commit/9ca6e5bb86963eed00108d7da57033691bc21dbc
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M libc/src/string/memory_utils/op_x86.h
M libc/test/src/string/memcmp_test.cpp
Log Message:
-----------
[libc] Fix buggy AVX2 / AVX512 `memcmp` (#77081)
Fixes #77080.
Commit: 19081f4a504053f551eb88bfa8a09a075c826e64
https://github.com/llvm/llvm-project/commit/19081f4a504053f551eb88bfa8a09a075c826e64
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
Log Message:
-----------
[clang][analyzer] Support 'tello' and 'fseeko' in the StreamChecker (#77580)
Commit: e4e0b6583861c111e485cf503940e7d5d8bc6d20
https://github.com/llvm/llvm-project/commit/e4e0b6583861c111e485cf503940e7d5d8bc6d20
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/apx/compress-evex.mir
Log Message:
-----------
[X86][test] Pre-commit test for #77731
Commit: bbbe8ecc17797893fae6fc3a16425b6f26670423
https://github.com/llvm/llvm-project/commit/bbbe8ecc17797893fae6fc3a16425b6f26670423
Author: Amara Emerson <amara at apple.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/invoke-region.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-hoisted-constants.ll
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
Log Message:
-----------
[GlobalISel][Localizer] Allow localization of a small number of repeated phi uses. (#77566)
We previously had a heuristic that if a value V was used multiple times
in a single PHI, then to avoid potentially rematerializing into many predecessors
we bail out. The phi uses only counted as a single use in the shouldLocalize() hook
because it counted the PHI as a single instruction use, not factoring in it may
have many incoming edges.
It turns out this heuristic is slightly too pessimistic, and allowing a small number
of these uses to be localized can improve code size due to shortening live ranges,
especially if those ranges span a call.
This change results in some improvements in size on CTMark -Os:
```
Program size.__text
before after diff
kimwitu++/kc 451676.00 451860.00 0.0%
mafft/pairlocalalign 241460.00 241540.00 0.0%
tramp3d-v4/tramp3d-v4 389216.00 389208.00 -0.0%
7zip/7zip-benchmark 587528.00 587464.00 -0.0%
Bullet/bullet 457424.00 457348.00 -0.0%
consumer-typeset/consumer-typeset 405472.00 405376.00 -0.0%
SPASS/SPASS 410288.00 410120.00 -0.0%
lencod/lencod 426396.00 426108.00 -0.1%
ClamAV/clamscan 380108.00 379756.00 -0.1%
sqlite3/sqlite3 283664.00 283372.00 -0.1%
Geomean difference -0.0%
```
I experimented with different variations and thresholds. Using 3 instead
of 2 resulted in a further 0.1% improvement on ClamAV but also regressed
sqlite3 by the same %.
Commit: bc98c3103a79f13df7df84d90b5212288f8f542a
https://github.com/llvm/llvm-project/commit/bc98c3103a79f13df7df84d90b5212288f8f542a
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
Revert "[SelectionDAG] Add space-optimized forms of OPC_CheckPredicate (#73488)"
This reverts commit 1a5792735aa0bb10e5624a438bcf7fd5091ee265.
Test address-space-patfrags.td.test is failing
https://lab.llvm.org/buildbot/#/builders/104/builds/15012
Commit: cc53ec82ea6df6e7602510fa1bf5b8a991b3bc39
https://github.com/llvm/llvm-project/commit/cc53ec82ea6df6e7602510fa1bf5b8a991b3bc39
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M flang/lib/Parser/CMakeLists.txt
Log Message:
-----------
[Flang][Parser] Add missing dependencies to CMakeLists.txt (#77483)
Add FrontendOpenMP as an additional component library dependency.
Commit: 959a430a8d5b7e77b3d88327f835d9f9b8a6842e
https://github.com/llvm/llvm-project/commit/959a430a8d5b7e77b3d88327f835d9f9b8a6842e
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M flang/docs/Intrinsics.md
M flang/include/flang/Runtime/extensions.h
M flang/runtime/extensions.cpp
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] FDATE extension implementation: get date and time in ctime format (#71222)
reference to gfortran fdate
https://gcc.gnu.org/onlinedocs/gfortran/FDATE.html
usage:
```fortran
CHARACTER(32) :: time
CALL fdate(time)
WRITE(*,*) time
```
fdate is used in the ECP proxy application
https://proxyapps.exascaleproject.org/app/minismac2d/
https://github.com/Mantevo/miniSMAC/blob/f90446714226eeef650b78bce06ca4967792e74d/ref/smac2d.f#L1570
`fdate` now produce the same result on flang, compare to gfortran, where
If the length is too short to fit completely, blank return.
```fortran
character(20) :: string
call fdate(string)
write(*, *) string, "X"
```
```bash
$ ../build-release/bin/flang-new test.f90
$ ./a.out
X
```
If length if larger than it requires(24), fill the rest of buffer space.
```fortran
character(30) :: string
call fdate(string)
write(*, *) string, "X"
```
```bash
$ ../build-release/bin/flang-new test.f90
$ ./a.out
Wed Nov 15 16:59:13 2023 X
```
The length value is hardcoded, because:
```c++
// Day Mon dd hh:mm:ss yyyy\n\0 is 26 characters, e.g.
// Tue May 26 21:51:03 2015\n\0
```
---------
Co-authored-by: Yi Wu <yiwu02 at wdev-yiwu02.arm.com>
Commit: 566124222e308bd0321c537c136705e1ebae7ba4
https://github.com/llvm/llvm-project/commit/566124222e308bd0321c537c136705e1ebae7ba4
Author: Dmitriy Smirnov <dmitriy.smirnov at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[TOSA] FFT2D operator (#77005)
This PR adds lowering for TOSA Fft2d operator down to Linalg.
Commit: 5e406615fea185656786e8a5e72b6f12fd7706d5
https://github.com/llvm/llvm-project/commit/5e406615fea185656786e8a5e72b6f12fd7706d5
Author: goussepi <pierre.gousseau at sony.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h
M compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join_invalid.cpp
Log Message:
-----------
[sanitizer] Fix asserts in asan and tsan in pthread interceptors. (#75394)
Calling one of pthread join/detach interceptor on an already
joined/detached thread causes asserts such as:
AddressSanitizer: CHECK failed: sanitizer_thread_arg_retval.cpp:56
"((t)) != (0)" (0x0, 0x0) (tid=1236094)
#0 0x555555634f8b in __asan::CheckUnwind()
compiler-rt/lib/asan/asan_rtl.cpp:69:3
#1 0x55555564e06e in __sanitizer::CheckFailed(char const*, int, char
const*, unsigned long long, unsigned long long)
compiler-rt/lib/sanitizer_common/sanitizer_termination.cpp:86:24
#2 0x5555556491df in __sanitizer::ThreadArgRetval::BeforeJoin(unsigned
long) const
compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp:56:3
#3 0x5555556198ed in Join<___interceptor_pthread_tryjoin_np(void*,
void**)::<lambda()> >
compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_arg_retval.h:74:26
#4 0x5555556198ed in pthread_tryjoin_np
compiler-rt/lib/asan/asan_interceptors.cpp:311:29
The assert are replaced by error codes.
Commit: b7770befee37feca3d732d6daf9513c62f75c5f0
https://github.com/llvm/llvm-project/commit/b7770befee37feca3d732d6daf9513c62f75c5f0
Author: r4nt <klimek at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
Log Message:
-----------
[ClangFormat] Fix formatting bugs. (#76245)
1. There are multiple calls to addFakeParenthesis; move the guard to not
assign fake parenthesis into the function to make sure we cover all
calls.
2. MustBreakBefore can be set on a token in two cases: either during
unwrapped line parsing, or later, during token annotation. We must
keep the latter, but reset the former.
3. Added a test to document that the intended behavior of preferring not
to break between a return type and a function identifier.
For example, with MOCK_METHOD(r, n, a)=r n a, the code
MOCK_METHOD(void, f, (int a, int b)) should prefer the same breaks as
the expanded void f(int a, int b).
Commit: 40d5c2bcd41a534e6bab98fedf1a930d9bd165e7
https://github.com/llvm/llvm-project/commit/40d5c2bcd41a534e6bab98fedf1a930d9bd165e7
Author: John Brawn <john.brawn at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/Driver/aarch64-security-options.c
M clang/test/Preprocessor/aarch64-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
A llvm/test/CodeGen/AArch64/note-gnu-property-gcs.ll
Log Message:
-----------
[clang][AArch64] Add a -mbranch-protection option to enable GCS (#75486)
-mbranch-protection=gcs (enabled by -mbranch-protection=standard) causes
generated objects to be marked with the gcs feature. This is done via
the guarded-control-stack module flag, in a similar way to
branch-target-enforcement and sign-return-address.
Enabling GCS causes the GNU_PROPERTY_AARCH64_FEATURE_1_GCS bit to be set
on generated objects. No code generation changes are required, as GCS
just requires that functions are called using BL and returned from using
RET (or other similar variant instructions), which is already the case.
Commit: b120dae9bb99b67d12c7b307debb222953473b7c
https://github.com/llvm/llvm-project/commit/b120dae9bb99b67d12c7b307debb222953473b7c
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx11.mir
A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx12.mir
R llvm/test/CodeGen/AMDGPU/lds-direct-hazards.mir
Log Message:
-----------
[AMDGPU] Support GFX12 VDSDIR instructions WAITVMSRC operand in GCNHazardRecognizer (#77628)
Modify GCNHazardRecognizer::fixLdsDirectVMEMHazard() so the waitvsrc
operand
in gfx12 DS_PARAM_LOAD or DS_DIRECT_LOAD instructions is set
appropriately
depending on whether a hazard is found or not, rather than inserting an
S_WAITCNT_DEPCTR instruction if a hazard needs to be mitigated.
Co-authored-by: Stephen Thomas <Stephen.Thomas at amd.com>
Commit: d553934770554e856ccad0f1a890d1c07d90644a
https://github.com/llvm/llvm-project/commit/d553934770554e856ccad0f1a890d1c07d90644a
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
Log Message:
-----------
[AArch64] Add missing field 'GuardedControlStack' initializer (NFC)
llvm-project/llvm/lib/TargetParser/ARMTargetParserCommon.cpp:143:39:
error: missing field 'GuardedControlStack' initializer [-Werror,-Wmissing-field-initializers]
PBP = {"none", "a_key", false, false};
^
1 error generated.
Commit: 9edcf7a28eee1e3b2d22bd3aed9e405e17beacce
https://github.com/llvm/llvm-project/commit/9edcf7a28eee1e3b2d22bd3aed9e405e17beacce
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/include/clang/Driver/Options.td
M flang/docs/FlangDriver.md
M flang/test/Driver/compiler-options.f90
M flang/test/Driver/ctofortran.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/exec.f90
M flang/test/Driver/falias-analysis.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
A flang/test/Driver/isysroot.f90
M flang/test/Preprocessing/preprocessed-dirs.F90
M flang/test/Semantics/OpenMP/use_device_addr.f90
M flang/test/Semantics/OpenMP/use_device_ptr.f90
M flang/test/lit.cfg.py
Log Message:
-----------
[flang][driver] Add support for -isysroot in the frontend (#77365)
If DEFAULT_SYSROOT is not specfied when building flang, then the
-isysroot flag is needed to link binaries against system libraries
on Darwin. It's also needed when linking against a non-default
sysroot.
Commit: f1c88d7c6f7698e4c51cb34754bb3177db9dc704
https://github.com/llvm/llvm-project/commit/f1c88d7c6f7698e4c51cb34754bb3177db9dc704
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[flang] Fix fveclib on Darwin (#77605)
Fixes fveclib.f90 and fveclib-codegen.f90 tests, that were failing
on Darwin.
Commit: b6f96776c5c30d0b39dcf5db9aa2f497bf99685e
https://github.com/llvm/llvm-project/commit/b6f96776c5c30d0b39dcf5db9aa2f497bf99685e
Author: John Brawn <john.brawn at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
Log Message:
-----------
[clang][AArch64] Fix incorrect rebase (#77769)
When rebasing #75486 I missed adding an extra initializer value to
ParsedBranchProtection, so fix that.
Commit: f892cc36fda6d25d4f7cbf68e95b17ba0af040b8
https://github.com/llvm/llvm-project/commit/f892cc36fda6d25d4f7cbf68e95b17ba0af040b8
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
A llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
Log Message:
-----------
[BranchFolding] Fix missing predecessors of landing-pad (#77608)
When removing an empty machine basic block, all of its successors should
be inherited by its fall through MBB. This keeps CFG as only have one
entry which is required by LiveDebugValues.
Reland #77441 as LiveDebugValues test.
Commit: 52613396a6837e5c8b8334821022cad70fe8e917
https://github.com/llvm/llvm-project/commit/52613396a6837e5c8b8334821022cad70fe8e917
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[InstrRef] Add debug hint for not reachable blocks from entry (#77725)
Those not reachable blocks was not analyzed by LiveDebugValues and may
raise out of bound access to VarLocs as case in #77441.
Commit: 18798cf972cd0669d3b4b84da18d467542588802
https://github.com/llvm/llvm-project/commit/18798cf972cd0669d3b4b84da18d467542588802
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/include/Configuration.h
M openmp/libomptarget/DeviceRTL/src/Configuration.cpp
M openmp/libomptarget/DeviceRTL/src/Workshare.cpp
Log Message:
-----------
[OpenMP] Add missing weak definitions of missing variables (#77767)
Variables `__omp_rtl_assume_teams_oversubscription` and
`__omp_rtl_assume_threads_oversubscription `are used by functions:
`__kmpc_distribute_static_loop`, `__kmpc_distribute_for_static_loop `and
`__kmpc_for_static_loop`.
Commit: d1ecd12f00fbd7743ebb4fe36fc415eb80bbb1f4
https://github.com/llvm/llvm-project/commit/d1ecd12f00fbd7743ebb4fe36fc415eb80bbb1f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
Log Message:
-----------
[IndVars] Add additional test for preserving NSW.
Based on https://github.com/llvm/llvm-project/issues/71517.
Commit: 21133f1da4cde22b63c5f62df25d97e51a3cf4ea
https://github.com/llvm/llvm-project/commit/21133f1da4cde22b63c5f62df25d97e51a3cf4ea
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
Log Message:
-----------
[TOSA] Fix -Wdangling-gsl and -Wunused-variable in TosaToLinalg.cpp (NFC)
llvm-project/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp:2376:9:
error: object backing the pointer will be destroyed at the end of the full-expression [-Werror,-Wdangling-gsl]
tensor::getMixedSizes(rewriter, loc, input_real);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm-project/mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp:2366:10:
error: unused variable 'imag_el_ty' [-Werror,-Wunused-variable]
auto imag_el_ty = cast<FloatType>(
^
2 errors generated.
Commit: 13b5882ee64b7aa6ee08900b7b2f0cc2cbc37f53
https://github.com/llvm/llvm-project/commit/13b5882ee64b7aa6ee08900b7b2f0cc2cbc37f53
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/test/CodeGen/PowerPC/pr77748.ll
Log Message:
-----------
[PowerPC] Add test for #77748 (NFC)
Commit: ef4a95c86210e11cf4bfbf545c2f859b5c772888
https://github.com/llvm/llvm-project/commit/ef4a95c86210e11cf4bfbf545c2f859b5c772888
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/MC/AArch64/SVE/predicate-as-counter-aliases.s
Log Message:
-----------
[AArch64] Enable certain instruction aliases for SVE/SME (#77745)
Several SVE instruction aliases accept predicate-as-counter register
names as a convenience. These ought to be enabled with SVE/SME because
the underlying encoding is valid and it's required by Arm ARM.
Commit: dc717b19925c9e0a4fcca0ad277476400f62cc25
https://github.com/llvm/llvm-project/commit/dc717b19925c9e0a4fcca0ad277476400f62cc25
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
Log Message:
-----------
[SLP][NFC]Add a test for final vector with minbitwidth, NFC.
Commit: 26a8664ed4573ef1559c4edc7b254a10d186d428
https://github.com/llvm/llvm-project/commit/26a8664ed4573ef1559c4edc7b254a10d186d428
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
A llvm/test/ThinLTO/X86/memprof-tailcall.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll
Log Message:
-----------
[MemProf] Handle missing tail call frames (#75823)
If tail call optimization was not disabled for the profiled binary, the
call contexts will be missing frames for tail calls. Handle this by
performing a limited search through tail call edges for the profiled
callee when a discontinuity is detected. The search depth is adjustable
but defaults to 5.
If we are able to identify a short sequence of tail calls, update the
graph for those calls. In the case of ThinLTO, synthesize the necessary
CallsiteInfos for carrying the cloning information to the backends.
Commit: 18473eb108e29c7c9d9fcb5d0d8c271948aca330
https://github.com/llvm/llvm-project/commit/18473eb108e29c7c9d9fcb5d0d8c271948aca330
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
Log Message:
-----------
[SLP]Do not require external uses for roots and single use for other instructions in computeMinimumValueSizes. (#72679)
After changes, that does not require support from InstCombine, we can
drop some extra requirements for values-to-be-demoted. No need to check
for external uses for roots/other instructions, just check that the
no non-vectorized insertelement instruction, which may require
widening.
Review: https://github.com/llvm/llvm-project/pull/72679
Commit: 731b29560d02f21210d2224226dd5378afa5090f
https://github.com/llvm/llvm-project/commit/731b29560d02f21210d2224226dd5378afa5090f
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M flang/runtime/extensions.cpp
M flang/unittests/Runtime/CommandTest.cpp
Log Message:
-----------
[flang] Handle missing LOGIN_NAME_MAX definition in runtime (#77775)
18af032c0e16252effeb6dfd02113812388f1d31 broke the Solaris build:
```
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:60:24: error: use of undeclared identifier 'LOGIN_NAME_MAX'
60 | const int nameMaxLen{LOGIN_NAME_MAX + 1};
| ^
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:61:12: warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
61 | char str[nameMaxLen];
| ^~~~~~~~~~
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:61:12: note: initializer of 'nameMaxLen' is unknown
/vol/llvm/src/llvm-project/dist/flang/runtime/extensions.cpp:60:13: note: declared here
60 | const int nameMaxLen{LOGIN_NAME_MAX + 1};
| ^
```
`flang/unittests/Runtime/CommandTest.cpp` has the same issue.
As documented in Solaris 11.4 `limits.h(3HEAD)`, `LOGIN_NAME_MAX` can be
undefined. To determine the value, `sysconf(3C)` needs to be used
instead.
Beside that portable method, Solaris also provides a non-standard
`LOGNAME_MAX` which could be used, but I've preferred the standard route
instead which would support other targets with the same issue.
Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.
Commit: 3b3ee1f534242f06cdda276aacfa3328b7737326
https://github.com/llvm/llvm-project/commit/3b3ee1f534242f06cdda276aacfa3328b7737326
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Add test for strided gather with disjoint or. NFC
Commit: 8f90e6937a1fac80873bb2dab5f382c82ba1ba4e
https://github.com/llvm/llvm-project/commit/8f90e6937a1fac80873bb2dab5f382c82ba1ba4e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/AArch64.cmake
M libcxx/cmake/caches/AIX.cmake
M libcxx/cmake/caches/AndroidNDK.cmake
M libcxx/cmake/caches/Apple.cmake
M libcxx/cmake/caches/Armv7Arm.cmake
M libcxx/cmake/caches/Armv7M-picolibc.cmake
M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Armv8Arm.cmake
M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Generic-merged.cmake
M libcxx/cmake/caches/Generic-msan.cmake
M libcxx/cmake/caches/Generic-tsan.cmake
M libcxx/cmake/caches/MinGW.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/utils/ci/run-buildbot
M libcxxabi/CMakeLists.txt
Log Message:
-----------
[runtimes] Use LLVM libunwind from libc++abi by default (#77687)
I recently came across LIBCXXABI_USE_LLVM_UNWINDER and was surprised to
notice it was disabled by default. Since we build libunwind by default
and ship it in the LLVM toolchain, it would seem to make sense that
libc++ and libc++abi rely on libunwind for unwinding instead of using
the system-provided unwinding library (if any).
Most importantly, using the system unwinder implies that libc++abi is
ABI compatible with that system unwinder, which is not necessarily the
case. Hence, it makes a lot more sense to instead default to using the
known-to-be-compatible LLVM unwinder, and let vendors manually select a
different unwinder if desired.
As a follow-up change, we should probably apply the same default to
compiler-rt.
Differential Revision: https://reviews.llvm.org/D150897
Fixes #77662
rdar://120801778
Commit: 5794854213375017f52914afbae09a12b9a33e06
https://github.com/llvm/llvm-project/commit/5794854213375017f52914afbae09a12b9a33e06
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M libc/src/string/memory_utils/op_x86.h
Log Message:
-----------
[libc][NFC] Use 16-byte indices for _mmXXX_shuffle_epi8 (#77781)
This is less confusing since the implementation only cares about the 4
lower bits.
Commit: b6fc463d4c0b00e0741776f9d41b47f532a80b9e
https://github.com/llvm/llvm-project/commit/b6fc463d4c0b00e0741776f9d41b47f532a80b9e
Author: HaohaiWen <haohai.wen at intel.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
Log Message:
-----------
[SEH] Redirect test output to /dev/null (#77784)
Commit: c37699b9e358552550b18d1e627af62a7159f5f3
https://github.com/llvm/llvm-project/commit/c37699b9e358552550b18d1e627af62a7159f5f3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Add missing <unordered_map> include to fix buildbot (#77788)
Should fix buildbot failure
https://lab.llvm.org/buildbot/#/builders/54/builds/8451
from #75823.
Commit: 31ce0f1dda3caed829db09b9212eac54a8a28572
https://github.com/llvm/llvm-project/commit/31ce0f1dda3caed829db09b9212eac54a8a28572
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M flang/test/Driver/exec.f90
Log Message:
-----------
[flang][driver] Fix exec.f90 test with shared libs
Commit: fc6faa1113e9069f41b5500db051210af0eea843
https://github.com/llvm/llvm-project/commit/fc6faa1113e9069f41b5500db051210af0eea843
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-unused-types.c
M clang/test/CodeGen/debug-info-unused-types.cpp
M clang/test/CodeGenCXX/debug-info-access.cpp
M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
M clang/test/CodeGenCXX/debug-lambda-this.cpp
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
A llvm/test/Bitcode/clone-local-types.ll
M llvm/test/Bitcode/upgrade-cu-locals.ll
M llvm/test/Bitcode/upgrade-cu-locals.ll.bc
A llvm/test/DebugInfo/Generic/inlined-local-type.ll
A llvm/test/DebugInfo/Generic/lexical-block-retained-types.ll
A llvm/test/DebugInfo/Generic/lexical-block-types.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import2.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
M llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
A llvm/test/DebugInfo/X86/local-type-as-template-parameter.ll
M llvm/test/DebugInfo/X86/set.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import2.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import3.ll
M llvm/unittests/Transforms/Utils/CloningTest.cpp
Log Message:
-----------
[CloneFunction][DebugInfo] Avoid cloning DILocalVariables of inlined functions (#75385)
- [DebugMetadata][DwarfDebug] Support function-local types in lexical
block scopes (4/7)
- [CloneFunction][DebugInfo] Avoid cloning DILocalVariables of inlined
functions
This is a follow-up for https://reviews.llvm.org/D144006, fixing a crash
reported
in Chromium (https://reviews.llvm.org/D144006#4651955).
The first commit is added for convenience, as it has already been
accepted.
If DISubpogram was not cloned (e.g. we are cloning a function that has
other
functions inlined into it, and subprograms of the inlined functions are
not supposed to be cloned), it doesn't make sense to clone its
DILocalVariables as well.
Otherwise get duplicated DILocalVariables not tracked in their
subprogram's retainedNodes, that crash LTO with Chromium.
This is meant to be committed along with
https://reviews.llvm.org/D144006.
Commit: 3867e6689eb742b1f64be7af9e31cc3183aa46fd
https://github.com/llvm/llvm-project/commit/3867e6689eb742b1f64be7af9e31cc3183aa46fd
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Add new GFX12 image atomic float instructions (#76946)
Commit: 90eb4e24551c44bee3b9c0ca33fcb6dbb7c381fe
https://github.com/llvm/llvm-project/commit/90eb4e24551c44bee3b9c0ca33fcb6dbb7c381fe
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
Log Message:
-----------
[AArch64] Fix missing `pfalse` diagnostic (#77746)
The missing diagnostic causes an ICE when a suffix other than `.B`
is used in a `pfalse` instruction with a predicate-as-counter operand.
Commit: 3b3da7c7fbc008fb23dd3365033e62d6d5deeb35
https://github.com/llvm/llvm-project/commit/3b3da7c7fbc008fb23dd3365033e62d6d5deeb35
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP] Add a set of tests with non-power-of-2 operations.
Commit: d21fb06a6e36048e6729c51c351ff8c4055e8381
https://github.com/llvm/llvm-project/commit/d21fb06a6e36048e6729c51c351ff8c4055e8381
Author: Eleanor Bonnici <eleanor.bonnici at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/arm-adr.s
Log Message:
-----------
[lld][ELF] Allow Arm PC-relative relocations in PIC links (#77304)
The relocations that map to R_ARM_PCA are equivalent to R_PC. They are
PC-relative and safe to use in shared libraries, but have a different
relocation code as they are evaluated differently. Now that LLVM may
generate these relocations in object files, they may occur in
shared libraries or position-independent executables.
Commit: 923f0392bf050e2e17caa93778e90cf429905694
https://github.com/llvm/llvm-project/commit/923f0392bf050e2e17caa93778e90cf429905694
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'copy' Clause
The copy clause takes a var-list, similar to cache. This patch
implements the parsing in terms of how we did cache, and does some
infrastructure for future clause parsing.
As a part of this, many functions needed to become members of Parser,
which I anticipated needing to happen in the future anyway.
Commit: 114e6d7ba02f090117f2cb1ffeb9027cf80f335b
https://github.com/llvm/llvm-project/commit/114e6d7ba02f090117f2cb1ffeb9027cf80f335b
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-12 (Fri, 12 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Add test for strided gather with recursive disjoint or. NFC
This already gets converted to a strided intrinsic because we currently call
haveNoCommonBitsSet when checking or instructions, but an upcoming patch will
change this logic and we want to preserve this case.
Note that this IR is in the form that comes from instcombine. The splats need
to be inline constexprs, otherwise isSplatValue() will fail. (It can't
currently handle splats where the shufflevector is an instruction, and the
insertelement is a constexpr.
Commit: 3ede817f5bd947cb0da63187f333a6274bf1f418
https://github.com/llvm/llvm-project/commit/3ede817f5bd947cb0da63187f333a6274bf1f418
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
Log Message:
-----------
[Libomptarget] Fix JIT on the NVPTX target by calling ptx manually (#77801)
Summary:
Recently a patch added an assertion in the GlobalHandler to indicate
when an ELF was not used. This began to fire whenever NVPTX JIT was
used, because the JIT pass output a PTX file instead of an ELF. The
CUModuleLoad method consumes `.s` internally and compiles it to a cubin,
however, this is too late as we perform several checks on the ELF
directly for the presence of certain symbols and to read some necessary
constants. This results in inconsistent behaviour.
To address this, this patch simply calls `ptxas` manually, similar to
how `lld` is called for the AMDGPU JIT pass. This is inevitably going to
be slower than simply passing it to the CUDA routine due to the overhead
involved in file IO and a fork call, but it's necessary for correctness.
CUDA provides an API for compiling PTX manually. However, this only
started showing up in CUDA 11.1 and is only provided "officially" in a
static library. The `libnvidia-ptxjitcompiler.so` next to the CUDA
driver has the same symbols and can likely be used as a replacement.
This would be the faster solution. However, given that it's not
documented it may have some issues.
Commit: dd5ce4572fb90323799f1bdf585c01d08613e277
https://github.com/llvm/llvm-project/commit/dd5ce4572fb90323799f1bdf585c01d08613e277
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'use_device' clause parsing
'use_device' is effectively identical to the 'copy' parsing in that it
has required parens and no 'special' name, so this is a pretty trivial
impementation. There are a number of other similar situation clauses
I'll do in a followup patch.
Commit: 4278d9b593d31a644e4be3bb9386e2c0ed6ac6f1
https://github.com/llvm/llvm-project/commit/4278d9b593d31a644e4be3bb9386e2c0ed6ac6f1
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
Log Message:
-----------
[mlir][spirv] Lower `arith` overflow flags to corresponding SPIR-V op decorations (#77714)
Commit: ee457102585e99ac7c832926aa5be8d12025d466
https://github.com/llvm/llvm-project/commit/ee457102585e99ac7c832926aa5be8d12025d466
Author: dancing-leaves <dancing-leaves at users.noreply.github.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
[lldb] Fix MaxSummaryLength target property type (#72233)
There seems to be a regression since
https://github.com/llvm/llvm-project/commit/6f8b33f6dfd0a0f8d2522b6c832bd6298ae2f3f3.
`Max String Summary Length` target property is not read properly and the
default value (1024) is being used instead.
16.0.6:
```
(lldb) settings set target.max-string-summary-length 16
(lldb) var
(std::string) longStdString = "0123456789101112131415161718192021222324252627282930313233343536"
(const char *) longCharPointer = 0x000055555556f310 "0123456789101112131415161718192021222324252627282930313233343536"
```
17.0.4:
```
(lldb) settings set target.max-string-summary-length 16
(lldb) var
(std::string) longStdString = "0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377"...
(const char *) longCharPointer = 0x000055555556f310 "*same as line above*"...
```
Comparison fails here:
https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Interpreter/OptionValue.cpp#L256
Due to the type difference:
https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Target/Target.cpp#L4611
https://github.com/llvm/llvm-project/blob/9cb1673fa5d267148ac81ee31b37f1d2f7c0f2b8/lldb/source/Target/TargetProperties.td#L98
Commit: f5dd70c58277d925710e5a7c25c86d7565cc3c6c
https://github.com/llvm/llvm-project/commit/f5dd70c58277d925710e5a7c25c86d7565cc3c6c
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
Log Message:
-----------
[LSR] Require non-zero step when considering wrap around for term folding (#77809)
The term folding logic needs to prove that the induction variable does
not cycle through the same set of values so that testing for the value
of the IV on the exiting iteration is guaranteed to trigger only on that
iteration. The prior code checked the no-self-wrap property on the IV,
but this is insufficient as a zero step is trivially no-self-wrap per
SCEV's definition but does repeat the same series of values.
In the current form, this has the effect of basically disabling lsr's
term-folding for all non-constant strides. This is still a net
improvement as we've disabled term-folding entirely, so being able to
enable it for constant strides is still a net improvement.
As future work, there's two SCEV weakness worth investigating.
First sext (or i32 %a, 1) to i64 does not return true for
isKnownNonZero. This is because we check only the unsigned range in that
query. We could either do query pushdown, or check the signed range as
well. I tried the second locally and it has very broad impact - i.e. we
have a bunch of missing optimizations here.
Second, zext (or i32 %a, 1) to i64 as the increment to the IV in
expensive_expand_short_tc causes the addrec to no longer be provably
no-self-wrap. I didn't investigate this so it might be necessary, but
the loop structure is such that I find this result surprising.
Commit: c2fd5b738e9700a515f1730c714897eeec064157
https://github.com/llvm/llvm-project/commit/c2fd5b738e9700a515f1730c714897eeec064157
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/docs/HLSL/FunctionCalls.rst
Log Message:
-----------
[NFC] Remove trailing whitespace
This seems to be causing problems that I couldn't reproduce locally.
Commit: 21e1bf2d00018cf35842e63e9c434a9507f73e6f
https://github.com/llvm/llvm-project/commit/21e1bf2d00018cf35842e63e9c434a9507f73e6f
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
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/ArmSME/enable-arm-za.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
Add more ZA modes (#77361)
Add more ZA modes
Adds the arm_shared_za and arm_preserves_za attributes to the existing
arm_new_za attribute. The functionality already exists in LLVM, so just
"linking the pieces together".
For more details see:
https://arm-software.github.io/acle/main/acle.html#sme-attributes-relating-to-za
Commit: 061b777c82c9ff4d0fe92d578d4e0cdf6057c958
https://github.com/llvm/llvm-project/commit/061b777c82c9ff4d0fe92d578d4e0cdf6057c958
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/test/Dialect/Affine/constant-fold.mlir
Log Message:
-----------
[mlir][affine] Add dependency on `UBDialect` for `PoisonAttr` (#77691)
The folder for `AffineApplyOp` will try creating a `PoisonAttr`
under certain circumstances. However, this will result in a crash if the
`UBDialect` isn't loaded.
This patch adds a dependency of `AffineDialect` on `UBDialect`.
Commit: 4619e21c72879591fbb5c8a1b1b5effe70b0a57e
https://github.com/llvm/llvm-project/commit/4619e21c72879591fbb5c8a1b1b5effe70b0a57e
Author: Felix Schneider <fx.schn at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
Log Message:
-----------
[mlir][memref] Transpose: allow affine map layouts in result, extend folder (#76294)
Currently, the `memref.transpose` verifier forces the result type of the
Op to have an explicit `StridedLayoutAttr` via the method
`inferTransposeResultType`. This means that the example Op
given in the documentation is actually invalid because it uses an `AffineMap`
to specify the layout.
It also means that we can't "un-transpose" a transposed memref back to
the implicit layout form, because the verifier will always enforce the
explicit strided layout.
This patch makes the following changes:
1. The verifier checks whether the canonicalized strided layout of the
result Type is identitcal to the canonicalized infered result type
layout. This way, it's only important that the two Types have the same
strided layout, not necessarily the same representation of it.
2. The folder is extended to support folding away the trivial case of
identity permutation and to fold one transposition into another by
composing the permutation maps.
Commit: c3e3aa9c33f0cda5759340bfc61452548e459806
https://github.com/llvm/llvm-project/commit/c3e3aa9c33f0cda5759340bfc61452548e459806
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
A llvm/test/CodeGen/AArch64/sve2-xar.ll
Log Message:
-----------
[AArch64][SVE2] Generate XAR (#77160)
Bitwise exclusive OR and rotate right by immediate
Select xar (x, y, imm) for the following pattern:
or (shl (xor x, y), nBits-imm), (shr (xor x, y), imm)
This is essentially:
rotr (xor(x, y), imm)
Commit: 2bb511e277e501d3faa0f2da0d1c98ea0b515507
https://github.com/llvm/llvm-project/commit/2bb511e277e501d3faa0f2da0d1c98ea0b515507
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT][NFC] Print BAT section size (#76897)
Test Plan: Updated bolt/test/X86/bolt-address-translation.test
Commit: 0cc31579e0b690e974163da4077a40b49bfc1ebc
https://github.com/llvm/llvm-project/commit/0cc31579e0b690e974163da4077a40b49bfc1ebc
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] TableGen keywords support. (#77477)
Add TableGen keywords to the additional keyword list of the formatter.
This pull request is the splited part from
https://github.com/llvm/llvm-project/pull/76059 .
Commit: 8a7f721c6530bcf131b9046ffc431d07bdc3f1bc
https://github.com/llvm/llvm-project/commit/8a7f721c6530bcf131b9046ffc431d07bdc3f1bc
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-11 (Thu, 11 Jan 2024)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .github/workflows/build-ci-container.yml
A .github/workflows/containers/github-action-ci/Dockerfile
A .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/release-binaries.yml
M README.md
M bolt/lib/Rewrite/CMakeLists.txt
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/test/RISCV/relax.s
M clang-tools-extra/clang-include-fixer/tool/clang-include-fixer.el
M clang-tools-extra/clang-query/QueryParser.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/MissingStdForwardCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
A clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
A clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/Selection.cpp
M clang-tools-extra/clangd/unittests/SelectionTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/AddUsingTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/missing-std-forward.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/avoid-return-with-void-value.cpp
M clang/.clang-tidy
M clang/CMakeLists.txt
A clang/cmake/caches/Release.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
A clang/docs/HLSL/FunctionCalls.rst
M clang/docs/HLSL/HLSLDocs.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/CFG.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/.clang-format
M clang/include/clang/Format/Format.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/TypoCorrection.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/Descriptor.cpp
M clang/lib/AST/Interp/Descriptor.h
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Interp.h
M clang/lib/AST/Interp/InterpBuiltin.cpp
M clang/lib/AST/Interp/Program.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/PathDiagnostic.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenPGO.h
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/CoverageMappingGen.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Flang.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Format/.clang-format
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/ia32intrin.h
M clang/lib/Headers/llvm_libc_wrappers/stdio.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/AST/Interp/arrays.cpp
M clang/test/AST/Interp/functions.cpp
M clang/test/AST/Interp/literals.cpp
A clang/test/AST/ast-dump-coroutine.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/Analysis/stream.c
M clang/test/CXX/drs/dr12xx.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/drs/dr1xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr24xx.cpp
M clang/test/CXX/drs/dr25xx.cpp
M clang/test/CXX/drs/dr26xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/default-arguments.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p11-1y.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p23.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp
M clang/test/CXX/over/over.load/p2-0x.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
M clang/test/CXX/temp/temp.deduct/p9.cpp
M clang/test/CodeGen/2006-05-19-SingleEltReturn.c
M clang/test/CodeGen/64bit-swiftcall.c
M clang/test/CodeGen/CSKY/csky-abi.c
M clang/test/CodeGen/CSKY/csky-hard-abi.c
M clang/test/CodeGen/CSKY/csky-soft-abi.c
A clang/test/CodeGen/LoongArch/attributes.cpp
M clang/test/CodeGen/PowerPC/aix-alignment.c
M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
M clang/test/CodeGen/PowerPC/ppc-aggregate-abi.cpp
M clang/test/CodeGen/PowerPC/ppc32-and-aix-struct-return.c
M clang/test/CodeGen/PowerPC/ppc64-align-struct.c
M clang/test/CodeGen/PowerPC/ppc64-elf-abi.c
M clang/test/CodeGen/PowerPC/ppc64-soft-float.c
M clang/test/CodeGen/PowerPC/ppc64-vector.c
M clang/test/CodeGen/PowerPC/ppc64le-aggregates.c
M clang/test/CodeGen/PowerPC/ppc64le-f128Aggregates.c
M clang/test/CodeGen/RISCV/bfloat-abi.c
M clang/test/CodeGen/RISCV/riscv-abi.cpp
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/RISCV/riscv32-abi.c
M clang/test/CodeGen/RISCV/riscv64-abi.c
M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-abi.cpp
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/WebAssembly/wasm-arguments.c
M clang/test/CodeGen/WebAssembly/wasm-varargs.c
M clang/test/CodeGen/X86/avx512er-builtins.c
M clang/test/CodeGen/X86/avx512pf-builtins.c
A clang/test/CodeGen/X86/fp128-abi.c
M clang/test/CodeGen/X86/x86_32-arguments-darwin.c
M clang/test/CodeGen/X86/x86_32-arguments-iamcu.c
M clang/test/CodeGen/X86/x86_64-arguments-nacl.c
M clang/test/CodeGen/X86/x86_64-arguments-win32.c
M clang/test/CodeGen/X86/x86_64-arguments.c
M clang/test/CodeGen/aarch64-branch-protection-attr.c
M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
M clang/test/CodeGen/aarch64-sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_dot.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_ld1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pext.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_pfalse.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_psel.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_sclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_stnt1.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_uclamp.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
M clang/test/CodeGen/aarch64-targetattr.c
M clang/test/CodeGen/aarch64-varargs.c
M clang/test/CodeGen/aggregate-assign-call.c
M clang/test/CodeGen/aligned-sret.c
M clang/test/CodeGen/arc/arguments.c
M clang/test/CodeGen/arm-aapcs-vfp.c
A clang/test/CodeGen/arm-acle-coproc.c
M clang/test/CodeGen/arm-arguments.c
M clang/test/CodeGen/arm-homogenous.c
M clang/test/CodeGen/arm-neon-vld.c
M clang/test/CodeGen/arm-swiftcall.c
M clang/test/CodeGen/arm-varargs.c
M clang/test/CodeGen/arm-vector-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments.c
M clang/test/CodeGen/arm-vfp16-arguments2.cpp
M clang/test/CodeGen/arm64-arguments.c
M clang/test/CodeGen/arm64-microsoft-arguments.cpp
M clang/test/CodeGen/arm64_32.c
M clang/test/CodeGen/armv7k-abi.c
A clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-noundef.cpp
M clang/test/CodeGen/blocks.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/c11atomics-ios.c
M clang/test/CodeGen/c11atomics.c
M clang/test/CodeGen/debug-info-codeview-unnamed.c
M clang/test/CodeGen/debug-info-unused-types.c
M clang/test/CodeGen/debug-info-unused-types.cpp
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/flexible-array-init.c
M clang/test/CodeGen/isfpclass.c
M clang/test/CodeGen/lanai-arguments.c
M clang/test/CodeGen/mcu-struct-return.c
M clang/test/CodeGen/mingw-long-double.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips-zero-sized-struct.c
M clang/test/CodeGen/mips64-nontrivial-return.cpp
M clang/test/CodeGen/mips64-padding-arg.c
M clang/test/CodeGen/ms_abi.c
M clang/test/CodeGen/paren-list-agg-init.cpp
M clang/test/CodeGen/regcall2.c
M clang/test/CodeGen/regparm-struct.c
M clang/test/CodeGen/renderscript.c
M clang/test/CodeGen/sparcv9-abi.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/vectorcall.c
M clang/test/CodeGen/windows-struct-abi.c
M clang/test/CodeGen/windows-swiftcall.c
M clang/test/CodeGenCXX/aix-alignment.cpp
M clang/test/CodeGenCXX/arm-cc.cpp
M clang/test/CodeGenCXX/arm-swiftcall.cpp
M clang/test/CodeGenCXX/attr-musttail.cpp
M clang/test/CodeGenCXX/call-with-static-chain.cpp
M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
M clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
M clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
M clang/test/CodeGenCXX/debug-info-access.cpp
M clang/test/CodeGenCXX/debug-info-anon-union-vars.cpp
M clang/test/CodeGenCXX/debug-info-codeview-unnamed.cpp
M clang/test/CodeGenCXX/debug-info-gline-tables-only-codeview.cpp
M clang/test/CodeGenCXX/debug-lambda-this.cpp
M clang/test/CodeGenCXX/exceptions.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
M clang/test/CodeGenCXX/lambda-expressions.cpp
M clang/test/CodeGenCXX/matrix-casts.cpp
M clang/test/CodeGenCXX/matrix-type-builtins.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
M clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
M clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
M clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
M clang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
M clang/test/CodeGenCXX/ms-thread_local.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/pass-by-value-noalias.cpp
M clang/test/CodeGenCXX/regcall.cpp
M clang/test/CodeGenCXX/regcall4.cpp
M clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
M clang/test/CodeGenCXX/stack-reuse.cpp
M clang/test/CodeGenCXX/temporaries.cpp
M clang/test/CodeGenCXX/thiscall-struct-return.cpp
M clang/test/CodeGenCXX/thunk-returning-memptr.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenCXX/unknown-anytype.cpp
M clang/test/CodeGenCXX/wasm-args-returns.cpp
M clang/test/CodeGenCXX/x86_32-arguments.cpp
M clang/test/CodeGenCXX/x86_64-arguments.cpp
M clang/test/CodeGenCoroutines/coro-await.cpp
M clang/test/CodeGenCoroutines/coro-gro2.cpp
M clang/test/CodeGenHLSL/sret_output.hlsl
M clang/test/CodeGenObjC/arc.m
M clang/test/CodeGenObjC/direct-method.m
M clang/test/CodeGenObjC/dllstorage.m
A clang/test/CodeGenObjC/exceptions-personality.m
M clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
M clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
M clang/test/CodeGenObjC/personality.m
M clang/test/CodeGenObjC/stret-1.m
M clang/test/CodeGenObjC/stret_lookup.m
M clang/test/CodeGenObjC/weak-in-c-struct.m
M clang/test/CodeGenObjC/x86_64-struct-return-gc.m
M clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
M clang/test/CodeGenObjCXX/personality.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/branch-mincounters.cpp
M clang/test/CoverageMapping/branch-templates.cpp
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/logical.cpp
A clang/test/CoverageMapping/mcdc-class.cpp
A clang/test/CoverageMapping/mcdc-error-conditions.cpp
A clang/test/CoverageMapping/mcdc-error-nests.cpp
A clang/test/CoverageMapping/mcdc-logical-scalar-ids.cpp
A clang/test/CoverageMapping/mcdc-logical-stmt-ids-all.cpp
A clang/test/CoverageMapping/mcdc-logical-stmt-ids.cpp
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtbegin.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtend.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crti.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-linux-gnu/13/crtn.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtbegin.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtend.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crti.o
A clang/test/Driver/Inputs/fedora_39_tree/usr/lib/gcc/x86_64-redhat-linux/13/crtn.o
M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
M clang/test/Driver/aarch64-security-options.c
A clang/test/Driver/android-version.cpp
M clang/test/Driver/cl-x86-flags.c
A clang/test/Driver/gcc-triple.cpp
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linux-ld.c
M clang/test/Driver/mingw-sysroot.cpp
M clang/test/Driver/nostdincxx.cpp
M clang/test/Driver/riscv-rvv-vector-bits.c
M clang/test/Format/clang-format-ignore.cpp
M clang/test/Frontend/verify.c
M clang/test/Frontend/x86-target-cpu.c
M clang/test/Lexer/case-insensitive-include-absolute.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
R clang/test/Modules/Inputs/AutolinkTBD.framework/AutolinkTBD.tbd
R clang/test/Modules/Inputs/AutolinkTBD.framework/Headers/AutolinkTBD.h
R clang/test/Modules/autolinkTBD.m
A clang/test/Modules/autolink_private_module.m
A clang/test/Modules/explicit-specializations.cppm
R clang/test/Modules/pr60085.cppm
M clang/test/Modules/templates.mm
M clang/test/OpenMP/irbuilder_for_iterator.cpp
M clang/test/OpenMP/irbuilder_for_rangefor.cpp
M clang/test/OpenMP/loop_bind_messages.cpp
M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
M clang/test/OpenMP/target_in_reduction_codegen.cpp
M clang/test/OpenMP/task_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
M clang/test/PCH/pragma-loop.cpp
M clang/test/Parser/cxx-in-c.c
A clang/test/Parser/gh30908-scope-balance-on-invalid-var-direct-init-1.cpp
A clang/test/Parser/gh30908-scope-balance-on-invalid-var-direct-init-2.cpp
M clang/test/ParserOpenACC/parse-cache-construct.c
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Profile/c-linkage-available_externally.c
A clang/test/Profile/c-mcdc-class.cpp
A clang/test/Profile/c-mcdc-nested-ternary.c
A clang/test/Profile/c-mcdc-not.c
A clang/test/Profile/c-mcdc.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/aarch64-sme2-sve2p1-diagnostics.c
M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
A clang/test/Sema/attr-counted-by.c
A clang/test/Sema/attr-format-Float16.c
A clang/test/Sema/attr-model.cpp
A clang/test/SemaCXX/attr-format-Float16.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/coro-lifetimebound.cpp
A clang/test/SemaCXX/crash-GH76228.cpp
M clang/test/SemaCXX/cxx1y-init-captures.cpp
M clang/test/SemaCXX/cxx1z-lambda-star-this.cpp
M clang/test/SemaCXX/cxx1z-noexcept-function-type.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/dependent-noexcept-uninstantiated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/lambda-pack-expansion.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/vartemplate-lambda.cpp
M clang/test/SemaCXX/warn-range-loop-analysis-trivially-copyable.cpp
M clang/test/SemaCXX/warn-unused-lambda-capture.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
M clang/test/SemaTemplate/instantiation-depth-default.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/clang-format/.clang-format
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format.el
M clang/tools/clang-linker-wrapper/OffloadWrapper.cpp
M clang/tools/clang-rename/clang-rename.el
M clang/tools/clang-shlib/CMakeLists.txt
M clang/tools/libclang/CMakeLists.txt
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/StructuralEquivalenceTest.cpp
M clang/unittests/Format/.clang-format
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestMacroExpansion.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/c_dr_status.html
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_suppressions.cpp
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/msan/msan.h
M compiler-rt/lib/msan/msan_allocator.cpp
M compiler-rt/lib/msan/msan_new_delete.cpp
A compiler-rt/lib/orc/executor_symbol_def.h
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/executor_symbol_def_test.cpp
M compiler-rt/lib/orc/tests/unit/simple_packed_serialization_test.cpp
A compiler-rt/lib/orc/tests/unit/simple_packed_serialization_utils.h
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/sanitizer_common/sanitizer_common.h
M compiler-rt/lib/sanitizer_common/sanitizer_flags.inc
M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_thread_arg_retval.h
M compiler-rt/lib/scudo/standalone/condition_variable.h
M compiler-rt/lib/tsan/rtl/tsan_report.cpp
M compiler-rt/lib/ubsan/ubsan_diag.cpp
M compiler-rt/lib/ubsan/ubsan_diag.h
M compiler-rt/test/asan/TestCases/alloca_vla_interact.cpp
M compiler-rt/test/asan/TestCases/scariness_score_test.cpp
M compiler-rt/test/hwasan/TestCases/Linux/aligned_alloc-alignment.cpp
M compiler-rt/test/hwasan/TestCases/Linux/pvalloc-overflow.cpp
M compiler-rt/test/hwasan/TestCases/Posix/posix_memalign-alignment.cpp
M compiler-rt/test/hwasan/TestCases/allocator_returns_null.cpp
M compiler-rt/test/hwasan/TestCases/halt-on-error.cpp
M compiler-rt/test/hwasan/TestCases/report-unmapped.cpp
M compiler-rt/test/hwasan/TestCases/use-after-free.c
A compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
A compiler-rt/test/profile/Linux/instrprof-instr-suppl.test
M compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/pthread_join_invalid.cpp
M compiler-rt/test/sanitizer_common/TestCases/allocator_returns_null.cpp
M compiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
M compiler-rt/test/ubsan/TestCases/Misc/print_summary.c
M flang/docs/FlangDriver.md
M flang/docs/GettingStarted.md
M flang/docs/Intrinsics.md
M flang/include/flang/Frontend/LangOptions.def
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
A flang/include/flang/Optimizer/Builder/Runtime/Execute.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Parser/format-specification.h
A flang/include/flang/Runtime/execute.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/Runtime/Execute.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/AddDebugFoundation.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/CMakeLists.txt
M flang/lib/Semantics/check-acc-structure.cpp
M flang/runtime/CMakeLists.txt
M flang/runtime/command.cpp
A flang/runtime/execute.cpp
M flang/runtime/extensions.cpp
M flang/runtime/tools.cpp
M flang/runtime/tools.h
M flang/test/Driver/compiler-options.f90
M flang/test/Driver/ctofortran.f90
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
A flang/test/Driver/exec.f90
M flang/test/Driver/falias-analysis.f90
M flang/test/Driver/fveclib.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
A flang/test/Driver/isysroot.f90
M flang/test/Driver/omp-driver-offload.f90
A flang/test/Driver/riscv-rvv-vector-bits.f90
A flang/test/HLFIR/all-elemental.fir
A flang/test/HLFIR/any-elemental.fir
A flang/test/HLFIR/count-elemental.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/simplify-hlfir-intrinsics.fir
A flang/test/Lower/HLFIR/calls-poly-to-assumed-type.f90
A flang/test/Lower/Intrinsics/execute_command_line-optional.f90
A flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/OpenACC/acc-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
A flang/test/Lower/OpenMP/nogpulib.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Preprocessing/preprocessed-dirs.F90
M flang/test/Semantics/OpenACC/acc-loop.f90
M flang/test/Semantics/OpenMP/use_device_addr.f90
M flang/test/Semantics/OpenMP/use_device_ptr.f90
M flang/test/Semantics/kinds04_q10.f90
M flang/test/Transforms/debug-line-table-existing.fir
M flang/test/Transforms/debug-line-table-inc-file.fir
M flang/test/Transforms/debug-line-table.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/lit.cfg.py
M flang/tools/bbc/bbc.cpp
M flang/unittests/Runtime/CommandTest.cpp
M flang/unittests/Runtime/ExternalIOTest.cpp
M flang/unittests/Runtime/Transformational.cpp
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/app.h
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/dev/code_style.rst
M libc/docs/math/index.rst
M libc/fuzzing/string/CMakeLists.txt
A libc/fuzzing/string/bcmp_fuzz.cpp
A libc/fuzzing/string/memcmp_fuzz.cpp
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/off_t.h
M libc/spec/stdc.td
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
M libc/src/__support/HashTable/generic/bitmask_impl.inc
M libc/src/__support/HashTable/sse2/bitmask_impl.inc
M libc/src/__support/HashTable/table.h
M libc/src/__support/StringUtil/CMakeLists.txt
M libc/src/__support/str_to_float.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/nan.cpp
A libc/src/math/generic/nanf.cpp
A libc/src/math/generic/nanl.cpp
A libc/src/math/nan.h
A libc/src/math/nanf.h
A libc/src/math/nanl.h
M libc/src/string/memory_utils/op_builtin.h
M libc/src/string/memory_utils/op_x86.h
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/startup/linux/CMakeLists.txt
M libc/startup/linux/aarch64/CMakeLists.txt
M libc/startup/linux/aarch64/start.cpp
A libc/startup/linux/aarch64/tls.cpp
A libc/startup/linux/do_start.cpp
A libc/startup/linux/do_start.h
M libc/startup/linux/riscv/CMakeLists.txt
M libc/startup/linux/riscv/start.cpp
A libc/startup/linux/riscv/tls.cpp
M libc/startup/linux/x86_64/CMakeLists.txt
M libc/startup/linux/x86_64/start.cpp
A libc/startup/linux/x86_64/tls.cpp
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/nan_test.cpp
A libc/test/src/math/smoke/nanf_test.cpp
A libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/AArch64.cmake
M libcxx/cmake/caches/AIX.cmake
M libcxx/cmake/caches/AndroidNDK.cmake
M libcxx/cmake/caches/Apple.cmake
M libcxx/cmake/caches/Armv7Arm.cmake
M libcxx/cmake/caches/Armv7M-picolibc.cmake
M libcxx/cmake/caches/Armv7Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Armv8Arm.cmake
M libcxx/cmake/caches/Armv8Thumb-no-exceptions.cmake
M libcxx/cmake/caches/Generic-merged.cmake
M libcxx/cmake/caches/Generic-msan.cmake
A libcxx/cmake/caches/Generic-optimized-speed.cmake
M libcxx/cmake/caches/Generic-tsan.cmake
M libcxx/cmake/caches/MinGW.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/__algorithm/pop_heap.h
M libcxx/include/__algorithm/sift_down.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__config
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path_iterator.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__format/unicode.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/advance.h
M libcxx/include/__iterator/next.h
M libcxx/include/__iterator/prev.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__ranges/chunk_by_view.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__thread/thread.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/unreachable.h
M libcxx/include/cstdio
M libcxx/include/fstream
M libcxx/include/print
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/tuple
M libcxx/include/version
M libcxx/src/CMakeLists.txt
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/format_string.h
M libcxx/src/filesystem/posix_compat.h
A libcxx/src/fstream.cpp
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/memory_resource.cpp
M libcxx/src/strstream.cpp
M libcxx/src/system_error.cpp
M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
M libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/memory/trivial_abi/unique_ptr_destruction_order.pass.cpp
M libcxx/test/libcxx/ranges/range.utility.helpers/simple_view.compile.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/assert.exception_guard.no_exceptions.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
A libcxx/test/std/containers/views/views.span/span.elem/at.pass.cpp
M libcxx/test/std/containers/views/views.span/span.elem/op_idx.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/filebuf.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/fstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/native_handle_assert_test_helpers.h
A libcxx/test/std/input.output/file.streams/fstreams/native_handle_test_helpers.h
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.assert.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ofstream.members/native_handle.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/types.h
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
M libcxx/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.replace.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
M libcxx/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.drop/types.h
M libcxx/test/std/ranges/range.adaptors/range.elements/types.h
M libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.join/types.h
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/end.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.take.while/types.h
M libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/ctor.other.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/minus.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.zip/types.h
M libcxx/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/cmp_nullptr.pass.cpp
M libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.special/cmp_nullptr.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
M libcxx/test/std/utilities/utility/utility.unreachable/assert.unreachable.pass.cpp
M libcxx/test/support/count_new.h
M libcxx/test/support/filesystem_test_helper.h
M libcxx/test/support/msvc_stdlib_force_include.h
M libcxx/test/support/test_macros.h
M libcxx/test/support/test_range.h
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/params.py
M libcxx/utils/qemu_baremetal.py
M libcxxabi/CMakeLists.txt
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/private_typeinfo.cpp
M libcxxabi/src/private_typeinfo.h
A libcxxabi/test/catch_null_pointer_to_object_pr64953.pass.cpp
M libunwind/CMakeLists.txt
M libunwind/src/UnwindCursor.hpp
M libunwind/test/libunwind_02.pass.cpp
M libunwind/test/unw_resume.pass.cpp
M libunwind/test/unwind_leaffunction.pass.cpp
M lld/COFF/Config.h
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/InputSection.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/SyntheticSections.h
M lld/ELF/Target.h
M lld/ELF/Writer.cpp
M lld/ELF/Writer.h
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/ELF/aarch64-memtag-android-abi.s
A lld/test/ELF/aarch64-reloc-gotpcrel32.s
M lld/test/ELF/arm-adr.s
A lld/test/ELF/eh-frame-nonzero-offset-riscv.s
R lld/test/ELF/linkerscript/overlay-reject.test
R lld/test/ELF/linkerscript/overlay-reject2.test
M lld/test/ELF/linkerscript/overlay.test
A lld/test/ELF/linkorder-group.test
M lld/test/ELF/loongarch-pc-aligned.s
M lld/test/ELF/riscv-reloc-leb128.s
A lld/test/ELF/riscv64-reloc-got32-pcrel.s
M lld/test/ELF/x86-64-tls-pie.s
M lld/test/MachO/pgo-warn-mismatch.ll
M lld/test/MinGW/driver.test
M lldb/include/lldb/API/SBBreakpoint.h
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Symbol/CompileUnit.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
M lldb/include/lldb/Symbol/Type.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/Utility/StreamString.h
M lldb/include/lldb/Utility/StructuredData.h
M lldb/source/API/SBCompileUnit.cpp
M lldb/source/Breakpoint/BreakpointIDList.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/JSON/SymbolFileJSON.h
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
M lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
M lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
M lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Symbol/SymbolFileOnDemand.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/DynamicRegisterInfo.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/FileSpecList.cpp
M lldb/source/Utility/StreamString.cpp
A lldb/test/API/commands/expression/nested/Makefile
A lldb/test/API/commands/expression/nested/TestNestedExpressions.py
A lldb/test/API/commands/expression/nested/main.cpp
M lldb/test/API/commands/trace/TestTraceDumpInfo.py
M lldb/test/API/commands/trace/TestTraceLoad.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
A lldb/test/API/functionalities/inline-sourcefile/Makefile
A lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
A lldb/test/API/functionalities/inline-sourcefile/inline.ll
A lldb/test/API/functionalities/inline-sourcefile/main.c
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
A lldb/test/Shell/SymbolFile/DWARF/Inputs/dwo-static-data-member.cpp
A lldb/test/Shell/SymbolFile/DWARF/dwo-static-data-member-access.test
M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
A lldb/tools/lldb-dap/.editorconfig
A lldb/tools/lldb-dap/.gitignore
A lldb/tools/lldb-dap/.prettierrc.json
A lldb/tools/lldb-dap/.vscode/launch.json
A lldb/tools/lldb-dap/.vscode/tasks.json
A lldb/tools/lldb-dap/LICENSE.TXT
M lldb/tools/lldb-dap/README.md
A lldb/tools/lldb-dap/package-lock.json
M lldb/tools/lldb-dap/package.json
A lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/disposable-context.ts
A lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/types.ts
A lldb/tools/lldb-dap/tsconfig.json
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Core/FileSpecListTest.cpp
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CommandGuide/llvm-cxxfilt.rst
M llvm/docs/CommandLine.rst
A llvm/docs/InstrProfileFormat.rst
M llvm/docs/LangRef.rst
M llvm/docs/MyFirstTypoFix.rst
M llvm/docs/ReleaseNotes.rst
M llvm/docs/SphinxQuickstartTemplate.rst
M llvm/docs/StackMaps.rst
M llvm/docs/UserGuides.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl08.rst
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/MemoryBuiltins.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/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/include/llvm/CodeGen/AccelTable.h
M llvm/include/llvm/CodeGen/AssignmentTrackingAnalysis.h
M llvm/include/llvm/CodeGen/BasicBlockSectionsProfileReader.h
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
A llvm/include/llvm/CodeGen/CodeGenPrepare.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Localizer.h
M llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/NonRelocatableStringpool.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
A llvm/include/llvm/CodeGen/ShadowStackGCLowering.h
M llvm/include/llvm/CodeGen/StackProtector.h
M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
A llvm/include/llvm/DWARFLinker/AddressesMap.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerCompileUnit.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFLinkerDeclContext.h
A llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
A llvm/include/llvm/DWARFLinker/DWARFFile.h
R llvm/include/llvm/DWARFLinker/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/DWARFLinkerBase.h
R llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
R llvm/include/llvm/DWARFLinker/DWARFLinkerDeclContext.h
R llvm/include/llvm/DWARFLinker/DWARFStreamer.h
A llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h
A llvm/include/llvm/DWARFLinker/StringPool.h
A llvm/include/llvm/DWARFLinker/Utils.h
R llvm/include/llvm/DWARFLinkerParallel/AddressesMap.h
R llvm/include/llvm/DWARFLinkerParallel/DWARFFile.h
R llvm/include/llvm/DWARFLinkerParallel/DWARFLinker.h
R llvm/include/llvm/DWARFLinkerParallel/StringPool.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFDebugMacro.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
M llvm/include/llvm/Demangle/Demangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/Orc/Core.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
M llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/include/llvm/Object/ELFTypes.h
M llvm/include/llvm/Object/ObjectFile.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/RISCVISAInfo.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/TargetInstrPredicate.td
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParserCommon.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/VFABIDemangling.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/BasicBlockPathCloning.cpp
M llvm/lib/CodeGen/BasicBlockSections.cpp
M llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GCRootLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Localizer.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/NonRelocatableStringpool.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
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/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/SwitchLoweringUtils.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/DWARFLinker/CMakeLists.txt
A llvm/lib/DWARFLinker/Classic/CMakeLists.txt
A llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
A llvm/lib/DWARFLinker/Classic/DWARFLinkerCompileUnit.cpp
A llvm/lib/DWARFLinker/Classic/DWARFLinkerDeclContext.cpp
A llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
R llvm/lib/DWARFLinker/DWARFLinker.cpp
R llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp
R llvm/lib/DWARFLinker/DWARFLinkerDeclContext.cpp
R llvm/lib/DWARFLinker/DWARFStreamer.cpp
A llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
A llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.h
A llvm/lib/DWARFLinker/Parallel/ArrayList.h
A llvm/lib/DWARFLinker/Parallel/CMakeLists.txt
A llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
A llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.h
A llvm/lib/DWARFLinker/Parallel/DIEGenerator.h
A llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinker.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerGlobalData.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerTypeUnit.h
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.cpp
A llvm/lib/DWARFLinker/Parallel/DWARFLinkerUnit.h
A llvm/lib/DWARFLinker/Parallel/DebugLineSectionEmitter.h
A llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
A llvm/lib/DWARFLinker/Parallel/DependencyTracker.h
A llvm/lib/DWARFLinker/Parallel/IndexedValuesMap.h
A llvm/lib/DWARFLinker/Parallel/OutputSections.cpp
A llvm/lib/DWARFLinker/Parallel/OutputSections.h
A llvm/lib/DWARFLinker/Parallel/StringEntryToDwarfStringPoolEntryMap.h
A llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
A llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.h
A llvm/lib/DWARFLinker/Parallel/TypePool.h
A llvm/lib/DWARFLinker/Utils.cpp
R llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.cpp
R llvm/lib/DWARFLinkerParallel/AcceleratorRecordsSaver.h
R llvm/lib/DWARFLinkerParallel/ArrayList.h
R llvm/lib/DWARFLinkerParallel/CMakeLists.txt
R llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.cpp
R llvm/lib/DWARFLinkerParallel/DIEAttributeCloner.h
R llvm/lib/DWARFLinkerParallel/DIEGenerator.h
R llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.cpp
R llvm/lib/DWARFLinkerParallel/DWARFEmitterImpl.h
R llvm/lib/DWARFLinkerParallel/DWARFFile.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinker.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerCompileUnit.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerGlobalData.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerImpl.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerTypeUnit.h
R llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.cpp
R llvm/lib/DWARFLinkerParallel/DWARFLinkerUnit.h
R llvm/lib/DWARFLinkerParallel/DebugLineSectionEmitter.h
R llvm/lib/DWARFLinkerParallel/DependencyTracker.cpp
R llvm/lib/DWARFLinkerParallel/DependencyTracker.h
R llvm/lib/DWARFLinkerParallel/IndexedValuesMap.h
R llvm/lib/DWARFLinkerParallel/OutputSections.cpp
R llvm/lib/DWARFLinkerParallel/OutputSections.h
R llvm/lib/DWARFLinkerParallel/StringEntryToDwarfStringPoolEntryMap.h
R llvm/lib/DWARFLinkerParallel/StringPool.cpp
R llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.cpp
R llvm/lib/DWARFLinkerParallel/SyntheticTypeNameBuilder.h
R llvm/lib/DWARFLinkerParallel/TypePool.h
R llvm/lib/DWARFLinkerParallel/Utils.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/Demangle/Demangle.cpp
M llvm/lib/Demangle/ItaniumDemangle.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkGeneric.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDebugObjectRegistrar.cpp
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
M llvm/lib/ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/Object/ELF.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/ObjectFile.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.cpp
A llvm/lib/Target/AArch64/AArch64LoopIdiomTransform.h
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/EXPInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARC/ARCISelDAGToDAG.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCTargetMachine.cpp
M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMLegalizerInfo.h
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/BPF/BPFISelLowering.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/M68k/GISel/M68kLegalizerInfo.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.h
M llvm/lib/Target/X86/X86.h
A llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86DomainReassignment.cpp
R llvm/lib/Target/X86/X86EvexToVex.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrFormats.td
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp
M llvm/lib/TargetParser/ARMTargetParserCommon.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.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/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/BasicAA/separate_storage-alias-sets.ll
M llvm/test/Analysis/CostModel/X86/cast.ll
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
A llvm/test/Bitcode/clone-local-types.ll
M llvm/test/Bitcode/upgrade-cu-locals.ll
M llvm/test/Bitcode/upgrade-cu-locals.ll.bc
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-debugloc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
A llvm/test/CodeGen/AArch64/GlobalISel/fpenv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/invoke-region.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-fpenv.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-hoisted-constants.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-switch-split.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpenv.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/GlobalISel/localizer.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-extending-loads.mir
M llvm/test/CodeGen/AArch64/aarch64-codegen-prepare-atp.ll
M llvm/test/CodeGen/AArch64/and-sink.ll
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/arm64-codegen-prepare-extload.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
M llvm/test/CodeGen/AArch64/arm64-zip.ll
M llvm/test/CodeGen/AArch64/arm64_32-gep-sink.ll
A llvm/test/CodeGen/AArch64/avoid-free-ext-promotion.ll
M llvm/test/CodeGen/AArch64/cgp-trivial-phi-node.ll
M llvm/test/CodeGen/AArch64/convertphitype.ll
M llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
M llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/fastisel-debugvalue-undef.ll
M llvm/test/CodeGen/AArch64/machine-combiner-copy.ll
A llvm/test/CodeGen/AArch64/note-gnu-property-gcs.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry.ll
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-armpl.ll
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef-scalable.ll
R llvm/test/CodeGen/AArch64/replace-intrinsics-with-veclib-sleef.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
M llvm/test/CodeGen/AArch64/scalable-vector-promotion.ll
M llvm/test/CodeGen/AArch64/selectopt.ll
M llvm/test/CodeGen/AArch64/sve-vscale.ll
A llvm/test/CodeGen/AArch64/sve2-bcax.ll
M llvm/test/CodeGen/AArch64/sve2-min-max-clamp.ll
M llvm/test/CodeGen/AArch64/sve2-vscale-sinking.ll
A llvm/test/CodeGen/AArch64/sve2-xar.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-extq.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-sclamp.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-uclamp.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
M llvm/test/CodeGen/AArch64/vselect-ext.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mul.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx1030.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-lshr-and-cmp.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
M llvm/test/CodeGen/AMDGPU/hsa-globals.ll
A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx11.mir
A llvm/test/CodeGen/AMDGPU/lds-direct-hazards-gfx12.mir
R llvm/test/CodeGen/AMDGPU/lds-direct-hazards.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.atomic.flt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/readcyclecounter.ll
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
A llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/select-undef.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/strict_fp_casts.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-global-inv-wb.mir
A llvm/test/CodeGen/ARC/atomic-oversize.ll
M llvm/test/CodeGen/ARM/debug-info-blocks.ll
M llvm/test/CodeGen/ARM/vector-promotion.ll
A llvm/test/CodeGen/BPF/atomic-oversize.ll
M llvm/test/CodeGen/Generic/addr-sink-call-multi-arg.ll
M llvm/test/CodeGen/Generic/addr-use-count.ll
M llvm/test/CodeGen/Generic/csw-debug-assert.ll
M llvm/test/CodeGen/Generic/live-debug-label.ll
M llvm/test/CodeGen/Generic/machine-function-splitter.ll
A llvm/test/CodeGen/Lanai/atomic-oversize.ll
A llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/code-models.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/global-address.ll
A llvm/test/CodeGen/LoongArch/global-variable-code-model.ll
M llvm/test/CodeGen/LoongArch/patchable-function-entry.ll
A llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
A llvm/test/CodeGen/MSP430/atomic-oversize.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/xray-section-group.ll
M llvm/test/CodeGen/NVPTX/atomicrmw-expand.ll
A llvm/test/CodeGen/NVPTX/setmaxnreg.ll
A llvm/test/CodeGen/PowerPC/intrinsic-trap.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/PowerPC/pr47155-47156.ll
A llvm/test/CodeGen/PowerPC/pr77748.ll
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/bswap-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64d.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calls.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/variadic-call.ll
A llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-alu.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bswap-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-fp-ceil-floor.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mul-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-mulo-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-add-zve32x.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-add.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-and.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-or.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-sub.mir
A llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-xor.mir
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/addrspacecast.ll
M llvm/test/CodeGen/RISCV/aext-to-sext.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/analyze-branch.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-load-store.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-sub.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-frem.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/byval.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/calling-conv-vector-on-stack.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/cm_mvas_mvsa.ll
A llvm/test/CodeGen/RISCV/cmov-branch-opt.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/ctz_zero_return_test.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-arith-strict.ll
M llvm/test/CodeGen/RISCV/double-arith.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert-strict.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-fcmp.ll
M llvm/test/CodeGen/RISCV/double-frem.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/double-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-previous-failure.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-round-conv.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/eh-dwarf-cfa.ll
M llvm/test/CodeGen/RISCV/emutls.ll
M llvm/test/CodeGen/RISCV/exception-pointer-register.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-int.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/fli-licm.ll
M llvm/test/CodeGen/RISCV/float-arith-strict.ll
M llvm/test/CodeGen/RISCV/float-arith.ll
M llvm/test/CodeGen/RISCV/float-bit-preserving-dagcombines.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-convert-strict.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-fcmp.ll
M llvm/test/CodeGen/RISCV/float-frem.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics.ll
M llvm/test/CodeGen/RISCV/float-mem.ll
M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/float-round-conv.ll
M llvm/test/CodeGen/RISCV/float-select-verify.ll
M llvm/test/CodeGen/RISCV/float-zfa.ll
M llvm/test/CodeGen/RISCV/fmax-fmin.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fp16-promote.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/frame-info.ll
M llvm/test/CodeGen/RISCV/frame.ll
M llvm/test/CodeGen/RISCV/frameaddr-returnaddr.ll
M llvm/test/CodeGen/RISCV/ghccc-rv32.ll
M llvm/test/CodeGen/RISCV/ghccc-rv64.ll
M llvm/test/CodeGen/RISCV/ghccc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-frem.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/half-round-conv.ll
M llvm/test/CodeGen/RISCV/hoist-global-addr-base.ll
M llvm/test/CodeGen/RISCV/interrupt-attr-callee.ll
M llvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/libcall-tail-calls.ll
M llvm/test/CodeGen/RISCV/live-sp.mir
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/machine-outliner-and-machine-copy-propagation.ll
M llvm/test/CodeGen/RISCV/machine-outliner-throw.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcpy.ll
M llvm/test/CodeGen/RISCV/mir-target-flags.ll
M llvm/test/CodeGen/RISCV/miss-sp-restore-eh.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/nest-register.ll
M llvm/test/CodeGen/RISCV/nomerge.ll
M llvm/test/CodeGen/RISCV/opt-w-instrs.mir
A llvm/test/CodeGen/RISCV/option-relax-relocation.ll
M llvm/test/CodeGen/RISCV/out-of-reach-emergency-slot.mir
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/reduce-unnecessary-extension.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/remat.ll
M llvm/test/CodeGen/RISCV/rv32i-rv64i-float-double.ll
M llvm/test/CodeGen/RISCV/rv32i-rv64i-half.ll
M llvm/test/CodeGen/RISCV/rv32xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64-large-stack.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/div.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/mem64.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rem.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbs.ll
M llvm/test/CodeGen/RISCV/rv64i-complex-float.ll
M llvm/test/CodeGen/RISCV/rv64i-double-softfloat.ll
M llvm/test/CodeGen/RISCV/rv64i-single-softfloat.ll
M llvm/test/CodeGen/RISCV/rv64xtheadbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbs.ll
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vaaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-stack-align.mir
M llvm/test/CodeGen/RISCV/rvv/scalar-stack-align.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
A llvm/test/CodeGen/RISCV/rvv/vaaddu-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-offset-for-rvv-object.mir
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/setcc-logic.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shadowcallstack.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
M llvm/test/CodeGen/RISCV/shrinkwrap-jump-table.ll
M llvm/test/CodeGen/RISCV/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/split-sp-adjust.ll
M llvm/test/CodeGen/RISCV/split-udiv-by-constant.ll
M llvm/test/CodeGen/RISCV/split-urem-by-constant.ll
M llvm/test/CodeGen/RISCV/srem-lkk.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/stack-protector-target.ll
M llvm/test/CodeGen/RISCV/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/RISCV/stack-realignment.ll
M llvm/test/CodeGen/RISCV/stack-slot-size.ll
M llvm/test/CodeGen/RISCV/stack-store-check.ll
M llvm/test/CodeGen/RISCV/tls-models.ll
M llvm/test/CodeGen/RISCV/unfold-masked-merge-scalar-variablemask.ll
M llvm/test/CodeGen/RISCV/urem-lkk.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/vector-abi.ll
M llvm/test/CodeGen/RISCV/vlenb.ll
M llvm/test/CodeGen/RISCV/zbb-cmp-combine.ll
M llvm/test/CodeGen/RISCV/zcmp-with-float.ll
M llvm/test/CodeGen/RISCV/zfh-half-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/zfhmin-half-intrinsics-strict.ll
M llvm/test/CodeGen/SPARC/constructor.ll
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-nested-composite-store.ll
M llvm/test/CodeGen/SPIRV/instructions/undef-simple-composite-store.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
M llvm/test/CodeGen/SPIRV/opencl/basic/get_global_offset.ll
A llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
A llvm/test/CodeGen/SPIRV/pointers/two-bitcast-users.ll
A llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
A llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpPhi_ArgumentsPlaceholders.ll
M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
A llvm/test/CodeGen/SystemZ/shift-16.ll
M llvm/test/CodeGen/SystemZ/vec-perm-14.ll
A llvm/test/CodeGen/WebAssembly/signext-zeroext-callsite.ll
M llvm/test/CodeGen/X86/2010-08-04-StackVariable.ll
M llvm/test/CodeGen/X86/64-bit-shift-by-32-minus-y.ll
M llvm/test/CodeGen/X86/DbgValueOtherTargets.test
M llvm/test/CodeGen/X86/O0-pipeline.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/aligned-variadic.ll
A llvm/test/CodeGen/X86/apx/adc.ll
A llvm/test/CodeGen/X86/apx/add.ll
A llvm/test/CodeGen/X86/apx/compress-evex.mir
A llvm/test/CodeGen/X86/apx/dec.ll
A llvm/test/CodeGen/X86/apx/gr8_norex2.ll
A llvm/test/CodeGen/X86/apx/imul.ll
A llvm/test/CodeGen/X86/apx/inc.ll
A llvm/test/CodeGen/X86/apx/neg.ll
A llvm/test/CodeGen/X86/apx/not.ll
A llvm/test/CodeGen/X86/apx/or.ll
A llvm/test/CodeGen/X86/apx/sbb.ll
A llvm/test/CodeGen/X86/apx/sub.ll
A llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/avx2-gather.ll
M llvm/test/CodeGen/X86/avx2-nontemporal.ll
M llvm/test/CodeGen/X86/avx512-pmovxrm.ll
A llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
M llvm/test/CodeGen/X86/basic-block-sections-labels-functions-sections.ll
M llvm/test/CodeGen/X86/bfloat.ll
A llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir
M llvm/test/CodeGen/X86/buildvec-insertvec.ll
M llvm/test/CodeGen/X86/callbr-codegenprepare.ll
M llvm/test/CodeGen/X86/codegen-prepare-addrmode-sext.ll
M llvm/test/CodeGen/X86/codegen-prepare-extload.ll
M llvm/test/CodeGen/X86/combine-bextr.ll
M llvm/test/CodeGen/X86/combine-fneg.ll
M llvm/test/CodeGen/X86/constructor.ll
M llvm/test/CodeGen/X86/convertphitype.ll
A llvm/test/CodeGen/X86/cov-sections.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-fast-isel-x86_64.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86.ll
M llvm/test/CodeGen/X86/crc32-intrinsics-x86_64.ll
M llvm/test/CodeGen/X86/cvtv2f32.ll
M llvm/test/CodeGen/X86/elf-comdat.ll
M llvm/test/CodeGen/X86/elf-comdat2.ll
M llvm/test/CodeGen/X86/elf-group.ll
M llvm/test/CodeGen/X86/evex-to-vex-compress.mir
M llvm/test/CodeGen/X86/explicit-section-mergeable.ll
M llvm/test/CodeGen/X86/fast-isel-dbg-value-alloca.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fold-sext-trunc.ll
M llvm/test/CodeGen/X86/fold-zext-trunc.ll
M llvm/test/CodeGen/X86/fp128-cast.ll
M llvm/test/CodeGen/X86/ftrunc.ll
M llvm/test/CodeGen/X86/gcc_except_table-multi.ll
M llvm/test/CodeGen/X86/global-sections-comdat.ll
M llvm/test/CodeGen/X86/i64-mem-copy.ll
M llvm/test/CodeGen/X86/indirect-br-gep-unmerge.ll
M llvm/test/CodeGen/X86/inline-sse.ll
M llvm/test/CodeGen/X86/invpcid-intrinsic.ll
M llvm/test/CodeGen/X86/keylocker-intrinsics.ll
M llvm/test/CodeGen/X86/label-heapallocsite.ll
M llvm/test/CodeGen/X86/lea-2.ll
M llvm/test/CodeGen/X86/legalize-shl-vec.ll
M llvm/test/CodeGen/X86/machine-outliner-disubprogram.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86.ll
M llvm/test/CodeGen/X86/movdir-intrinsic-x86_64.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/CodeGen/X86/pr14088.ll
M llvm/test/CodeGen/X86/pr53243-tail-call-fastisel.ll
M llvm/test/CodeGen/X86/pr58538.ll
A llvm/test/CodeGen/X86/pr77459.ll
M llvm/test/CodeGen/X86/sha.ll
M llvm/test/CodeGen/X86/sink-local-value.ll
M llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
M llvm/test/CodeGen/X86/stack-size-section.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-extract.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/vec_extract-avx.ll
M llvm/test/CodeGen/X86/vec_extract-mmx.ll
M llvm/test/CodeGen/X86/vec_extract-sse4.ll
M llvm/test/CodeGen/X86/vec_extract.ll
M llvm/test/CodeGen/X86/vec_fpext.ll
M llvm/test/CodeGen/X86/vec_fptrunc.ll
M llvm/test/CodeGen/X86/vec_setcc.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-shuffle-mmx.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/vector-tzcnt-256.ll
A llvm/test/CodeGen/X86/windows-seh-EHa-PreserveCFG.ll
M llvm/test/CodeGen/X86/x64-cet-intrinsics.ll
M llvm/test/CodeGen/X86/xray-section-group.ll
M llvm/test/DebugInfo/AArch64/cfi-eof-prologue.ll
M llvm/test/DebugInfo/AArch64/frameindices.ll
M llvm/test/DebugInfo/ARM/salvage-debug-info.ll
M llvm/test/DebugInfo/ARM/split-complex.ll
M llvm/test/DebugInfo/COFF/class-options-common.ll
M llvm/test/DebugInfo/COFF/cpp-mangling.ll
M llvm/test/DebugInfo/COFF/enum-co.ll
M llvm/test/DebugInfo/COFF/function-options.ll
M llvm/test/DebugInfo/COFF/global_visibility.ll
M llvm/test/DebugInfo/COFF/globals.ll
M llvm/test/DebugInfo/COFF/lambda.ll
M llvm/test/DebugInfo/COFF/lines-bb-start.ll
M llvm/test/DebugInfo/COFF/nrvo.ll
M llvm/test/DebugInfo/COFF/numeric-leaves.ll
M llvm/test/DebugInfo/COFF/parent-type-scopes.ll
M llvm/test/DebugInfo/COFF/purge-typedef-udts.ll
M llvm/test/DebugInfo/COFF/thunk.ll
M llvm/test/DebugInfo/COFF/type-quals.ll
M llvm/test/DebugInfo/COFF/types-cvarargs.ll
M llvm/test/DebugInfo/COFF/types-integer-old.ll
M llvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
M llvm/test/DebugInfo/Generic/2010-10-01-crash.ll
M llvm/test/DebugInfo/Generic/PR20038.ll
M llvm/test/DebugInfo/Generic/dead-argument-order.ll
M llvm/test/DebugInfo/Generic/discriminated-union.ll
M llvm/test/DebugInfo/Generic/disubrange_vla.ll
M llvm/test/DebugInfo/Generic/enum-types.ll
M llvm/test/DebugInfo/Generic/enum.ll
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
A llvm/test/DebugInfo/Generic/inlined-local-type.ll
M llvm/test/DebugInfo/Generic/inlined-vars.ll
A llvm/test/DebugInfo/Generic/lexical-block-retained-types.ll
A llvm/test/DebugInfo/Generic/lexical-block-types.ll
M llvm/test/DebugInfo/Generic/recursive_inlining.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import2.ll
R llvm/test/DebugInfo/Generic/split-dwarf-local-import3.ll
M llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll
M llvm/test/DebugInfo/Generic/verifier-invalid-disubprogram.ll
M llvm/test/DebugInfo/Mips/delay-slot.ll
M llvm/test/DebugInfo/SystemZ/eh_frame_personality.ll
M llvm/test/DebugInfo/SystemZ/eh_frame_personality.s
M llvm/test/DebugInfo/X86/aligned_stack_var.ll
M llvm/test/DebugInfo/X86/arguments.ll
M llvm/test/DebugInfo/X86/asan_debug_info.ll
M llvm/test/DebugInfo/X86/byvalstruct.ll
M llvm/test/DebugInfo/X86/convert-linked.ll
M llvm/test/DebugInfo/X86/dbg-declare-arg.ll
M llvm/test/DebugInfo/X86/dbg-declare-inalloca.ll
M llvm/test/DebugInfo/X86/dbg-declare.ll
M llvm/test/DebugInfo/X86/dbg_value_direct.ll
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
M llvm/test/DebugInfo/X86/double-declare.ll
M llvm/test/DebugInfo/X86/fi-piece.ll
M llvm/test/DebugInfo/X86/implicit_value-double.ll
M llvm/test/DebugInfo/X86/instr-ref-opt-levels.ll
M llvm/test/DebugInfo/X86/instr-ref-selectiondag.ll
A llvm/test/DebugInfo/X86/local-type-as-template-parameter.ll
M llvm/test/DebugInfo/X86/missing-abstract-variable.ll
M llvm/test/DebugInfo/X86/parameters.ll
M llvm/test/DebugInfo/X86/pieces-1.ll
M llvm/test/DebugInfo/X86/reference-argument.ll
M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
M llvm/test/DebugInfo/X86/set.ll
M llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import2.ll
A llvm/test/DebugInfo/X86/split-dwarf-local-import3.ll
M llvm/test/DebugInfo/X86/sret.ll
M llvm/test/DebugInfo/X86/subreg.ll
M llvm/test/DebugInfo/X86/subregisters.ll
M llvm/test/DebugInfo/X86/vla.ll
M llvm/test/DebugInfo/X86/zextload.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_ehframe_basic.s
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_ehframe_large_static_personality_encodings.s
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/asan-stack-safety.ll
M llvm/test/Instrumentation/AddressSanitizer/debug_info.ll
M llvm/test/Instrumentation/AddressSanitizer/debug_info_noninstrumented_alloca2.ll
M llvm/test/Instrumentation/AddressSanitizer/hoist-argument-init-insts.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime-uar-uas.ll
M llvm/test/Instrumentation/AddressSanitizer/lifetime.ll
M llvm/test/Instrumentation/AddressSanitizer/local_stack_base.ll
M llvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
M llvm/test/Instrumentation/AddressSanitizer/stack_layout.ll
M llvm/test/Instrumentation/InstrProfiling/platform.ll
M llvm/test/Instrumentation/InstrProfiling/profiling.ll
M llvm/test/MC/AArch64/SVE/pfalse-diagnostics.s
M llvm/test/MC/AArch64/SVE/predicate-as-counter-aliases.s
A llvm/test/MC/AArch64/elf-reloc-gotpcrel32.s
M llvm/test/MC/AMDGPU/gfx11_asm_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
A llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa-fake16.s
M llvm/test/MC/AMDGPU/gfx11_unsupported_sdwa.s
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vflat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
A llvm/test/MC/Disassembler/X86/apx/div.txt
A llvm/test/MC/Disassembler/X86/apx/idiv.txt
A llvm/test/MC/Disassembler/X86/apx/imul.txt
A llvm/test/MC/Disassembler/X86/apx/mul.txt
M llvm/test/MC/ELF/alias-to-local.s
M llvm/test/MC/ELF/relocation.s
M llvm/test/MC/ELF/section-combine.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/LoongArch/Basic/Integer/invalid64.s
A llvm/test/MC/LoongArch/Macros/macros-call.s
A llvm/test/MC/LoongArch/Relocations/leb128.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
M llvm/test/MC/LoongArch/Relocations/relocations.s
A llvm/test/MC/RISCV/align-non-executable.s
A llvm/test/MC/RISCV/elf-reloc-got32-pcrel.s
M llvm/test/MC/RISCV/function-call.s
M llvm/test/MC/RISCV/rv32zacas-invalid.s
M llvm/test/MC/RISCV/rv64zacas-invalid.s
M llvm/test/MC/RISCV/tail-call.s
A llvm/test/MC/X86/apx/div-att.s
A llvm/test/MC/X86/apx/div-intel.s
A llvm/test/MC/X86/apx/idiv-att.s
A llvm/test/MC/X86/apx/idiv-intel.s
A llvm/test/MC/X86/apx/imul-att.s
A llvm/test/MC/X86/apx/imul-intel.s
A llvm/test/MC/X86/apx/mul-att.s
A llvm/test/MC/X86/apx/mul-intel.s
M llvm/test/MC/X86/index-operations.s
M llvm/test/Other/codegenprepare-and-debug.ll
M llvm/test/Other/print-at-pass-number.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
A llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/TableGen/GlobalISelEmitter.td
A llvm/test/TableGen/MacroFusion.td
M llvm/test/TableGen/dag-isel-complexpattern.td
M llvm/test/TableGen/getsetop.td
M llvm/test/TableGen/x86-fold-tables.inc
A llvm/test/ThinLTO/X86/memprof-tailcall-nonunique.ll
A llvm/test/ThinLTO/X86/memprof-tailcall.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/combine-address-mode.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/free-zext.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-gather-scatter-addressing.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/trunc-weird-user.ll
M llvm/test/Transforms/CodeGenPrepare/AArch64/zext-to-shuffle.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/addressing-modes.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/no-sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/AMDGPU/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/dead-gep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/memory-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/splitgep.ll
M llvm/test/Transforms/CodeGenPrepare/ARM/tailcall-dup.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-constant-numerator.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/bypass-slow-div.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-introduce-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/NVPTX/dont-sink-nop-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/and-mask-sink.ll
M llvm/test/Transforms/CodeGenPrepare/RISCV/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/SPARC/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cgp_shuffle_crash.ll
M llvm/test/Transforms/CodeGenPrepare/X86/computedgoto.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/X86/delete-assume-dead-code.ll
M llvm/test/Transforms/CodeGenPrepare/X86/extend-sink-hoist.ll
M llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gather-scatter-opt.ll
M llvm/test/Transforms/CodeGenPrepare/X86/gep-unmerging.ll
M llvm/test/Transforms/CodeGenPrepare/X86/invariant.group.ll
M llvm/test/Transforms/CodeGenPrepare/X86/masked-gather-struct-gep.ll
M llvm/test/Transforms/CodeGenPrepare/X86/nonintegral.ll
M llvm/test/Transforms/CodeGenPrepare/X86/optimizeSelect-DT.ll
M llvm/test/Transforms/CodeGenPrepare/X86/overflow-intrinsics.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr27536.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr35658.ll
M llvm/test/Transforms/CodeGenPrepare/X86/pr72046.ll
M llvm/test/Transforms/CodeGenPrepare/X86/recursively-delete-dead-instructions.ll
M llvm/test/Transforms/CodeGenPrepare/X86/remove-assume-block.ll
M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-select.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-two-phi.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode.ll
M llvm/test/Transforms/CodeGenPrepare/X86/sink-addrspacecast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-indirect-loop.ll
M llvm/test/Transforms/CodeGenPrepare/X86/split-store-alignment.ll
M llvm/test/Transforms/CodeGenPrepare/X86/statepoint-relocate.ll
M llvm/test/Transforms/CodeGenPrepare/X86/tailcall-assume-xbb.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/vec-shift.ll
M llvm/test/Transforms/CodeGenPrepare/X86/widenable-condition.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink-inseltpoison.ll
M llvm/test/Transforms/CodeGenPrepare/X86/x86-shuffle-sink.ll
M llvm/test/Transforms/CodeGenPrepare/dead-allocation.ll
M llvm/test/Transforms/CodeGenPrepare/skip-merging-case-block.ll
A llvm/test/Transforms/ConstraintElimination/monotonic-int-phis-signed.ll
M llvm/test/Transforms/ConstraintElimination/shl.ll
M llvm/test/Transforms/CorrelatedValuePropagation/select.ll
M llvm/test/Transforms/HotColdSplit/coldentrycount.ll
A llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-m-forms-no-active-lanes.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
M llvm/test/Transforms/InstCombine/bitreverse-known-bits.ll
M llvm/test/Transforms/InstCombine/bitreverse.ll
A llvm/test/Transforms/InstCombine/bitwiselogic-bitmanip.ll
M llvm/test/Transforms/InstCombine/bswap-fold.ll
A llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
A llvm/test/Transforms/InstCombine/icmp-abs.ll
M llvm/test/Transforms/InstCombine/icmp.ll
M llvm/test/Transforms/InstCombine/memcpy-to-load.ll
M llvm/test/Transforms/InstCombine/phi.ll
A llvm/test/Transforms/InstCombine/pr77064.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/smax-icmp.ll
A llvm/test/Transforms/InstCombine/switch-shl.ll
A llvm/test/Transforms/InstCombine/switch-sub.ll
A llvm/test/Transforms/InstCombine/switch-zext-sext.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
M llvm/test/Transforms/JumpThreading/loop-phi.ll
M llvm/test/Transforms/JumpThreading/unreachable-loops.ll
M llvm/test/Transforms/LoadStoreVectorizer/X86/codegenprepare-produced-address-math.ll
A llvm/test/Transforms/LoopFlatten/loop-flatten-gep.ll
A llvm/test/Transforms/LoopIdiom/AArch64/byte-compare-index.ll
A llvm/test/Transforms/LoopIdiom/AArch64/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/loop-scalars.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/MemCpyOpt/no-libcalls.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall-nonunique.ll
A llvm/test/Transforms/MemProfContextDisambiguation/tailcall.ll
M llvm/test/Transforms/PGOProfile/Inputs/multiple_hash_profile.proftext
M llvm/test/Transforms/PGOProfile/multiple_hash_profile.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/SystemZ/sub-xor.ll
A llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/SCCP/switch.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec15-base.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-calls.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
M llvm/test/Transforms/SLPVectorizer/X86/int-bitcast-minbitwidth.ll
A llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-multiuse-with-insertelement.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/SLPVectorizer/X86/root-trunc-extract-reuse.ll
A llvm/test/Transforms/SLPVectorizer/X86/splat-buildvector.ll
M llvm/test/Transforms/SampleProfile/section-accurate-samplepgo.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AArch64/scalable-vector-geps.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/RISCV/split-gep.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/split-gep-or-as-add.ll
A llvm/test/Transforms/SimpleLoopUnswitch/memssa-readnone-access.ll
M llvm/test/Transforms/SimplifyCFG/rangereduce.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
M llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
A llvm/test/Verifier/NVPTX/lit.local.cfg
A llvm/test/Verifier/NVPTX/setmaxnreg.ll
M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
M llvm/test/tools/dsymutil/ARM/dwarf5-macho.test
A llvm/test/tools/dsymutil/ARM/inline-source.test
A llvm/test/tools/dsymutil/Inputs/inline.ll
M llvm/test/tools/llvm-ar/error-opening-permission.test
A llvm/test/tools/llvm-cxxfilt/no-params.test
M llvm/test/tools/llvm-debuginfo-analyzer/cmdline.test
A llvm/test/tools/llvm-dwarfdump/AArch64/verify-no-file.yaml
M llvm/test/tools/llvm-dwarfdump/X86/output.s
M llvm/test/tools/llvm-ifs/fail-file-write.test
A llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-store.s
M llvm/test/tools/llvm-mca/RISCV/SiFive7/strided-load-x0.s
M llvm/test/tools/llvm-profdata/Inputs/FUnique.proftext
M llvm/test/tools/llvm-profdata/Inputs/NoFUnique.proftext
M llvm/test/tools/llvm-profdata/Inputs/flatten_instr.proftext
M llvm/test/tools/llvm-profdata/suppl-instr-with-sample-flatten.test
M llvm/test/tools/llvm-ranlib/error-opening-permission.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
M llvm/test/tools/llvm-symbolizer/frame.s
A llvm/test/tools/lto/discard-value-names.ll
M llvm/tools/dsymutil/CMakeLists.txt
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
M llvm/tools/dsymutil/LinkUtils.h
M llvm/tools/dsymutil/dsymutil.cpp
M llvm/tools/lli/ForwardingMemoryManager.h
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-cxxfilt/Opts.td
M llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
M llvm/tools/llvm-dwarfutil/CMakeLists.txt
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
M llvm/tools/llvm-exegesis/lib/PerfHelper.h
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/tools/llvm-profdata/llvm-profdata.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-shlib/CMakeLists.txt
M llvm/tools/opt/opt.cpp
M llvm/unittests/ADT/StringRefTest.cpp
M llvm/unittests/Analysis/VectorFunctionABITest.cpp
M llvm/unittests/DWARFLinkerParallel/StringPoolTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/MI/LiveIntervalTest.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
M llvm/unittests/ProfileData/InstrProfTest.cpp
M llvm/unittests/Support/CommandLineTest.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Utils/CloningTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
M llvm/utils/TableGen/CMakeLists.txt
M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
M llvm/utils/TableGen/ExegesisEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
A llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
M llvm/utils/TableGen/PredicateExpander.cpp
M llvm/utils/TableGen/PredicateExpander.h
A llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
R llvm/utils/TableGen/X86EVEX2VEXTablesEmitter.cpp
M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
A llvm/utils/TableGen/X86ManualCompressEVEXTables.def
M llvm/utils/emacs/tablegen-mode.el
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DWARFLinker/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Classic/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/DWARFLinker/Parallel/BUILD.gn
R llvm/utils/gn/secondary/llvm/lib/DWARFLinkerParallel/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-dwarfutil/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/DWARFLinkerParallel/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/lit/lit/llvm/config.py
M llvm/utils/release/test-release.sh
M mlir/docs/Dialects/GPU.md
A mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/PassManagement.md
M mlir/docs/Passes.md
A mlir/docs/Tutorials/transform/Ch4.md
M mlir/docs/Tutorials/transform/_index.md
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/examples/transform/CMakeLists.txt
M mlir/examples/transform/Ch3/transform-opt/transform-opt.cpp
A mlir/examples/transform/Ch4/CMakeLists.txt
A mlir/examples/transform/Ch4/include/CMakeLists.txt
A mlir/examples/transform/Ch4/include/MyExtension.h
A mlir/examples/transform/Ch4/include/MyExtension.td
A mlir/examples/transform/Ch4/lib/CMakeLists.txt
A mlir/examples/transform/Ch4/lib/MyExtension.cpp
A mlir/examples/transform/Ch4/transform-opt/transform-opt.cpp
A mlir/include/mlir/Analysis/Presburger/Barvinok.h
A mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/include/mlir/Analysis/Presburger/Matrix.h
M mlir/include/mlir/Conversion/ArithCommon/AttrToLLVMConverter.h
M mlir/include/mlir/Conversion/GPUToSPIRV/GPUToSPIRV.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/Arith/IR/ArithOpsInterfaces.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSVE/Transforms/Passes.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/BufferUtils.h
M mlir/include/mlir/Dialect/DLTI/DLTI.h
M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionLegalization.h
A mlir/include/mlir/Dialect/LLVMIR/Transforms/DIExpressionRewriter.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
A mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/include/mlir/Dialect/OpenACC/CMakeLists.txt
M mlir/include/mlir/Dialect/OpenACC/OpenACCBase.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAtomicOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/include/mlir/Dialect/Utils/IndexingUtils.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/ExecutionEngine/CRunnerUtils.h
M mlir/include/mlir/ExecutionEngine/Float16bits.h
M mlir/include/mlir/ExecutionEngine/RunnerUtils.h
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/AffineExprVisitor.h
M mlir/include/mlir/IR/Dominance.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
A mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/CMakeLists.txt
R mlir/lib/Analysis/Presburger/GeneratingFunction.h
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/lib/Analysis/Presburger/Matrix.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/AsmParser/Parser.h
M mlir/lib/AsmParser/ParserState.h
M mlir/lib/Conversion/ArithCommon/AttrToLLVMConverter.cpp
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferOptimizations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferViewFlowAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/Complex/IR/ComplexDialect.cpp
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/Func/IR/FuncOps.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/Index/IR/IndexDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMInlining.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/CMakeLists.txt
A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionLegalization.cpp
A mlir/lib/Dialect/LLVMIR/Transforms/DIExpressionRewriter.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Math/IR/MathDialect.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefDialect.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
A mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/IR/AtomicOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CooperativeMatrixOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/UB/IR/UBOps.cpp
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/ExecutionEngine/CRunnerUtils.cpp
M mlir/lib/ExecutionEngine/Float16bits.cpp
M mlir/lib/ExecutionEngine/RunnerUtils.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/IR/Operation.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/QueryParser.cpp
M mlir/lib/TableGen/Class.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/lib/Target/LLVMIR/DebugImporter.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.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/DeserializeOps.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/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.h
M mlir/lib/Tools/lsp-server-support/SourceMgrUtils.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/python/mlir/ir.py
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
M mlir/test/Conversion/ArmSMEToLLVM/arm-sme-to-llvm.mlir
M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-khr-coop-matrix.mlir
R mlir/test/Conversion/GPUToSPIRV/wmma-ops-to-spirv-nv-coop-matrix.mlir
M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
M mlir/test/Conversion/MemRefToSPIRV/alloc.mlir
M mlir/test/Conversion/MemRefToSPIRV/atomic.mlir
M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/SCFToGPU/no_blocks_no_threads.mlir
M mlir/test/Conversion/SPIRVToLLVM/spirv-storage-class-mapping.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
M mlir/test/Dialect/Affine/constant-fold.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
M mlir/test/Dialect/ArmSME/enable-arm-za.mlir
M mlir/test/Dialect/ArmSME/roundtrip.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/outlining.mlir
M mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope.mlir
M mlir/test/Dialect/LLVMIR/call-location.mlir
M mlir/test/Dialect/LLVMIR/debuginfo.mlir
A mlir/test/Dialect/LLVMIR/di-expression-legalization.mlir
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/inlining.mlir
M mlir/test/Dialect/LLVMIR/invalid-call-location.mlir
M mlir/test/Dialect/LLVMIR/layout.mlir
M mlir/test/Dialect/LLVMIR/loop-metadata.mlir
M mlir/test/Dialect/LLVMIR/mem2reg-dbginfo.mlir
M mlir/test/Dialect/LLVMIR/type-consistency.mlir
M mlir/test/Dialect/Linalg/loops.mlir
A mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
M mlir/test/Dialect/Math/algebraic-simplification.mlir
M mlir/test/Dialect/Math/expand-math.mlir
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/ops.mlir
A mlir/test/Dialect/Mesh/folding.mlir
M mlir/test/Dialect/Mesh/invalid.mlir
M mlir/test/Dialect/Mesh/ops.mlir
A mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
M mlir/test/Dialect/NVGPU/transform-create-async-groups.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
M mlir/test/Dialect/OpenMP/attr.mlir
M mlir/test/Dialect/SCF/loop-pipelining.mlir
M mlir/test/Dialect/SCF/transform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/availability.mlir
M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
M mlir/test/Dialect/SPIRV/IR/khr-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
R mlir/test/Dialect/SPIRV/IR/nv-cooperative-matrix-ops.mlir
M mlir/test/Dialect/SPIRV/IR/structure-ops.mlir
M mlir/test/Dialect/SPIRV/IR/target-env.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_concat.mlir
M mlir/test/Dialect/SparseTensor/sparse_storage.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Transform/apply-foreach-nested.mlir
M mlir/test/Dialect/Transform/expensive-checks.mlir
M mlir/test/Dialect/Transform/ops-invalid.mlir
M mlir/test/Dialect/Transform/selective-targeting.mlir
M mlir/test/Dialect/Transform/test-interpreter.mlir
M mlir/test/Dialect/Vector/vector-broadcast-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-contract-to-matrix-intrinsics-transforms.mlir
M mlir/test/Dialect/Vector/vector-mask-lowering-transforms.mlir
M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
M mlir/test/Dialect/Vector/vector-scalable-create-mask-lowering.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
A mlir/test/Examples/transform/Ch4/features.mlir
A mlir/test/Examples/transform/Ch4/multiple.mlir
A mlir/test/Examples/transform/Ch4/sequence.mlir
A mlir/test/IR/affine-walk.mlir
M mlir/test/IR/test-region-branch-op-verifier.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
A mlir/test/Integration/Dialect/Memref/verify-memref.mlir
A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/dump-ptx.mlir
M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-mma-2-4-f16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-load-vertical.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
M mlir/test/Integration/Dialect/Vector/GPU/CUDA/test-reduction-distribute.mlir
M mlir/test/Integration/Dialect/Vector/GPU/CUDA/test-warp-distribute.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-and.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-maxsi.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-minsi.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-op.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-or.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-region.mlir
M mlir/test/Integration/GPU/CUDA/all-reduce-xor.mlir
M mlir/test/Integration/GPU/CUDA/gpu-to-cubin.mlir
M mlir/test/Integration/GPU/CUDA/multiple-all-reduce.mlir
M mlir/test/Integration/GPU/CUDA/printf.mlir
M mlir/test/Integration/GPU/CUDA/shuffle.mlir
A mlir/test/Integration/GPU/CUDA/sm90/asd
M mlir/test/Integration/GPU/CUDA/sm90/cga_cluster.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
M mlir/test/Integration/GPU/CUDA/two-modules.mlir
M mlir/test/Target/LLVMIR/Import/debug-info.ll
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/arm-sme-invalid.mlir
M mlir/test/Target/LLVMIR/arm-sme.mlir
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/loop-metadata.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/SPIRV/atomic-ops.mlir
M mlir/test/Target/SPIRV/cast-ops.mlir
M mlir/test/Target/SPIRV/debug.mlir
M mlir/test/Target/SPIRV/function-decorations.mlir
M mlir/test/Target/SPIRV/global-variable.mlir
M mlir/test/Target/SPIRV/matrix.mlir
R mlir/test/Target/SPIRV/nv-cooperative-matrix-ops.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/inlining.mlir
M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
A mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/IR/CMakeLists.txt
A mlir/test/lib/IR/TestAffineWalk.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterface.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/test/python/dialects/memref.py
M mlir/test/python/ir/diagnostic_handler.py
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
A mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
M mlir/unittests/Analysis/Presburger/CMakeLists.txt
A mlir/unittests/Analysis/Presburger/GeneratingFunctionTest.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
M mlir/unittests/Analysis/Presburger/Utils.h
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/CMakeLists.txt
A mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
M mlir/unittests/IR/OpPropertiesTest.cpp
M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
M mlir/utils/emacs/mlir-lsp-client.el
M mlir/utils/emacs/mlir-mode.el
M openmp/CMakeLists.txt
M openmp/cmake/OpenMPTesting.cmake
M openmp/libomptarget/DeviceRTL/include/Configuration.h
M openmp/libomptarget/DeviceRTL/include/State.h
M openmp/libomptarget/DeviceRTL/src/Configuration.cpp
M openmp/libomptarget/DeviceRTL/src/Kernel.cpp
M openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
M openmp/libomptarget/DeviceRTL/src/Reduction.cpp
M openmp/libomptarget/DeviceRTL/src/Workshare.cpp
M openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
M openmp/libomptarget/include/DeviceImage.h
M openmp/libomptarget/include/OffloadEntry.h
M openmp/libomptarget/include/Shared/Profile.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
A openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.cpp
A openmp/libomptarget/plugins-nextgen/generic-elf-64bit/dynamic_ffi/ffi.h
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/DeviceImage.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
A openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
R openmp/libomptarget/test/offloading/fortran/failing/target_map_common_block1.f90
M openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
A openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
M openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_config.h.cmake
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_wrapper_getpid.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
M polly/lib/Transform/ScheduleOptimizer.cpp
A polly/test/ScheduleOptimizer/schedule_computeout.ll
M third-party/benchmark/src/timers.cc
A utils/bazel/crash-f7dbdb2b330aad91f520099159e736e91bb9ddbf
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/e8d0197bccb3...8a7f721c6530
More information about the All-commits
mailing list