[all-commits] [llvm/llvm-project] ba3c1f: [WebAssembly] Add segment RETAIN flag to support p...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Thu Feb 22 13:07:28 PST 2024
Branch: refs/heads/users/alexey-bataev/spr/slpadd-runtime-stride-support-for-strided-loads
Home: https://github.com/llvm/llvm-project
Commit: ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
https://github.com/llvm/llvm-project/commit/ba3c1f9ce30cf4f8aee5f1961df74d65e11d53bc
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
A llvm/test/CodeGen/WebAssembly/no-strip.ll
M llvm/test/MC/WebAssembly/no-dead-strip.ll
Log Message:
-----------
[WebAssembly] Add segment RETAIN flag to support private retained data (#81539)
In WebAssembly, we have `WASM_SYMBOL_NO_STRIP` symbol flag to mark the
referenced content as retained. However, the flag is not enough to
express retained data that is not referenced by any symbol. This patch
adds a new segment flag`WASM_SEG_FLAG_RETAIN` to support "private"
linkage data that is retained by llvm.used.
This kind of data that is not referenced but must be retained is usually
used with encapsulation symbols (__start/__stop). Swift runtime uses
this technique and depends on the fact "all metadata sections in live
objects are retained", which was not guaranteed with `--gc-sections`
before this patch.
This is a revised version of https://reviews.llvm.org/D126950 (has been
reverted) based on @MaskRay's comments
Commit: 807ed697beb438407905f3c728ed8c34ccc2d0d2
https://github.com/llvm/llvm-project/commit/807ed697beb438407905f3c728ed8c34ccc2d0d2
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
Log Message:
-----------
[AMDGPU] Use autogenerated test checks for sdwa-preserve.mir test. NFC. (#82380)
Commit: a9b5753220ef1f24b1b5bb44b5ca485a66c66349
https://github.com/llvm/llvm-project/commit/a9b5753220ef1f24b1b5bb44b5ca485a66c66349
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/test/Transforms/LoopRotate/coroutine.ll
Log Message:
-----------
[LoopRotate][coroutines] Avoid hoisting addresses of thread-local variables outside loops in coroutines (#81937)
Because loops in coroutines may have a co_await statement that
reschedules the coroutine to another thread, we cannot cache addresses
of thread-local variables obtained inside a loop by moving the
computation of thoes addresses outside a loop.
Since LLVM doesn't have a model for coroutine memory accesses, this
patch fixes this bug by disabling this optimization for coroutines in
the same way as https://reviews.llvm.org/D135550 and
https://reviews.llvm.org/D151774.
Commit: f740366fa68d3cfceda7efe2d573348253fbb1e9
https://github.com/llvm/llvm-project/commit/f740366fa68d3cfceda7efe2d573348253fbb1e9
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/test/Dialect/SparseTensor/codegen.mlir
Log Message:
-----------
[mlir][sparse] support type conversion from SoA COO to memrefs. (#82398)
Commit: 0b2b91ee9cf92d08e5eec159545ce4147b8d908e
https://github.com/llvm/llvm-project/commit/0b2b91ee9cf92d08e5eec159545ce4147b8d908e
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
A llvm/test/DebugInfo/fixed-point.ll
Log Message:
-----------
Reapply "[llvm] Fix assertion error where we didn't check fixed point… (#82412)
… types." (#82285)
This reverts commit d9f9775ac6289271d57671c55166fa0cad61075b.
The test was missing a `REQUIRES: object-emission`.
Commit: 19e71726eee3f35c3f37f6394fc4b001805f9c9a
https://github.com/llvm/llvm-project/commit/19e71726eee3f35c3f37f6394fc4b001805f9c9a
Author: Caroline Tice <cmtice at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[LLVM][unittests] Fix type issue in STLExtrasTest.cpp
Fixes a type error in UniqueNoPred test, that is causing the
ppc64le-lld-multistage-test buildbot to fail.
Commit: cd4e2466163c46c4e731f8dfc77a9b6673d26c89
https://github.com/llvm/llvm-project/commit/cd4e2466163c46c4e731f8dfc77a9b6673d26c89
Author: Lucile Rose Nihlen <luci.the.rose at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
Log Message:
-----------
repair and re-enable Windows buildkite presubmit (#82393)
Commit: a468d02fe9e544f39f6c0428c23b2396df6a35ff
https://github.com/llvm/llvm-project/commit/a468d02fe9e544f39f6c0428c23b2396df6a35ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/CMakeLists.txt
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
M flang/tools/flang-driver/driver.cpp
Log Message:
-----------
[flang][runtime] Add FortranFloat128Math wrapper library. (#81971)
Implemented few entry points for REAL(16) math in FortranF128Math
static library. It is a thin wrapper around GNU libquadmath.
Flang driver can always link it, and the dependencies will
be brought in as needed.
The final Fortran program/library that uses any of the entry points
will depend on the underlying third-party library - this dependency
has to be resolved somehow. I added FLANG_RUNTIME_F128_MATH_LIB
CMake control so that the compiler driver and the runtime library
can be built using the same third-party library: this way the linker
knows which dependency to link in (under --as-needed).
The compiler distribution should specify which third-party library
is required for linking/running the apps that use REAL(16).
The compiler package may provide a version of the third-party library
or at least a stub library that can be used for linking, but
the final program execution will still require the actual library.
Commit: ed4bdb86b084bf633770136d005426adeeb2cd57
https://github.com/llvm/llvm-project/commit/ed4bdb86b084bf633770136d005426adeeb2cd57
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/CPP/bit.h
M libc/test/src/__support/CPP/bit_test.cpp
Log Message:
-----------
[libc][__support][bit] add count_zeros (#82076)
Will be useful for implementing C23 stdbit.h's stdc_count_zeros and
stdc_count_ones.
Commit: f804e2badf30321121df4d0d7df8e32e10f134cc
https://github.com/llvm/llvm-project/commit/f804e2badf30321121df4d0d7df8e32e10f134cc
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/eh-frame-pcrel-overflow.s
Log Message:
-----------
[ELF] .eh_frame: use errorOrWarn for "PC offset is too large"
errorOrWarn is more conventional for recoverable errors. This error
message does not have to use `fatal`, and we try to remove such uses in
parallel code paths.
Commit: bb029a5c039766ef83c88a456cf936cec0a1a69b
https://github.com/llvm/llvm-project/commit/bb029a5c039766ef83c88a456cf936cec0a1a69b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
Log Message:
-----------
[gn] port 4c6043de0b83 (InstallAPITests)
Commit: d6850be44d2bfcd79d31fede3b8018357416da03
https://github.com/llvm/llvm-project/commit/d6850be44d2bfcd79d31fede3b8018357416da03
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
Log Message:
-----------
[mlir][linalg] Add e2e test for linalg.mmt4d (#81790)
Follow-up for #81422. My intention is to write an e2e test targetting
SVE, but more work is needed. Sending this as an intermiedate step.
Commit: 7542f60b722d87fb64e911439cb7b64344a48763
https://github.com/llvm/llvm-project/commit/7542f60b722d87fb64e911439cb7b64344a48763
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port c625b9965273
Commit: 1db2859dd972dfe1284564c43d55c30280f977d5
https://github.com/llvm/llvm-project/commit/1db2859dd972dfe1284564c43d55c30280f977d5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang] Handle more use cases reported for issues/78797 (#79628)
I implemented legacy "token pasting" via line continuation for
call prefix&
&MACRO&
&suffix(1)
in a recent patch; this patch addresses the related cases
call prefix&
&MACRO&
&(1)
and
call &
&MACRO&
&suffix(1)
Fixes the latest https://github.com/llvm/llvm-project/issues/79590.
Commit: 1219214a3bcc51022492928b8bb4ff4bdb75d0cb
https://github.com/llvm/llvm-project/commit/1219214a3bcc51022492928b8bb4ff4bdb75d0cb
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
Log Message:
-----------
[Hexagon] Update InstrInfo to include LD/ST offsets of vector instructions (#82386)
The hook HexagonInstrInfo::isValidOffset() is updated to evaluate
offsets of missed LD/ST vector instructions.
Commit: 96b17043507caec02a2ef440b369506122bdeb11
https://github.com/llvm/llvm-project/commit/96b17043507caec02a2ef440b369506122bdeb11
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/runtime/unit.cpp
Log Message:
-----------
[flang][runtime] Don't write implied ENDFILE for REC=/POS= (#79637)
An implied ENDFILE record, which truncates an external file, should be
written to a sequential unit whenever the file is repositioned for a
BACKSPACE or REWIND statement if a WRITE statement has executed since
the last OPEN/BACKSPACE/REWIND.
But the REC= and POS= positioning specifiers don't apply to sequential
units (they're for direct and stream units, resp.), so don't truncate
the file when they're used.
Commit: 78762357d449cfcd11426c8e152302a27f2e7d4d
https://github.com/llvm/llvm-project/commit/78762357d449cfcd11426c8e152302a27f2e7d4d
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[ELF] Support placing .lbss/.lrodata/.ldata after .bss
https://reviews.llvm.org/D150510 places .lrodata before .rodata to
minimize the number of permission transitions in the memory image.
However, this layout is less ideal for -fno-pic code (which is still
important).
Small code model -fno-pic code has R_X86_64_32S relocations with a range
of `[0,2**31)` (if we ignore the negative area). Placing `.lrodata`
earlier exerts relocation pressure on such code. Non-x86 64-bit
architectures generally have a similar `[0,2**31)` limitation if they
don't use PC-relative relocations.
If we place .lrodata later, we will need one extra PT_LOAD. Two layouts
are appealing:
* .bss/.lbss/.lrodata/.ldata (GNU ld)
* .bss/.ldata/.lbss/.lrodata
The GNU ld layout has the nice property that there is only one BSS
(except .tbss/.relro_padding). Add -z lrodata-after-bss to support
this layout.
Since a read-only PT_LOAD segment (for large data sections) may appear
after RW PT_LOAD segments. The placement of `_etext` has to be adjusted.
Pull Request: https://github.com/llvm/llvm-project/pull/81224
Commit: 5a20a208037d32d52f0c626ea3b199278ff0df0a
https://github.com/llvm/llvm-project/commit/5a20a208037d32d52f0c626ea3b199278ff0df0a
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Semantics/check-directive-structure.h
Log Message:
-----------
[flang] Resolve "possible performance problem" issue spam (#79769)
Four "issues" on GitHub report possible performance problems, likely
detected by static analysis. None of them would ever make a measureable
difference in compilation time, but I'm resolving them to clean up the
open issues list.
Fixes https://github.com/llvm/llvm-project/issues/79703, .../79705,
.../79706, & .../79707.
Commit: adf838daee63b3245c8822957988da5367e1572c
https://github.com/llvm/llvm-project/commit/adf838daee63b3245c8822957988da5367e1572c
Author: Balaji V. Iyer <43187390+bviyer at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][Vectorizer] Added support to Vectorize tensor.unpack (#76087)
Added support to vectorized tensor.unpack. The unpack Op is split into a
`vector.transfer_read`, `vector.transpose`, `vector.shape_cast` and a
`vector.transfer_write`.
Commit: 18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
https://github.com/llvm/llvm-project/commit/18f0da5b9bbe8ebf63eb17bfa5deff94bd602f64
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-prefer-isa-or-dyn-cast-in-conditionals in OpFormatGen.cpp (NFC)
Commit: e13bbd1e71797c781a0b242a7c121e5c5c620bc2
https://github.com/llvm/llvm-project/commit/e13bbd1e71797c781a0b242a7c121e5c5c620bc2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-emplace in RewriterGen.cpp (NFC)
Commit: dd5696cdefaff2b3ee9c4de3053e31630863588c
https://github.com/llvm/llvm-project/commit/dd5696cdefaff2b3ee9c4de3053e31630863588c
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Bytecode/BytecodeTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in BytecodeTest.cpp (NFC)
Commit: 1893a3743eb971f0ea7657dc119b642a12870a1e
https://github.com/llvm/llvm-project/commit/1893a3743eb971f0ea7657dc119b642a12870a1e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in FileLineColLocBreakpointManagerTest.cpp (NFC)
Commit: 31f45596737f37e16226c039ff6f53406174b9d5
https://github.com/llvm/llvm-project/commit/31f45596737f37e16226c039ff6f53406174b9d5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in SerializationTest.cpp (NFC)
Commit: 563ef306017a47d387f1c36dd562b172c1ad0626
https://github.com/llvm/llvm-project/commit/563ef306017a47d387f1c36dd562b172c1ad0626
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Add the RegisterCompleter to eArgTypeRegisterName in g_argument_table (#82428)
This is a follow-on to:
https://github.com/llvm/llvm-project/pull/82085
The completer for register names was missing from the argument table. I
somehow missed that the only register completer test was x86_64, so that
test broke.
I added the completer in to the right slot in the argument table, and
added a small completions test that just uses the alias register names.
If we end up having a platform that doesn't define register names, we'll
have to skip this test there, but it should add a sniff test for
register completion that will run most everywhere.
Commit: be8b2d1ea54f964603b89ab9d4dfad26afebb347
https://github.com/llvm/llvm-project/commit/be8b2d1ea54f964603b89ab9d4dfad26afebb347
Author: Moshe <moshberm at Gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
Log Message:
-----------
Add explicit conversion to fix arm64 builds. (#82429)
Fixes issue preventing builds on ARM-based Macs.
https://github.com/llvm/llvm-project/issues/82205.
Co-authored-by: Moshe Berman <mosheberman at users.noreply.github.com>
Commit: 2236048f5fdde70dd95e97ccc87437424a371cef
https://github.com/llvm/llvm-project/commit/2236048f5fdde70dd95e97ccc87437424a371cef
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/resolve17.f90
Log Message:
-----------
[flang] Further refine errors vs warnings for ambiguous generics (#80161)
Ensure that the compiler emits a hard error for a generic interface with
ambiguous specific procedures when it is declared as such, and the
ambiguity doesn't involve optional or unlimited polymorphic dummy data
arguments. But: emit an optional portability warning when the ambiguity
in the generic interface is due to USE association's merging of multiple
generics, as USE association may involve modules not under control of
the programmer; we'll emit a hard error message if any the actual
arguments in a particular reference to the generic procedure doesn't
resolve to exactly one specific procedure. And don't emit warnings when
potential ambiguity due to USE association is taking place in a module
file; the warnings, if any, will have been produced when the module file
was compiled.
Commit: 39cab1a0a0d68cb33142099c320674fa54e11a91
https://github.com/llvm/llvm-project/commit/39cab1a0a0d68cb33142099c320674fa54e11a91
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Add v2bf16 for opsel immediate folding (#82435)
This was previously enabled since v2bf16 was represented by v2f16. As of
now it is NFC since we only have dot instructions which could use it,
but currently folding is guarded by the hasDOTOpSelHazard().
Commit: 54b014b3f76e1c0060bd129e1196b6c729cb30b0
https://github.com/llvm/llvm-project/commit/54b014b3f76e1c0060bd129e1196b6c729cb30b0
Author: Lang Hames <lhames at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Use '@' rather than ':' for separator in -sectcreate.
This should avoid the issue with Windows paths that have caused failures on
some builders.
Commit: 3ff805540173b83d73b673b39ac5760fc19bac15
https://github.com/llvm/llvm-project/commit/3ff805540173b83d73b673b39ac5760fc19bac15
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][ScanDeps] Canonicalize -D and -U flags (#82298)
Canonicalize `-D` and `-U` flags by sorting them and only keeping the
last instance of a given name.
This optimization will only fire if all `-D` and `-U` flags start with a
simple identifier that we can guarantee a simple analysis of can
determine if two flags refer to the same identifier or not. See the
comment on `getSimpleMacroName()` for details of what the issues are.
Commit: d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
https://github.com/llvm/llvm-project/commit/d3fcf310310ddfea1acf0d54bb7574ea2f6d9077
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
AMDGPU: Use HasFP8ConversionInsts appropriately, NFC (#82433)
The corresponding fp8 conversion instructions are available for a
subtarget when and only when the subtarget "HasFP8ConversionInsts". We
should not assume all the future subtargets (gfx12+) have
FP8ConversionInsts.
In this patch, we use OtherPredicates to carry HasFP8ConversionInsts
feature. This is because SubtargetPredicate is not copied from pseudos
to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a
few places, we use the newly introduced True16Predicate to hold
UseRealTrue16Insts instead.
This work repalces the inadvertently closed pull request:
https://github.com/llvm/llvm-project/pull/82024
Commit: 53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
https://github.com/llvm/llvm-project/commit/53e96984b6dbb9d8ff55d2ccd0c27ffc1d27315f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/test/SemaCUDA/float16.cu
Log Message:
-----------
[NVPTX] Enable the _Float16 type for NVPTX compilation (#82436)
Summary:
The PTX target supports the f16 type natively and we alreaqdy have a few
LLVM backend tests that support the LLVM-IR. We should be able to enable
this for generic use. This is done prior the f16 math functions being
written in the GPU libc case.
Commit: dc672d2f6a48fb3d502c260eb353f389723ec417
https://github.com/llvm/llvm-project/commit/dc672d2f6a48fb3d502c260eb353f389723ec417
Author: jimingham <jingham at apple.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/test/API/functionalities/completion/TestCompletion.py
Log Message:
-----------
Remove the "generic" register completion test. (#82445)
For reasons that are not clear to me, on arm64, the alias registers are
listed in list of register info's we do completion against, but for
x86_64 they are not. Maybe this is a difference in how the dynamic
register builders work for the two systems. Anyway, it doesn't look
possible to make a generic one.
Commit: 646c7e528325f239638c5e758631b999993510d8
https://github.com/llvm/llvm-project/commit/646c7e528325f239638c5e758631b999993510d8
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc] add more stdbit.h entrypoints to additional targets (#82440)
stdbit.h isn't complete yet, but looking to turn these on on more
targets for
earlier feedback.
Commit: ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
https://github.com/llvm/llvm-project/commit/ff4d6c64ee4269e4a9b67a4dae7e0b82ae1c3419
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
Log Message:
-----------
Fix llvm-x86_64-debian-dylib buildbot
This was broken by 91a384621e5b762d9c173ffd247cfeadd5f436a2.
Commit: 98db8d0cb78e9dd3f78427d519ae8dd175b70b03
https://github.com/llvm/llvm-project/commit/98db8d0cb78e9dd3f78427d519ae8dd175b70b03
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
Log Message:
-----------
[AMDGPU] Fix v_dot2_f16_f16/v_dot2_bf16_bf16 operands (#82423)
src0 and src1 are packed f16/bf16, we are printing literals like
0x40002000, but we cannot parse it.
Commit: f78027dfeca9925efe7e025beb05b4cef8a1581a
https://github.com/llvm/llvm-project/commit/f78027dfeca9925efe7e025beb05b4cef8a1581a
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
Log Message:
-----------
[mlir][mesh] Better op result names (#82408)
Implement OpAsmOpInterface for most ops to increase IR readability. For
example `mesh.process_linear_index` would produce a value with name
`proc_linear_idx`.
Commit: 4ca0480a4fefe25c2f6e36c04f02998af79274a0
https://github.com/llvm/llvm-project/commit/4ca0480a4fefe25c2f6e36c04f02998af79274a0
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver,BareMetal] Replace -lclang_rt.builtins{,-$arch}.a with an absolute path (#82424)
The generic `tools::AddRunTimeLibs` uses an absolute path. Change
BareMetal to match.
I believe users are not supposed to place other files under the
directory containing `libclang_rt.builtins-$arch.a`. If they rely on the
implicit -L, they now need to explicitly specify -L.
Commit: 5248a9872454065b5e4d44ca2f29329df7c2d28f
https://github.com/llvm/llvm-project/commit/5248a9872454065b5e4d44ca2f29329df7c2d28f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
Log Message:
-----------
[mlir][sparse] support SoA COO in codegen path. (#82439)
*NOTE*: the `SoA` property only makes a difference on codegen path, and
is ignored in libgen path at the moment (only SoA COO is supported).
Commit: 7c071c23ffe934d863f3a1863d77b41f7e4d2b51
https://github.com/llvm/llvm-project/commit/7c071c23ffe934d863f3a1863d77b41f7e4d2b51
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port ff4d6c64ee42
Commit: 031f9f331723e6bebc405ffdee4b8a87a5fc0472
https://github.com/llvm/llvm-project/commit/031f9f331723e6bebc405ffdee4b8a87a5fc0472
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Ignore calls to WTF's container methods (#82156)
This PR makes the checker ignore / skip calls to methods of Web Template
Platform's container types such as HashMap, HashSet, WeakHashSet,
WeakHashMap, Vector, etc...
Commit: 84ed55e11f8d8f434395f869a1caa8485dd0c187
https://github.com/llvm/llvm-project/commit/84ed55e11f8d8f434395f869a1caa8485dd0c187
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
R clang/test/ClangScanDeps/optimize-canonicalize-macros.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
Revert "[clang][ScanDeps] Canonicalize -D and -U flags (#82298)"
This reverts commit 3ff805540173b83d73b673b39ac5760fc19bac15.
Test is failing on bots, see
https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462
Commit: 8603a7b21f301508d3a6af9f2238c7b92ce19617
https://github.com/llvm/llvm-project/commit/8603a7b21f301508d3a6af9f2238c7b92ce19617
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
Log Message:
-----------
[RISCV] Add a query for exact VLEN to RISCVSubtarget [nfc]
We've now got enough of these in tree that we can see which patterns
appear to be idiomatic. As such, extract a helper for checking
if we know the exact VLEN.
Commit: b9a071dc3995c1599724447b9db8ced449318839
https://github.com/llvm/llvm-project/commit/b9a071dc3995c1599724447b9db8ced449318839
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
Log Message:
-----------
[mlir][Linalg] Add folders for `linalg.transpose` (#81709)
This PR adds folders for linalg transpose ops with only one dimension or
an identity permutation. The folding removes the `linalg.transpose` and
just propagates the input tensor.
Commit: 2836d8edbfbcd461b25101ed58f93c862d65903a
https://github.com/llvm/llvm-project/commit/2836d8edbfbcd461b25101ed58f93c862d65903a
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M .github/workflows/release-tasks.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[workflows] Fix permissions check for creating new releases (#81163)
The default GitHub token does not have read permissions on the org, so
we need to use a custom token in order to read the members of the
llvm-release-managers team.
Commit: 5a45d32b5b42dc4ed4852b0045391a1c2be41b48
https://github.com/llvm/llvm-project/commit/5a45d32b5b42dc4ed4852b0045391a1c2be41b48
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
Log Message:
-----------
[lldb] Add more ways to find the .dwp file. (#81067)
When using split DWARF we can run into many different ways to store
debug info:
- lldb loads `<exe>` which contains skeleton DWARF and needs to find
`<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp`
- lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing
to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp`
- lldb loads `<exe>.debug` and needs to find `<exe>.dwp`
Previously we only handled the first two cases. This patch adds support
for the latter two.
Commit: f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
https://github.com/llvm/llvm-project/commit/f40ee6e83f263fc4240c5b8d31a7e0e148a28cf6
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/test/Dialect/SparseTensor/external.mlir
Log Message:
-----------
[mlir][sparse] assemble SoA COO correctly. (#82449)
Commit: c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
https://github.com/llvm/llvm-project/commit/c02b0d008c17cdf8dc46ad930c69311bcd8c7dd4
Author: Owen Anderson <resistor at users.noreply.github.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
Log Message:
-----------
[GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306)
Fixes https://github.com/llvm/llvm-project/issues/78477
Commit: 03203b79c6247465850ee6e9f3e2399afc35720b
https://github.com/llvm/llvm-project/commit/03203b79c6247465850ee6e9f3e2399afc35720b
Author: Michal Paszkowski <michal at paszkowski.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
Log Message:
-----------
[SPIR-V] Fix vloadn OpenCL builtin lowering (#81148)
This pull request fixes an issue with missing vector element count
immediate in OpExtInst calls and adds a case for generating bitcasts
before GEPs for kernel arguments of non-matching pointer type. The new
LITs are based on basic/vload_local and basic/vload_global OpenCL CTS
tests. The tests after this change pass SPIR-V validation.
Commit: 79889734b940356ab3381423c93ae06f22e772c9
https://github.com/llvm/llvm-project/commit/79889734b940356ab3381423c93ae06f22e772c9
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
A llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.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/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
A llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Implement convergence control in MIR using SelectionDAG (#71785)
LLVM function calls carry convergence control tokens as operand bundles, where
the tokens themselves are produced by convergence control intrinsics. This patch
implements convergence control tokens in MIR as follows:
1. Introduce target-independent ISD opcodes and MIR opcodes for convergence
control intrinsics.
2. Model token values as untyped virtual registers in MIR.
The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a
corresponding machine opcode with the same spelling. This glues the convergence
control token to SDNodes that represent calls to intrinsics. The glued token is
later translated to an implicit argument in the MIR.
The lowering of calls to user-defined functions is target-specific. On AMDGPU,
the convergence control operand bundle at a non-intrinsic call is translated to
an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment
converts this explicit argument to an implicit argument on the SI_CALL
instruction.
Commit: 823102ab1e357e84846f03f2d6df5265271061bc
https://github.com/llvm/llvm-project/commit/823102ab1e357e84846f03f2d6df5265271061bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 79889734b940
Commit: 086280f4d1c085c8e02cd3986bf87529ec7162c5
https://github.com/llvm/llvm-project/commit/086280f4d1c085c8e02cd3986bf87529ec7162c5
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix linking error of SIISelLowering.cpp.o (NFC)
ld.lld: error: undefined symbol: llvm::MachineOperand::dump() const
>>> referenced by SIISelLowering.cpp
Commit: e4057aacc52bf8b352898504be8e7f8190841aac
https://github.com/llvm/llvm-project/commit/e4057aacc52bf8b352898504be8e7f8190841aac
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetMachine.cpp
Log Message:
-----------
[X86] Add missing pass initialization calls. (#82447)
If the passes aren't registered, they don't show up in print-after-all.
Commit: b8ed69ecc01385c03844e8fa05ba418a5670d322
https://github.com/llvm/llvm-project/commit/b8ed69ecc01385c03844e8fa05ba418a5670d322
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
Log Message:
-----------
[RISCV] Support llvm.readsteadycounter intrinsic
This intrinsic was introduced by #81331, which is a lot like
`llvm.readcyclecounter`.
For the RISCV implementation, we rename `ReadCycleWide` pseudo to
`ReadCounterWide` and make it accept two operands (the low and high
parts of the counter). As for legalization and lowering parts, we
reuse the code of `ISD::READCYCLECOUNTER` (make it able to handle
both intrinsics), and we use `time` CSR for `ISD::READSTEADYCOUNTER`.
Tests using Clang builtins are runned on real hardware and it works
as excepted.
Reviewers: asb, MaskRay, dtcxzyw, preames, topperc, jhuber6
Reviewed By: jhuber6, asb, MaskRay, dtcxzyw
Pull Request: https://github.com/llvm/llvm-project/pull/82322
Commit: a2afcd5721869d1d03c8146bae3885b3385ba15e
https://github.com/llvm/llvm-project/commit/a2afcd5721869d1d03c8146bae3885b3385ba15e
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericConvergenceVerifier.h
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
R llvm/include/llvm/CodeGen/MachineConvergenceVerifier.h
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/Target.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/MachineConvergenceVerifier.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.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/ValueTypes.cpp
M llvm/lib/IR/ConvergenceVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
R llvm/test/CodeGen/AMDGPU/convergence-tokens.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-cc.ll
M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
M llvm/test/CodeGen/AMDGPU/no-source-locations-in-prologue.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll
M llvm/test/CodeGen/AMDGPU/whole-wave-register-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
M llvm/test/CodeGen/PowerPC/fmf-propagation.ll
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/basic.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/cycles.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/lit.local.cfg
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/mixed2.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/not-ssa.mir
R llvm/test/MachineVerifier/convergencectrl/AMDGPU/region-nesting.mir
M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-variadics.td
M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
Log Message:
-----------
Revert "Implement convergence control in MIR using SelectionDAG (#71785)"
This reverts commit 79889734b940356ab3381423c93ae06f22e772c9.
Encountered multiple buildbot failures.
Commit: 5375cbfb6255ed19a6bed7065a697905ca65d575
https://github.com/llvm/llvm-project/commit/5375cbfb6255ed19a6bed7065a697905ca65d575
Author: Matteo Franciolini <mfranciolini at tesla.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
Fix pipeline-invalid.mlir bytecode roundtrip test (#82366)
If an op was not contained in a region when was written to bytecode,
we don't have an initialized valueScope with forward references to
define.
Commit: 44b717df4d837ce4e8d76b00cee2e122ae6ad28c
https://github.com/llvm/llvm-project/commit/44b717df4d837ce4e8d76b00cee2e122ae6ad28c
Author: Owen Anderson <resistor at mac.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
Log Message:
-----------
[GlobalISel] Clamp out-of-range G_EXTRACT_VECTOR_ELT constant indices when converting them into loads. (#82460)
This avoid turning a poison value into a segfault, and fixes
https://github.com/llvm/llvm-project/issues/78383
Commit: ec516ff3e6122069b36f32a6db8bb3dc672133fc
https://github.com/llvm/llvm-project/commit/ec516ff3e6122069b36f32a6db8bb3dc672133fc
Author: Jooyung Han <jooyung.han at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/os_version_check.c
Log Message:
-----------
Fix __isOSVersionAtLeast for Android (#80496)
Allow pre-release APIs on pre-release devices.
The current implementation requires __ANDROID_API_FUTURE__ to use new
APIs on pre-release system. This makes it hard to maintain the codebase
because it should be switched a concrete version (e.g. __ANDROID_API_X__
on release of X).
Instead, we can just allow pre-release APIs on pre-release system
without mandating the major version of __ANDROID_API_FUTURE__.
Note that this doesn't make API guards just no-op in pre-release builds.
We can still rely on its compile-time checks and it still works as
expected with release builds. Even with pre-release builds, it's the
same as before because we would pass __ANDROID_API_FUTURE__ to make the
calls anyway.
Commit: 04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
https://github.com/llvm/llvm-project/commit/04fbc461e0fd1c6f2b014761e9c03ca80d17b33b
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix RemoveSemicolon for empty functions (#82278)
Fixes #79833.
Commit: ab7dcb0ef634ef370618aa244ad28d8c654b894c
https://github.com/llvm/llvm-project/commit/ab7dcb0ef634ef370618aa244ad28d8c654b894c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port a2afcd572186
Commit: 8b23d68a621f16b6d66e68cb64b99f1221b9df2c
https://github.com/llvm/llvm-project/commit/8b23d68a621f16b6d66e68cb64b99f1221b9df2c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-02-20 (Tue, 20 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
Log Message:
-----------
[Analyzer] Support RefAllowingPartiallyDestroyed and RefPtrAllowingPartiallyDestroyed (#82209)
This PR adds the support for WebKit's RefAllowingPartiallyDestroyed and
RefPtrAllowingPartiallyDestroyed, which are smart pointer types which
may be used after the destructor had started running.
Commit: a445474d3fdec2bdaaa42a6dc83c2fb01867076f
https://github.com/llvm/llvm-project/commit/a445474d3fdec2bdaaa42a6dc83c2fb01867076f
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Use TImmLeaf for csr_sysreg (#82463)
And use `getTargetConstant` to create operands.
This PR addresses comments after committing #82322.
Commit: 351e4fa2bfe5b13073c1675a1b1693ea766c1e25
https://github.com/llvm/llvm-project/commit/351e4fa2bfe5b13073c1675a1b1693ea766c1e25
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix assert when transforming a pack indexing type. (#82234)
When a pack in a pack indexing specifier cannot be immediately expanded,
we were creating an incomplete TypeLoc
(causing assertion failure).
As we do not keep track of typelocs of expanded elements, we create a
trivial typeloc
Fixes #81697
Commit: d3fb596c9720b8bf192823730e9fccc3d86de9a8
https://github.com/llvm/llvm-project/commit/d3fb596c9720b8bf192823730e9fccc3d86de9a8
Author: Francesco Petrogalli <francesco.petrogalli at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Fix scheduling info for compressed LD/ST of FP types. (#82339)
Commit: 7ce1a11f7f436234ce3eaf11c74043937a1ec36b
https://github.com/llvm/llvm-project/commit/7ce1a11f7f436234ce3eaf11c74043937a1ec36b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
Log Message:
-----------
[InstCombine] Fold dependent IVs (#81151)
Fold `iv = phi(start, iv.next = iv2.next + start)` where `iv2 =
phi(iv2.start, iv2.next = iv2 + iv2.step)`
to `iv = iv2 + start` removing one induction variable from the loop.
Proof: https://alive2.llvm.org/ce/z/hfmwgf
Fixes https://github.com/llvm/llvm-project/issues/77108.
Commit: 1246b64faa5eea1553c1c1aad425c31b701fa6ea
https://github.com/llvm/llvm-project/commit/1246b64faa5eea1553c1c1aad425c31b701fa6ea
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/std-c-library-functions-path-notes.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
Log Message:
-----------
[clang][analyzer] Change modeling of 'fileno' in checkers. (#81842)
Function 'fileno' fails only if invalid pointer is passed, this is a
case that is often ignored in source code. The failure case leads to
many "false positive" reports when `fileno` returns -1 and this is not
checked in the program. Because this, the function is now assumed
to not fail (this is assumption that the passed file pointer is correct).
The change affects `StdCLibraryFunctionsChecker` and
`StreamChecker`.
Commit: 02fad0565fe7f061bdaa79ff33b29f64b2c290eb
https://github.com/llvm/llvm-project/commit/02fad0565fe7f061bdaa79ff33b29f64b2c290eb
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV][SDAG] Fold `select c, ~x, x` into `xor -c, x` (#82462)
This patch lowers select of constants if `TrueV == ~FalseV`.
Address the comment in
https://github.com/llvm/llvm-project/pull/82456#discussion_r1496881603.
Commit: 8b84de26dfc1ba742b427e45bc900bc233fd58e1
https://github.com/llvm/llvm-project/commit/8b84de26dfc1ba742b427e45bc900bc233fd58e1
Author: Clement Courbet <courbet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis][NFC] Refactor all `ValidationEvent` info in a single … (#82256)
…table.
All data is derived from a single table rather than being spread out
over an enum, a table and the main entry point.
This is intended as a replacement for #82092.
Commit: 50373506d570f3db1e1af7c13d46409736452f3a
https://github.com/llvm/llvm-project/commit/50373506d570f3db1e1af7c13d46409736452f3a
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
[clang] Preserve found-decl when constructing VarTemplateIds (#82265)
Commit: f8c1af1d096b97a42e4ab178c93accfc4e5fa288
https://github.com/llvm/llvm-project/commit/f8c1af1d096b97a42e4ab178c93accfc4e5fa288
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
Log Message:
-----------
[gn build] Port 8b84de26dfc1
Commit: 4725993f1a812c86b9ad79d229a015d0216ff550
https://github.com/llvm/llvm-project/commit/4725993f1a812c86b9ad79d229a015d0216ff550
Author: martinboehme <mboehme at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Correctly handle `InitListExpr` of union type. (#82348)
Commit: 0c13a896dfc930a09e082ad83070e223cfd9a4f9
https://github.com/llvm/llvm-project/commit/0c13a896dfc930a09e082ad83070e223cfd9a4f9
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch4.md
Log Message:
-----------
[mlir][docs] Fix broken docs (#82308)
- Fixed OpenACC's spec link format
- Add missed `OpenACCPasses.md` into Passes.md
- Add missed `MyExtensionCh4.md` into Ch4.md of tutorial of transform
Commit: 07292b7203e31fb90d9180bfccde0d4e84be2245
https://github.com/llvm/llvm-project/commit/07292b7203e31fb90d9180bfccde0d4e84be2245
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/pr82337.ll
Log Message:
-----------
[LIR][SCEVExpander] Restore original flags when aborting transform (#82362)
SCEVExpanderCleaner will currently remove instructions created by
SCEVExpander, but not restore poison generating flags that it may have
dropped. As such, running LIR can currently spuriously drop flags
without performing any transforms.
Fix this by keeping track of original instruction flags in SCEVExpander.
Fixes https://github.com/llvm/llvm-project/issues/82337.
Commit: 1ff1e823836e6ed741c69681a2af9f1c3871e8c2
https://github.com/llvm/llvm-project/commit/1ff1e823836e6ed741c69681a2af9f1c3871e8c2
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Pre-Commit Tests for Refactor BITCAST
Commit: 7242896233635e553694507e6584decb43ee4a16
https://github.com/llvm/llvm-project/commit/7242896233635e553694507e6584decb43ee4a16
Author: David Green <david.green at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[Flang] Attempt to fix Nan handling in Minloc/Maxloc intrinsic simplification (#82313)
In certain case "extreme" values like Nan, Inf and 0xffffffff could lead
to generating different code via the inline-generated intrinsics vs the
versions in the runtimes (and other compilers like gfortran). There are
some examples I was using for testing in
https://godbolt.org/z/x4EfqEss5.
This changes the generation for the intrinsics to be more like the
runtimes, using a condition that is similar to:
isFirst || (prev != prev && elem == elem) || elem < prev
The middle part is only used for floating point operations, and checks
if the values are Nan. This should then hopefully make the logic closer
to - return the first element with the lowest value, with Nans ignored
unless there are only Nans. The initial limit value for floats are also
changed from the largest float to Inf, to make sure it is handled
correctly.
The integer reductions are also changed to use a similar scheme to make
sure they work with masked values. This means that the preamble after
the loop can be removed.
Commit: 5db49f726619b943d8201ef3867393923836cb2f
https://github.com/llvm/llvm-project/commit/5db49f726619b943d8201ef3867393923836cb2f
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
Log Message:
-----------
[GlobalISel] replace right identity X * -1.0 with fneg(x) (#80526)
follow up patch to #78673
@Pierre-vh @jayfoad @arsenm Could you review when you have a chance.
Commit: 91f11611337dde9a8e0a5e19240f6bb4671922c6
https://github.com/llvm/llvm-project/commit/91f11611337dde9a8e0a5e19240f6bb4671922c6
Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/lit.cfg.py
A mlir/test/python/dialects/transform_interpreter.py
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
[mlir] expose transform interpreter to Python (#82365)
Transform interpreter functionality can be used standalone without going
through the interpreter pass, make it available in Python.
Commit: 48101edc8d57364d9c9f9e2829f0d4e975c0ade5
https://github.com/llvm/llvm-project/commit/48101edc8d57364d9c9f9e2829f0d4e975c0ade5
Author: John Brawn <john.brawn at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/MC/AArch64/armv9.4a-gcs.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
Log Message:
-----------
[AArch64] Fix syntax of gcsstr and gcssttr instructions (#82385)
The address register should be surrounded by square brackets, like in
all the other str instructions.
Fixes https://github.com/llvm/llvm-project/issues/81846
Commit: 35593f6613445fe4a8daa6e7589deec82fcd4d2b
https://github.com/llvm/llvm-project/commit/35593f6613445fe4a8daa6e7589deec82fcd4d2b
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use isinstance() instead of issubclass(type(...), ...) (#82345)
The two forms are equivalent, so there is no reason to use the longer
one.
Commit: 3533fe783df4b417f16077edb70099010d2d7eef
https://github.com/llvm/llvm-project/commit/3533fe783df4b417f16077edb70099010d2d7eef
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
Revert "[clang] Preserve found-decl when constructing VarTemplateIds (#82265)"
This reverts commit 50373506d570f3db1e1af7c13d46409736452f3a. Broke
include-cleaner tests
Commit: d31406b394307e5629372271f797f55c7ca9bbd3
https://github.com/llvm/llvm-project/commit/d31406b394307e5629372271f797f55c7ca9bbd3
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/docs/FortranLLVMTestSuite.md
Log Message:
-----------
[flang][docs] Update llvm-test-suite docs (#81596)
With some missing config options and a link to the test suite docs that
explain how to setup `ISO_FORTRAN_C_HEADER` and set the stop message
variable.
Commit: bdeb3d47d185aedbe6af5eda5c91310e37938f5b
https://github.com/llvm/llvm-project/commit/bdeb3d47d185aedbe6af5eda5c91310e37938f5b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
Log Message:
-----------
[X86] Regenerate saddsat/ssubsat vector tests
Adds missing avx512 constant broadcast comments
Commit: 3cb4f62de0eba62edd730d0ed80fd90d2826763d
https://github.com/llvm/llvm-project/commit/3cb4f62de0eba62edd730d0ed80fd90d2826763d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
Log Message:
-----------
[X86] Regenerate vector tests to add missing avx512 constant broadcast comments
Commit: a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
https://github.com/llvm/llvm-project/commit/a0b3dbaf4b3c01dc7f0a83fce059a26360b58eb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
Log Message:
-----------
[InstCombine] Regenerate some fcmp tests to use the update_test_checks.py script
Commit: 6d160a49c2e7f36367de3f61f0460e28921450d5
https://github.com/llvm/llvm-project/commit/6d160a49c2e7f36367de3f61f0460e28921450d5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
Log Message:
-----------
[AMDGPU][TableGen][NFC] Combine predicates without using classes. (#82346)
Saves generating ~1200 instances of the PredConcat TableGen class.
Also removes the default predicates from resulting predicate lists.
Commit: 6ce5159945997126b8a0f40f55e876c9fd882fc5
https://github.com/llvm/llvm-project/commit/6ce5159945997126b8a0f40f55e876c9fd882fc5
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[MLIR][Python] Use ir.Value directly instead of _SubClassValueT (#82341)
_SubClassValueT is only useful when it is has >1 usage in a signature.
This was not true for the signatures produced by tblgen.
For example
def call(result, callee, operands_, *, loc=None, ip=None) ->
_SubClassValueT:
...
here a type checker does not have enough information to infer a type
argument for _SubClassValueT, and thus effectively treats it as Any.
Commit: b1080e187e91576ac6d44087f072583e101f0f51
https://github.com/llvm/llvm-project/commit/b1080e187e91576ac6d44087f072583e101f0f51
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/EvalEmitter.cpp
Log Message:
-----------
[clang][Interp] Convert complex initializers to rvalues
We internalle handle these via pointers, but we need to return
them as RValues in initializers.
Commit: 40fae67a50e08e6b5b5300210021218e404d63a7
https://github.com/llvm/llvm-project/commit/40fae67a50e08e6b5b5300210021218e404d63a7
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
[Flang][OpenMP] Fix to construct-names inside OpenMP construct with default(none) (#82479)
When a do loop with a construct-name is used inside OpenMP construct
with default(none), an incorrect error will be raised as below.
```
program cn_and_default
implicit none
integer :: i
!$omp parallel default(none)
loop: do i = 1, 10
end do loop
!$omp end parallel
end program
```
> The DEFAULT(NONE) clause requires that 'loop' must be listed in a
data-sharing attribute clause
This patch fixes this by adding a condition to check and skip processing
construct-names.
Commit: e209178d6402348414b69941c77d621919b3b7ab
https://github.com/llvm/llvm-project/commit/e209178d6402348414b69941c77d621919b3b7ab
Author: Vedant Paranjape <vedant.paranjape at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
Log Message:
-----------
[SimplifyIndVar] LCSSA form is destroyed by simplifyLoopIVs, preserve it (#78696)
In LoopUnroll, peelLoop is called on the loop. After the loop is peeled
it calls simplifyLoopAfterUnroll on the loop. This call to
simplifyLoopAfterUnroll doesn't preserve the LCSSA form of the parent
loop and thus during the next call to peelLoop the LCSSA form is already
broken.
LoopPeel util takes in the PreserveLCSSA argument and it passes
on the same argument to simplifyLoop which checks if the loop is in a
valid LCSSA form, when (PreserveLCSSA = true).
This causes an assert in simplifyLoop when (PreserveLCSSA = true), as
during the last call LCSSA for the loop wasn't preserved, and thus
crashes at the following assert.
assert(L->isRecursivelyLCSSAForm(*DT, *LI) &&
"Requested to preserve LCSSA, but it's already broken.");
Upon debugging, it is evident that simplifyLoopIVs call inside
simplifyLoopAfterUnroll breaks the LCSSA form. This patch fixes
llvm#77118, it checks if the replacement of IV Users with Loop Invariant
preserves the LCSSA form. If it does not, it emits the required LCSSA
Phi instructions.
Commit: 02e17ab1b97a8c0dc22facc8c66850e5aca28b60
https://github.com/llvm/llvm-project/commit/02e17ab1b97a8c0dc22facc8c66850e5aca28b60
Author: Lukacma <lukac.marian9 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[AArch64] Added feature dependencies for SME2p1 to TargetParser (#81860)
This patches adds missing target-feature dependencies for SME2.1
Commit: 28fb2b33c2f43f6a8057e398eb899eb61e6652e9
https://github.com/llvm/llvm-project/commit/28fb2b33c2f43f6a8057e398eb899eb61e6652e9
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/Support/TypeSize.h
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
Log Message:
-----------
[LLVM][SelectionDAG] Reduce number of ComputeValueVTs variants. (#75614)
This is another step in the direction of fixing the `Fixed(0) !=
Scalable(0)` bugbear, although whilst weird I don't believe it's causing
us any real issues.
Commit: c50ca3daa445f7e54343fb365339181185ee0f2c
https://github.com/llvm/llvm-project/commit/c50ca3daa445f7e54343fb365339181185ee0f2c
Author: Chia <sun1011jacobi at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
Log Message:
-----------
[RISCV][ISel] Combine vector fadd/fsub/fmul with fp extend. (#81248)
Extend D133739 and #76785 to support vector widening floating-point
add/sub/mul instructions.
Specifically, this patch works for the below optimization case:
### Source code
```
define void @vfwmul_v2f32_multiple_users(ptr %x, ptr %y, ptr %z, <2 x float> %a, <2 x float> %b, <2 x float> %b2) {
%c = fpext <2 x float> %a to <2 x double>
%d = fpext <2 x float> %b to <2 x double>
%d2 = fpext <2 x float> %b2 to <2 x double>
%e = fmul <2 x double> %c, %d
%f = fadd <2 x double> %c, %d2
%g = fsub <2 x double> %d, %d2
store <2 x double> %e, ptr %x
store <2 x double> %f, ptr %y
store <2 x double> %g, ptr %z
ret void
}
```
### Before this patch
[Compiler Explorer](https://godbolt.org/z/aaEMs5s9h)
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwcvt.f.f.v v11, v8
vfwcvt.f.f.v v8, v9
vfwcvt.f.f.v v9, v10
vsetvli zero, zero, e64, m1, ta, ma
vfmul.vv v10, v11, v8
vfadd.vv v11, v11, v9
vfsub.vv v8, v8, v9
vse64.v v10, (a0)
vse64.v v11, (a1)
vse64.v v8, (a2)
ret
```
### After this patch
```
vfwmul_v2f32_multiple_users:
vsetivli zero, 2, e32, mf2, ta, ma
vfwmul.vv v11, v8, v9
vfwadd.vv v12, v8, v10
vfwsub.vv v8, v9, v10
vse64.v v11, (a0)
vse64.v v12, (a1)
vse64.v v8, (a2)
```
Commit: 6e20cb5524034861d67a1d898907b4755b240f16
https://github.com/llvm/llvm-project/commit/6e20cb5524034861d67a1d898907b4755b240f16
Author: Alex Zinenko <zinenko at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/test/CAPI/transform_interpreter.c
Log Message:
-----------
[mlir] fix memory leak
Fix a leak of the root operation not being deleted in the recently
introduced transform_interpreter.c.
Commit: dd3e0a4643670f33850278ad281a358bbdd04e92
https://github.com/llvm/llvm-project/commit/dd3e0a4643670f33850278ad281a358bbdd04e92
Author: hev <wangrui at loongson.cn>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
Log Message:
-----------
[LoongArch] Assume no-op addrspacecasts by default (#82332)
This PR indicates that `addrspacecasts` are always no-ops on LoongArch.
Fixes #82330
Commit: b5437c8ab2af277548ee59b6838e365d35a0d926
https://github.com/llvm/llvm-project/commit/b5437c8ab2af277548ee59b6838e365d35a0d926
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/Opcodes.td
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][Interp] Emit const references for Float arguments (#79753)
The Float print type is backed by the Floating class, which in turn uses
APFloat, which might heap-allocate memory, so might be expensive to
copy.
Add an 'AsRef' bit to the ArgType tablegen class, which defines whether
we pass the argument around by copy or by reference.
Commit: 654e65d3b20835b4959d4d591e179814914ab5e2
https://github.com/llvm/llvm-project/commit/654e65d3b20835b4959d4d591e179814914ab5e2
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Barvinok.cpp
Log Message:
-----------
[mlir] Apply ClangTidy performance fix.
Use const reference for loop variable.
Commit: 0fb3d4296f3a3ebe36661643155f4ee35a3167b7
https://github.com/llvm/llvm-project/commit/0fb3d4296f3a3ebe36661643155f4ee35a3167b7
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 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/bitcast.ll
Log Message:
-----------
[AArch64][GlobalISel] Refactor BITCAST Legalization (#80505)
Ensure BITCAST is only legal for types with the same amount of bits.
Enable BITCAST to work with non-legal vector types as well.
Commit: 69279a8413e08dd24168bad961975e79a50d9c19
https://github.com/llvm/llvm-project/commit/69279a8413e08dd24168bad961975e79a50d9c19
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
Log Message:
-----------
[libc++][test] add benchmarks for `std::atomic::wait` (#70571)
For the mutex vs atomic test:
Old: `unique_lock<mutex>`
New: a lock implemented with `atomic::wait`
On 10 years old Intel Macbook, `atomic::wait` is 50% slower than `mutex`
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +0.3735 +2.4497 1724726 2368935 153159 528354
BM_multi_thread_lock_unlock/2048 +0.4174 +1.2487 3410538 4834012 435062 978311
BM_multi_thread_lock_unlock/4096 +0.5256 +1.9824 6903783 10532681 590266 1760405
BM_multi_thread_lock_unlock/8192 +0.5415 +0.4578 14536391 22408399 1456328 2123075
BM_multi_thread_lock_unlock/16384 +0.5663 +0.0513 30181991 47275023 3316850 3486950
BM_multi_thread_lock_unlock/32768 +0.5635 -0.2081 62027663 96977726 6477076 5129190
BM_multi_thread_lock_unlock/65536 +0.5228 -0.3273 129637761 197408739 11341630 7628955
BM_multi_thread_lock_unlock/131072 +0.4825 -0.1070 266256295 394712193 10379800 9269200
BM_multi_thread_lock_unlock/262144 +0.4793 +0.2795 539732340 798409253 10802200 13821100
BM_multi_thread_lock_unlock/524288 +0.5272 +0.2847 1070035132 1634124353 14523000 18657800
BM_multi_thread_lock_unlock/1048576 +0.4799 +0.3353 2125510441 3145636119 13404200 17899000
OVERALL_GEOMEAN +0.4970 +0.3886 0 0 0 0
```
On Apple Arm, `atomic::wait` is 200% slower than `mutex`. And
`atomic::wait` is even slower than my 10 years old Intel CPU Macbook
```
Benchmark Time CPU Time Old Time New CPU Old CPU New
----------------------------------------------------------------------------------------------------------------------------------
BM_multi_thread_lock_unlock/1024 +2.1811 +3.9854 2036726 6478993 119817 597334
BM_multi_thread_lock_unlock/2048 +1.6736 +1.4301 3162161 8454415 426201 1035727
BM_multi_thread_lock_unlock/4096 +1.1017 +0.6456 6620503 13914159 893019 1469578
BM_multi_thread_lock_unlock/8192 +0.6688 +0.2148 12089392 20174635 1489000 1808799
BM_multi_thread_lock_unlock/16384 +1.4217 -0.2436 19365999 46899345 2068266 1564530
BM_multi_thread_lock_unlock/32768 +2.6161 -0.4927 31371052 113440165 3715100 1884540
BM_multi_thread_lock_unlock/65536 +2.6286 -0.3967 54314581 197086847 5912764 3567410
BM_multi_thread_lock_unlock/131072 +2.3554 +0.4990 103176565 346201425 9260407 13880900
BM_multi_thread_lock_unlock/262144 +2.8780 +0.4995 182355400 707170733 16335852 24496000
BM_multi_thread_lock_unlock/524288 +3.0280 +0.3001 360953079 1453902595 32548700 42316364
BM_multi_thread_lock_unlock/1048576 +3.7480 +1.2374 714500462 3392470417 48603455 108747000
OVERALL_GEOMEAN +2.0791 +0.3874 0 0 0 0
```
For the atomic_wait test:
On my 2013 MacBook with Intel CPU
```
Run on (8 X 2300 MHz CPU s)
CPU Caches:
L1 Data 32 KiB (x4)
L1 Instruction 32 KiB (x4)
L2 Unified 256 KiB (x4)
L3 Unified 6144 KiB (x1)
Load Average: 1.95, 3.77, 4.13
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 184455 ns 183979 ns 3760
BM_atomic_wait_one_thread_one_atomic_wait/2048 361607 ns 360917 ns 1912
BM_atomic_wait_one_thread_one_atomic_wait/4096 709055 ns 708326 ns 929
BM_atomic_wait_one_thread_one_atomic_wait/8192 1469063 ns 1467430 ns 488
BM_atomic_wait_one_thread_one_atomic_wait/16384 2865332 ns 2863473 ns 237
BM_atomic_wait_one_thread_one_atomic_wait/32768 5839429 ns 5834708 ns 113
BM_atomic_wait_one_thread_one_atomic_wait/65536 11460822 ns 11453183 ns 60
BM_atomic_wait_one_thread_one_atomic_wait/131072 23052804 ns 23035000 ns 30
BM_atomic_wait_one_thread_one_atomic_wait/262144 46958743 ns 46712733 ns 15
BM_atomic_wait_one_thread_one_atomic_wait/524288 93151904 ns 92977429 ns 7
BM_atomic_wait_one_thread_one_atomic_wait/1048576 186100011 ns 185888500 ns 4
BM_atomic_wait_one_thread_one_atomic_wait/2097152 364548135 ns 364280000 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/4194304 747181672 ns 745056000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/8388608 1473070400 ns 1471165000 ns 1
BM_atomic_wait_one_thread_one_atomic_wait/16777216 2950352547 ns 2947373000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 668544 ns 167233 ns 4496
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1384668 ns 369750 ns 1941
BM_atomic_wait_multi_thread_one_atomic_wait/4096 2851627 ns 768559 ns 995
BM_atomic_wait_multi_thread_one_atomic_wait/8192 5797669 ns 1476876 ns 526
BM_atomic_wait_multi_thread_one_atomic_wait/16384 11597952 ns 2692792 ns 260
BM_atomic_wait_multi_thread_one_atomic_wait/32768 23528028 ns 5291465 ns 142
BM_atomic_wait_multi_thread_one_atomic_wait/65536 46287247 ns 8547713 ns 87
BM_atomic_wait_multi_thread_one_atomic_wait/131072 90315848 ns 13294492 ns 61
BM_atomic_wait_multi_thread_one_atomic_wait/262144 190722393 ns 16193917 ns 36
BM_atomic_wait_multi_thread_one_atomic_wait/524288 408456684 ns 23641600 ns 10
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 708809670 ns 36361900 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2116444 ns 11669 ns 10000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 12435259 ns 21905 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6393816 ns 17819 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/8192 11930400 ns 28637 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/16384 20987224 ns 35272 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/32768 44335820 ns 66660 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 91395912 ns 129030 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 145440007 ns 165960 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 368219935 ns 420800 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/524288 630106863 ns 809500 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 1138174673 ns 1093000 ns 10
```
On apple arm
```
Run on (8 X 24.1208 MHz CPU s)
CPU Caches:
L1 Data 64 KiB (x8)
L1 Instruction 128 KiB (x8)
L2 Unified 4096 KiB (x2)
Load Average: 1.34, 1.58, 1.66
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_atomic_wait_one_thread_one_atomic_wait/1024 61602 ns 61602 ns 8701
BM_atomic_wait_one_thread_one_atomic_wait/2048 123148 ns 123146 ns 5688
BM_atomic_wait_one_thread_one_atomic_wait/4096 246248 ns 246249 ns 2888
BM_atomic_wait_one_thread_one_atomic_wait/8192 480373 ns 480359 ns 1455
BM_atomic_wait_one_thread_one_atomic_wait/16384 974725 ns 974721 ns 724
BM_atomic_wait_one_thread_one_atomic_wait/32768 1922185 ns 1922115 ns 355
BM_atomic_wait_one_thread_one_atomic_wait/65536 3940632 ns 3940608 ns 181
BM_atomic_wait_one_thread_one_atomic_wait/131072 7886302 ns 7886102 ns 88
BM_atomic_wait_one_thread_one_atomic_wait/262144 15393156 ns 15393000 ns 45
BM_atomic_wait_one_thread_one_atomic_wait/524288 30833221 ns 30832174 ns 23
BM_atomic_wait_one_thread_one_atomic_wait/1048576 62551936 ns 62551909 ns 11
BM_atomic_wait_one_thread_one_atomic_wait/2097152 123155625 ns 123155667 ns 6
BM_atomic_wait_one_thread_one_atomic_wait/4194304 252468180 ns 252458667 ns 3
BM_atomic_wait_one_thread_one_atomic_wait/8388608 505075604 ns 505075500 ns 2
BM_atomic_wait_one_thread_one_atomic_wait/16777216 992977209 ns 992935000 ns 1
BM_atomic_wait_multi_thread_one_atomic_wait/1024 531411 ns 239695 ns 2783
BM_atomic_wait_multi_thread_one_atomic_wait/2048 1030592 ns 484868 ns 1413
BM_atomic_wait_multi_thread_one_atomic_wait/4096 1951896 ns 922357 ns 631
BM_atomic_wait_multi_thread_one_atomic_wait/8192 3759893 ns 1952074 ns 390
BM_atomic_wait_multi_thread_one_atomic_wait/16384 7417929 ns 3458309 ns 233
BM_atomic_wait_multi_thread_one_atomic_wait/32768 14386361 ns 5590830 ns 100
BM_atomic_wait_multi_thread_one_atomic_wait/65536 29725536 ns 6521887 ns 115
BM_atomic_wait_multi_thread_one_atomic_wait/131072 60023797 ns 10766795 ns 73
BM_atomic_wait_multi_thread_one_atomic_wait/262144 120782267 ns 17532091 ns 44
BM_atomic_wait_multi_thread_one_atomic_wait/524288 242539333 ns 27506920 ns 25
BM_atomic_wait_multi_thread_one_atomic_wait/1048576 482833787 ns 53721600 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1024 2230048 ns 626042 ns 1000
BM_atomic_wait_multi_thread_wait_different_atomics/2048 3931958 ns 837540 ns 884
BM_atomic_wait_multi_thread_wait_different_atomics/4096 6506887 ns 1127922 ns 586
BM_atomic_wait_multi_thread_wait_different_atomics/8192 10528008 ns 1651254 ns 456
BM_atomic_wait_multi_thread_wait_different_atomics/16384 18055829 ns 2066379 ns 317
BM_atomic_wait_multi_thread_wait_different_atomics/32768 29878496 ns 2875600 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/65536 50523799 ns 3193170 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/131072 85926943 ns 4121950 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/262144 154602296 ns 5879050 ns 100
BM_atomic_wait_multi_thread_wait_different_atomics/524288 279121754 ns 10063400 ns 10
BM_atomic_wait_multi_thread_wait_different_atomics/1048576 522796900 ns 12370300 ns 10
```
Commit: 98a07f72eefb43476ca9e7af3178879d6ef71464
https://github.com/llvm/llvm-project/commit/98a07f72eefb43476ca9e7af3178879d6ef71464
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - "ctpop(i2 x) --> sub(x, (x >> 1))"
If we only have 2 active bits then we can avoid the i8 CTPOP multiply expansion entirely
Another expansion pulled from #79823
Commit: b8c9b0613465b2770d2ae7f61364ddce6bba4511
https://github.com/llvm/llvm-project/commit/b8c9b0613465b2770d2ae7f61364ddce6bba4511
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/ctpop-mask.ll
Log Message:
-----------
[X86] LowerCTPOP - add i3 and i4 LUT 'shift+mask' expansions
Use the 3 or 4 active bits as a shift amount into a i32/i64 constant representing the number of set bits.
In future, it might be worthwhile to move this into a generic location in case other targets want to make use of them.
Another expansion pulled from #79823
Commit: 88a18556aeeaf70315990ed9fb23c28834edf454
https://github.com/llvm/llvm-project/commit/88a18556aeeaf70315990ed9fb23c28834edf454
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC signed/unsigned mismatch warning
Commit: e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
https://github.com/llvm/llvm-project/commit/e3d4cac2bcbdb719a0d29055c8c60df0e98e0126
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning
Commit: 1a7166833d38a2a5c26eacecd13833a9a15e3b3d
https://github.com/llvm/llvm-project/commit/1a7166833d38a2a5c26eacecd13833a9a15e3b3d
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
Log Message:
-----------
[AArch64] Fix stack probing clobbering flags (#81879)
Certain stack probing sequences might clobber flags, then we can't use a
block as a prologue if the flags register is a live-in on entry to that
block.
Commit: 61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
https://github.com/llvm/llvm-project/commit/61bc5f6c7383ec7d8a0e847abcd56ddc02ee77bf
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/Mangler.cpp
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
Log Message:
-----------
[Flang]: Fix to bind(C) procs inside BLOCK construct (#82483)
Name mangling is invoked for a bind(C) procedure contained in a block in
a context that does not have access to block ID mapping. Relaxing an
assert to account for this.
Fixes #79408
Commit: 91ebd010aa76a711abd88f74ecca8e82e15b23cd
https://github.com/llvm/llvm-project/commit/91ebd010aa76a711abd88f74ecca8e82e15b23cd
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/Interp.cpp
Log Message:
-----------
[clang][Interp] Remove dereference()
This function tried to be smart about the dereferenced value,
but it ended up hurting more than it helped. At least in the current
state, where we still try get the correct output.
I might add something similar back later.
Commit: f7c2e5fa05d221a3dfc53744f353517407c2ffec
https://github.com/llvm/llvm-project/commit/f7c2e5fa05d221a3dfc53744f353517407c2ffec
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang] [SemaCXX] Disallow deducing "this" on operator `new` and `delete` (#82251)
Resolves Issue #82249
As described in the issue, any deallocation function for a `class X` is
a static member (even if not explicitly declared static).
Commit: 6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
https://github.com/llvm/llvm-project/commit/6ba8ca8c1600ce33274e4f22397bd4d400f0ad8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
Log Message:
-----------
[CostModel][X86] Don't use undef for icmp cost tests
Cleanup prior to #80122 fix - using undef means we think that the comparison is with a Constant
Commit: a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
https://github.com/llvm/llvm-project/commit/a0869b14cde9ed71bb4323c8717f59ee1b1e79bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
Log Message:
-----------
[CostModel][X86] Fix expanded CTPOP i8 costs
Updated to match #79989 / 9410019ac977141bc73aee19690b5896ded59219
Commit: 4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
https://github.com/llvm/llvm-project/commit/4d4af15c3fb671ed9f7eef9f29ebd6fde15618df
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
Log Message:
-----------
[NFC][flang][OpenMP] Split `DataSharing` and `Clause` processors (#81973)
This started as an experiment to reduce the compilation time of
iterating over `Lower/OpenMP.cpp` a bit since it is too slow at the
moment. Trying to do that, I split the `DataSharingProcessor`,
`ReductionProcessor`, and `ClauseProcessor` into their own files and
extracted some shared code into a util file. All of these new `.h/.cpp`
files as well as `OpenMP.cpp` are now under a `Lower/OpenMP/` directory.
This resulted is a slightly better organization of the OpenMP lowering
code and hence opening this NFC.
As for the compilation time, this unfortunately does not affect it much
(it shaves off a few seconds of `OpenMP.cpp` compilation) since from
what I learned the bottleneck is in `DirectivesCommon.h` and
`PFTBuilder.h` which both consume a lot of time in template
instantiation it seems.
Commit: 5a023f564f9886bcc732147d12e114f5ced92c5d
https://github.com/llvm/llvm-project/commit/5a023f564f9886bcc732147d12e114f5ced92c5d
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
Log Message:
-----------
[AArch64][SVE2] Enable dynamic shuffle for fixed length types. (#72490)
When SVE register size is unknown or the minimal size is not equal to
the maximum size then we could determine the actual SVE register size in
the runtime and adjust shuffle mask in the runtime.
Commit: 73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
https://github.com/llvm/llvm-project/commit/73185854a3fc469b7d3e21d0b5d2ecb5ee15d201
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG1719 "Layout compatibility and cv-qualification revisited" (#82358)
This patch updates our internal notion of `layout-compatible` to ignore cv-qualification,
which in turn fixes `__is_layout_compatible` intrinsic.
Commit: 9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
https://github.com/llvm/llvm-project/commit/9c0e45d7f0e2202e16dbd9a7b9f462e2bcb741ae
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
A llvm/test/CodeGen/SystemZ/frame-29.ll
Log Message:
-----------
[SystemZ] Use VT (not ArgVT) for SlotVT in LowerCall(). (#82475)
When an integer argument is promoted and *not* split (like i72 -> i128 on
a new machine with vector support), the SlotVT should be i128, which is
stored in VT - not ArgVT.
Fixes #81417
Commit: e214f004cb9e17847262d8fe64926a9cad6d2e86
https://github.com/llvm/llvm-project/commit/e214f004cb9e17847262d8fe64926a9cad6d2e86
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn in-place op modification into `IRRewrite` (#81245)
This commit simplifies the internal state of the dialect conversion. A
separate field for the previous state of in-place op modifications is no
longer needed.
Commit: 3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
https://github.com/llvm/llvm-project/commit/3a70335bae25b9df39e20d714d3ed1ab0fc6d20a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Support rolling back properties in dialect conversion (#82474)
The dialect conversion rolls back in-place op modifications upon
failure. Rolling back modifications of attributes is already supported,
but there was no support for properties until now.
Commit: b49f155cb9144b208b1291b5f02630d588350e1a
https://github.com/llvm/llvm-project/commit/b49f155cb9144b208b1291b5f02630d588350e1a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Simplify `ArgConverter` state (#81462)
* When converting a block signature, `ArgConverter` creates a new block
with the new signature and moves all operation from the old block to the
new block. The new block is temporarily inserted into a region that is
stored in `regionMapping`. The old block is not yet deleted, so that the
conversion can be rolled back. `regionMapping` is not needed. Instead of
moving the old block to a temporary region, it can just be unlinked.
Block erasures are handles in the same way in the dialect conversion.
* `regionToConverter` is a mapping from regions to type converter. That
field is never accessed within `ArgConverter`. It should be stored in
`ConversionPatternRewriterImpl` instead.
* `convertedBlocks` is not needed. Old blocks are already stored in
`ConvertedBlockInfo`.
Commit: f037e709cad410b885cb22ebb22e7e7539d41fb0
https://github.com/llvm/llvm-project/commit/f037e709cad410b885cb22ebb22e7e7539d41fb0
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
Log Message:
-----------
[RISCV][TTI] Cost a subvector extract at a register boundary with exact vlen (#82405)
If we have exact vlen knowledge, we can figure out which indices
correspond to register boundaries. Our lowering uses this knowledge to
replace the vslidedown.vi with a sub-register extract. Our costs can
reflect that as well.
This is another piece split off
https://github.com/llvm/llvm-project/pull/80164
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 3ee8c93769cd094ea0748b4a446a475160c0f51f
https://github.com/llvm/llvm-project/commit/3ee8c93769cd094ea0748b4a446a475160c0f51f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix NVPTX global entry names
Summary:
This was missed, the NVPTX globals cannot use a `.`.
Commit: ffcdf47bc443b36754c36bd6e1a77b4163657a00
https://github.com/llvm/llvm-project/commit/ffcdf47bc443b36754c36bd6e1a77b4163657a00
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
A clang/test/AST/Interp/pointer-addition.c
Log Message:
-----------
[clang][Interp] Allow adding an offset to a function pointer
Pretty sure this isn't doing anything, but it fixes a test and
is generally the right thing to do.
Fixing the behavior will come later.
Commit: 4beb4d5c72880ec69ef36bdebaed06c90cc5309b
https://github.com/llvm/llvm-project/commit/4beb4d5c72880ec69ef36bdebaed06c90cc5309b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Analysis/CostModel/X86/icmp0.ll
Log Message:
-----------
[CostModel][X86] Add test coverage for icmp vs zero
This is really to test for icmp vs constant - some icmp unsigned could fold to simpler comparisons, but costmodel analysis won't do this
Commit: c16d0d14de40559eb3845a88b6434550dd1dcf77
https://github.com/llvm/llvm-project/commit/c16d0d14de40559eb3845a88b6434550dd1dcf77
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[SimplifyCFG] Add test coverage for #80122
Commit: 9978f6a10f37d12e1eecad0d4bfacd350d933ed7
https://github.com/llvm/llvm-project/commit/9978f6a10f37d12e1eecad0d4bfacd350d933ed7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/icmp0.ll
M llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
Log Message:
-----------
[CostModel][X86] Reduce the extra costs for ICMP complex predicates when an operand is constant
In most cases, SETCC lowering will be able to simplify/commute the comparison by adjusting the constant.
TODO: We still need to adjust ExtraCost based on CostKind
Fixes #80122
Commit: 453b1a2fce3c46e866131797f876976032cff384
https://github.com/llvm/llvm-project/commit/453b1a2fce3c46e866131797f876976032cff384
Author: cmtice <cmtice at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
Log Message:
-----------
[LLVM][DWARF] Refactor code for generating DWARF V5 .debug_names (#82394)
[LLVM][DWARF] Refactor code for generating DWARF v5 .debug_names
Refactor the code that uniques the entries and computes the bucket count
for the DWARF V5 .debug_names accelerator table.
Commit: 13b0321e978fd95503d5f5471a0cfdcd439a5936
https://github.com/llvm/llvm-project/commit/13b0321e978fd95503d5f5471a0cfdcd439a5936
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Reject unimplemented cast expressions differently
Instead of asserting, emit an appropriate diagnostic.
Commit: 3f732c4141e95de829a896c38af11473377dbcd6
https://github.com/llvm/llvm-project/commit/3f732c4141e95de829a896c38af11473377dbcd6
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix use-after-free in #82474 (#82504)
When a `ModifyOperationRewrite` is committed, the operation may already
have been erased, so `OperationName` must be cached in the rewrite
object.
Note: This will no longer be needed with #81757, which adds a "cleanup"
method to `IRRewrite`.
Commit: 2cd59bdc891ab59a1abfe5205feb45791a530a47
https://github.com/llvm/llvm-project/commit/2cd59bdc891ab59a1abfe5205feb45791a530a47
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Add test case for miscompile in gather -> strided load combine. NFC
This shows the issue in #82430, but triggers it via the widening SEW combine
rather than a GEP that RISCVGatherScatterLowering doesn't detect.
Commit: 2e29c91b96832504b9008be5e095f7dd640cdea0
https://github.com/llvm/llvm-project/commit/2e29c91b96832504b9008be5e095f7dd640cdea0
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
Log Message:
-----------
Revert "[Coro] [async] Disable inlining in async coroutine splitting (#80904)"
This reverts commit b1ac052ab07ea091c90c2b7c89445b2bfcfa42ab.
This commit breaks coroutine splitting for non-swift calling convention
functions. In this example:
```ll
; ModuleID = 'repro.ll'
source_filename = "stdlib/test/runtime/test_llcl.mojo"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
@0 = internal constant { i32, i32 } { i32 trunc (i64 sub (i64 ptrtoint (ptr @crash to i64), i64 ptrtoint (ptr getelementptr inbounds ({ i32, i32 }, ptr @0, i32 0, i32 1) to i64)) to i32), i32 64 }
define dso_local void @af_suspend_fn(ptr %0, i64 %1, ptr %2) #0 {
ret void
}
define dso_local void @crash(ptr %0) #0 {
%2 = call token @llvm.coro.id.async(i32 64, i32 8, i32 0, ptr @0)
%3 = call ptr @llvm.coro.begin(token %2, ptr null)
%4 = getelementptr inbounds { ptr, { ptr, ptr }, i64, { ptr, i1 }, i64, i64 }, ptr poison, i32 0, i32 0
%5 = call ptr @llvm.coro.async.resume()
store ptr %5, ptr %4, align 8
%6 = call { ptr, ptr, ptr } (i32, ptr, ptr, ...) @llvm.coro.suspend.async.sl_p0p0p0s(i32 0, ptr %5, ptr @ctxt_proj_fn, ptr @af_suspend_fn, ptr poison, i64 -1, ptr poison)
ret void
}
define dso_local ptr @ctxt_proj_fn(ptr %0) #0 {
ret ptr %0
}
; Function Attrs: nomerge nounwind
declare { ptr, ptr, ptr } @llvm.coro.suspend.async.sl_p0p0p0s(i32, ptr, ptr, ...) #1
; Function Attrs: nounwind
declare token @llvm.coro.id.async(i32, i32, i32, ptr) #2
; Function Attrs: nounwind
declare ptr @llvm.coro.begin(token, ptr writeonly) #2
; Function Attrs: nomerge nounwind
declare ptr @llvm.coro.async.resume() #1
attributes #0 = { "target-features"="+adx,+aes,+avx,+avx2,+bmi,+bmi2,+clflushopt,+clwb,+clzero,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+mwaitx,+pclmul,+pku,+popcnt,+prfchw,+rdpid,+rdpru,+rdrnd,+rdseed,+sahf,+sha,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+sse4a,+ssse3,+vaes,+vpclmulqdq,+wbnoinvd,+x87,+xsave,+xsavec,+xsaveopt,+xsaves" }
attributes #1 = { nomerge nounwind }
attributes #2 = { nounwind }
```
This verifier crashes after the `coro-split` pass with
```
cannot guarantee tail call due to mismatched parameter counts
musttail call void @af_suspend_fn(ptr poison, i64 -1, ptr poison)
LLVM ERROR: Broken function
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: opt ../../../reduced.ll -O0
#0 0x00007f1d89645c0e __interceptor_backtrace.part.0 /build/gcc-11-XeT9lY/gcc-11-11.4.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4193:28
#1 0x0000556d94d254f7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
#2 0x0000556d94d19a2f llvm::sys::RunSignalHandlers() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000556d94d1aa42 SignalHandler(int) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/Unix/Signals.inc:371:36
#4 0x00007f1d88e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x00007f1d88e969fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x00007f1d88e969fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x00007f1d88e969fc pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x00007f1d88e42476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x00007f1d88e287f3 abort ./stdlib/abort.c:81:7
#10 0x0000556d8944be01 std::vector<llvm::json::Value, std::allocator<llvm::json::Value>>::size() const /usr/include/c++/11/bits/stl_vector.h:919:40
#11 0x0000556d8944be01 bool std::operator==<llvm::json::Value, std::allocator<llvm::json::Value>>(std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&, std::vector<llvm::json::Value, std::allocator<llvm::json::Value>> const&) /usr/include/c++/11/bits/stl_vector.h:1893:23
#12 0x0000556d8944be01 llvm::json::operator==(llvm::json::Array const&, llvm::json::Array const&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Support/JSON.h:572:69
#13 0x0000556d8944be01 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/JSON.cpp:204:28
#14 0x0000556d949ed2bd llvm::report_fatal_error(char const*, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Support/ErrorHandling.cpp:82:70
#15 0x0000556d8e37e876 llvm::SmallVectorBase<unsigned int>::size() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:91:32
#16 0x0000556d8e37e876 llvm::SmallVectorTemplateCommon<llvm::DiagnosticInfoOptimizationBase::Argument, void>::end() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:282:41
#17 0x0000556d8e37e876 llvm::SmallVector<llvm::DiagnosticInfoOptimizationBase::Argument, 4u>::~SmallVector() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1215:24
#18 0x0000556d8e37e876 llvm::DiagnosticInfoOptimizationBase::~DiagnosticInfoOptimizationBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:413:7
#19 0x0000556d8e37e876 llvm::DiagnosticInfoIROptimization::~DiagnosticInfoIROptimization() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:622:7
#20 0x0000556d8e37e876 llvm::OptimizationRemark::~OptimizationRemark() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/DiagnosticInfo.h:689:7
#21 0x0000556d8e37e876 operator() /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2213:14
#22 0x0000556d8e37e876 emit<llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::CGSCCAnalysisManager&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)::<lambda()> > /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h:83:12
#23 0x0000556d8e37e876 llvm::CoroSplitPass::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:2212:13
#24 0x0000556d8c36ecb1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::CoroSplitPass, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#25 0x0000556d91c1a84f llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:90:12
#26 0x0000556d8c3690d1 llvm::detail::PassModel<llvm::LazyCallGraph::SCC, llvm::PassManager<llvm::LazyCallGraph::SCC, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&, llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#27 0x0000556d91c2162d llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:278:18
#28 0x0000556d8c369035 llvm::detail::PassModel<llvm::Module, llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#29 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#30 0x0000556d8e30979e llvm::CoroConditionalWrapper::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/lib/Transforms/Coroutines/CoroConditionalWrapper.cpp:19:74
#31 0x0000556d8c365755 llvm::detail::PassModel<llvm::Module, llvm::CoroConditionalWrapper, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#32 0x0000556d9457abc5 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/PassManager.h:247:20
#33 0x0000556d89818556 llvm::SmallPtrSetImplBase::isSmall() const /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33
#34 0x0000556d89818556 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17
#35 0x0000556d89818556 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7
#36 0x0000556d89818556 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7
#37 0x0000556d89818556 llvm::PreservedAnalyses::~PreservedAnalyses() /home/ubuntu/modular/third-party/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7
#38 0x0000556d89818556 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/NewPMDriver.cpp:532:10
#39 0x0000556d897e3939 optMain /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/optdriver.cpp:737:27
#40 0x0000556d89455461 main /home/ubuntu/modular/third-party/llvm-project/llvm/tools/opt/opt.cpp:25:33
#41 0x00007f1d88e29d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#42 0x00007f1d88e29e40 call_init ./csu/../csu/libc-start.c:128:20
#43 0x00007f1d88e29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#44 0x0000556d897b6335 _start (/home/ubuntu/modular/.derived/third-party/llvm-project/build-relwithdebinfo-asan/bin/opt+0x150c335)
Aborted (core dumped)
Commit: 162fa4dd25d631d0ab7816ec6081bcaff951a23c
https://github.com/llvm/llvm-project/commit/162fa4dd25d631d0ab7816ec6081bcaff951a23c
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/IR/Module.cpp
Log Message:
-----------
Module::getOrInsertFunction: set debug info format (#82505)
Function::Function's constructor sets the debug info format based on the
passed in parent Module, so by using this rather than modifying the
function list directly, we pick up the debug info format automatically.
Commit: 71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
https://github.com/llvm/llvm-project/commit/71441ed1716e6ed3f053dea9c1ceb9cfe2822aea
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][Vector] Add vector bitwidth target to xfer op flattening (#81966)
This PR adds an optional bitwidth parameter to the vector xfer op
flattening transformation so that the flattening doesn't happen if the
trailing dimension of the read/writen vector is larger than this
bitwidth (i.e., we are already able to fill at least one vector register
with that size).
Commit: 58f45d909d2a1565128846e423b480808736f214
https://github.com/llvm/llvm-project/commit/58f45d909d2a1565128846e423b480808736f214
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Lower/OpenMP/target.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
Log Message:
-----------
[flang][openmp] - depend clause support in target, target enter/update/exit data constructs (#81610)
This patch adds support in flang for the depend clause in target and
target enter/update/exit constructs. Previously, the following line in a
fortran program would have resulted in the error shown below it.
!$omp target map(to:a) depend(in:a)
"not yet implemented: Unhandled clause DEPEND in TARGET construct"
Commit: cc374d8056990a4c6df44173ad7ef59474ba498b
https://github.com/llvm/llvm-project/commit/cc374d8056990a4c6df44173ad7ef59474ba498b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/offloading/requires.c
Log Message:
-----------
[OpenMP] Remove `register_requires` global constructor (#80460)
Summary:
Currently, OpenMP handles the `omp requires` clause by emitting a global
constructor into the runtime for every translation unit that requires
it. However, this is not a great solution because it prevents us from
having a defined order in which the runtime is accessed and used.
This patch changes the approach to no longer use global constructors,
but to instead group the flag with the other offloading entires that we
already handle. This has the effect of still registering each flag per
requires TU, but now we have a single constructor that handles
everything.
This function removes support for the old `__tgt_register_requires` and
replaces it with a warning message. We just had a recent release, and
the OpenMP policy for the past four releases since we switched to LLVM
is that we do not provide strict backwards compatibility between major
LLVM releases now that the library is versioned. This means that a user
will need to recompile if they have an old binary that relied on
`register_requires` having the old behavior. It is important that we
actively deprecate this, as otherwise it would not solve the problem of
having no defined init and shutdown order for `libomptarget`. The
problem of `libomptarget` not having a define init and shutdown order
cascades into a lot of other issues so I have a strong incentive to be
rid of it.
It is worth noting that the current `__tgt_offload_entry` only has space
for a 32-bit integer here. I am planning to overhaul these at some point
as well.
Commit: cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
https://github.com/llvm/llvm-project/commit/cc13f3ba45015254075434f0f94a2ea6ff4bc1b4
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
Log Message:
-----------
Correctly round FP -> BF16 when SDAG expands such nodes (#82399)
We did something pretty naive:
- round FP64 -> BF16 by first rounding to FP32
- skip FP32 -> BF16 rounding entirely
- taking the top 16 bits of a FP32 which will turn some NaNs into
infinities
Let's do this in a more principled way by rounding types with more
precision than FP32 to FP32 using round-inexact-to-odd which will negate
double rounding issues.
Commit: 0a518db99e0cffcdbb4cae73e27da87edbb25170
https://github.com/llvm/llvm-project/commit/0a518db99e0cffcdbb4cae73e27da87edbb25170
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
M clang/test/CMakeLists.txt
R clang/test/Driver/installapi.h
M clang/test/InstallAPI/installapi-basic.test
A clang/test/InstallAPI/installapi-driver-invalid-options.test
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
Log Message:
-----------
[InstallAPI] Set InstallAPI as a standalone tool instead of CC1 action (#82293)
Installapi has important distinctions when compared to the clang driver,
so much that, it doesn't make much sense to try to integrate into it.
This patch partially reverts the CC1 action & driver support to replace
with its own driver as a clang tool.
For distribution, we could use `LLVM_TOOL_LLVM_DRIVER_BUILD` mechanism
for integrating the functionality into clang such that the toolchain
size is less impacted.
Commit: 2c30180f72b9c39dda1fd77bcbec8022e19bec23
https://github.com/llvm/llvm-project/commit/2c30180f72b9c39dda1fd77bcbec8022e19bec23
Author: Mogball <jeff at modular.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[coro] [async] Don't fail on targets that don't support tail calls
Commit: e50a231dcdd6aafa922b177b4fc4629bb7a10a79
https://github.com/llvm/llvm-project/commit/e50a231dcdd6aafa922b177b4fc4629bb7a10a79
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
Log Message:
-----------
[flang][OpenMP] Add support for copyprivate (#80485)
Add initial handling of OpenMP copyprivate clause in Flang.
When lowering copyprivate, Flang generates the copy function
needed by each variable and builds the appropriate
omp.single's CopyPrivateVarList.
This is patch 3 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128
Commit: 579ae446375b2bec6d329b612adfa0a74f7126e3
https://github.com/llvm/llvm-project/commit/579ae446375b2bec6d329b612adfa0a74f7126e3
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add missing clangBasic library dependency
Appeases CI: https://lab.llvm.org/buildbot/#/builders/268/builds/8581/steps/5/logs/stdio
Commit: e7bfe414a6abee31a8c83afbc8206e6249dd837d
https://github.com/llvm/llvm-project/commit/e7bfe414a6abee31a8c83afbc8206e6249dd837d
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] Add additional missing library dependency
Fixes: https://lab.llvm.org/buildbot/#/builders/268/builds/8583
Commit: c5bbf979ada59e4ef9e67cb8bae59522d17b5140
https://github.com/llvm/llvm-project/commit/c5bbf979ada59e4ef9e67cb8bae59522d17b5140
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] fixes mistake in #82018 (#82223)
fixes #81766 #82018
Commit: 2167881f5154823dc3183845700add7df15fc856
https://github.com/llvm/llvm-project/commit/2167881f5154823dc3183845700add7df15fc856
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
A llvm/test/MC/ARM/fdpic.s
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[ARM,MC] Support FDPIC relocations
Linux kernel fs/binfmt_elf_fdpic.c supports FDPIC for MMU-less systems.
GCC/binutils/qemu support FDPIC ABI for ARM
(https://github.com/mickael-guene/fdpic_doc).
_ARM FDPIC Toolchain and ABI_ provides a summary.
This patch implements FDPIC relocations to the integrated assembler.
There are 6 static relocations and 2 dynamic relocations, with
R_ARM_FUNCDESC as both static and dynamic.
gas requires `--fdpic` to assemble data relocations like `.word f(FUNCDESC)`.
This patch adds `MCTargetOptions::FDPIC` and reports an error if FDPIC
is not set.
Pull Request: https://github.com/llvm/llvm-project/pull/82187
Commit: 5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
https://github.com/llvm/llvm-project/commit/5488e3ea4869b32e82f7f7dfb3ba22cb7b5b9436
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/tools/clang-installapi/CMakeLists.txt
Log Message:
-----------
[InstallAPI] add explicit dependency on llvmOption library
Commit: 6f0e39c4239bb4c0980a048e264f61bded147388
https://github.com/llvm/llvm-project/commit/6f0e39c4239bb4c0980a048e264f61bded147388
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Set ISD::FP_{EXTEND,ROUND} to Custom for more types
Sometimes those nodes are queried with the non-bf16. We need to request
to SDAG that we want to handle the non-bf16 side so that the handler can
detect if bf16 is being used on either side.
Commit: 966b026785a09ec079e8b0ba79358892fcb958ad
https://github.com/llvm/llvm-project/commit/966b026785a09ec079e8b0ba79358892fcb958ad
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
Log Message:
-----------
[NVPTX] Simplify handling of ISD::BF16_TO_FP
We only use it to get from BF16 to F32. After that point, we insert
an FP_EXTEND to get the rest of the way.
Commit: 4247175d4536964322b129d1d3bbe6128da653bf
https://github.com/llvm/llvm-project/commit/4247175d4536964322b129d1d3bbe6128da653bf
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
[nfc]For InstrProfData.inc, clang-format functions and opt-out of formatting on the rest (#82057)
Without this, each time `InstrProfData.inc` is modified (like in
https://github.com/llvm/llvm-project/pull/81691), pre-commit CI
clang-format aggressively formats many lines in an unreadable way. Pull
request with red pre-commit checks are usually frowned upon.
* Use `// clang-format:<reason>` instead of `/* clang-format */`. The
former
[allows](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4108-L4113)
specifying a reason but the latter is
[not](https://github.com/llvm/llvm-project/blob/563ef306017a47d387f1c36dd562b172c1ad0626/clang/lib/Format/Format.cpp#L4105-L4106).
- Filed https://github.com/llvm/llvm-project/issues/82426 to track the
issue in clang-format.
Commit: 9c2468821ec51defd09c246fea4a47886fff8c01
https://github.com/llvm/llvm-project/commit/9c2468821ec51defd09c246fea4a47886fff8c01
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
Log Message:
-----------
[lldb][test] Modernize asserts (#82503)
This uses [teyit](https://pypi.org/project/teyit/) to modernize asserts,
as recommended by the [unittest release
notes](https://docs.python.org/3.12/whatsnew/3.12.html#id3).
For example, `assertTrue(a == b)` is replaced with `assertEqual(a, b)`.
This produces better error messages, e.g. `error: unexpectedly found 1
and 2 to be different` instead of `error: False`.
Commit: 1c81b4a8f237db286aae5b8893aea09676a41d68
https://github.com/llvm/llvm-project/commit/1c81b4a8f237db286aae5b8893aea09676a41d68
Author: Nico Weber <thakis at chromium.org>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
Log Message:
-----------
[gn] port 0a518db99e0c (clang-installapi)
Commit: ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
https://github.com/llvm/llvm-project/commit/ddc0f1d8fed4f1a1742598ffd7dc3195bb37a8f1
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
Log Message:
-----------
[TargetLowering] Actually add the adjustment to the significand
The logic was supposed to be choosing between {0, 1, -1} as an
adjustment to the FP bit pattern. However, the adjustment itself was
used as the bit pattern instead which result in garbage results.
Commit: 3d66d6932e26199f72766b6554d1c4878246ec6e
https://github.com/llvm/llvm-project/commit/3d66d6932e26199f72766b6554d1c4878246ec6e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Support live-ins without underlying IR in type analysis. (#80723)
A VPlan contains multiple live-ins without underlying IR, like VFxUF or
VectorTripCount. Trying to infer the scalar type of those causes a crash
at the moment.
Update VPTypeAnalysis to take a VPlan in its constructor and assign
types to those live-ins up front. All those live-ins share the type of
the canonical IV.
PR: https://github.com/llvm/llvm-project/pull/80723
Commit: 22cf983387e52e3df01504c69df8266e9d80d9da
https://github.com/llvm/llvm-project/commit/22cf983387e52e3df01504c69df8266e9d80d9da
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[VPlan] Use opaque pointers in VPlan unit test IR (#69947)
Updates the unit tests for VPlan to use opaque pointers in strings
containing LLVM IR. This is to match the similar adjustments being made
for lit tests to use opaque pointers.
Commit: db9811cd131d66c1c3dff0222fc8bcc83a555846
https://github.com/llvm/llvm-project/commit/db9811cd131d66c1c3dff0222fc8bcc83a555846
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Make lldbDataFormatters.py compatible with Python 3.8 (#82518)
I just tried to load this into LLDB built against Python 3.8.5 and got
the following error: `TypeError: 'type' object is not subscriptable`. I
could fix this by wrapping the annotations in quotes but since Python
3.7 this syntax can be enabled with `from __future__ import
annotations`.
Commit: baf6bd303bd58a521809d456dd9b179636982fc5
https://github.com/llvm/llvm-project/commit/baf6bd303bd58a521809d456dd9b179636982fc5
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
Log Message:
-----------
[Clang] Fixes to immediate-escalating functions (#82281)
* Consider that immediate escalating function can appear at global
scope, fixing a crash
* Lambda conversion to function pointer was sometimes not performed in
an immediate function context when it should be.
Fixes #82258
Commit: 5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
https://github.com/llvm/llvm-project/commit/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/BinarySection.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix memory leak in BinarySection (#82520)
The change in #80950 exposed a memory leak in BinarySection. Let
BinarySection manage memory passed via updateContents() unless a valid
SectionID is set indicating that the contents are managed by JITLink.
Commit: 7fa8585fdefd98dd73940c74165aa55da1175f02
https://github.com/llvm/llvm-project/commit/7fa8585fdefd98dd73940c74165aa55da1175f02
Author: Bill Wendling <morbo at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/lib/InstallAPI/FileList.cpp
Log Message:
-----------
[NFC][clang] Remove trailing whitespaces
Commit: cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
https://github.com/llvm/llvm-project/commit/cb1fed3a89e0cdc2660edaada1f0868cae3b7bcf
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
Log Message:
-----------
[NVPTX] Correctly guard int -> bf16 on PTX version and SM version
Commit: d4fd20258f63d30be638b04f10eaa469707759f0
https://github.com/llvm/llvm-project/commit/d4fd20258f63d30be638b04f10eaa469707759f0
Author: mlevesquedion <mlevesquedion at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Transforms/parametric-tiling.mlir
Log Message:
-----------
[mlir] Use arith max or min ops instead of cmp + select (#82178)
I believe the semantics should be the same, but this saves 1 op and simplifies the code.
For example, the following two instructions:
```
%2 = cmp sgt %0, %1
%3 = select %2, %0, %1
```
Are equivalent to:
```
%2 = maxsi %0 %1
```
Commit: cd160a6e98533fbc04a76d1b969db77b49668eb3
https://github.com/llvm/llvm-project/commit/cd160a6e98533fbc04a76d1b969db77b49668eb3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Do not add call results with void type to State (NFC).
With vector libraries, we may vectorize calls with void return types. Do
not add those values to the state; they can never be accessed.
Commit: 99c457dc2ef395872d7448c85609f6cb73a7f89b
https://github.com/llvm/llvm-project/commit/99c457dc2ef395872d7448c85609f6cb73a7f89b
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/builtins/divtc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/builtins/multc3.c
Log Message:
-----------
Unbreak *tf builtins for hexfloat (#82208)
This re-lands cc0065a7d082f0bd322a538cf62cfaef1c8f89f8 in a way that
keeps existing targets working.
---------
Original commit message:
#68132 ended up removing
__multc3 & __divtc3 from compiler-rt library builds that have
QUAD_PRECISION but not TF_MODE due to missing int128 support.
I added support for QUAD_PRECISION to use the native hex float long double representation.
---------
Co-authored-by: Sean Perry <perry at ca.ibm.com>
Commit: 81b4b89197a6be5f19f907b558540bb3cb70f064
https://github.com/llvm/llvm-project/commit/81b4b89197a6be5f19f907b558540bb3cb70f064
Author: Justin Stitt <jstitt007 at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/integer-overflow.c
Log Message:
-----------
[Sanitizer] Support -fwrapv with -fsanitize=signed-integer-overflow (#82432)
Clang has a `signed-integer-overflow` sanitizer to catch arithmetic
overflow; however, most of its instrumentation [fails to
apply](https://godbolt.org/z/ee41rE8o6) when `-fwrapv` is enabled; this
is by design.
The Linux kernel enables `-fno-strict-overflow` which implies `-fwrapv`.
This means we are [currently unable to detect signed-integer
wrap-around](https://github.com/KSPP/linux/issues/26). All the while,
the root cause of many security vulnerabilities in the Linux kernel is
[arithmetic overflow](https://cwe.mitre.org/data/definitions/190.html).
To work around this and enhance the functionality of
`-fsanitize=signed-integer-overflow`, we instrument signed arithmetic
even if the signed overflow behavior is defined.
Co-authored-by: Justin Stitt <justinstitt at google.com>
Commit: c63e68ba5fb54b69521c4f010d1c5290856c6509
https://github.com/llvm/llvm-project/commit/c63e68ba5fb54b69521c4f010d1c5290856c6509
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/python_api/type/TestTypeList.py
Log Message:
-----------
Bump the minimum LLVM version for TestTypeList.py
Commit: 2b2881b0ae94e56aa019b519419d122bb7b81462
https://github.com/llvm/llvm-project/commit/2b2881b0ae94e56aa019b519419d122bb7b81462
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/InstallAPI/Context.h
Log Message:
-----------
Add namespace qualifier for llvm::StringRef
Commit: 9eff001d3dbe84851caa7de4e1093af62c009e06
https://github.com/llvm/llvm-project/commit/9eff001d3dbe84851caa7de4e1093af62c009e06
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[TargetLowering] Correctly yield NaN from FP_TO_BF16
We didn't set the exponent field, resulting in tiny numbers instead of
NaNs.
Commit: d17eade22ab9a65144a2bbd538f47924eed6b87d
https://github.com/llvm/llvm-project/commit/d17eade22ab9a65144a2bbd538f47924eed6b87d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
Do not call disable / enable on null depot (#82542)
depot can be null if allocation_ring_buffer_size=0
Commit: be36812fb7cb3fca05f20865e062c966a14dbfdc
https://github.com/llvm/llvm-project/commit/be36812fb7cb3fca05f20865e062c966a14dbfdc
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
Log Message:
-----------
[TargetLowering] Be more efficient in fp -> bf16 NaN conversions
We can avoid masking completely as it is OK (and probably preferable) to
bring over some of the existant NaN payload.
Commit: 828bf134d732a29146d1dd666548c75b49012b08
https://github.com/llvm/llvm-project/commit/828bf134d732a29146d1dd666548c75b49012b08
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/tools/clang-installapi/Options.cpp
Log Message:
-----------
[InstallAPI] Cleanup HeaderFile Interface & options handling, NFC (#82544)
Commit: 049e142badfca3fae5c190c5d4b37acdd2e9c10c
https://github.com/llvm/llvm-project/commit/049e142badfca3fae5c190c5d4b37acdd2e9c10c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/lib/CMakeLists.txt
M libc/startup/linux/CMakeLists.txt
Log Message:
-----------
[libc] Fix startup utilities failing to install in full build mode (#82522)
Summary:
Currently, doing `ninja install` will fail in fullbuild mode due to the
startup utilities not being built by default. This was hidden previously
by the fact that if tests were run, it would build the startup utilities
and thus they would be present.
This patch solves this issue by making the `libc-startup` target a
dependncy on the final library. Furthermore we simply factor out the
library install directory into the base CMake directory next to the
include directory handling. This change makes the `crt` files get
installed in `lib/x86_64-unknown-linu-gnu` instead of just `lib`.
This fixes an error I had where doing a runtimes failed to install its
libraries because the install step always errored.
Commit: 300425cea51ef566a4d38e57afd9a7ae8024a682
https://github.com/llvm/llvm-project/commit/300425cea51ef566a4d38e57afd9a7ae8024a682
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Revert "[Docs] Add release note about Clang-defined target OS macros … (#80045)
…(#79879)"
This reverts commit b40d5b1b08564d23d5e0769892ebbc32447b2987.
The target OS macros work is included in the 18.x release. Move the
release note to the release branch
(https://github.com/llvm/llvm-project/pull/80044).
Commit: 699c408c88b3ed02f25464aa868bd48454fbba3f
https://github.com/llvm/llvm-project/commit/699c408c88b3ed02f25464aa868bd48454fbba3f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC][HWASAN] Fix misleading name
Commit: 9ea9e93f4a74b363887b773397bcb134062270d9
https://github.com/llvm/llvm-project/commit/9ea9e93f4a74b363887b773397bcb134062270d9
Author: Yuta Mukai <mukai.yuta at fujitsu.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Fix elements being added while the list is iterated (#80805)
There is no need to add the elements of Objs twice, so the addition is
removed.
Commit: 640e781dc87bdb74e14a66c89e54417e60150904
https://github.com/llvm/llvm-project/commit/640e781dc87bdb74e14a66c89e54417e60150904
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Use SkeletonCU in place of IsDWO check (#82540)
Changed isDWO to a function that checks Skeleton CU that is passed in.
This is for preparation for
https://github.com/llvm/llvm-project/pull/81062.
Commit: 004c1972b4585fe8051814ceb6c6cdbf3cb62290
https://github.com/llvm/llvm-project/commit/004c1972b4585fe8051814ceb6c6cdbf3cb62290
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M bolt/include/bolt/Core/DebugData.h
M bolt/lib/Core/DebugData.cpp
Log Message:
-----------
[BOLT][DWARF][NFC] Expose DebugStrOffsetsWriter::clear (#82548)
Refactored cod that clears data-structures in DebugStrOffsetsWriter into
clear() function and made initialize() public. This is for
https://github.com/llvm/llvm-project/pull/81062.
Commit: f204aee1b9173ed9ae72017808f0a379c3a8de7a
https://github.com/llvm/llvm-project/commit/f204aee1b9173ed9ae72017808f0a379c3a8de7a
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/CMakeLists.txt
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Dialect/GPU/CMakeLists.txt
R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
Log Message:
-----------
[mlir][GPU] Remove the SerializeToCubin pass (#82486)
The `SerializeToCubin` pass was deprecated in September 2023 in favor of
GPU compilation attributes; see the [GPU
compilation](https://mlir.llvm.org/docs/Dialects/GPU/#gpu-compilation)
section in the `gpu` dialect MLIR docs.
This patch removes `SerializeToCubin` from the repo.
Commit: 4c0fdcdb33076e936327cb0743c827f019a8e1ff
https://github.com/llvm/llvm-project/commit/4c0fdcdb33076e936327cb0743c827f019a8e1ff
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
Log Message:
-----------
[Hexagon] Generate absolute-set load/store instructions. (#82034)
The optimization finds the loads/stores of a specific form and translate
the first load/store to an absolute-set form there by optimizing out the
transfer and eliminate the constant extenders.
Commit: d62ca8def395ac165f253fdde1d93725394a4d53
https://github.com/llvm/llvm-project/commit/d62ca8def395ac165f253fdde1d93725394a4d53
Author: Sumanth Gundapaneni <sgundapa at quicinc.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
A llvm/test/CodeGen/Hexagon/post_inc_store.mir
A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
Log Message:
-----------
[Hexagon] Optimize post-increment load and stores in loops. (#82418)
This patch optimizes the post-increment instructions so that we can
packetize them together.
v1 = phi(v0, v3')
v2,v3 = post_load v1, 4
v2',v3'= post_load v3, 4
This can be optimized in two ways
v1 = phi(v0, v3')
v2,v3' = post_load v1, 8
v2' = load v1, 4
Commit: a976e3c6959209f6f011260f64e4705ee84b47e8
https://github.com/llvm/llvm-project/commit/a976e3c6959209f6f011260f64e4705ee84b47e8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
Log Message:
-----------
[compiler-rt][Fuchsia] Propogate raw_report to UnmapOrDieVmar (#82566)
As of #77488, UnmapOrDie now accepts raw_report which allows the program
to crash without calling Report(). We should propogate this value
through UnmapOrDieVmar and have that call ReportMunmapFailureAndDie
which uses `raw_report`.
Commit: ba31a195f5f2efc17bee8cf3be4260badc578615
https://github.com/llvm/llvm-project/commit/ba31a195f5f2efc17bee8cf3be4260badc578615
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port 4c0fdcdb3307
Commit: dd6d059da5a75689666e555058ade7a83e81d29f
https://github.com/llvm/llvm-project/commit/dd6d059da5a75689666e555058ade7a83e81d29f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
Log Message:
-----------
[gn build] Port d62ca8def395
Commit: 99822be6f08e42eef38913a128996a93e8292f73
https://github.com/llvm/llvm-project/commit/99822be6f08e42eef38913a128996a93e8292f73
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in SerializationTest.cpp (NFC)
Commit: 443247993cb8562f1308aab5ee0a9404983707d0
https://github.com/llvm/llvm-project/commit/443247993cb8562f1308aab5ee0a9404983707d0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in InterfaceAttachmentTest.cpp (NFC)
Commit: df8d5c17802b162c5d20300426f03d6fb970d2a2
https://github.com/llvm/llvm-project/commit/df8d5c17802b162c5d20300426f03d6fb970d2a2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in OperationSupportTest.cpp (NFC)
Commit: fa25433d433932b1b8fd296206b1bcd974afecad
https://github.com/llvm/llvm-project/commit/fa25433d433932b1b8fd296206b1bcd974afecad
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-use-override in SerializeNVVMTarget.cpp (NFC)
Commit: 0d12628d06b8ab37157faea474548735ddb7eeb2
https://github.com/llvm/llvm-project/commit/0d12628d06b8ab37157faea474548735ddb7eeb2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-container-size-empty in SerializeNVVMTarget.cpp (NFC)
Commit: 1eeeab82c6eb185f5139e633a59c2dbcb15616e4
https://github.com/llvm/llvm-project/commit/1eeeab82c6eb185f5139e633a59c2dbcb15616e4
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
Log Message:
-----------
[lldb][test] Modernize assertEqual(value, bool) (#82526)
Any time we see the pattern `assertEqual(value, bool)`, we can replace
that with `assert<bool>(value)`. Likewise for `assertNotEqual`.
Technically this relaxes the test a bit, as we may want to make sure
`value` is either `True` or `False`, and not something that implicitly
converts to a bool. For example, `assertEqual("foo", True)` will fail,
but `assertTrue("foo")` will not. In most cases, this distinction is not
important.
There are two such places that this patch does **not** transform, since
it seems intentional that we want the result to be a bool:
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/python_api/sbstructureddata/TestStructuredDataAPI.py#L90
*
https://github.com/llvm/llvm-project/blob/5daf2001a1e4d71ce1273a1e7e31cf6e6ac37c10/lldb/test/API/commands/settings/TestSettings.py#L940
Followup to 9c2468821ec51defd09c246fea4a47886fff8c01. I patched `teyit`
with a `visit_assertEqual` node handler to generate this.
Commit: 11d115d0569b212dfeb7fe6485be48070e068e19
https://github.com/llvm/llvm-project/commit/11d115d0569b212dfeb7fe6485be48070e068e19
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Adjust test case to show wrong stride. NFC
See https://github.com/llvm/llvm-project/pull/82506#discussion_r1498080785
Commit: 7e1432f1258e229a4fcc9c017937166f0578e1f8
https://github.com/llvm/llvm-project/commit/7e1432f1258e229a4fcc9c017937166f0578e1f8
Author: Alex Langford <alangford at apple.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/include/lldb/Interpreter/Options.h
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/unittests/Interpreter/CMakeLists.txt
A lldb/unittests/Interpreter/TestOptions.cpp
Log Message:
-----------
[lldb] Standardize command option parsing error messages (#82273)
I have been looking to simplify parsing logic and improve the interfaces
so that they are both easier to use and harder to abuse. To be specific,
I am referring to functions such as `OptionArgParser::ToBoolean`: I
would like to go from its current interface to something more like
`llvm::Error<bool> ToBoolean(llvm::StringRef option_arg)`.
Through working on that, I encountered 2 inconveniences:
1. Option parsing code is not uniform. Every function writes a slightly
different error message, so incorporating an error message from the
`ToBoolean` implementation is going to be laborious as I figure out what
exactly needs to change or stay the same.
2. Changing the interface of `ToBoolean` would require a global atomic
change across all of the Command code. This would be quite frustrating
to do because of the non-uniformity of our existing code.
To address these frustrations, I think it would be easiest to first
standardize the error reporting mechanism when parsing options in
commands. I do so by introducing `CreateOptionParsingError` which will
create an error message of the shape:
Invalid value ('${option_arg}') for -${short_value} ('${long_value}'):
${additional_context}
Concretely, it would look something like this:
(lldb) breakpoint set -n main -G yay
error: Invalid value ('yay') for -G (auto-continue): Failed to parse as
boolean
After this, updating the interfaces for parsing the values themselves
should become simpler. Because this can be adopted incrementally, this
should be able to done over the course of time instead of all at once as
a giant difficult-to-review change. I've changed exactly one function
where this function would be used as an illustration of what I am
proposing.
Commit: 05af9c83f3a0d154f73d619ac1361eae05531e5e
https://github.com/llvm/llvm-project/commit/05af9c83f3a0d154f73d619ac1361eae05531e5e
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A llvm/test/TableGen/HwModeEncodeDecode2.td
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
Log Message:
-----------
[TableGen] Suppress per-HwMode duplicate instructions/tables. (#82567)
Currently, for per-HwMode encoding/decoding, those instructions that do
not have a HwMode override are duplicated into the decoder tables for
all HwModes. This includes inducing multiple tables for instructions
that are otherwise unrelated (e.g., different namespace with no
overrides at all).
This patch adds support to suppress instruction and table duplicates.
TableGen option "-gen-disassembler --suppress-per-hwmode-duplicates"
enables the suppression (off by default).
For one downstream backend with a complicated ISA and major
cross-generation encoding differences, this eliminates ~32000 duplicate
table entries at the time of this patch.
There are legitimate reasons to suppress or not suppress duplicates. If
there are relatively few non-overridden related instructions, it can be
convenient to pull them into the per-mode tables (only need to decode
the per-mode tables, slightly simpler decode function in disassembler).
On the other hand, in some backends, the opposite is true or the size is
too large to tolerate any duplication in the first place. We let the
user decide which makes sense.
This is currently off by default, though there is no reason it couldn't
be enabled by default. Any existing backends downstream using the
per-HwMode feature will function as before. Turning on the feature
requires minor modifications to their disassembler due to more/less
tables and naming.
Commit: 815644b4dd882ade2e5649d4f97c3dd6f7aea200
https://github.com/llvm/llvm-project/commit/815644b4dd882ade2e5649d4f97c3dd6f7aea200
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
Log Message:
-----------
[RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (#82506)
This fixes the miscompile reported in #82430 by telling
isSimpleVIDSequence to sign extend to XLen instead of the width of the
indices, since the "sequence" of indices generated by a strided load
will be at XLen.
This was the simplest way I could think of getting isSimpleVIDSequence
to treat the indexes as if they were zero extended to XLenVT.
Another way we could do this is by refactoring out the "get constant
integers" part from isSimpleVIDSequence and handle them as APInts so we
can separately zero extend it.
Fixes #82430
Commit: db7e9e68411de074dee78c92657e983da4b89500
https://github.com/llvm/llvm-project/commit/db7e9e68411de074dee78c92657e983da4b89500
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-write-buffer-internal.c
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Instrumentation/InstrProfiling/coverage.ll
M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/Transforms/PGOProfile/comdat_internal.ll
M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
A llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
Log Message:
-----------
[TypeProf][InstrPGO] Introduce raw and instr profile format change for type profiling. (#81691)
* Raw profile format
- Header: records the byte size of compressed vtable names, and the
number of profiled vtable entries (call it `VTableProfData`). Header
also records padded bytes of each section.
- Payload: adds a section for compressed vtable names, and a section to
store `VTableProfData`. Both sections are padded so the size is a
multiple of 8.
* Indexed profile format
- Header: records the byte offset of compressed vtable names.
- Payload: adds a section to store compressed vtable names. This section
is used by `llvm-profdata` to show the list of vtables profiled for an
instrumented site.
[The originally reviewed
patch](https://github.com/llvm/llvm-project/pull/66825) will have
profile reader/write change and llvm-profdata change.
- To ensure this PR has all the necessary profile format change along
with profile version bump, created a copy of the originally reviewed
patch in https://github.com/llvm/llvm-project/pull/80761. The copy
doesn't have profile format change, but it has the set of tests which
covers type profile generation, profile read and profile merge. Tests
pass there.
rfc in
https://discourse.llvm.org/t/rfc-dynamic-type-profiling-and-optimizations-in-llvm/74600
---------
Co-authored-by: modiking <modiking213 at gmail.com>
Commit: 4d73cbe863886add6742a8ebd00d19c1cab11095
https://github.com/llvm/llvm-project/commit/4d73cbe863886add6742a8ebd00d19c1cab11095
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M llvm/lib/ProfileData/InstrProfWriter.cpp
Log Message:
-----------
[nfc]remove unused variable after pr/81691 (#82578)
* `N` became unused after [pull request 81691](https://github.com/llvm/llvm-project/pull/81691)
* This should fix the build bot failure of `unused variable`
https://lab.llvm.org/buildbot/#/builders/77/builds/34840
Commit: 0e8d1877cd145719b7acb707539287b7b877a555
https://github.com/llvm/llvm-project/commit/0e8d1877cd145719b7acb707539287b7b877a555
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingMerge.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/test/profile/instrprof-write-buffer-internal.c
M llvm/include/llvm/ProfileData/InstrProf.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/test/Instrumentation/InstrProfiling/coverage.ll
M llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/Transforms/PGOProfile/comdat_internal.ll
M llvm/test/tools/llvm-profdata/Inputs/c-general.profraw
M llvm/test/tools/llvm-profdata/Inputs/compressed.profraw
R llvm/test/tools/llvm-profdata/Inputs/thinlto_indirect_call_promotion.profraw
M llvm/test/tools/llvm-profdata/binary-ids-padding.test
M llvm/test/tools/llvm-profdata/large-binary-id-size.test
M llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
M llvm/test/tools/llvm-profdata/malformed-num-counters-zero.test
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M llvm/test/tools/llvm-profdata/misaligned-binary-ids-size.test
M llvm/test/tools/llvm-profdata/mismatched-raw-profile-header.test
M llvm/test/tools/llvm-profdata/raw-32-bits-be.test
M llvm/test/tools/llvm-profdata/raw-32-bits-le.test
M llvm/test/tools/llvm-profdata/raw-64-bits-be.test
M llvm/test/tools/llvm-profdata/raw-64-bits-le.test
M llvm/test/tools/llvm-profdata/raw-two-profiles.test
Log Message:
-----------
Revert type profiling change as compiler-rt test break on Windows. (#82583)
Examples
https://lab.llvm.org/buildbot/#/builders/127/builds/62532/steps/8/logs/stdio
Commit: 386aa7b16977150da917a78423fd05cb19609850
https://github.com/llvm/llvm-project/commit/386aa7b16977150da917a78423fd05cb19609850
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Replace `vector.shuffle` with `vector.interleave` in vector narrow type emulation (#82550)
This PR replaces the generation of `vector.shuffle` with
`vector.interleave` in the i4 conversions in vector narrow type
emulation. The multi dimensional semantics of `vector.interleave` allow
us to enable these conversion emulations also for multi dimensional
vectors.
Commit: 675791335285fa86434dc46e5c92f543e0e79d19
https://github.com/llvm/llvm-project/commit/675791335285fa86434dc46e5c92f543e0e79d19
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
Log Message:
-----------
[lldb][test] Fix PythonDataObjectsTest
This is using `FileSystem::Instance()` w/o calling `FileSystem::Initialize()`. Use `SubsystemRAII` to do that.
Commit: 6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
https://github.com/llvm/llvm-project/commit/6676f67e3103bb6779d226de6bb4f0f8f8ab99f2
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Remove stub target which is not needed anymore.
Commit: bc1c86b810e518a8e3fa90d5c26908c43788873d
https://github.com/llvm/llvm-project/commit/bc1c86b810e518a8e3fa90d5c26908c43788873d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Also remove SerializeToCubin target.
Commit: 7e97ae35ae2d1c38d149e670139a538bdba86e93
https://github.com/llvm/llvm-project/commit/7e97ae35ae2d1c38d149e670139a538bdba86e93
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/make-compressible.mir
Log Message:
-----------
[RISCV] Teach RISCVMakeCompressible handle Zca/Zcf/Zce/Zcd. (#81844)
Make targets which don't have C but have Zca/Zcf/Zce/Zcd benefit from
this pass.
Commit: edd4aee4dd9b5b98b2576a6f783e4086173d902a
https://github.com/llvm/llvm-project/commit/edd4aee4dd9b5b98b2576a6f783e4086173d902a
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Compute integers once in isSimpleVIDSequence. NFCI (#82590)
We need to iterate through the integers twice in isSimpleVIDSequence, so
instead of computing them twice just compute them once at the start.
This also replaces the individual checks that each element is constant
with a single call to BuildVectorSDNode::isConstant.
Commit: e899641df2391179e8ec29ca14c53b09ae7ce85c
https://github.com/llvm/llvm-project/commit/e899641df2391179e8ec29ca14c53b09ae7ce85c
Author: martinboehme <mboehme at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Fix inaccuracies in `buildStmtToBasicBlockMap()`. (#82496)
See the comments added to the code for details on the inaccuracies that
have
now been fixed.
The patch adds tests that fail with the old implementation.
Commit: 8bd327d6fed5a4ae99bdbd039f5503700030cf53
https://github.com/llvm/llvm-project/commit/8bd327d6fed5a4ae99bdbd039f5503700030cf53
Author: Nick Anderson <nickleus27 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir
Log Message:
-----------
[AMDGPU][GlobalISel] Add fdiv / sqrt to rsq combine (#78673)
Fixes #64743
Commit: fde344aef20bc4280f01294ac6e14a5c2db2d572
https://github.com/llvm/llvm-project/commit/fde344aef20bc4280f01294ac6e14a5c2db2d572
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect conversion: Improve signature conversion API (#81997)
This commit improves the block signature conversion API of the dialect
conversion.
There is the following comment in
`ArgConverter::applySignatureConversion`:
```
// If no arguments are being changed or added, there is nothing to do.
```
However, the implementation actually used to replace a block with a new
block even if the block argument types do not change (i.e., there is
"nothing to do"). This is fixed in this commit. The documentation of the
public `ConversionPatternRewriter` API is updated accordingly.
This commit also removes a check that used to *sometimes* skip a block
signature conversion if the block was already converted. This is not
consistent with the public `ConversionPatternRewriter` API; blocks
should always be converted, regardless of whether they were already
converted or not.
Block signature conversion also used to be silently skipped when the
specified block was detached. Instead of silently skipping, an assertion
is triggered. Attempting to convert a detached block (which is likely an
erased block) is invalid API usage.
Commit: 25e7e8d993f12f391ad90d23b5c3e2385ebafc81
https://github.com/llvm/llvm-project/commit/25e7e8d993f12f391ad90d23b5c3e2385ebafc81
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
Log Message:
-----------
[CGP] Permit tail call optimization on undefined return value
We may freely allow tail call optzs on undef values as well.
Fixes: https://github.com/llvm/llvm-project/issues/82387.
Commit: c5253aa136ac6ba683b367b2bae0dde1a543d1df
https://github.com/llvm/llvm-project/commit/c5253aa136ac6ba683b367b2bae0dde1a543d1df
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
Log Message:
-----------
[AArch64] Restore Z-registers before P-registers (#79623) (#82492)
This is needed by PR#77665[1] that uses a P-register while restoring
Z-registers.
The reverse for SVE register restore in the epilogue was added to
guarantee performance, but further work was done to improve sve frame
restore and besides that the schedule also may change the order of the
restore, undoing the reverse restore.
This also fix the problem reported in (PR #79623) on Windows with
std::reverse and .base().
[1]https://github.com/llvm/llvm-project/pull/77665
Commit: 55558cd05c998f1b287b0af97aa6db0db0bdfaa0
https://github.com/llvm/llvm-project/commit/55558cd05c998f1b287b0af97aa6db0db0bdfaa0
Author: Matthias Springer <me at m-sp.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Turn block type conversion into `IRRewrite` (#81756)
This commit is a refactoring of the dialect conversion. The dialect
conversion maintains a list of "IR rewrites" that can be committed (upon
success) or rolled back (upon failure).
Until now, the signature conversion of a block was only a "partial" IR
rewrite. Rollbacks were triggered via
`BlockTypeConversionRewrite::rollback`, but there was no
`BlockTypeConversionRewrite::commit` equivalent.
Overview of changes:
* Remove `ArgConverter`, an internal helper class that kept track of all
block type conversions. There is now a separate
`BlockTypeConversionRewrite` for each block type conversion.
* No more special handling for block type conversions. They are now
normal "IR rewrites", just like "block creation" or "block movement". In
particular, trigger "commits" of block type conversion via
`BlockTypeConversionRewrite::commit`.
* Remove `ArgConverter::notifyOpRemoved`. This function was used to
inform the `ArgConverter` that an operation was erased, to prevent a
double-free of operations in certain situations. It would be unpractical
to add a `notifyOpRemoved` API to `IRRewrite`. Instead, erasing
ops/block should go through a new `SingleEraseRewriter` (that is owned
by the `ConversionPatternRewriterImpl`) if there is chance of
double-free. This rewriter ignores `eraseOp`/`eraseBlock` if the
op/block was already freed.
Commit: fddf23c6f4478fc39b0077538d288082f983ce80
https://github.com/llvm/llvm-project/commit/fddf23c6f4478fc39b0077538d288082f983ce80
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
Log Message:
-----------
[SPIRV] Add support for the SPV_KHR_subgroup_rotate extension (#82374)
This PR adds support for the SPV_KHR_subgroup_rotate extension that
enables rotating values across invocations within a subgroup:
*
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/KHR/SPV_KHR_subgroup_rotate.asciidoc
Commit: 6cca23a3b91e12c0b6639449bc1e5eb564067db3
https://github.com/llvm/llvm-project/commit/6cca23a3b91e12c0b6639449bc1e5eb564067db3
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll
Log Message:
-----------
[SPIRV] Prevent creation of jump tables from switch (#82287)
This PR is to prevent creation of jump tables from switch. The reason is
that SPIR-V doesn't know how to lower jump tables, and a sequence of
commands that IRTranslator generates for switch via jump tables breaks
SPIR-V Backend code generation with complains to G_BRJT. The next
example is the shortest code to break SPIR-V Backend code generation in
this way:
```
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64"
target triple = "spir64-unknown-unknown"
define spir_func void @foo(i32 noundef %val) {
entry:
switch i32 %val, label %sw.epilog [
i32 0, label %sw.bb
i32 1, label %sw.bb2
i32 2, label %sw.bb3
i32 3, label %sw.bb4
]
sw.bb:
br label %sw.epilog
sw.bb2:
br label %sw.epilog
sw.bb3:
br label %sw.epilog
sw.bb4:
br label %sw.epilog
sw.epilog:
ret void
}
```
To resolve the issue we set a high lower limit for number of blocks in a
jump table via getMinimumJumpTableEntries() and prevent undesirable (or
rather unsupported at the moment) path of code generation.
Commit: bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
https://github.com/llvm/llvm-project/commit/bcbffd99c48ed0cabd1b94e9ff252680f0968fc3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU] Split Dpp8FI and Dpp16FI operands (#82379)
Split Dpp8FI and Dpp16FI into two different operands sharing an
AsmOperandClass. They are parsed and rendered identically as fi:1 but
the encoding is different: for DPP16 FI is a single bit, but for DPP8 it
uses two different special values in the src0 field. Having a dedicated
decoder for Dpp8FI allows it to reject other (non-special) src0 values
so that AMDGPUDisassembler::getInstruction no longer needs to call
isValidDPP8 to do post hoc validation of decoded DPP8 instructions.
Commit: 6193233540e55de61baeb80208b06c6808b14dbc
https://github.com/llvm/llvm-project/commit/6193233540e55de61baeb80208b06c6808b14dbc
Author: Yury Gribov <tetra2005 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
Log Message:
-----------
[AArch64] Fix sched model for TSV110 core. (#82343)
Accumulator operand of MADD instruction can be bypassed from another
MUL-like operation. Before this fix bypassing was incorrectly applied to
multiplier operand.
Co-authored-by: Yury Gribov <gribov.yuri at huawei.com>
Commit: 4a602d9250e1eb3c729d0421d11be2be8693cbf2
https://github.com/llvm/llvm-project/commit/4a602d9250e1eb3c729d0421d11be2be8693cbf2
Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
Log Message:
-----------
Add support for the SPV_INTEL_usm_storage_classes extension (#82247)
Add support for the SPV_INTEL_usm_storage_classes extension:
*
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_usm_storage_classes.asciidoc
Commit: f01719afaae9a208ac272d99760d18e4c16d9241
https://github.com/llvm/llvm-project/commit/f01719afaae9a208ac272d99760d18e4c16d9241
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
Log Message:
-----------
[mlir][test] Add integration tests for vector.interleave (#80969)
Commit: e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
https://github.com/llvm/llvm-project/commit/e4d4ebe0415b9f1fd8cb034ac68f0616f12facf2
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
Log Message:
-----------
[llvm][llvm-jitlink] Disable test on Windows on Arm
This fails on one of our bots:
https://lab.llvm.org/buildbot/#/builders/120/builds/6309
llvm-jitlink error: Unsupported target machine architecture in COFF object
The other bot doesn't run the test at all it seems but I can't explain
why. It's also possible that I'm mistaken and the mostly native but still
"cross compiling" setup we have on WoA means an x86 object is produced sometimes
(perhaps because a default triple is still x86).
Commit: b9ce237980b5a636e87e3578609c812833f7537f
https://github.com/llvm/llvm-project/commit/b9ce237980b5a636e87e3578609c812833f7537f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Log Message:
-----------
[AMDGPU] Clean up conversion of DPP instructions in AMDGPUDisassembler (#82480)
Convert DPP instructions after all calls to tryDecodeInst, just like we
do for all other instruction types. NFCI.
Commit: 4f12f47550eee85447c9ec37d27a20c6593d3d40
https://github.com/llvm/llvm-project/commit/4f12f47550eee85447c9ec37d27a20c6593d3d40
Author: Harald van Dijk <harald at gigawatt.nl>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
Log Message:
-----------
[AArch64] Switch to soft promoting half types. (#80576)
The traditional promotion is known to generate wrong code.
Like #80440 for ARM, except that far less is affected as on AArch64,
hardware floating point support always includes FP16 support and is
unaffected by these changes. This only affects `-mgeneral-regs-only`
(Clang) / `-mattr=-fp-armv8` (LLVM).
Because this only affects a configuration where no FP support is
available at all, `useFPRegsForHalfType()` has no effect and is not
specified: `f32` was getting legalized as a parameter and return type to
an integer anyway.
Commit: 3b7d43301e3662da4197cef7948c18fab850d9c4
https://github.com/llvm/llvm-project/commit/3b7d43301e3662da4197cef7948c18fab850d9c4
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
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/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Remove DPP DecoderNamespaces. NFC. (#82491)
Now that there is no special checking for valid DPP encodings, these
instructions can use the same DecoderNamespace as other 64- or 96-bit
instructions.
Also clean up setting DecoderNamespace: in most cases it should be set
as a pair with AssemblerPredicate.
Commit: f17e4151423a798c18533080fe7f8a3e922d7312
https://github.com/llvm/llvm-project/commit/f17e4151423a798c18533080fe7f8a3e922d7312
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
Log Message:
-----------
[AArch64] Mangle names of all ARM64EC functions with entry thunks (#80996)
This better matches MSVC output in cases where static functions have their addresses taken.
Commit: 1f99a450127c2404d4f9b8ac24acdb17823c988b
https://github.com/llvm/llvm-project/commit/1f99a450127c2404d4f9b8ac24acdb17823c988b
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
Log Message:
-----------
[AArch64] Remove unused ReverseCSRRestoreSeq option. (#82326)
This patch removes the `-reverse-csr-restore-seq` option from
AArch64FrameLowering, since this is no longer used.
This patch was reverted because of a crash in PR#79623.
Merging it back as it was fixed in PR#82492.
Commit: 4235e44d4c37ca738c74def05da8caf124d2464e
https://github.com/llvm/llvm-project/commit/4235e44d4c37ca738c74def05da8caf124d2464e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
Log Message:
-----------
[GlobalISel] Constant-fold G_PTR_ADD with different type sizes (#81473)
All other opcodes in the list are constrained to have the same type on
both operands, but not G_PTR_ADD.
Fixes #81464
Commit: 3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
https://github.com/llvm/llvm-project/commit/3ef63a71adb7fd1c792fd61d00c74159fcef9a2f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Log Message:
-----------
[CVP] Refactor `processMinMaxIntrinsic` to check non-strict predicate in both directions (#82596)
This patch uses `getConstantRangeAtUse` in `processMinMaxIntrinsic` to
address the comment
https://github.com/llvm/llvm-project/pull/82478#discussion_r1497300920.
After this patch we can reuse the range result in
https://github.com/llvm/llvm-project/pull/82478.
Commit: c831d83bb17caa3a8f137052559cb6c54b21b7c1
https://github.com/llvm/llvm-project/commit/c831d83bb17caa3a8f137052559cb6c54b21b7c1
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll
Log Message:
-----------
[InferAddrSpaces] Correctly replace identical operands of insts (#82610)
It's important for PHI nodes because if a PHI node has multiple edges
coming from the same block, we can have the same incoming value multiple
times in the list of incoming values. All of those need to be consistent
(exact same Value*) otherwise verifier complains.
Fixes SWDEV-445797
Commit: 73c646a3b27293f8cb4ba120de7bc01c223b4b5f
https://github.com/llvm/llvm-project/commit/73c646a3b27293f8cb4ba120de7bc01c223b4b5f
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
Log Message:
-----------
[flang] Fix warning when with clang-cl/msvc
\llvm\flang\lib\Evaluate\fold-integer.cpp(705,35): warning: lambda capture 'FromInt64' is not used [-Wunused-lambda-capture]
It is intentionally unused.
Commit: 18f116651af0e328e6f9f6b0619171bd8a2c4817
https://github.com/llvm/llvm-project/commit/18f116651af0e328e6f9f6b0619171bd8a2c4817
Author: pwprzybyla <121295298+pwprzybyla at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
Log Message:
-----------
Multilib support for libraries with exceptions (#75031)
For better multilib matching explicitly match -fno-rtti and -fno-exceptions
Commit: b47f63d3c8fedf7c98b7f58e892e784fddee4601
https://github.com/llvm/llvm-project/commit/b47f63d3c8fedf7c98b7f58e892e784fddee4601
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
Log Message:
-----------
[Clang][SME] Detect always_inline used with mismatched streaming attributes (#77936)
This patch adds an error that is emitted when a streaming function is
marked as always_inline and is called from a non-streaming function.
Commit: fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
https://github.com/llvm/llvm-project/commit/fa8a21144ec9a6836e9bf1e3bf5cd0b2f058209e
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/test/Analysis/out-of-bounds.c
Log Message:
-----------
[analyzer] Improve handling of unsigned values in ArrayBoundCheckerV2 (#81034)
A memory access is an out of bounds error if the offset is < the extent
of the memory region. Notice that here "<" is a _mathematical_
comparison between two numbers and NOT a C/C++ operator that compares
two typed C++ values: for example -1 < 1000 is true in mathematics, but
if the `-1` is an `int` and the `1000` is a `size_t` value, then
evaluating the C/C++ operator `<` will return false because the `-1`
will be converted to `SIZE_MAX` by the automatic type conversions.
This means that it's incorrect to perform a bounds check with
`evalBinOpNN(State, BO_LT, ...)` which performs automatic conversions
and can produce wildly incorrect results.
ArrayBoundsCheckerV2 already had a special case where it avoided calling
`evalBinOpNN` in a situation where it would have performed an automatic
conversion; this commit replaces that code with a more general one that
covers more situations. (It's still not perfect, but it's better than
the previous version and I think it will cover practically all
real-world code.)
Note that this is not a limitation/bug of the simplification algorithm
defined in `getSimplifedOffsets()`: the simplification is not applied in
the test case `test_comparison_with_extent_symbol` (because the `Extent`
is not a concrete int), but without the new code it would still run into
a `-1 < UNSIGNED` comparison that evaluates to false because
`evalBinOpNN` performs an automatic type conversion.
Commit: afa8a2eed0c4ca61ac19abd88022e63e58408af1
https://github.com/llvm/llvm-project/commit/afa8a2eed0c4ca61ac19abd88022e63e58408af1
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
Log Message:
-----------
[analyzer] Remove superfluous #include "CallDescription.h" (NFC) (#82614)
To fix https://github.com/llvm/llvm-project/issues/81597, I'm planning
to refactor the usage of CallDescription; and as I was preparing for
this I noticed that there are two superfluous references to this header.
Commit: 770fd3856660fea6cbaa78d9cb1f03cc92611783
https://github.com/llvm/llvm-project/commit/770fd3856660fea6cbaa78d9cb1f03cc92611783
Author: Ian Hickson <ian at hixie.ch>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Document string literals in LLVM's format (#82529)
Commit: 5b8e5604c297aa8fd09bf641d12d0a663e0ea801
https://github.com/llvm/llvm-project/commit/5b8e5604c297aa8fd09bf641d12d0a663e0ea801
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/aix-builtin-cpu-is.c
A clang/test/Sema/aix-builtin-cpu-unsupports.c
M llvm/include/llvm/TargetParser/PPCTargetParser.def
Log Message:
-----------
[AIX] Lower intrinsic __builtin_cpu_is into AIX platform-specific code. (#80069)
On AIX OS, __builtin_cpu_is() references the runtime external variable
_system_configuration from /usr/include/sys/systemcfg.h.
ref issue: https://github.com/llvm/llvm-project/issues/80042
Commit: cbb24e139d0753d755d17fbe6bfac48ab44d0721
https://github.com/llvm/llvm-project/commit/cbb24e139d0753d755d17fbe6bfac48ab44d0721
Author: Paul Walker <paul.walker at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
A llvm/test/Bitcode/constant-splat.ll
Log Message:
-----------
[LLVM][IR] Add native vector support to ConstantInt & ConstantFP. (#74502)
NOTE: For brevity the following talks about ConstantInt but
everything extends to cover ConstantFP as well.
Whilst ConstantInt::get() supports the creation of vectors whereby
each lane has the same value, it achieves this via other constants:
* ConstantVector for fixed-length vectors
* ConstantExprs for scalable vectors
However, ConstantExprs are being deprecated and ConstantVector is
not space efficient for larger vector types. By extending ConstantInt
we can represent vector splats by only storing the underlying scalar
value.
More specifically:
* ConstantInt gains an ElementCount variant of get().
* LLVMContext is extended to map <EC,APInt>->ConstantInt.
* BitcodeReader/Writer support is extended to allow vector types.
Whilst this patch adds the base support, more work is required
before it's production ready. For example, there's likely to be
many places where isa<ConstantInt> assumes a scalar type. Accordingly
the default behaviour of ConstantInt::get() remains unchanged but a
set of flags are added to allow wider testing and thus help with the
migration:
--use-constant-int-for-fixed-length-splat
--use-constant-fp-for-fixed-length-splat
--use-constant-int-for-scalable-splat
--use-constant-fp-for-scalable-splat
NOTE: No change is required to the bitcode format because types and
values are handled separately.
NOTE: For similar reasons as above, code generation doesn't work
out-the-box.
Commit: 88e31f64a034ec6dead2106016ee5b797674edb0
https://github.com/llvm/llvm-project/commit/88e31f64a034ec6dead2106016ee5b797674edb0
Author: Matt <MattPD at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
A llvm/test/Transforms/OpenMP/deduplication_soundness.ll
Log Message:
-----------
[OpenMP][FIX] Remove unsound omp_get_thread_limit deduplication (#79524)
The deduplication of the calls to `omp_get_thread_limit` used to be
legal when originally added in
<https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123>,
as the result (thread_limit) was immutable.
However, now that we have `thread_limit` clause, we no longer have
immutability; therefore `omp_get_thread_limit()` is not a deduplicable
runtime call.
Thus, removing `omp_get_thread_limit` from the
`DeduplicableRuntimeCallIDs` array.
Here's a simple example:
```
#include <omp.h>
#include <stdio.h>
int main()
{
#pragma omp target thread_limit(4)
{
printf("\n1:target thread_limit: %d\n", omp_get_thread_limit());
}
#pragma omp target thread_limit(3)
{
printf("\n2:target thread_limit: %d\n", omp_get_thread_limit());
}
return 0;
}
```
GCC-compiled binary execution: https://gcc.godbolt.org/z/Pjv3TWoTq
```
1:target thread_limit: 4
2:target thread_limit: 3
```
Clang/LLVM-compiled binary execution:
https://clang.godbolt.org/z/zdPbrdMPn
```
1:target thread_limit: 4
2:target thread_limit: 4
```
By my reading of the OpenMP spec GCC does the right thing here; cf.
<https://www.openmp.org/spec-html/5.2/openmpse12.html#x34-330002.4>:
> If a target construct with a thread_limit clause is encountered, the
thread-limit-var ICV from the data environment of the generated initial
task is instead set to an implementation defined value between one and
the value specified in the clause.
The common subexpression elimination (CSE) of the second call to
`omp_get_thread_limit` by LLVM does not seem to be correct, as it's not
an available expression at any program point(s) (in the scope of the
clause in question) after the second target construct with a
`thread_limit` clause is encountered.
Compiling with `-Rpass=openmp-opt -Rpass-analysis=openmp-opt
-Rpass-missed=openmp-opt` we have:
https://clang.godbolt.org/z/G7dfhP7jh
```
<source>:8:42: remark: OpenMP runtime call omp_get_thread_limit deduplicated. [OMP170] [-Rpass=openmp-opt]
8 | printf("\n1:target thread_limit: %d\n",omp_get_thread_limit());
| ^
```
OMP170 has the following explanation:
https://openmp.llvm.org/remarks/OMP170.html
> This optimization remark indicates that a call to an OpenMP runtime
call was replaced with the result of an existing one. This occurs when
the compiler knows that the result of a runtime call is immutable.
Removing duplicate calls is done by replacing all calls to that function
with the result of the first call. This cannot be done automatically by
the compiler because the implementations of the OpenMP runtime calls
live in a separate library the compiler cannot see.
This optimization will trigger for known OpenMP runtime calls whose
return value will not change.
At the same time I do not believe we have an analysis checking whether
this precondition holds here: "This occurs when the compiler knows that
the result of a runtime call is immutable."
AFAICT, such analysis doesn't appear to exist in the original patch
introducing deduplication, either:
-
https://github.com/llvm/llvm-project/commit/9548b74a831ea005649465797f359e0521f3b8a9
- https://reviews.llvm.org/D69930
The fix is to remove it from `DeduplicableRuntimeCallIDs`, effectively
reverting the addition in this commit (noting that `omp_get_max_threads`
is not present in `DeduplicableRuntimeCallIDs`, so it's possible this
addition was incorrect in the first place):
- [OpenMP][Opt] Annotate known runtime functions and deduplicate more,
-
https://github.com/llvm/llvm-project/commit/e28936f6137c5a9c4f7673e248c192a9811543b6#diff-de101c82aff66b2bda2d1f53fde3dde7b0d370f14f1ff37b7919ce38531230dfR123
As a result, we're no longer unsoundly deduplicating the OpenMP runtime
call `omp_get_thread_limit` as illustrated by the test case: Note the
(correctly) repeated `call i32 @omp_get_thread_limit()`.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d3f6dd6585f4866a38a794b80db55a62c1050c77
https://github.com/llvm/llvm-project/commit/d3f6dd6585f4866a38a794b80db55a62c1050c77
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
Log Message:
-----------
[InstCombine] Pick bfloat over half when shrinking ops that started with an fpext from bfloat (#82493)
This fixes the case where we would shrink an frem to half and then
bitcast to bfloat, producing invalid results. The transformation was
written under the assumption that there is only one type with a given
bit width.
Also add a strategic assert to CastInst::CreateFPCast to turn this
miscompilation into a crash.
Commit: 9dbedcac1243e8e99103bdff37da51dded67b766
https://github.com/llvm/llvm-project/commit/9dbedcac1243e8e99103bdff37da51dded67b766
Author: Petr Hosek <phosek at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[build] Check RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES for libc also (#82561)
When checking whether we need to build libc-hdrgen, we need to check
LLVM_ENABLE_RUNTIMES and RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES, just
the former is not sufficient since libc may be enabled only for certain
targets.
Commit: cf8fc53a96f844328be8d20435c5b4151a7b8f92
https://github.com/llvm/llvm-project/commit/cf8fc53a96f844328be8d20435c5b4151a7b8f92
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/test/Semantics/OpenMP/device-constructs.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][LLVM][OpenMP] Relax target data restrictions to be more inline with the specification (#82537)
Currently we emit errors whenever a map is not provided on a target data
directive, however, I believe that's incorrect behavior, the
specification states:
"At least one map, use_device_addr or use_device_ptr clause must appear
on the directive"
So provided one is present, the directive is legal in this case.
Slightly different to its siblings (enter/exit/update) which don't have
use_device_addr/use_device_ptr.
Commit: 27498e9942dbb8dd005588a03d6777088d2255ce
https://github.com/llvm/llvm-project/commit/27498e9942dbb8dd005588a03d6777088d2255ce
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/struct.f90
Log Message:
-----------
[Flang][OpenMP] Prevent ICE for certain constructs in unnamed programs (#73938)
This patch fixes #72748 by modifying the processing of program units to
search for a symbol to which OpenMP REQUIRES clauses can bind to. Rather
than picking up the first PFT node with a source reference and getting
its associated scope, it picks up the last one.
This avoids using the source from the first specification construct of
a nameless program, which can sometimes not be associated to any scope,
causing an ICE due to an invalid source location.
Commit: 8e28037374934c60602cb8c85874f443e3348b9e
https://github.com/llvm/llvm-project/commit/8e28037374934c60602cb8c85874f443e3348b9e
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[SystemZ] Add SystemZ path for the PR labeler (#82515)
Similar to #82200:
Add paths for SystemZ related changes to the PR labeler.
There is no pr-subscribers-backend:SystemZ team in the llvm org yet.
Much appreciated if some admin can help to create the team.
Commit: 307409a8872ff27339d5d5c6a7e7777254972f34
https://github.com/llvm/llvm-project/commit/307409a8872ff27339d5d5c6a7e7777254972f34
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M flang/lib/Evaluate/fold-integer.cpp
Log Message:
-----------
[flang] Fix warning fix
This fixes 73c646a3b27293f8cb4ba120de7bc01c223b4b5f.
I misread the #ifdefs and didn't realise that they were in
the middle of passing parameters to a function.
Move the workaround outside this.
Commit: 20434bf3731389773fb8569889bd5d06375683bf
https://github.com/llvm/llvm-project/commit/20434bf3731389773fb8569889bd5d06375683bf
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
Log Message:
-----------
[RemoveDIs][NFC] Add DPLabel class [2/3] (#82376)
Patch 2 of 3 to add llvm.dbg.label support to the RemoveDIs project. The
patch stack adds the DPLabel class, which is the RemoveDIs
llvm.dbg.label
equivalent.
1. Add DbgRecord base class for DPValue and the not-yet-added
DPLabel class.
-> 2. Add the DPLabel class.
3. Enable dbg.label conversion and add support to passes.
This will be used (and tested) in the final patch(es), coming next.
Commit: 601c9bec736739da9160092ef60e3468266816bd
https://github.com/llvm/llvm-project/commit/601c9bec736739da9160092ef60e3468266816bd
Author: Victor Campos <victor.campos at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Headers/arm_acle.h
Log Message:
-----------
[clang][NFC] Fix arm_acle.h title headers (#82624)
Fix some title headers to align them with the actual ACLE document.
Commit: 08eced5fccd2f103379292f119834a7a3c3b6b25
https://github.com/llvm/llvm-project/commit/08eced5fccd2f103379292f119834a7a3c3b6b25
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
Log Message:
-----------
[mlir][test] Add -march=aarch64 -mattr=+sve to test-scalable-interleave
Fix for https://lab.llvm.org/buildbot/#/builders/179/builds/9438
Commit: 695a9d84dc1dd003c31d3e5e22af3525c31218c2
https://github.com/llvm/llvm-project/commit/695a9d84dc1dd003c31d3e5e22af3525c31218c2
Author: Ramkumar Ramachandra <r at artagnon.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: add test for crash in #72969 (#74111)
Commit: 9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
https://github.com/llvm/llvm-project/commit/9eb5f94f9b47154cf07160a6ba74ab1c31becfa3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[RISCV][AArch64] Add vscale_range attribute to tests per architecture minimums
Spent a bunch of time tracing down an odd issue "in SCEV" which turned out
to be the fact that SCEV doesn't have access to TTI. As a result, the only
way for it to get range facts on vscales (to avoid collapsing ranges of
element counts and type sizes to trivial ranges on multiplies) is to look
at the vscale_range attribute. Since vscale_range is set by clang by
default, manually setting it in the tests shouldn't interfere with the
test intent.
Commit: 0107c8824b695db86706bbc3466bbfd585a754aa
https://github.com/llvm/llvm-project/commit/0107c8824b695db86706bbc3466bbfd585a754aa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV][SDAG] Improve codegen of select with constants if zicond is available (#82456)
This patch uses `add + czero.eqz/nez` to lower select with constants if
zicond is available.
```
(select c, c1, c2) -> (add (czero_nez c2 - c1, c), c1)
(select c, c1, c2) -> (add (czero_eqz c1 - c2, c), c2)
```
The above code sequence is suggested by [RISCV Optimization
Guide](https://riscv-optimization-guide-riseproject-c94355ae3e6872252baa952524.gitlab.io/riscv-optimization-guide.html#_avoid_branches_using_conditional_moves).
Commit: 43f1fa99ca7d05be9545a102e15ad0d607887839
https://github.com/llvm/llvm-project/commit/43f1fa99ca7d05be9545a102e15ad0d607887839
Author: cmtice <cmtice at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
Log Message:
-----------
[LLVM][DebugInfo] Refactor some code for easier sharing. (#82153)
Refactor the code that calculates the offsets for the various pieces of
the DWARF .debug_names index section, to make it easier to share the
code with other tools, such as LLD.
Commit: f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
https://github.com/llvm/llvm-project/commit/f67ef1a8d9841718ce08a69d935ac8fd8e6112f9
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
Log Message:
-----------
[RISCV][LV] Add additional small trip count loop coverage
Commit: c9afd1ad783a67210bed4fd2f7108477fc986e15
https://github.com/llvm/llvm-project/commit/c9afd1ad783a67210bed4fd2f7108477fc986e15
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[RISCV] Add test case showing missed opportunity to form sextload when sext and zext nneg are both present. NFC
Commit: a51f4afc5aec8145091fead1d68c81e7d210fc0d
https://github.com/llvm/llvm-project/commit/a51f4afc5aec8145091fead1d68c81e7d210fc0d
Author: Shimin Cui <scui at ca.ibm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
M llvm/test/Transforms/HotColdSplit/eh-pads.ll
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll
Log Message:
-----------
[HCS] Externd to outline overlapping sub/super cold regions (#80732)
Currently, with hot cold splitting, when a cold region is identified, it
is added to the region list of ColdBlocks. Then when another cold region
(B) identified overlaps with a ColdBlocks region (A) already added to
the list, the region B is not added to the list because of the
overlapping with region A. The splitting analysis is performed, and the
region A may not get split, for example, if it’s considered too
expansive. This is to improve the handling the overlapping case when the
region A is not considered good for splitting, while the region B is
good for splitting.
The change is to move the cold region splitting analysis earlier to
allow more cold region splitting. If an identified region cannot be
split, it will not be added to the candidate list of ColdBlocks for
overlapping check.
Commit: c1716e3fcf4e43b4a328731920f76b2fce9485d0
https://github.com/llvm/llvm-project/commit/c1716e3fcf4e43b4a328731920f76b2fce9485d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
Log Message:
-----------
[DAGCombiner][RISCV] CSE zext nneg and sext. (#82597)
If we have a sext and a zext nneg with the same types and operand
we should combine them into the sext. We can't go the other way
because the nneg flag may only be valid in the context of the uses
of the zext nneg.
Commit: 5b53fa04db33a931b843b32946065490513484bf
https://github.com/llvm/llvm-project/commit/5b53fa04db33a931b843b32946065490513484bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
Log Message:
-----------
[RISCV] Enable -riscv-enable-sink-fold by default. (#82026)
AArch64 has had it enabled since late November, so hopefully the main
issues have been resolved.
I see a small reduction in dynamic instruction count on every benchmark
in specint2017. The best improvement was 0.3% so nothing amazing.
Commit: 26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
https://github.com/llvm/llvm-project/commit/26cc6f126a3b25644c595b3a5a0417b1e1ab42a8
Author: Erich Keane <ekeane at nvidia.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Scope.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaOpenACC/no-branch-in-out.c
Log Message:
-----------
[OpenACC] Implement 'break' and 'continue' errors for Compute Cnstrcts (#82543)
OpenACC3.3 2.5.4 says: "A program may not branch into or out of a
compute construct". While some of this restriction isn't particularly
checkable, 'break' and 'continue' are possible and pretty trivial, so
this patch implements those limitations.
It IS unclear in the case of a 'break' in a 'switch' what should happen
(an antagonistic reading of the standard would prevent it from
appearing), however we're choosing to special-case the break-in-switch
to ensure that this works (albeit, a 'parallel' directive on a 'switch'
isn't particularly useful, though permitted).
Future implementations of this rule will be in a follow-up patch.
Commit: 87b1e735b28f81d9012fd302cd07385db50a274f
https://github.com/llvm/llvm-project/commit/87b1e735b28f81d9012fd302cd07385db50a274f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/minmax.ll
M llvm/test/Transforms/ConstraintElimination/sext.ll
Log Message:
-----------
[ConstraintElim] Decompose sext-like insts for signed predicates (#82344)
Alive2: https://alive2.llvm.org/ce/z/A8dtGp
Fixes #82271.
Commit: 26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
https://github.com/llvm/llvm-project/commit/26d71d9ed56c4c23e6284dac7a9bdf603a5801f3
Author: Fangrui Song <i at maskray.me>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
Log Message:
-----------
[llvm-readobj,ELF] Support --decompress/-z (#82594)
When a section has the SHF_COMPRESSED flag, -p/-x dump the compressed
content by default. In GNU readelf, if --decompress/-z is specified,
-p/-x will dump the decompressed content. This patch implements the
option.
Close #82507
Commit: 163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
https://github.com/llvm/llvm-project/commit/163eaf3bbc24e46a6ec9b71deda8c66f0354d2d7
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
Log Message:
-----------
[CodeGen] Clean up MachineFunctionSplitter MBB safety checking (NFC)
Move the "is MBB safe to split" check out of `isColdBlock` and update
the comment since we're no longer using a temporary hack.
Commit: 6599c022be7c797cd0fafeea4c538e01aae78fd4
https://github.com/llvm/llvm-project/commit/6599c022be7c797cd0fafeea4c538e01aae78fd4
Author: yandalur <quic_yandalur at quicinc.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
Log Message:
-----------
[HEXAGON] Fix bit boundary for isub_hi in HexagonBitSimplify (#82336)
Use bit boundary of 32 for high subregisters in HexagonBitSimplify. This
fixes the subregister used in an upper half register store.
Commit: b0edc1c45284586fdb12edd666f95d99f5f62b43
https://github.com/llvm/llvm-project/commit/b0edc1c45284586fdb12edd666f95d99f5f62b43
Author: Luke Lau <luke at igalia.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll
Log Message:
-----------
[Loads] Fix crash in isSafeToLoadUnconditionally with scalable accessed type (#82650)
This fixes #82606 by updating isSafeToLoadUnconditionally to handle
fixed sized loads from a scalable accessed type.
Commit: 5b079af169cd04b457465fd7ca31714efeefe6d9
https://github.com/llvm/llvm-project/commit/5b079af169cd04b457465fd7ca31714efeefe6d9
Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/FPUtil/fpbits_test.cpp
A libc/test/src/__support/fixed_point/CMakeLists.txt
A libc/test/src/__support/fixed_point/fx_bits_test.cpp
Log Message:
-----------
[libc] add FXBits class (#82065)
The FXBits class is what will be used to modify fixed point numbers on a
bit level. This patch adds a basic implementation as well as basic
tests.
Commit: 3a85594cb340aabe7ad993eb3912987f4246925e
https://github.com/llvm/llvm-project/commit/3a85594cb340aabe7ad993eb3912987f4246925e
Author: sethp <seth at codecopse.net>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Fix typo in ReleaseNotes.rst (#82655)
Deletes the leading 7 from the textual issue number.
Commit: bc841bb0f8b55d18ed97440df878d0121701a317
https://github.com/llvm/llvm-project/commit/bc841bb0f8b55d18ed97440df878d0121701a317
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
A clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/driver-invalid-options.test
R clang/test/InstallAPI/installapi-basic.test
R clang/test/InstallAPI/installapi-driver-invalid-options.test
Log Message:
-----------
[clang] Rename installapi tests, NFC
* Reduces redundancy
Commit: e630a451b457e4d8d071a2b4f102b342bbea2d02
https://github.com/llvm/llvm-project/commit/e630a451b457e4d8d071a2b4f102b342bbea2d02
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
Log Message:
-----------
[HCS] Fix unused variable warnings. NFCI.
Commit: ea174c09342275d6c6fec48fb846eaf28fae5b51
https://github.com/llvm/llvm-project/commit/ea174c09342275d6c6fec48fb846eaf28fae5b51
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/OffloadRTL.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/exports
M openmp/libomptarget/src/interface.cpp
A openmp/libomptarget/test/offloading/runtime_init.c
Log Message:
-----------
[Libomptarget] Remove global ctor and use reference counting (#80499)
Summary:
Currently we rely on global constructors to initialize and shut down the
OpenMP runtime library and plugin manager. This causes some issues
because we do not have a defined lifetime that we can rely on to release
and allocate resources. This patch instead adds some simple reference
counted initialization and deinitialization function.
A future patch will use the `deinit` interface to more intelligently
handle plugin deinitilization. Right now we do nothing and rely on
`atexit` inside of the plugins to tear them down. This isn't great
because it limits our ability to control these things.
Note that I made the `__tgt_register_lib` functions do the
initialization instead of adding calls to the new runtime functions in
the linker wrapper. The reason for this is because in the past it's been
easier to not introduce a new function call, since sometimes the user's
compiler will link against an older `libomptarget`. Maybe if we change
the name with offloading in the future we can simplify this.
Depends on https://github.com/llvm/llvm-project/pull/80460
Commit: ec24094b56793478909783c1156fd57ce5ec2006
https://github.com/llvm/llvm-project/commit/ec24094b56793478909783c1156fd57ce5ec2006
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/include/llvm/LTO/Config.h
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[LTO] Remove Config.UseDefaultPipeline (#82587)
This option is not used. It was added in
[D122133](https://reviews.llvm.org/D122133), 5856f30b, with the only
usage in `ClangLinkerWrapper.cpp`, which was later updated in a1d57fc2,
and then finally removed in [D142650](https://reviews.llvm.org/D142650),
6185246f.
Commit: 54a6cf15069e7e88125477e0b3ce1ab063c893c6
https://github.com/llvm/llvm-project/commit/54a6cf15069e7e88125477e0b3ce1ab063c893c6
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DirectX][NFC] Use LLVM Types in DXIL Operation specifications in DXIL.td (#81692)
This change uniformly uses LLVM Types in the specification of parameter
types and overload types of DXIL operation.
Updated (a) parameter types accordingly in the specification of existing
DXILOperations and (b) DXILEmitter.
Commit: 2e7cacfced573283d5424830f20333e2a6731251
https://github.com/llvm/llvm-project/commit/2e7cacfced573283d5424830f20333e2a6731251
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix crash in TokenAnnotator (#82349)
The while loop on line 3814 can cause a segmentation fault getting the
Next field on a nullptr. This is because further down, on line 3823,
there is another for loop, which assigns Tok to Tok->Next in its
initializer. This for loop has a condition to check if the result of
that isn't null. If it is, the loop is skipped and we drop back out to
the outer loop, except, now Tok is null, and we try to dereference it
without checking first.
This patch adds a defensive check that returns if Tok->Next is null
before we make it to the second for loop.
Fixes https://github.com/llvm/llvm-project/issues/82328
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: a23d4ceb8866df91334750627827a1724363e755
https://github.com/llvm/llvm-project/commit/a23d4ceb8866df91334750627827a1724363e755
Author: Greg Clayton <gclayton at fb.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
Log Message:
-----------
[lldb][llvm] Return an error instead of crashing when parsing a line table prologue. (#80769)
We recently ran into some bad DWARF where the `DW_AT_stmt_list` of many
compile units was randomly set to invalid values and was causing LLDB to
crash due to an assertion about address sizes not matching. Instead of
asserting, we should return an appropriate recoverable `llvm::Error`.
Commit: da1880cc56060c9da91cbd04daa7f8aa3ea0e829
https://github.com/llvm/llvm-project/commit/da1880cc56060c9da91cbd04daa7f8aa3ea0e829
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
GSym aggregated output to JSON file (#81763)
In order to make tooling around dwarf health easier, I've added an
`--json-summary-file` option to `llvm-gsymutil` that will spit out error
summary data with counts to a JSON file.
I've added the same capability to `llvm-dwarfdump` in a [different
PR.](https://github.com/llvm/llvm-project/pull/81762)
The format of the json is:
```JSON
{
"error-categories": {
"<first category description>": {"count": 1234},
"<next category description>": {"count":4321}
},
"error-count": 5555
}
```
for a clean run:
```JSON
{
"error-categories": {},
"error-count": 0
}
```
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: 5c24c316496e221e1841418f0f39ccb7200c83c6
https://github.com/llvm/llvm-project/commit/5c24c316496e221e1841418f0f39ccb7200c83c6
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CXX/drs/dr27xx.cpp
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG2759 "`[[no_unique_address]` and common initial sequence" (#82607)
This patch implements said defect report resolution by adding additional
check to common initial sequence evaluation. Consequently, this fixes
CWG2759.
Commit: cc839275164a7768451531af868fa70eb9e71cbd
https://github.com/llvm/llvm-project/commit/cc839275164a7768451531af868fa70eb9e71cbd
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-02-23 (Fri, 23 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
Log Message:
-----------
[CVP] Canonicalize signed minmax into unsigned (#82478)
This patch turns signed minmax to unsigned to match the behavior for
signed icmps.
Alive2: https://alive2.llvm.org/ce/z/UAAM42
Commit: 33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
https://github.com/llvm/llvm-project/commit/33a6ce18373ffd1457ebd54e930b6f02fe4c39c1
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/CMakeLists.txt
M clang/test/CodeGenCUDA/device-stub.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
A clang/test/Driver/Inputs/hip.h
M clang/test/Driver/clang-offload-bundler.c
A clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[HIP] Allow partial linking for `-fgpu-rdc` (#81700)
`-fgpu-rdc` mode allows device functions call device functions in
different TU. However, currently all device objects have to be linked
together since only one fat binary is supported. This is time consuming
for AMDGPU backend since it only supports LTO.
There are use cases that objects can be divided into groups in which
device functions are self-contained but host functions are not. It is
desirable to link/optimize/codegen the device code and generate a fatbin
for each group, whereas partially link the host code with `ld -r` or
generate a static library by using the `--emit-static-lib` option of
clang. This avoids linking all device code together, therefore decreases
the linking time for `-fgpu-rdc`.
Previously, clang emits an external symbol `__hip_fatbin` for all
objects for `-fgpu-rdc`. With this patch, clang emits an unique external
symbol `__hip_fatbin_{cuid}` for the fat binary for each object. When a
group of objects are linked together to generate a fatbin, the symbols
are merged by alias and point to the same fat binary. Each group has its
own fat binary. One executable or shared library can have multiple fat
binaries. Device linking is done for undefined fab binary symbols only
to avoid repeated linking. `__hip_gpubin_handle` is also uniquefied and
merged to avoid repeated registering. Symbol `__hip_cuid_{cuid}` is
introduced to facilitate debugging and tooling.
Fixes: https://github.com/llvm/llvm-project/issues/77018
Commit: 1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
https://github.com/llvm/llvm-project/commit/1069823ce7d154aa8ef87ae5a0fd34b527eca2a0
Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
Log Message:
-----------
Enable JumpTableToSwitch pass by default (#82546)
Enable JumpTableToSwitch pass by default.
Test plan: ninja check-all
Commit: 4f7ab789bf43b49914815bdf4e4c3703f92e781d
https://github.com/llvm/llvm-project/commit/4f7ab789bf43b49914815bdf4e4c3703f92e781d
Author: Boian Petkantchin <boian.petkantchin at amd.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/test/Dialect/Mesh/spmdization.mlir
Log Message:
-----------
[mlir][mesh] add support in spmdization for incomplete sharding annotations (#82442)
Don't require that `mesh.shard` operations come in pairs. If there is
only a single `mesh.shard` operation we assume that the producer result
and consumer operand have the same sharding.
Commit: 744c0057e7dc0d1d046a4867cece2f31fee9bb23
https://github.com/llvm/llvm-project/commit/744c0057e7dc0d1d046a4867cece2f31fee9bb23
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
Log Message:
-----------
[AArch64][CodeGen] Fix crash when fptrunc returns fp16 with +nofp attr (#81724)
When performing lowering of the fptrunc opcode returning fp16 with the
+nofp flag enabled we could trigger a compiler crash. This is because we
had no custom lowering implemented. This patch
the case in which we need to promote an fp16 return type
for fptrunc when the +nofp attr is enabled.
Commit: 6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
https://github.com/llvm/llvm-project/commit/6ddb25ed9ca2cb0f4ad8f402d7411ac3328f598d
Author: Florian Mayer <fmayer at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
Log Message:
-----------
[scudo] increase frames per stack to 16 for stack depot (#82427)
8 was very low and it is likely that in real workloads we have more than
an average of 8 frames per stack given on Android we have 3 at the
bottom: __start_main, __libc_init, main, and three at the top: malloc,
scudo_malloc and Allocator::allocate. That leaves 2 frames for
application code, which is clearly unreasonable.
Commit: 242f98c7ab7c100d76cac29b555db20205619b38
https://github.com/llvm/llvm-project/commit/242f98c7ab7c100d76cac29b555db20205619b38
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
Log Message:
-----------
[Clang][SME] Skip writing output files to the source directory
Commit: 3168af56bcb827360c26957ef579b7871dad8e17
https://github.com/llvm/llvm-project/commit/3168af56bcb827360c26957ef579b7871dad8e17
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
Log Message:
-----------
LoopVectorize: Mark crash test as requiring assertions
Commit: 32994cc0d63513f77223c64148faeeb50aebb702
https://github.com/llvm/llvm-project/commit/32994cc0d63513f77223c64148faeeb50aebb702
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP]Improve findReusedOrderedScalars and graph rotation.
Patch syncs the code in findReusedOrderedScalars with cost
estimation/codegen. It tries to use similar logic to better determine
best order.
Before, it just tried to find previously vectorized node without
checking if it is possible to use the vectorized value in the shuffle.
Now it relies on the more generalized version. If it determines, that
a single vector must be reordered (using same mechanism, as codegen and
cost estimation), it generates better order.
The comparison between new/ref ordering:
Metric: SLP.NumVectorInstructions
Program SLP.NumVectorInstructions
results results0 diff
test-suite :: MultiSource/Benchmarks/nbench/nbench.test 139.00 140.00 0.7%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 344.00 346.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/pifft/pifft.test 1293.00 1292.00 -0.1%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 5176.00 5170.00 -0.1%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 5173.00 5167.00 -0.1%
test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test 11692.00 11660.00 -0.3%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 1621.00 1615.00 -0.4%
test-suite :: External/SPEC/CINT2006/403.gcc/403.gcc.test 795.00 792.00 -0.4%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 26499.00 26338.00 -0.6%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 7343.00 7281.00 -0.8%
test-suite :: MultiSource/Applications/JM/ldecod/ldecod.test 1104.00 1094.00 -0.9%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 2216.00 2180.00 -1.6%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 787.00 637.00 -19.1%
Less 0% is better.
Most of the benchmarks see more vectorized code. The first ones just
have shuffles removed.
The ordering analysis still may require some improvements (e.g. for
alternate nodes), but this one should be produce better results.
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/77529
Commit: 2685e7eadce08125672f0f6013145ae45b7a5ac3
https://github.com/llvm/llvm-project/commit/2685e7eadce08125672f0f6013145ae45b7a5ac3
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M lldb/docs/resources/test.rst
M lldb/docs/testsuite/a-detailed-walkthrough.txt
M lldb/packages/Python/lldbsuite/test/README-TestSuite
Log Message:
-----------
[lldb][docs] Remove/update docs pointing to unittest2 (#82672)
Commit: f74220624e81937d1b3a437b1e976f641749b649
https://github.com/llvm/llvm-project/commit/f74220624e81937d1b3a437b1e976f641749b649
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/DIEBuilder.h
M bolt/include/bolt/Core/DebugData.h
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/DIEBuilder.cpp
M bolt/lib/Core/DebugData.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/unittests/Core/BinaryContext.cpp
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendActions.h
M clang/include/clang/Frontend/FrontendOptions.h
R clang/include/clang/Frontend/InstallAPIOptions.h
M clang/include/clang/InstallAPI/Context.h
M clang/include/clang/InstallAPI/HeaderFile.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/Interp/EvalEmitter.cpp
M clang/lib/AST/Interp/Interp.cpp
M clang/lib/AST/Interp/Opcodes.td
M clang/lib/Analysis/FlowSensitive/ControlFlowContext.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/CMakeLists.txt
M clang/lib/Frontend/CompilerInvocation.cpp
R clang/lib/Frontend/InstallAPIConsumer.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/arm_acle.h
M clang/lib/InstallAPI/CMakeLists.txt
R clang/lib/InstallAPI/Context.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/Scope.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/TaggedUnionModeling.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
A clang/test/AST/Interp/pointer-addition.c
A clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
A clang/test/Analysis/Checkers/WebKit/ref-allowing-partially-destroyed.cpp
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/std-c-library-functions-path-notes.c
M clang/test/Analysis/stream-errno-note.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-noopen.c
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/dr17xx.cpp
M clang/test/CXX/drs/dr27xx.cpp
A clang/test/CodeGen/aarch64-sme-inline-streaming-attrs.c
A clang/test/CodeGen/aix-builtin-cpu-is.c
M clang/test/CodeGen/integer-overflow.c
M clang/test/CodeGenCUDA/device-stub.cu
M clang/test/CodeGenCUDA/host-used-device-var.cu
A clang/test/Driver/Inputs/hip.h
M clang/test/Driver/arm-compiler-rt.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/clang-offload-bundler.c
A clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-toolchain-rdc.hip
R clang/test/Driver/installapi.h
A clang/test/InstallAPI/basic.test
A clang/test/InstallAPI/driver-invalid-options.test
R clang/test/InstallAPI/installapi-basic.test
M clang/test/OpenMP/bug60602.cpp
M clang/test/OpenMP/distribute_codegen.cpp
M clang/test/OpenMP/distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/distribute_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_codegen.cpp
M clang/test/OpenMP/distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/distribute_simd_private_codegen.cpp
M clang/test/OpenMP/distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/map_struct_ordering.cpp
M clang/test/OpenMP/nvptx_lambda_capturing.cpp
M clang/test/OpenMP/openmp_offload_registration.cpp
M clang/test/OpenMP/reduction_implicit_map.cpp
M clang/test/OpenMP/target_codegen.cpp
M clang/test/OpenMP/target_codegen_global_capture.cpp
M clang/test/OpenMP/target_codegen_registration.cpp
M clang/test/OpenMP/target_depend_codegen.cpp
M clang/test/OpenMP/target_firstprivate_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen.cpp
M clang/test/OpenMP/target_has_device_addr_codegen_01.cpp
M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
M clang/test/OpenMP/target_map_codegen_03.cpp
M clang/test/OpenMP/target_map_codegen_hold.cpp
M clang/test/OpenMP/target_map_deref_array_codegen.cpp
M clang/test/OpenMP/target_map_member_expr_codegen.cpp
M clang/test/OpenMP/target_offload_mandatory_codegen.cpp
M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen.cpp
M clang/test/OpenMP/target_parallel_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen.cpp
M clang/test/OpenMP/target_parallel_for_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_parallel_generic_loop_codegen-2.cpp
M clang/test/OpenMP/target_parallel_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_parallel_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_parallel_if_codegen.cpp
M clang/test/OpenMP/target_parallel_num_threads_codegen.cpp
M clang/test/OpenMP/target_simd_codegen.cpp
M clang/test/OpenMP/target_simd_codegen_registration.cpp
M clang/test/OpenMP/target_simd_depend_codegen.cpp
M clang/test/OpenMP/target_task_affinity_codegen.cpp
M clang/test/OpenMP/target_teams_codegen.cpp
M clang/test/OpenMP/target_teams_codegen_registration.cpp
M clang/test/OpenMP/target_teams_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
M clang/test/OpenMP/target_teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/target_teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_depend_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
M clang/test/OpenMP/target_teams_map_codegen.cpp
M clang/test/OpenMP/target_teams_num_teams_codegen.cpp
M clang/test/OpenMP/target_teams_thread_limit_codegen.cpp
M clang/test/OpenMP/teams_codegen.cpp
M clang/test/OpenMP/teams_distribute_codegen.cpp
M clang/test/OpenMP/teams_distribute_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_reduction_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_collapse_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_dist_schedule_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_lastprivate_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_private_codegen.cpp
M clang/test/OpenMP/teams_distribute_simd_reduction_codegen.cpp
M clang/test/OpenMP/teams_firstprivate_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
M clang/test/OpenMP/teams_private_codegen.cpp
A clang/test/Sema/aarch64-sme2p1-diagnostics.c
A clang/test/Sema/aix-builtin-cpu-unsupports.c
M clang/test/SemaCUDA/float16.cu
M clang/test/SemaCXX/cxx2a-ms-no-unique-address.cpp
M clang/test/SemaCXX/cxx2b-consteval-propagate.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/type-traits.cpp
A clang/test/SemaOpenACC/no-branch-in-out.c
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/clang-installapi/CMakeLists.txt
A clang/tools/clang-installapi/ClangInstallAPI.cpp
A clang/tools/clang-installapi/Options.cpp
A clang/tools/clang-installapi/Options.h
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/www/cxx_dr_status.html
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/divtc3.c
M compiler-rt/lib/builtins/fp_lib.h
M compiler-rt/lib/builtins/int_types.h
M compiler-rt/lib/builtins/multc3.c
M compiler-rt/lib/builtins/os_version_check.c
M compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cpp
M compiler-rt/lib/scudo/standalone/combined.h
M flang/CMakeLists.txt
M flang/docs/FortranLLVMTestSuite.md
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Evaluate/fold-integer.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/Mangler.cpp
M flang/lib/Lower/OpenACC.cpp
R flang/lib/Lower/OpenMP.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/lib/Lower/OpenMP/ClauseProcessor.h
A flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
A flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/OpenMP/ReductionProcessor.h
A flang/lib/Lower/OpenMP/Utils.cpp
A flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/preprocessor.h
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/runtime/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
A flang/runtime/Float128Math/cabs.cpp
A flang/runtime/Float128Math/math-entries.h
A flang/runtime/Float128Math/sin.cpp
A flang/runtime/Float128Math/sqrt.cpp
M flang/runtime/unit.cpp
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
A flang/test/Lower/HLFIR/block_bindc_pocs.f90
M flang/test/Lower/Intrinsics/missing-math-runtime.f90
R flang/test/Lower/OpenMP/Todo/copyprivate.f90
A flang/test/Lower/OpenMP/copyprivate.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Preprocessing/pp005.F
M flang/test/Preprocessing/pp006.F
M flang/test/Preprocessing/pp105.F90
M flang/test/Preprocessing/pp106.F90
M flang/test/Preprocessing/pp134.F90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/device-constructs.f90
A flang/test/Semantics/OpenMP/struct.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Transforms/simplifyintrinsics.fir
M flang/tools/flang-driver/driver.cpp
M libc/CMakeLists.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/gpu/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/lib/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/fixed_point/CMakeLists.txt
M libc/src/__support/fixed_point/fx_bits.h
M libc/startup/linux/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
A libc/test/src/__support/fixed_point/CMakeLists.txt
A libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/atomic_wait.bench.cpp
A libcxx/benchmarks/atomic_wait_vs_mutex_lock.bench.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/docs/ld.lld.1
M lld/test/ELF/eh-frame-pcrel-overflow.s
M lld/test/ELF/lto/codemodel.ll
M lld/test/ELF/x86-64-section-layout.s
A lld/test/wasm/no-strip-segment.s
M lld/wasm/InputChunks.h
M lld/wasm/MarkLive.cpp
M lldb/docs/resources/test.rst
M lldb/docs/testsuite/a-detailed-walkthrough.txt
M lldb/include/lldb/Interpreter/CommandObject.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Interpreter/Options.h
M lldb/include/lldb/Utility/FileSpecList.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/README-TestSuite
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.h
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectPlatform.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSession.cpp
M lldb/source/Commands/CommandObjectSettings.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Interpreter/CommandObject.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/API/commands/expression/call-restarts/TestCallThatRestarts.py
M lldb/test/API/commands/expression/call-throws/TestCallThatThrows.py
M lldb/test/API/commands/expression/completion-crash-invalid-iterator/TestInvalidIteratorCompletionCrash.py
M lldb/test/API/commands/expression/dont_allow_jit/TestAllowJIT.py
M lldb/test/API/commands/expression/fixits/TestFixIts.py
M lldb/test/API/commands/expression/test/TestExprs.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/commands/help/TestHelp.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/save_restore/TestSMEZRegistersSaveRestore.py
M lldb/test/API/commands/register/register/aarch64_sme_z_registers/za_dynamic_resize/TestZAThreadedDynamic.py
M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
M lldb/test/API/commands/session/save/TestSessionSave.py
M lldb/test/API/commands/statistics/basic/TestStats.py
M lldb/test/API/commands/trace/TestTraceExport.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/archives/TestBSDArchives.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/breakpoint/address_breakpoints/TestBadAddressBreakpoints.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
M lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommandsFromPython.py
M lldb/test/API/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
M lldb/test/API/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M lldb/test/API/functionalities/breakpoint/objc/TestObjCBreakpoints.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/serialize/TestBreakpointSerialization.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
M lldb/test/API/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py
M lldb/test/API/functionalities/gdb_remote_client/TestMSP430MSPDebug.py
M lldb/test/API/functionalities/module_cache/simple_exe/TestModuleCacheSimple.py
M lldb/test/API/functionalities/multidebugger_commands/TestMultipleDebuggersCommands.py
M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
M lldb/test/API/functionalities/return-value/TestReturnValue.py
M lldb/test/API/functionalities/scripted_process/TestScriptedProcess.py
M lldb/test/API/functionalities/signal/TestSendSignal.py
M lldb/test/API/functionalities/signal/handle-abrt/TestHandleAbort.py
M lldb/test/API/functionalities/signal/handle-segv/TestHandleSegv.py
M lldb/test/API/functionalities/signal/raise/TestRaise.py
M lldb/test/API/functionalities/stats_api/TestStatisticsAPI.py
M lldb/test/API/functionalities/step-avoids-no-debug/TestStepNoDebug.py
M lldb/test/API/functionalities/step-avoids-regexp/TestStepAvoidsRegexp.py
M lldb/test/API/functionalities/target-new-solib-notifications/TestModuleLoadedNotifys.py
M lldb/test/API/functionalities/thread/backtrace_limit/TestBacktraceLimit.py
M lldb/test/API/functionalities/thread/break_after_join/TestBreakAfterJoin.py
M lldb/test/API/functionalities/thread/create_during_step/TestCreateDuringStep.py
M lldb/test/API/functionalities/thread/exit_during_break/TestExitDuringBreak.py
M lldb/test/API/functionalities/thread/multi_break/TestMultipleBreakpoints.py
M lldb/test/API/functionalities/thread/num_threads/TestNumThreads.py
M lldb/test/API/functionalities/thread_plan/TestThreadPlanCommands.py
M lldb/test/API/functionalities/tsan/basic/TestTsanBasic.py
M lldb/test/API/functionalities/tsan/multiple/TestTsanMultiple.py
M lldb/test/API/functionalities/unwind/aarch64_unwind_pac/TestAArch64UnwindPAC.py
M lldb/test/API/lang/c/register_variables/TestRegisterVariables.py
M lldb/test/API/lang/c/stepping/TestStepAndBreakpoints.py
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
M lldb/test/API/lang/cpp/namespace/TestNamespace.py
M lldb/test/API/lang/cpp/stl/TestSTL.py
M lldb/test/API/lang/objc/foundation/TestFoundationDisassembly.py
M lldb/test/API/lang/objc/objc-class-method/TestObjCClassMethod.py
M lldb/test/API/lang/objc/objc-struct-argument/TestObjCStructArgument.py
M lldb/test/API/lang/objc/objc-struct-return/TestObjCStructReturn.py
M lldb/test/API/lang/objc/objc-super/TestObjCSuper.py
M lldb/test/API/lang/objc/rdar-12408181/TestRdar12408181.py
M lldb/test/API/lang/objcxx/objc-builtin-types/TestObjCBuiltinTypes.py
M lldb/test/API/linux/aarch64/tagged_memory_access/TestAArch64LinuxTaggedMemoryAccess.py
M lldb/test/API/linux/aarch64/unwind_signal/TestUnwindSignal.py
M lldb/test/API/lua_api/TestLuaAPI.py
M lldb/test/API/macosx/arm-corefile-regctx/TestArmMachoCorefileRegctx.py
M lldb/test/API/macosx/function-starts/TestFunctionStarts.py
M lldb/test/API/macosx/lc-note/addrable-bits/TestAddrableBitsCorefile.py
M lldb/test/API/macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
M lldb/test/API/macosx/lc-note/kern-ver-str/TestKernVerStrLCNOTE.py
M lldb/test/API/macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
M lldb/test/API/macosx/objc_exception_recognizer/TestObjCRecognizer.py
M lldb/test/API/macosx/profile_vrs_detach/TestDetachVrsProfile.py
M lldb/test/API/macosx/queues/TestQueues.py
M lldb/test/API/macosx/safe-to-func-call/TestSafeFuncCalls.py
M lldb/test/API/macosx/universal/TestUniversal.py
M lldb/test/API/python_api/event/TestEvents.py
M lldb/test/API/python_api/file_handle/TestFileHandle.py
M lldb/test/API/python_api/findvalue_duplist/TestSBFrameFindValue.py
M lldb/test/API/python_api/format/TestFormat.py
M lldb/test/API/python_api/formatters/TestFormattersSBAPI.py
M lldb/test/API/python_api/frame/get-variables/TestGetVariables.py
M lldb/test/API/python_api/interpreter/TestRunCommandInterpreterAPI.py
M lldb/test/API/python_api/module_section/TestModuleAndSection.py
M lldb/test/API/python_api/process/TestProcessAPI.py
M lldb/test/API/python_api/process/io/TestProcessIO.py
M lldb/test/API/python_api/sbdata/TestSBData.py
M lldb/test/API/python_api/sbmodule/TestSBModule.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/python_api/type/TestTypeList.py
M lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py
M lldb/test/API/python_api/value/change_values/libcxx/atomic/TestChangeValue.py
M lldb/test/API/python_api/value/change_values/libcxx/map/TestChangeMapValue.py
M lldb/test/API/python_api/watchpoint/TestWatchpointIter.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
M lldb/test/API/tools/lldb-dap/disassemble/TestDAP_disassemble.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAttach.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteAuxvSupport.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteExpeditedRegisters.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteRegisterState.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/attach-wait/TestGdbRemoteAttachWait.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
M lldb/test/Shell/SymbolFile/DWARF/x86/dwp-separate-debug-file.cpp
M lldb/unittests/Interpreter/CMakeLists.txt
A lldb/unittests/Interpreter/TestOptions.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
M llvm/CMakeLists.txt
M llvm/docs/CommandGuide/llvm-readelf.rst
M llvm/docs/CommandGuide/llvm-readobj.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/BinaryFormat/ELFRelocs/ARM.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/Analysis.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/LTO/Config.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/Support/TypeSize.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/PPCTargetParser.def
M llvm/include/llvm/Transforms/IPO/HotColdSplitting.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/Analysis.cpp
M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/MachineFunctionSplitter.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/LLVMContextImpl.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Module.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPredicateControl.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/Hexagon/CMakeLists.txt
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
A llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
A llvm/lib/Target/Hexagon/HexagonPostIncOpt.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
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/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86TargetMachine.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
M llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
M llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
A llvm/test/Analysis/CostModel/X86/icmp0.ll
A llvm/test/Bitcode/constant-splat.ll
A llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/addsub.ll
M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/callbr-asm-obj-file.ll
A llvm/test/CodeGen/AArch64/extractvector-of-load.mir
A llvm/test/CodeGen/AArch64/extractvector-oob-load.mir
M llvm/test/CodeGen/AArch64/framelayout-sve-calleesaves-fix.mir
M llvm/test/CodeGen/AArch64/framelayout-sve.mir
R llvm/test/CodeGen/AArch64/reverse-csr-restore-seq.mir
M llvm/test/CodeGen/AArch64/sme-streaming-compatible-interface.ll
M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ld1.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-ldnt1.ll
A llvm/test/CodeGen/AArch64/stack-probing-shrink-wrap.mir
M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AArch64/sve-alloca.ll
M llvm/test/CodeGen/AArch64/sve-calling-convention-mixed.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-vector-shuffle-tbl.ll
M llvm/test/CodeGen/AArch64/sve-tailcall.ll
M llvm/test/CodeGen/AArch64/unwind-preserved.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-extract-vector-load.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fdiv-sqrt-to-rsq.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fpneg-one-fneg.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fmed3-cast-combine.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-preserve-cc.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/local-atomics-fp.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-preserve.mir
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
A llvm/test/CodeGen/Hexagon/bit-store-upper-sub-hi.mir
A llvm/test/CodeGen/Hexagon/ldst_vector_offset.ll
A llvm/test/CodeGen/Hexagon/load-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/post-inc-vec.mir
A llvm/test/CodeGen/Hexagon/post_inc_store.mir
A llvm/test/CodeGen/Hexagon/postincopt-crash.mir
A llvm/test/CodeGen/Hexagon/postincopt-dcfetch.mir
A llvm/test/CodeGen/Hexagon/store-const-extend-opt.ll
A llvm/test/CodeGen/Hexagon/valid-offset-loadbsw4.mir
A llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/make-compressible.mir
M llvm/test/CodeGen/RISCV/pr51206.ll
A llvm/test/CodeGen/RISCV/readsteadycounter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/select.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_usm_storage_classes/intel-usm-addrspaces.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
R llvm/test/CodeGen/SPIRV/opencl/basic/vstore_private.ll
A llvm/test/CodeGen/SPIRV/opencl/vload2.ll
A llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
A llvm/test/CodeGen/SPIRV/switch-no-jump-table.ll
A llvm/test/CodeGen/SystemZ/frame-29.ll
A llvm/test/CodeGen/WebAssembly/no-strip.ll
M llvm/test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/ctpop-mask.ll
M llvm/test/CodeGen/X86/prefer-avx256-mask-extend.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/vector-bo-select.ll
M llvm/test/CodeGen/X86/vselect-avx.ll
A llvm/test/DebugInfo/fixed-point.ll
M llvm/test/ExecutionEngine/JITLink/Generic/sectcreate.test
M llvm/test/MC/AArch64/armv9.4a-gcs.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
A llvm/test/MC/ARM/fdpic.s
M llvm/test/MC/Disassembler/AArch64/armv9.4a-gcs.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/WebAssembly/no-dead-strip.ll
M llvm/test/Other/new-pm-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
M llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
A llvm/test/TableGen/HwModeEncodeDecode2.td
M llvm/test/Transforms/ConstraintElimination/minmax.ll
M llvm/test/Transforms/ConstraintElimination/sext.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-infinite-loop-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-addr-lifetime-start-bug.ll
M llvm/test/Transforms/Coroutines/coro-async-dyn-align.ll
R llvm/test/Transforms/Coroutines/coro-async-mutal-recursive.ll
M llvm/test/Transforms/Coroutines/coro-async-unreachable.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/CorrelatedValuePropagation/min-max.ll
M llvm/test/Transforms/HotColdSplit/assumption-cache-invalidation.ll
M llvm/test/Transforms/HotColdSplit/eh-pads.ll
M llvm/test/Transforms/HotColdSplit/outline-disjoint-diamonds.ll
A llvm/test/Transforms/HotColdSplit/outline-inner-region.ll
A llvm/test/Transforms/HotColdSplit/outline-outer-region.ll
A llvm/test/Transforms/InferAddressSpaces/AMDGPU/multiple-uses-of-val.ll
M llvm/test/Transforms/InstCombine/2008-05-23-CompareFold.ll
M llvm/test/Transforms/InstCombine/2008-11-08-FCmp.ll
M llvm/test/Transforms/InstCombine/2009-05-23-FCmpToICmp.ll
M llvm/test/Transforms/InstCombine/2012-02-13-FCmp.ll
M llvm/test/Transforms/InstCombine/dependent-ivs.ll
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/LoopIdiom/pr82337.ll
M llvm/test/Transforms/LoopRotate/coroutine.ll
A llvm/test/Transforms/LoopUnroll/gh-issue77118-broken-lcssa-form.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
A llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
A llvm/test/Transforms/OpenMP/deduplication_soundness.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/extractelements-to-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr35497.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-vf-to-resize.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder2.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
A llvm/test/Transforms/SimplifyCFG/X86/PR80122.ll
A llvm/test/Transforms/VectorCombine/RISCV/load-widening.ll
M llvm/test/lit.cfg.py
M llvm/test/lit.site.cfg.py.in
A llvm/test/tools/llvm-mca/AArch64/HiSilicon/tsv110-forwarding.s
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zlib.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd-unsupported.test
A llvm/test/tools/llvm-readobj/ELF/decompress-zstd.test
M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
M llvm/test/tools/llvm-readobj/ELF/reloc-types-arm.test
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CMakeLists.txt
M llvm/tools/llvm-exegesis/lib/LatencyBenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
A llvm/tools/llvm-exegesis/lib/ValidationEvent.cpp
A llvm/tools/llvm-exegesis/lib/ValidationEvent.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.cpp
M llvm/tools/llvm-readobj/ObjDumper.h
M llvm/tools/llvm-readobj/Opts.td
M llvm/tools/llvm-readobj/llvm-readobj.cpp
M llvm/unittests/ADT/STLExtrasTest.cpp
M llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/Support/TypeSizeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/DisassemblerEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
A llvm/utils/gn/secondary/clang/tools/clang-installapi/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/InstallAPI/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-exegesis/lib/BUILD.gn
M llvm/utils/lldbDataFormatters.py
M llvm/utils/release/github-upload-release.py
M mlir/CMakeLists.txt
M mlir/docs/Dialects/OpenACCDialect.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch4.md
A mlir/include/mlir-c/Dialect/Transform/Interpreter.h
M mlir/include/mlir/Bindings/Python/PybindAdaptors.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRModule.h
A mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/TransformInterpreter.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
R mlir/lib/Dialect/GPU/Transforms/SerializeToCubin.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.h
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/python/CMakeLists.txt
M mlir/python/mlir/_mlir_libs/_mlir/__init__.pyi
M mlir/python/mlir/dialects/_ods_common.py
M mlir/python/mlir/dialects/arith.py
A mlir/python/mlir/dialects/transform/interpreter/__init__.py
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/transform_interpreter.c
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/ShapeToStandard/shape-to-standard.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-pack.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/generalize-tensor-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/SparseTensor/codegen.mlir
M mlir/test/Dialect/SparseTensor/external.mlir
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
M mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
A mlir/test/Integration/Dialect/Linalg/CPU/mmt4d.mlir
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/test-scalable-interleave.mlir
A mlir/test/Integration/Dialect/Vector/CPU/test-interleave.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Transforms/parametric-tiling.mlir
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lit.cfg.py
M mlir/test/mlir-tblgen/op-python-bindings.td
A mlir/test/python/dialects/transform_interpreter.py
M mlir/test/python/ir/value.py
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/unittests/Bytecode/BytecodeTest.cpp
M mlir/unittests/Debug/FileLineColLocBreakpointManagerTest.cpp
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
M openmp/libomptarget/include/PluginManager.h
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/omptarget.h
M openmp/libomptarget/src/OffloadRTL.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/exports
M openmp/libomptarget/src/interface.cpp
M openmp/libomptarget/src/omptarget.cpp
M openmp/libomptarget/test/offloading/requires.c
A openmp/libomptarget/test/offloading/runtime_init.c
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/005c919028a9...f74220624e81
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list