[all-commits] [llvm/llvm-project] a14a83: [compiler-rt] [test] Fix using toolchains that rel...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Tue Oct 29 05:20:18 PDT 2024
Branch: refs/heads/users/kparzysz/spr/d03-flang-depend-iterator
Home: https://github.com/llvm/llvm-project
Commit: a14a83d9a102253eca7c02ff4c35a2ce3f7de6e5
https://github.com/llvm/llvm-project/commit/a14a83d9a102253eca7c02ff4c35a2ce3f7de6e5
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[compiler-rt] [test] Fix using toolchains that rely on Clang default configs (#113491)
The use of CLANG_NO_DEFAULT_CONFIG in the tests was added because some
Linux distributions had a global default config file, that added flags
relating to hardening, which interfere with the sanitizer tests. By
setting CLANG_NO_DEFAULT_CONFIG, the global default config files that
are found are ignored, and the sanitizers get the expected default
compiler behaviour.
(This was https://github.com/llvm/llvm-project/issues/60394, which was
fixed in 8ab762557fb057af1a3015211ee116a975027e78.)
However, some toolchains may rely on default config files for mandatory
parts required for functioning at all - setting things like sysroots,
-rtlib, -unwindlib, -stdlib, -fuse-ld etc. In such a case we can't
forcibly disable any default config, because it will break the otherwise
working toolchain.
Add a test for whether the compiler works while passing
--no-default-config to it. If the option is accepted and the toolchain
still works while that is set, set CLANG_NO_DEFAULT_CONFIG while running
tests.
(This adds a little bit of inconsistency, as we're testing for the
command line option, while using the environment variable. However doing
compile testing with an environment variable isn't quite as easily
doable, and passing an extra command line flag to all compile commands
while testing, is a bit clumsy - therefore this inconsistency.)
Commit: 75d0281bc81f0040c24d15bdf9c5cc46e9237224
https://github.com/llvm/llvm-project/commit/75d0281bc81f0040c24d15bdf9c5cc46e9237224
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libcxx/cmake/config-ix.cmake
M libcxxabi/cmake/config-ix.cmake
M libcxxabi/src/CMakeLists.txt
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler (#108357)
While these flags semantically are relevant only for C++, we do add them
to CMAKE_REQUIRED_FLAGS if they are detected. All flags in that variable
are used both when testing compilation of C and C++ (and for detecting
libraries, which uses the C compiler driver).
Therefore, to be sure we safely can add the flags to
CMAKE_REQUIRED_FLAGS, test for the option with the C language.
This should fix compilation with GCC; newer versions of GCC do support
the -nostdlib++ option, but it's only supported by the C++ compiler
driver, not the C driver. (However, many builds of GCC also do accept
the option with the C driver, if GCC was compiled with Ada support
enabled, see [1]. That's why this issue isn't noticed in all
configurations with GCC.)
Clang does support these options in both C and C++ driver modes.
This should fix #90332.
[1]
https://github.com/llvm/llvm-project/issues/90332#issuecomment-2325099254
Commit: 1b8cff9a52eab8718ba55996847ece0a96271bb7
https://github.com/llvm/llvm-project/commit/1b8cff9a52eab8718ba55996847ece0a96271bb7
Author: Daniel Hoekwater <hoekwater at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/CFIFixup.cpp
Log Message:
-----------
Reland "CFIFixup] Factor CFI remember/restore insertion into a helper (NFC)" (#113387)
The original patch (ac1a01f) dereferenced an end iterator, breaking some
tests (e.g. https://lab.llvm.org/buildbot/#/builders/17/builds/3116).
This updated patch only accesses the iterator when it's valid.
Commit: 4c8779388fd2f25730a1b044f9f10d6717833fce
https://github.com/llvm/llvm-project/commit/4c8779388fd2f25730a1b044f9f10d6717833fce
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
Log Message:
-----------
sanitizer_allocator.cpp: Ensure at least sizeof(void*) alignment
Some platforms (e.g. 64-bit CHERI) have stronger alignment requirements
on values returned from allocators. For all other platforms this does
not result in any functional change.
Reviewed By: cjappl, vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/84440
Commit: 118445841d4d50b57ea2892a18f0b656526f804d
https://github.com/llvm/llvm-project/commit/118445841d4d50b57ea2892a18f0b656526f804d
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/test/CodeGen/WebAssembly/bulk-memory.ll
M llvm/test/CodeGen/WebAssembly/bulk-memory64.ll
Log Message:
-----------
[WebAssembly] Protect memory.fill and memory.copy from zero-length ranges. (#112617)
WebAssembly's `memory.fill` and `memory.copy` instructions trap if the
pointers are out of bounds, even if the length is zero. This is
different from LLVM, which expects that it can call `memcpy` on
arbitrary invalid pointers if the length is zero. To avoid spurious
traps, branch around `memory.fill` and `memory.copy` when the length is
zero.
---------
Co-authored-by: Heejin Ahn <aheejin at gmail.com>
Commit: a291f00edaeeea622a9e3e2c706e3bdb25f93f09
https://github.com/llvm/llvm-project/commit/a291f00edaeeea622a9e3e2c706e3bdb25f93f09
Author: Rashmi Mudduluru <r_mudduluru at apple.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg-std-array.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Make TrivialFunctionAnalysis recognize std::array::operator[] as trivial (#113377)
TFA wasn't recognizing `__libcpp_verbose_abort` as trivial causing `std::array::operator[]` also not being recognized as trivial.
Commit: 0558fe3bbf575f562e8bde4cb73cf47e0b6a8153
https://github.com/llvm/llvm-project/commit/0558fe3bbf575f562e8bde4cb73cf47e0b6a8153
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
Log Message:
-----------
[VPlan] Update unit tests to use getVectorLoopRegion (NFC).
Use getVectorLoopRegion to retrieve the vector loop header instead of
relying on getting the successor of the entry block. This makes sure the
code still works correctly as more parts of the skeleton are modeled in
VPlan.
Commit: 7b9f988a535c3549b71025e951e3a36a2bf0fa03
https://github.com/llvm/llvm-project/commit/7b9f988a535c3549b71025e951e3a36a2bf0fa03
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Limit stride replacement to vector region and middle VPBB (NFC).
At the moment this in NFC, but ensures we only replace uses that are
dominated by runtime checks as we model more of the skeleton in VPlan.
Commit: 633a6c91a3d8b8c97de661d7e611ff9720b857ab
https://github.com/llvm/llvm-project/commit/633a6c91a3d8b8c97de661d7e611ff9720b857ab
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Support/ExtensibleRTTI.h
M llvm/unittests/Support/ExtensibleRTTITest.cpp
Log Message:
-----------
[Support] Extend ExtensibleRTTI utility to support basic multiple inheritance. (#112643)
Clients can now pass multiple parent classes to RTTIExtends. Each parent
class will be inherited from publicly (and non-virtually). The isa,
cast, and dyn_cast methods will now work as expected for types with
multiple inheritance.
Commit: 19b04533612e96a442bd5c63d75fd4e67d796193
https://github.com/llvm/llvm-project/commit/19b04533612e96a442bd5c63d75fd4e67d796193
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
A llvm/test/MC/Disassembler/AMDGPU/gfx10_mimg_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mimg_features.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_mimg_features.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_mimg_features.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler problem for image_atomic with TFE (#112622)
For image_atomic instructions with TFE, in some cases (e.g., when
dmask=3) the disassembler produces dst register with wrong size (e.g.,
image_atomic_smin v5, v1, s[8:15] dmask:0x3 tfe, instead of v[5:7]).
This patch fixes the VDataDwords values for image atomic instructions.
Commit: 8c2e8b5124a0365664bb79b0caa9cec74d8148ff
https://github.com/llvm/llvm-project/commit/8c2e8b5124a0365664bb79b0caa9cec74d8148ff
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port a14a83d9a102
Commit: 455f71d28541c3dcb628c4c6f7b53d6eae0f1829
https://github.com/llvm/llvm-project/commit/455f71d28541c3dcb628c4c6f7b53d6eae0f1829
Author: Ian Wood <75152913+IanWood1 at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Convert `expand_shape` to more static form (#112265)
Add pattern that converts a `tensor.expand_shape` op to a more static
form.
This matches the pattern: `tensor.cast` -> `tensor.expand_shape` if it
has a foldable `tensor.cast` and some constant foldable `output_shape`
operands for the `tensor.expand_shape`. This makes the
`tensor.expand_shape` more static, as well as allowing the static
information to be propagated further down in the program.
Commit: 25909b811a7ddc983d042b15cb54ec271a673d63
https://github.com/llvm/llvm-project/commit/25909b811a7ddc983d042b15cb54ec271a673d63
Author: jeffreytan81 <jeffreytan at meta.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
M lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py
M lldb/test/API/lang/cpp/dereferencing_references/main.cpp
Log Message:
-----------
Fix pointer to reference type (#113596)
We have got customer reporting "v &obj" and "p &obj" reporting different
results.
Turns out it only happens for obj that is itself a reference type which
"v &obj" reports the address of the reference itself instead of the
target object the reference points to. This diverged from C++ semantics.
This PR fixes this issue by returning the address of the dereferenced
object if it is reference type.
A new test is added which fails before.
Co-authored-by: jeffreytan81 <jeffreytan at fb.com>
Commit: b1be21394e9c8fee1d2092c9e6a789121ab214be
https://github.com/llvm/llvm-project/commit/b1be21394e9c8fee1d2092c9e6a789121ab214be
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Allow building against an installed LLVM tree
I am currently trying to test the LLVM runtimes (including compiler-rt)
against an installed LLVM tree rather than a build tree (since that is
no longer available). Currently, the runtimes build of compiler-rt assumes
that LLVM_BINARY_DIR is writable since it uses configure_file() to write
there during the CMake configure stage. Instead, generate this file inside
CMAKE_CURRENT_BINARY_DIR, which will match LLVM_BINARY_DIR when invoked
from llvm/runtimes/CMakeLists.txt.
I also needed to make a minor change to the hwasan tests: hwasan_symbolize
was previously found in the LLVM_BINARY_DIR, but since it is generated as
part of the compiler-rt build it is now inside the CMake build directory
instead. I fixed this by passing the output directory to lit as
config.compiler_rt_bindir and using llvm_config.add_tool_substitutions().
For testing that we no longer write to the LLVM install directory as
part of testing or configuration, I created a read-only bind mount and
configured the runtimes builds as follows:
```
$ sudo mount --bind --read-only ~/llvm-install /tmp/upstream-llvm-readonly
$ cmake -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_C_COMPILER=/tmp/upstream-llvm-readonly/bin/clang \
-DCMAKE_CXX_COMPILER=/tmp/upstream-llvm-readonly/bin/clang++ \
-DLLVM_INCLUDE_TESTS=TRUE -DLLVM_ENABLE_ASSERTIONS=TRUE \
-DCOMPILER_RT_INCLUDE_TESTS=TRUE -DCOMPILER_RT_DEBUG=OFF \
-DLLVM_ENABLE_RUNTIMES=compiler-rt \
-DLLVM_BINARY_DIR=/tmp/upstream-llvm-readonly \
-G Ninja -S ~/upstream-llvm-project/runtimes \
-B ~/upstream-llvm-project/runtimes/cmake-build-debug-llvm-git
```
Reviewed By: ldionne
Pull Request: https://github.com/llvm/llvm-project/pull/86209
Commit: c03d09ce3eed336fea4d9283232383f6d4d4057d
https://github.com/llvm/llvm-project/commit/c03d09ce3eed336fea4d9283232383f6d4d4057d
Author: Tex Riddell <texr at microsoft.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[aarch64] atan2 intrinsic lowering (p5) (#112611)
This change is part of this proposal:
https://discourse.llvm.org/t/rfc-all-the-math-intrinsics/78294
- `VecFuncs.def`: define intrinsic to sleef/armpl mapping
- `LegalizerHelper.cpp`: add missing fewerElementsVector handling for
the new atan2 intrinsic
- `AArch64ISelLowering.cpp`: Add arch64 specializations for lowering
like neon instructions
- `AArch64LegalizerInfo.cpp`: Legalize atan2.
Part 5 for Implement the atan2 HLSL Function #70096.
Commit: c4248fa3edd3e2e18219b4fb46561ca1bfd65728
https://github.com/llvm/llvm-project/commit/c4248fa3edd3e2e18219b4fb46561ca1bfd65728
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/movrs_avx10_2_512intrin.h
A clang/lib/Headers/movrs_avx10_2intrin.h
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M compiler-rt/lib/builtins/cpu_model/x86.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
A llvm/test/CodeGen/X86/movrs-avx10.2-512-intrinsics.ll
A llvm/test/CodeGen/X86/movrs-avx10.2-intrinsics.ll
A llvm/test/MC/Disassembler/X86/movrs-avx10-64.txt
A llvm/test/MC/X86/movrs-avx10-att-64.s
A llvm/test/MC/X86/movrs-avx10-intel-64.s
Log Message:
-----------
[X86] Support MOVRS and AVX10.2 instructions. (#113274)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 08159e6e117f5717d30230cb6568d7f3686b2c86
https://github.com/llvm/llvm-project/commit/08159e6e117f5717d30230cb6568d7f3686b2c86
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__config
M libcxx/src/charconv.cpp
Log Message:
-----------
[libc++] __uglify `[[clang::noescape]]` (#113280)
Identifiers `clang` and `noescape` are not reserved by the C++ standard,
so perhaps we need to use the equivalent reserved forms.
Also changes the occurrences of that attribute to a macro, following the
convention for `[[_Clang::__lifetimebound__]]`.
Addresses
https://github.com/llvm/llvm-project/pull/91651#discussion_r1807852646.
Commit: c9b10a94b56411ba3b7cc3a148edb257b7e88fcd
https://github.com/llvm/llvm-project/commit/c9b10a94b56411ba3b7cc3a148edb257b7e88fcd
Author: William Junda Huang <williamjhuang at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
A llvm/test/ThinLTO/X86/Inputs/ditemplatevalueparameter-remap.ll
A llvm/test/ThinLTO/X86/ditemplatevalueparameter-remap.ll
Log Message:
-----------
[ThinLTO] Do not duplicate import a function that is actually defined in the current module #110064 (#111933)
Trying to land #110064 again after fixing test case
Commit: a35ebcf255046bc78ea86b3c524e0836425a1156
https://github.com/llvm/llvm-project/commit/a35ebcf255046bc78ea86b3c524e0836425a1156
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lld/test/wasm/lto/Inputs/archive.ll
M lld/test/wasm/lto/Inputs/cache.ll
M lld/test/wasm/lto/Inputs/comdat_ordering1.ll
M lld/test/wasm/lto/Inputs/comdat_ordering2.ll
M lld/test/wasm/lto/Inputs/foo.ll
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
M lld/test/wasm/lto/Inputs/libcall.ll
M lld/test/wasm/lto/Inputs/save-temps.ll
M lld/test/wasm/lto/Inputs/thin1.ll
M lld/test/wasm/lto/Inputs/thin2.ll
M lld/test/wasm/lto/Inputs/thinlto.ll
M lld/test/wasm/lto/Inputs/used.ll
M lld/test/wasm/lto/archive.ll
M lld/test/wasm/lto/atomics.ll
M lld/test/wasm/lto/cache-warnings.ll
M lld/test/wasm/lto/cache.ll
M lld/test/wasm/lto/cgo.ll
M lld/test/wasm/lto/comdat.ll
M lld/test/wasm/lto/diagnostics.ll
M lld/test/wasm/lto/export.ll
M lld/test/wasm/lto/import-attributes.ll
M lld/test/wasm/lto/internalize-basic.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/libcall-truncsfhf2.ll
M lld/test/wasm/lto/lto-start.ll
M lld/test/wasm/lto/new-pass-manager.ll
M lld/test/wasm/lto/opt-level.ll
M lld/test/wasm/lto/parallel.ll
M lld/test/wasm/lto/relocatable-undefined.ll
M lld/test/wasm/lto/relocatable.ll
M lld/test/wasm/lto/save-temps.ll
M lld/test/wasm/lto/thin-archivecollision.ll
M lld/test/wasm/lto/thinlto-thin-archive-collision.ll
M lld/test/wasm/lto/thinlto.ll
M lld/test/wasm/lto/undef.ll
M lld/test/wasm/lto/used.ll
M lld/test/wasm/lto/verify-invalid.ll
M lld/test/wasm/lto/weak-undefined.ll
M lld/test/wasm/lto/weak.ll
Log Message:
-----------
[lld][WebAssembly] Update datalayout strings to latest version
These mismatched data layouts are exposed by the refactoring in
https://github.com/llvm/llvm-project/pull/105734 that now also
compares the non-integral pointers list of the data layout.
I dropped the explicit definition from all tests that use opt/llc since
those tools will insert the correct value, but for the llvm-as based
tests and explicit layout is required.
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/107276
Commit: efd8938d575d1f8058bfe220e4c672d969c82be0
https://github.com/llvm/llvm-project/commit/efd8938d575d1f8058bfe220e4c672d969c82be0
Author: kakkoko <parenthesized.ko at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/test/Format/clang-format-ignore.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Fix working -assume-filename with .clang-format-ignore (#113100)
Fixes #113099.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 08916cef7e7ae334a04769126c2fefc144f8a5a0
https://github.com/llvm/llvm-project/commit/08916cef7e7ae334a04769126c2fefc144f8a5a0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Set RawBranchCount in DataAggregator
Align DataAggregator (Linux perf and pre-aggregated profile reader) to
DataReader (fdata profile reader) behavior: set BF->RawBranchCount which
is used in profile density computation (#101094).
Reviewers: ayermolo, maksfb, dcci, rafaelauler, WenleiHe
Reviewed By: WenleiHe
Pull Request: https://github.com/llvm/llvm-project/pull/101093
Commit: 6ee5ff95abe6ba6dfc4ca3a07a27b796fbf3664e
https://github.com/llvm/llvm-project/commit/6ee5ff95abe6ba6dfc4ca3a07a27b796fbf3664e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/pre-aggregated-perf.test
M bolt/tools/driver/llvm-bolt.cpp
Log Message:
-----------
[BOLT] Add profile density computation
Reuse the definition of profile density from llvm-profgen (#92144):
- the density is computed in perf2bolt using raw samples (perf.data or
pre-aggregated data),
- function density is the ratio of dynamically executed function bytes
to the static function size in bytes,
- profile density:
- functions are sorted by density in decreasing order, accumulating
their respective sample counts,
- profile density is the smallest density covering 99% of total sample
count.
In other words, BOLT binary profile density is the minimum amount of
profile information per function (excluding functions in tail 1% sample
count) which is sufficient to optimize the binary well.
The density threshold of 60 was determined through experiments with
large binaries by reducing the sample count and checking resulting
profile density and performance. The threshold is conservative.
perf2bolt would print the warning if the density is below the threshold
and suggest to increase the sampling duration and/or frequency to reach
a given density, e.g.:
```
BOLT-WARNING: BOLT is estimated to optimize better with 2.8x more samples.
```
Test Plan: updated pre-aggregated-perf.test
Reviewers: maksfb, wlei-llvm, rafaelauler, ayermolo, dcci, WenleiHe
Reviewed By: WenleiHe, wlei-llvm
Pull Request: https://github.com/llvm/llvm-project/pull/101094
Commit: f1595ecfdce5387e41826fd72ff930a1a39ae398
https://github.com/llvm/llvm-project/commit/f1595ecfdce5387e41826fd72ff930a1a39ae398
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
Log Message:
-----------
[mlir] Fix bug in UnPackOp tiling implementation causing infinite loop (#113571)
This fixes a bug in the tiling implementation of tensor.unpack that was
causing an infinite loop when certain unpack ops get tiled and fused as
a producer. The tiled implementation of tensor.unpack sometimes needs to
create an additional tensor.extract_slice on the result of the tiled
unpack op, but this slice was getting added to the `generatedSlices` of
the tiling result. The `generatedSlices` are used to find the next
producers to fuse, so it caused an infinite loop of fusing the same
unpack op after it was already in the loop. This fixes the bug by adding
the slice of the source instead of the result.
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: 78e7d9592d7c3b500ae2bae097d8cd7cd9369671
https://github.com/llvm/llvm-project/commit/78e7d9592d7c3b500ae2bae097d8cd7cd9369671
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Format/CMakeLists.txt
Log Message:
-----------
[clang-format][NFC] Use CLANG_SOURCE_DIR in CMakeLists
Commit: a31ce36f568723ffa5b4155d0ba009403ccd0d9e
https://github.com/llvm/llvm-project/commit/a31ce36f568723ffa5b4155d0ba009403ccd0d9e
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
Log Message:
-----------
Apply initializes attribute to DSE (#113630)
retry #107282
Fixed with `MadeChange |= Changed;` and confirmed it works.
```
cmake -DLLVM_CCACHE_BUILD=ON -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON -DLLVM_ENABLE_WERROR=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=-U_GLIBCXX_DEBUG '-DLLVM_LIT_ARGS=-v -vv -j96' '-DLLVM_ENABLE_PROJECTS=llvm;lld' -DLLVM_ENABLE_ASSERTIONS=ON -GNinja ../llvm
ninja check-llvm
```
Commit: b852fb1ec5fa15f0b913cc4988cbd09239b19904
https://github.com/llvm/llvm-project/commit/b852fb1ec5fa15f0b913cc4988cbd09239b19904
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M lldb/include/lldb/Core/IOHandler.h
R lldb/include/lldb/Core/ValueObject.h
R lldb/include/lldb/Core/ValueObjectCast.h
R lldb/include/lldb/Core/ValueObjectChild.h
R lldb/include/lldb/Core/ValueObjectConstResult.h
R lldb/include/lldb/Core/ValueObjectConstResultCast.h
R lldb/include/lldb/Core/ValueObjectConstResultChild.h
R lldb/include/lldb/Core/ValueObjectConstResultImpl.h
R lldb/include/lldb/Core/ValueObjectDynamicValue.h
R lldb/include/lldb/Core/ValueObjectList.h
R lldb/include/lldb/Core/ValueObjectMemory.h
R lldb/include/lldb/Core/ValueObjectRegister.h
R lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
R lldb/include/lldb/Core/ValueObjectUpdater.h
R lldb/include/lldb/Core/ValueObjectVTable.h
R lldb/include/lldb/Core/ValueObjectVariable.h
M lldb/include/lldb/DataFormatters/FormattersContainer.h
M lldb/include/lldb/DataFormatters/TypeFormat.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
A lldb/include/lldb/ValueObject/ValueObject.h
A lldb/include/lldb/ValueObject/ValueObjectCast.h
A lldb/include/lldb/ValueObject/ValueObjectChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResult.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultCast.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
A lldb/include/lldb/ValueObject/ValueObjectDynamicValue.h
A lldb/include/lldb/ValueObject/ValueObjectList.h
A lldb/include/lldb/ValueObject/ValueObjectMemory.h
A lldb/include/lldb/ValueObject/ValueObjectRegister.h
A lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
A lldb/include/lldb/ValueObject/ValueObjectUpdater.h
A lldb/include/lldb/ValueObject/ValueObjectVTable.h
A lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBBlock.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBType.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SBValueList.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/DumpRegisterValue.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
R lldb/source/Core/ValueObject.cpp
R lldb/source/Core/ValueObjectCast.cpp
R lldb/source/Core/ValueObjectChild.cpp
R lldb/source/Core/ValueObjectConstResult.cpp
R lldb/source/Core/ValueObjectConstResultCast.cpp
R lldb/source/Core/ValueObjectConstResultChild.cpp
R lldb/source/Core/ValueObjectConstResultImpl.cpp
R lldb/source/Core/ValueObjectDynamicValue.cpp
R lldb/source/Core/ValueObjectList.cpp
R lldb/source/Core/ValueObjectMemory.cpp
R lldb/source/Core/ValueObjectRegister.cpp
R lldb/source/Core/ValueObjectSyntheticFilter.cpp
R lldb/source/Core/ValueObjectUpdater.cpp
R lldb/source/Core/ValueObjectVTable.cpp
R lldb/source/Core/ValueObjectVariable.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/StringPrinter.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/Generic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/CF.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.h
M lldb/source/Plugins/Language/ObjC/CoreMedia.h
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.h
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.h
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/MemoryHistory/asan/CMakeLists.txt
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/OperatingSystem/Python/CMakeLists.txt
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/CMakeLists.txt
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/ABI.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
A lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/ValueObject.cpp
A lldb/source/ValueObject/ValueObjectCast.cpp
A lldb/source/ValueObject/ValueObjectChild.cpp
A lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/source/ValueObject/ValueObjectConstResultCast.cpp
A lldb/source/ValueObject/ValueObjectConstResultChild.cpp
A lldb/source/ValueObject/ValueObjectConstResultImpl.cpp
A lldb/source/ValueObject/ValueObjectDynamicValue.cpp
A lldb/source/ValueObject/ValueObjectList.cpp
A lldb/source/ValueObject/ValueObjectMemory.cpp
A lldb/source/ValueObject/ValueObjectRegister.cpp
A lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
A lldb/source/ValueObject/ValueObjectUpdater.cpp
A lldb/source/ValueObject/ValueObjectVTable.cpp
A lldb/source/ValueObject/ValueObjectVariable.cpp
M lldb/unittests/ValueObject/CMakeLists.txt
M lldb/unittests/ValueObject/DumpValueObjectOptionsTests.cpp
Log Message:
-----------
[lldb] Move ValueObject into its own library (NFC) (#113393)
ValueObject is part of lldbCore for historical reasons, but conceptually
it deserves to be its own library. This does introduce a (link-time) circular
dependency between lldbCore and lldbValueObject, which is unfortunate
but probably unavoidable because so many things in LLDB rely on
ValueObject. We already have cycles and these libraries are never built
as dylibs so while this doesn't improve the situation, it also doesn't
make things worse.
The header includes were updated with the following command:
```
find . -type f -exec sed -i.bak "s%include \"lldb/Core/ValueObject%include \"lldb/ValueObject/ValueObject%" '{}' \;
```
Commit: cf8d24531e0464d32031e5490cf2772f47645674
https://github.com/llvm/llvm-project/commit/cf8d24531e0464d32031e5490cf2772f47645674
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
Log Message:
-----------
[msan] Reduces overhead of #113200, by 10% (#113201)
CTMark #113200 size overhead was 5.3%, now it's 4.7%.
The patch affects only signed integers.
https://alive2.llvm.org/ce/z/Lv5hyi
* The patch replaces code which extracted sign bit,
maximized/minimized it, then packed it back, with
simple sign bit flip. The another way to think about
transformation is as a subtraction of MIN_SINT from
A/B. Then we map MIN_SINT to 0, 0 to -MIN_SINT, and
MAX_SINT to MAX_UINT.
* Then to maximize/minimize A/B we don't need
to extract sign bit, we can apply shadow the
same way as to other bits.
* After sign bit flip, we had to switch to unsigned
version of the predicates.
* After change above getHighestPossibleValue/getLowestPossibleValue
became very similar, so we can combine into a single function.
* Because the function does sign bit flip and
requires unsigned predicates used for returned values,
there is no point in keeping it as a member of class,
to hide, we switch to function local lambda.
Commit: ce858e2127beb7e8f5780996d5a87994fbad39d4
https://github.com/llvm/llvm-project/commit/ce858e2127beb7e8f5780996d5a87994fbad39d4
Author: tangaac <tangyan01 at loongson.cn>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[LoongArch] fix description of clang option -m[no-]lam-bh (#113632)
Fix the description of option `-mlam-bh` and `-mno-lam-bh`
Previous decription causes a `build docs-clang-html` error in #112727
Commit: a9d51f0e18ec840bdb361daca48b4ef00e2ba8ac
https://github.com/llvm/llvm-project/commit/a9d51f0e18ec840bdb361daca48b4ef00e2ba8ac
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
Log Message:
-----------
[MCParser] De-capitalize ParseDirectiveCGProfile. NFC
Commit: 2e6d451d1565814415e2692ef8e5c3942d4c11a2
https://github.com/llvm/llvm-project/commit/2e6d451d1565814415e2692ef8e5c3942d4c11a2
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M libc/newhdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Use idiomatic main() function in newhdrgen/yaml_to_classes.py (#113419)
This changes the entry-point Python script of newhdrgen to use
the idiomatic main() function of no arguments that does the whole
job of the script. This replaces the unusual pattern of having
an idiosyncratic main(...) signature and having the script's
direct code do argument parsing outside the main function. The
idiomatic pattern makes it possible to usefully wrap the script
in Python and still use its full command-line functionality.
Commit: 075581f34035c01659cc883d0d69336c279ef0d5
https://github.com/llvm/llvm-project/commit/075581f34035c01659cc883d0d69336c279ef0d5
Author: Anutosh Bhat <87052487+anutosh491 at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/Interpreter/CMakeLists.txt
Log Message:
-----------
[clang-repl] Fix undefined lld::wasm::link symbol while building clangInterpreter for wasm (#113446)
While building llvm (clang, lld) for wasm using emscripten (recipe
hosted on emscripten-forge
https://github.com/emscripten-forge/recipes/tree/main/recipes/recipes_emscripten/llvm)
I ended up with this error
```
│ │ wasm-ld: error: ../../../../lib/libclangInterpreter.a(Wasm.cpp.o): undefined symbol: lld::wasm::link(llvm::ArrayRef<char const*>, llvm::raw_ostream&, llvm:
│ │ :raw_ostream&, bool, bool)
```
This is due to the link function here
https://github.com/llvm/llvm-project/blob/a4819bd46d8baebc3aaa8b38f78065de33593199/clang/lib/Interpreter/Wasm.cpp#L25-L30
This was added through this PR (https://github.com/llvm/llvm-project/pull/86402) as an attempt to support running clang-repl and executing C++ code interactively inside a Javascript engine using WebAssembly when built with Emscripten.
The definition for link is present in lldwasm and when building for the emscripten platform we should be linking against it.
Commit: d0c81509ffe7297903371111e7ee1f6f910c3dac
https://github.com/llvm/llvm-project/commit/d0c81509ffe7297903371111e7ee1f6f910c3dac
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize COFFMasmParser functions. NFC
Commit: 240e4780680f0d6a760be1b9ea432f410424b3a5
https://github.com/llvm/llvm-project/commit/240e4780680f0d6a760be1b9ea432f410424b3a5
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/cmake/config-ix.cmake
M libcxxabi/cmake/config-ix.cmake
M libcxxabi/src/CMakeLists.txt
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Probe for -nostdlib++ and -nostdinc++ with the C compiler" (#113653)
Reverts llvm/llvm-project#108357
Breaks https://lab.llvm.org/buildbot/#/builders/164/builds/3908 and
similar bots
Commit: 3a4ccebb5c5142c15fb6d72aedadb27205ef33d5
https://github.com/llvm/llvm-project/commit/3a4ccebb5c5142c15fb6d72aedadb27205ef33d5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Driver] Use != instead of compare to compare strings (NFC) (#113651)
Commit: 96bb375f5cedcfcc5dcd96296ba54ff933b39d4d
https://github.com/llvm/llvm-project/commit/96bb375f5cedcfcc5dcd96296ba54ff933b39d4d
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (#110063)
nsw is now added to do-variable increment when -fno-wrapv is enabled as
GFortran seems to do.
That means the option introduced by #91579 isn't necessary any more.
Note that the feature of -flang-experimental-integer-overflow is enabled
by default.
Commit: 21b3769d1dfed38ef8d8fa35ee98973926f7de62
https://github.com/llvm/llvm-project/commit/21b3769d1dfed38ef8d8fa35ee98973926f7de62
Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
Date: 2024-10-24 (Thu, 24 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
A llvm/test/Transforms/Scalarizer/uadd_overflow.ll
Log Message:
-----------
[Scalarizer] Fix to only scalarize if intrinsic was marked as isTriviallyScalarizable (#113625)
fixes #113624
Commit: 5827334ed2c68a660ac73ae251f974333310d30b
https://github.com/llvm/llvm-project/commit/5827334ed2c68a660ac73ae251f974333310d30b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Commands/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Expression/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/DWARF/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
A llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
Log Message:
-----------
[gn] port 105d54726b1d7 (lldbValueObject)
Commit: 93ee9d1c549873ef7912959330c89ef2d36784fa
https://github.com/llvm/llvm-project/commit/93ee9d1c549873ef7912959330c89ef2d36784fa
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/ABI/X86/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/ExpressionParser/Clang/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjC/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Platform/POSIX/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn] port 105d54726b1d7 more
Also, it's really b852fb1ec5f, not 105d54726b1d7.
Commit: 18f4b7e4a862c11816e62cc72fb2a4ca8fac1987
https://github.com/llvm/llvm-project/commit/18f4b7e4a862c11816e62cc72fb2a4ca8fac1987
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port b1be21394e9c
Commit: b89f09f5cc072b927917844a5781be3600acb72a
https://github.com/llvm/llvm-project/commit/b89f09f5cc072b927917844a5781be3600acb72a
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaAvailability.cpp
M clang/test/SemaCXX/deprecated.cpp
Log Message:
-----------
[Clang] Enhance handling of [[deprecated]] attribute diagnostics for local variables (#113575)
Fixes #90073
Commit: ed6ddffb583beb450c4b0e1747ccd14f7e063105
https://github.com/llvm/llvm-project/commit/ed6ddffb583beb450c4b0e1747ccd14f7e063105
Author: dong-miao <601183878 at qq.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/machine-csr-names.s
A llvm/test/MC/RISCV/smrnmi-invalid.s
A llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Smrnmi extension (#111668)
This commit has completed the Extension for Resumable Non Maskable
Interrupts, adding four CRSs and one Trap-Return instruction.
Specification link:["Smrnmi"
Extension](https://github.com/riscv/riscv-isa-manual/blob/main/src/rnmi.adoc)
---------
Co-authored-by: Sam Elliott <sam at lenary.co.uk>
Commit: e738a5d8e33911381dbd0e1bc5a0109e9ebb62f2
https://github.com/llvm/llvm-project/commit/e738a5d8e33911381dbd0e1bc5a0109e9ebb62f2
Author: Sebastian Kreutzer <SebastianKreutzer at gmx.net>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/XRayArgs.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/XRayArgs.cpp
A clang/test/Driver/XRay/xray-shared.cpp
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/xray/xray_interface.h
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_AArch64.cpp
M compiler-rt/lib/xray/xray_arm.cpp
A compiler-rt/lib/xray/xray_dso_init.cpp
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_init.cpp
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
M compiler-rt/lib/xray/xray_loongarch64.cpp
M compiler-rt/lib/xray/xray_mips.cpp
M compiler-rt/lib/xray/xray_mips64.cpp
M compiler-rt/lib/xray/xray_powerpc64.cpp
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/lib/xray/xray_x86_64.cpp
A compiler-rt/test/xray/TestCases/Posix/basic-mode-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
A compiler-rt/test/xray/TestCases/Posix/dlopen.cpp
A compiler-rt/test/xray/TestCases/Posix/dso-dep-chains.cpp
A compiler-rt/test/xray/TestCases/Posix/patch-premain-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/patching-unpatching-dso.cpp
Log Message:
-----------
Reapply " [XRay] Add support for instrumentation of DSOs on x86_64 (#90959)" (#113548)
This fixes remaining issues in my previous PR #90959.
Changes:
- Removed dependency on LLVM header in `xray_interface.cpp`
- Fixed XRay patching for some targets due to missing changes in
architecture-specific patching functions
- Addressed some remaining compiler warnings that I missed in the
previous patch
- Formatting
I have tested these changes on `x86_64` (natively), as well as
`ppc64le`, `aarch64` and `arm32` (cross-compiled and emulated using
qemu).
**Original description:**
This PR introduces shared library (DSO) support for XRay based on a
revised version of the implementation outlined in [this
RFC](https://discourse.llvm.org/t/rfc-upstreaming-dso-instrumentation-support-for-xray/73000).
The feature enables the patching and handling of events from DSOs,
supporting both libraries linked at startup or explicitly loaded, e.g.
via `dlopen`.
This patch adds the following:
- The `-fxray-shared` flag to enable the feature (turned off by default)
- A small runtime library that is linked into every instrumented DSO,
providing position-independent trampolines and code to register with the
main XRay runtime
- Changes to the XRay runtime to support management and patching of
multiple objects
These changes are fully backward compatible, i.e. running without
instrumented DSOs will produce identical traces (in terms of recorded
function IDs) to the previous implementation.
Due to my limited ability to test on other architectures, this feature
is only implemented and tested with x86_64. Extending support to other
architectures is fairly straightforward, requiring only a
position-independent implementation of the architecture-specific
trampoline implementation (see
`compiler-rt/lib/xray/xray_trampoline_x86_64.S` for reference).
This patch does not include any functionality to resolve function IDs
from DSOs for the provided logging/tracing modes. These modes still work
and will record calls from DSOs, but symbol resolution for these
functions in not available. Getting this to work properly requires
recording information about the loaded DSOs and should IMO be discussed
in a separate RFC, as there are mulitple feasible approaches.
---------
Co-authored-by: Sebastian Kreutzer <sebastian.kreutzer at tu-darmstadt.de>
Commit: e3f218096ca31863cc245fdd411f0b6e5cbfb1cb
https://github.com/llvm/llvm-project/commit/e3f218096ca31863cc245fdd411f0b6e5cbfb1cb
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
Log Message:
-----------
[ARM] Re-generate a test
Commit: 8e289e4fa60eb59fc12c39b88987d4956c1d38ea
https://github.com/llvm/llvm-project/commit/8e289e4fa60eb59fc12c39b88987d4956c1d38ea
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Fix comment typo
Commit: 246baeb5fe7d9176f3bc143ab8abe9199a8636f4
https://github.com/llvm/llvm-project/commit/246baeb5fe7d9176f3bc143ab8abe9199a8636f4
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Add debug trace for tail-call optimisation
There are lots of reasons a call might not be eligible for tail-call
optimisation, this adds debug trace to help understand the compiler's
decisions here.
Commit: c1eb790cd2f2a3fd48781167b50f091c0d20be8d
https://github.com/llvm/llvm-project/commit/c1eb790cd2f2a3fd48781167b50f091c0d20be8d
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
M llvm/test/CodeGen/ARM/fp16-vector-argument.ll
A llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Tail-calls do not require caller and callee arguments to match
The ARM backend was checking that the outgoing values for a tail-call
matched the incoming argument values of the caller. This isn't
necessary, because the caller can change the values in both registers
and the stack before doing the tail-call. The actual limitation is that
the callee can't need more stack space for it's arguments than the
caller does.
This is needed for code using the musttail attribute, as well as
enabling tail calls as an optimisation in more cases.
Commit: 82e64721974b1ed9b112ca98466fa29d21dffc33
https://github.com/llvm/llvm-project/commit/82e64721974b1ed9b112ca98466fa29d21dffc33
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Allow functions with sret returns to be tail-called
It is valid to tail-call a function which returns through an sret
argument, as long as we have an incoming sret pointer to pass on.
Commit: 78ec2e2ed5e3dc61339b51f9d614029314a42005
https://github.com/llvm/llvm-project/commit/78ec2e2ed5e3dc61339b51f9d614029314a42005
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding.ll
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding2.ll
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Allow tail calls with byval args
Byval arguments which are passed partially in registers get stored into
the local stack frame, but it is valid to tail-call them because the
part which gets spilled is always re-loaded into registers before doing
the tail-call, so it's OK for the spill area to be deallocated.
Commit: a96c14eeb8fcb1a141c0f55ed5d28dd7f1f3e38e
https://github.com/llvm/llvm-project/commit/a96c14eeb8fcb1a141c0f55ed5d28dd7f1f3e38e
Author: Kiran <kiran.sturt at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
A clang/test/CodeGen/musttail-sret.cpp
Log Message:
-----------
[Clang] Always forward sret parameters to musttail calls
If a call using the musttail attribute returns it's value through an
sret argument pointer, we must forward an incoming sret pointer to it,
instead of creating a new alloca. This is always possible because the
musttail attribute requires the caller and callee to have the same
argument and return types.
Commit: 914a3990d1a055f5f1848c6979f621ceff97fa7c
https://github.com/llvm/llvm-project/commit/914a3990d1a055f5f1848c6979f621ceff97fa7c
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Avoid clobbering byval arguments when passing to tail-calls
When passing byval arguments to tail-calls, we need to store them into
the stack memory in which this the caller received it's arguments. If
any of the outgoing arguments are forwarded from incoming byval
arguments, then the source of the copy is from the same stack memory.
This can result in the copy corrupting a value which is still to be
read.
The fix is to first make a copy of the outgoing byval arguments in local
stack space, and then copy them to their final location. This fixes the
correctness issue, but results in extra copying, which could be
optimised.
Commit: 376d7b27fa3de4f72c2a3cec4f941c1ca3f1d7f2
https://github.com/llvm/llvm-project/commit/376d7b27fa3de4f72c2a3cec4f941c1ca3f1d7f2
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/test/CodeGen/ARM/musttail.ll
Log Message:
-----------
[ARM] Optimise byval arguments in tail-calls
We don't need to copy byval arguments to tail calls via a temporary, if
we can prove that we are not copying from the outgoing argument area.
This patch does this when the source if the argument is one of:
* Memory in the local stack frame, which can't be used for tail-call
arguments.
* A global variable.
We can also avoid doing the copy completely if the source and
destination are the same memory location, which is the case when the
caller and callee have the same signature, and pass some arguments
through unmodified.
Commit: 8be860ddc4d5c21829085f5eed9188d59cbd3cc7
https://github.com/llvm/llvm-project/commit/8be860ddc4d5c21829085f5eed9188d59cbd3cc7
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
A llvm/test/MC/AArch64/armv9.6a-ras.s
A llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add support for Armv9.6-A FEAT_PoPS architecture extension (#113496)
Add support for the following Armv9.6-A architecture extensions:
* FEAT_PoPS - Point of Physical Storage
as documented here:
https://developer.arm.com/documentation/109697/2024_09/Feature-descriptions/The-Armv9-6-architecture-extension
Co-authored-by: Alfie Richards <alfie.richards at arm.com>
Commit: 2e43a304f10fd801f068d0f9831f01f2c5b0b2e2
https://github.com/llvm/llvm-project/commit/2e43a304f10fd801f068d0f9831f01f2c5b0b2e2
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/seed_seq.h
A libcxx/include/__vector/comparison.h
A libcxx/include/__vector/container_traits.h
A libcxx/include/__vector/erase.h
A libcxx/include/__vector/pmr.h
A libcxx/include/__vector/swap.h
A libcxx/include/__vector/vector.h
A libcxx/include/__vector/vector_bool.h
A libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/chrono
M libcxx/include/functional
M libcxx/include/module.modulemap
M libcxx/include/vector
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/const_time_zone_default_zone.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
Log Message:
-----------
[libc++] Granularize <vector> (#99705)
| | old time | new time |
| ------------------ | -------- | -------- |
| functional - c++23 | 416ms | 225ms |
| random - c++23 | 513ms | 392ms |
| vector - c++17 | 206ms | 100ms |
Commit: b91ce7bc0eda8ec91c7ba724fbe78607843e0e06
https://github.com/llvm/llvm-project/commit/b91ce7bc0eda8ec91c7ba724fbe78607843e0e06
Author: Sayan Saha <sayans at mathworks.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[Tosa] : Fix integer overflow for computing intmax+1 in tosa.cast to linalg. (#112455)
This PR fixes an issue related to integer overflow when computing
`(intmax+1)` for `i64` during `tosa-to-linalg` pass for `tosa.cast`.
Found this issue while debugging a numerical mismatch for `deeplabv3`
model from `torchvision` represented in `tosa` dialect using the
`TorchToTosa` pipeline in `torch-mlir` repository. `torch.aten.to.dtype`
is converted to `tosa.cast` that casts `f32` to `i64` type. Technically
by the specification, `tosa.cast` doesn't handle casting `f32` to `i64`.
So it's possible to add a verifier to error out for such tosa ops
instead of producing incorrect code. However, I chose to fix the
overflow issue to still be able to represent the `deeplabv3` model with
`tosa` ops in the above-mentioned pipeline. Open to suggestions if
adding the verifier is more appropriate instead.
Commit: 6bb6922de92d8413321f57f74769380c6b6f45ee
https://github.com/llvm/llvm-project/commit/6bb6922de92d8413321f57f74769380c6b6f45ee
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lld/COFF/Driver.cpp
A lld/test/COFF/arm64ec-altnames.s
M llvm/include/llvm/IR/Mangler.h
Log Message:
-----------
[LLD][COFF] Allow overriding EC alias symbols with alternate names (#113456)
Commit: 86d65ae7949e0322f10e1856c5c33caa34ebfe2f
https://github.com/llvm/llvm-project/commit/86d65ae7949e0322f10e1856c5c33caa34ebfe2f
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
Log Message:
-----------
[analyzer] Improve FieldRegion descriptive name (#112313)
The current implementation of MemRegion::getDescriptiveName fails for
FieldRegions whose SuperRegion is an ElementRegion. As outlined below:
```Cpp
struct val_struct { int val; };
extern struct val_struct val_struct_array[3];
void func(){
// FieldRegion with ElementRegion as SuperRegion.
val_struct_array[0].val;
}
```
For this special case, the expression cannot be pretty printed and must
therefore be obtained separately.
Commit: d87964de78ce692fd132ea453c32e4435309a306
https://github.com/llvm/llvm-project/commit/d87964de78ce692fd132ea453c32e4435309a306
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OpenMP][OMPIRBuilder] Error propagation across callbacks (#112533)
This patch implements an approach to communicate errors between the
OMPIRBuilder and its users. It introduces `llvm::Error` and
`llvm::Expected` objects to replace the values returned by callbacks
passed to `OMPIRBuilder` codegen functions. These functions then check
the result for errors when callbacks are called and forward them back to
the caller, which has the flexibility to recover, exit cleanly or dump a
stack trace.
This prevents a failed callback to leave the IR in an invalid state and
still continue the codegen process, triggering unrelated assertions or
segmentation faults. In the case of MLIR to LLVM IR translation of the
'omp' dialect, this change results in the compiler emitting errors and
exiting early instead of triggering a crash for not-yet-implemented
errors. The behavior in Clang and openmp-opt stays unchanged, since
callbacks will continue always returning 'success'.
Commit: 85af1926f74e88e14c9f58946537e025a74ccf7e
https://github.com/llvm/llvm-project/commit/85af1926f74e88e14c9f58946537e025a74ccf7e
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Transforms/debug-none-type.fir
Log Message:
-----------
[flang][debug] Support mlir::NoneType. (#113550)
Commit: c2d2b3b80866633b4db65c3841c40c16815267f3
https://github.com/llvm/llvm-project/commit/c2d2b3b80866633b4db65c3841c40c16815267f3
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
M clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
Log Message:
-----------
[test] Avoid writing to a potentially write-protected dir (#113674)
Commit: 2d26ef09fc87472cd42ea219c8f9267599872958
https://github.com/llvm/llvm-project/commit/2d26ef09fc87472cd42ea219c8f9267599872958
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
Log Message:
-----------
[lldb-dap][test] Set disableASLR to False for tests (#113593)
When running in constrained environments like docker, disabling ASLR
might fail with errors like:
```
AssertionError: False is not true : launch failed (Cannot launch
'/__w/.../lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.test_subtleFrames/a.out':
personality set failed: Operation not permitted)
```
E.g., https://github.com/llvm/llvm-project/pull/110303
Hence we already run `settings set target.disable-aslr false` as part of
the init-commands for the non-DAP tests (see
https://github.com/llvm/llvm-project/pull/88312 and
https://discourse.llvm.org/t/running-lldb-in-a-container/76801).
But we never adjusted it for the DAP tests. As a result we get
conflicting test logs like:
```
{
"arguments": {
"commandEscapePrefix": null,
"disableASLR": true,
....
"initCommands": [
...
"settings set target.disable-aslr false",
```
Disabling ASLR by default in tests isn't useulf (it's only really a
debugging aid for users). So this patch sets `disableASLR=False` by
default.
Commit: 2c0b34852af4dc9964f8bf6db303bd54a32856e7
https://github.com/llvm/llvm-project/commit/2c0b34852af4dc9964f8bf6db303bd54a32856e7
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/rvv/pr107950.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark pointer masking extensions as non-experimental (#113618)
These extensions were ratified very recently.
<https://lf-riscv.atlassian.net/wiki/spaces/HOME/pages/16154732/Ratified+Extensions>
I've ensured we have definitions for all extensions in the document
<https://drive.google.com/file/d/159QffOTbi3EEbdkKndYRZ2c46D25ZLmO/view?usp=drive_link>.
There are no additional CSRs.
Commit: 90cdc03e7f5bda2e31573d48450a8ac8fa856efa
https://github.com/llvm/llvm-project/commit/90cdc03e7f5bda2e31573d48450a8ac8fa856efa
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Type.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Verifier/scalable-global-vars.ll
Log Message:
-----------
[IR] Fix undiagnosed cases of structs containing scalable vectors (#113455)
Type::isScalableTy and StructType::containsScalableVectorType failed to
detect some cases of structs containing scalable vectors because
containsScalableVectorType did not call back into isScalableTy to check
the element types. Fix this, which requires sharing the same Visited set
in both functions. Also change the external API so that callers are
never required to pass in a Visited set, and normalize the naming to
isScalableTy.
Commit: 403e4a2074910fcec139a8fbb77f3c2d15643916
https://github.com/llvm/llvm-project/commit/403e4a2074910fcec139a8fbb77f3c2d15643916
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2/flogb-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for SVE zeroing int-float conversions (#113605)
This patch adds assembly/disassembly for the following predicated SVE2.2
instructions
- SCVTF (zeroing)
- UCVTF (zeroing)
- FCVTZS (zeroing)
- FCVTZU (zeroing)
- FLOGB (zeroing)
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 183ddefff60f560466ec3bf271c6008067d746db
https://github.com/llvm/llvm-project/commit/183ddefff60f560466ec3bf271c6008067d746db
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCSectionELF.h
Log Message:
-----------
[MC][ELF] Have an assert catching creating group sections without signatures. (#113553)
Commit: 43dda4bbeb59c9b327b9b5b1fe917a7d8a5bf3bc
https://github.com/llvm/llvm-project/commit/43dda4bbeb59c9b327b9b5b1fe917a7d8a5bf3bc
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][doc] Add release note for changes to `-fveclib={ArmPL,SLEEF}` (#113673)
Changed in #112580.
Commit: 6854ad90e39e9d119c990043f573db7157a2b097
https://github.com/llvm/llvm-project/commit/6854ad90e39e9d119c990043f573db7157a2b097
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel][lldb] "Fix" the build after b852fb1ec5fa15f0b913cc4988cbd09239b19904
b852fb1ec5fa15f0b913cc4988cbd09239b19904 split out ValueObject, but it's
still all a big pile of dependency spaghetti so just build it with Core.
Commit: 32baf2917357b4e5a566ff43c6e0156e5ad10cb8
https://github.com/llvm/llvm-project/commit/32baf2917357b4e5a566ff43c6e0156e5ad10cb8
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
Log Message:
-----------
Make NoopLattice.h self-contained
Commit: 49940514e2c26ad82d86abee59ba4c2f6d8ec07d
https://github.com/llvm/llvm-project/commit/49940514e2c26ad82d86abee59ba4c2f6d8ec07d
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/AST/arm-mfp8.cpp
A clang/test/CodeGen/aarch64-debug-types.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/Modules/no-external-type-id.cppm
A clang/test/Sema/arm-mfp8.c
M clang/test/Sema/arm-mfp8.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[CLANG][AArch64] Add the modal 8 bit floating-point scalar type (#97277)
ARM ACLE PR#323[1] adds new modal types for 8-bit floating point
intrinsic.
>From the PR#323:
```
ACLE defines the `__mfp8` type, which can be used for the E5M2 and E4M3
8-bit floating-point formats. It is a storage and interchange only type
with no arithmetic operations other than intrinsic calls.
````
The type should be an opaque type and its format in undefined in Clang.
Only defined in the backend by a status/format register, for AArch64 the
FPMR.
This patch is an attempt to the add the mfloat8_t scalar type. It has a
parser and codegen for the new scalar type.
The patch it is lowering to and 8bit unsigned as it has no format. But
maybe we should add another opaque type.
[1] https://github.com/ARM-software/acle/pull/323
Commit: a69d2a18d207947a25838dd01d2116bee384b75b
https://github.com/llvm/llvm-project/commit/a69d2a18d207947a25838dd01d2116bee384b75b
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] try to port b1be21394e9c more
Bots are currently failing check-hwasan with
llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
hwasan_symbolize in /.../out/gn/lib/clang/20/lib/linux
Maybe this fixes that.
See also llvm/utils/gn/secondary/compiler-rt/lib/hwasan/scripts/BUILD.gn.
Commit: 4a6b56960f445d111adc9aef799acad8c6ca41f0
https://github.com/llvm/llvm-project/commit/4a6b56960f445d111adc9aef799acad8c6ca41f0
Author: Nico Weber <thakis at chromium.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] try to port b1be21394e9c even more
Bots are now failing check-hwasan with
llvm-lit: .../llvm/utils/lit/lit/llvm/subst.py:133: fatal: Did not find
hwasan_symbolize in .../out/gn/stage2_unix/bin
This time it's the right fix for sure!
Commit: 83e7e6a0ff9363da89d8917937407f9d37caec83
https://github.com/llvm/llvm-project/commit/83e7e6a0ff9363da89d8917937407f9d37caec83
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2e43a304f10f
Commit: a3dd6000a732d0b9a7019abd0dba5613786b9ff4
https://github.com/llvm/llvm-project/commit/a3dd6000a732d0b9a7019abd0dba5613786b9ff4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port c4248fa3edd3
Commit: b3703fa50485cf90b04105e6a223ccdd1e29c9af
https://github.com/llvm/llvm-project/commit/b3703fa50485cf90b04105e6a223ccdd1e29c9af
Author: Caroline Concatto <caroline.concatto at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CodeGen/aarch64-debug-types.c
Log Message:
-----------
[AArch64]Update test aarch64-debug-types.c
This patch fix the failing tests by adding
REQUIRES: aarch64-registered-target
This tests was failing in non aarch64 cpu.
The test was introduced by:
[CLANG][AArch64] Add the modal 8 bit floating-point scalar type (#97277)
Commit: 9043bdbce4ab1c6f07e72ddfedf7165bdf2b3e40
https://github.com/llvm/llvm-project/commit/9043bdbce4ab1c6f07e72ddfedf7165bdf2b3e40
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
[clang] Output an error when [[lifetimebound]] attribute is applied on a function parameter while the function returns void (#113460)
Fixes: https://github.com/llvm/llvm-project/issues/107556
Commit: 21ecd4a9dff312b26f7a276dc78d1ddb3707e7c1
https://github.com/llvm/llvm-project/commit/21ecd4a9dff312b26f7a276dc78d1ddb3707e7c1
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
Log Message:
-----------
[AArch64][PAC] Factor out the emission of pointer check sequence (NFC) (#110702)
When pointer is authenticated or resigned, it may be required to
explicitly check the authenticated value to prevent introducing signing
or authentication oracles. While the check sequence is expensive in
general, a more efficient sequence can be emitted under specific
assumptions.
This commit factors out the emission of the code sequence to check the
authenticated pointer value in preparation for adding other variants
of checking code, as it is currently done when emitting tail calls.
Commit: 800a47d6cd33ea1c2a888ceb67d566366c61e7ed
https://github.com/llvm/llvm-project/commit/800a47d6cd33ea1c2a888ceb67d566366c61e7ed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api/android.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
M libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__locale_dir/locale_base_api/musl.h
M libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__locale_dir/locale_base_api/win32.h
Log Message:
-----------
[libc++][NFC] Fix include guards inside locale_base_api
Commit: 577c7dd7cc4c5a9f62f9654cfa30ee9d55709426
https://github.com/llvm/llvm-project/commit/577c7dd7cc4c5a9f62f9654cfa30ee9d55709426
Author: David Green <david.green at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for vectorizing predicated selects. NFC
Commit: 9f6c632ecda08bfff76b798c46d5d7cfde57b5e9
https://github.com/llvm/llvm-project/commit/9f6c632ecda08bfff76b798c46d5d7cfde57b5e9
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/test/lib/Pass/CMakeLists.txt
A mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
M mlir/test/mlir-spirv-cpu-runner/double.mlir
M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
Log Message:
-----------
[mlir][mlir-spirv-cpu-runner] Move MLIR pass pipeline to mlir-opt (#113594)
Adds a new mlir-opt test-only pass, -test-spirv-cpu-runner-pipeline,
which runs the set of MLIR passes needed for the mlir-spirv-cpu-runner,
and removes them from the runner. The tests are changed to invoke
mlir-opt with this flag before running the runner. The eventual goal is
to move all host/device code generation steps out of the runner, like
with some of the other runners.
Recommit of 17e9752267ed9c81c8da87f3a6d0e01f130b0d04. It was reverted
due to a build failure, but the build failure had in fact already been
fixed in e7302319b52e3d231216d54d10622b0698928a96.
Commit: cbdfb18794026b0d662d7de1fa39c02ad6227abb
https://github.com/llvm/llvm-project/commit/cbdfb18794026b0d662d7de1fa39c02ad6227abb
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Add Supm extension to RVA23 profiles (#113619)
This is mandatory for both RVA23U64 and RVA23S64 in the ratified version
of the specification
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>.
Commit: bbc0e631d2d3facd5952aeafc7400761813acc3a
https://github.com/llvm/llvm-project/commit/bbc0e631d2d3facd5952aeafc7400761813acc3a
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
Log Message:
-----------
[MLIR] Remove unneeded LLVMDialect.h include in ControlFlowToSCF.cpp (#113560)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRControlFlowToSCF.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp:19
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: e47bf3d08d51306f2e534951a1b77043dc540ceb
https://github.com/llvm/llvm-project/commit/e47bf3d08d51306f2e534951a1b77043dc540ceb
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
Log Message:
-----------
[JIT] Fix crash in unit tests
The unit tests `ReOptimizeLayerTest.BasicReOptimization` and `JITLinkRedirectionManagerTest.BasicRedirectionOperation` are failing for me with the error:
```
Program aborted due to an unhandled Error:
Error value was Success. (Note: Success values must still be checked prior to being destroyed).
```
The error is raised when a value is assigned to `Err`, due to the the missing `ErrorAsOutParameter`.
The fix is to move the error handling out of the constructor.
Commit: aba39c3974c7e43a83a9d647dca9b67caca8572e
https://github.com/llvm/llvm-project/commit/aba39c3974c7e43a83a9d647dca9b67caca8572e
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
Log Message:
-----------
[System] Precommit of test for #112491 (#113704)
Commit: 81e536ec87a108d012cf9156a2c3fc672fb92155
https://github.com/llvm/llvm-project/commit/81e536ec87a108d012cf9156a2c3fc672fb92155
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/AST/arm-mfp8.cpp
Log Message:
-----------
[clang][test] Fix typo in arm-mfp8.cpp
New test added by https://github.com/llvm/llvm-project/pull/97277.
Commit: 5c20891b2bb60f82dd82a8e90b111f8c13a13ad4
https://github.com/llvm/llvm-project/commit/5c20891b2bb60f82dd82a8e90b111f8c13a13ad4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
Log Message:
-----------
[WebKit Checkers] Allow a guardian CheckedPtr/CheckedRef (#110222)
This PR makes WebKit checkers allow a guardian variable which is
CheckedPtr or CheckedRef as in addition to RefPtr or Ref.
Commit: 1f2b7ae6d78906df4f0c06961e3c9ed227986acf
https://github.com/llvm/llvm-project/commit/1f2b7ae6d78906df4f0c06961e3c9ed227986acf
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_base_api/locale_guard.h
A libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/module.modulemap
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
Log Message:
-----------
[libc++] Refactor locale_guard (#113694)
Rename __libcpp_locale_guard to just __locale_guard, since there's no
reason for it to have __libcpp_ in its name -- it's just an internal
utility.
Also, define __locale_guard unconditionally of
_LIBCPP_LOCALE__L_EXTENSIONS, since that header is only used on Windows
(where it has a custom definition) or from bsd_locale_fallbacks.h, which
is only included when the L extensions are not provided.
Commit: ba81e1949a4f25216e2b3ea3a1507a52db88562a
https://github.com/llvm/llvm-project/commit/ba81e1949a4f25216e2b3ea3a1507a52db88562a
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for BFMOP4{A,S} (widening) instructions (#113203)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: 4161ca2092d3b92034515190f577aa200ec615bf
https://github.com/llvm/llvm-project/commit/4161ca2092d3b92034515190f577aa200ec615bf
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[NFC][AArch64][LLVM] Update ReleaseNotes.md with Armv9.6-A (2024) arch extensions
Commit: 2ec5c69b6872b8b474f3d37b9125d3d57d144d1b
https://github.com/llvm/llvm-project/commit/2ec5c69b6872b8b474f3d37b9125d3d57d144d1b
Author: Florian Mayer <fmayer at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Revert "[Sanitizers] Intercept timer_create" (#113710)
Reverts llvm/llvm-project#112285
Commit: 9ea6fcd02b172ec12c9d4b9157d4a37765d83421
https://github.com/llvm/llvm-project/commit/9ea6fcd02b172ec12c9d4b9157d4a37765d83421
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 1f2b7ae6d789
Commit: 305a1ceae371b482375545650ba9fd9e4c165157
https://github.com/llvm/llvm-project/commit/305a1ceae371b482375545650ba9fd9e4c165157
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/DataLayout.h
M llvm/lib/IR/DataLayout.cpp
Log Message:
-----------
[DataLayout] Refactor storage of non-integral address spaces
Instead of storing this as a separate array of non-integral pointers,
add it to the PointerSpec class instead. This will allow for future
simplifications such as splitting the non-integral property into
multiple distinct ones: relocatable (i.e. non-stable representation) and
non-integral representation (i.e. pointers with metadata).
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/105734
Commit: 9d88543301f262e584a36ea969237a2cf054328b
https://github.com/llvm/llvm-project/commit/9d88543301f262e584a36ea969237a2cf054328b
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/TableGen/lit.local.cfg
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[AIX] Use internal lit shell for TableGen instead of a global setting (#113627)
This is to address the latest lit regressions
https://lab.llvm.org/buildbot/#/builders/64/builds/1285 caused by using
the internal lit shell. This change will limit using the internal lit
shell to TableGen on AIX so we do not hit these regressions.
Commit: f24c1dd08ea71fa7334a85fd2772c2f728de0c56
https://github.com/llvm/llvm-project/commit/f24c1dd08ea71fa7334a85fd2772c2f728de0c56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warning. NFC.
Commit: e6917e95548f81e7f00b8bca70ce571780e2afc9
https://github.com/llvm/llvm-project/commit/e6917e95548f81e7f00b8bca70ce571780e2afc9
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/CXX/drs/cwg18xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add test for CWG1898 "Use of “equivalent” in overload resolution" (#113439)
[CWG1898](https://cplusplus.github.io/CWG/issues/1898.html) Use of
“equivalent” in overload resolution
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1898 is resolved by explicitly using the defined term
parameter-type-list.
Except that now it's called non-object-parameter-type-list, which is
defined in [dcl.fct] [p8](https://eel.is/c++draft/dcl.fct#8) and
[p4](https://eel.is/c++draft/dcl.fct#8).
As for the wording, the first sentence
[\_N4140\_.[over.dcl]/1](https://timsong-cpp.github.io/cppwp/n4140/over.dcl#1)
where the word "equivalent" was used:
> Two function declarations of the same name refer to the same function
if they are in the same scope and have equivalent parameter declarations
([over.load]).
was replaced with what is now known as "corresponding overloads",
defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
The definition is present in P1787R6, but it's hard to reference,
because the "corresponding overloads" term was coined later.
Commit: d3c29e8d2f11742e83e2b80df47391598bf2e857
https://github.com/llvm/llvm-project/commit/d3c29e8d2f11742e83e2b80df47391598bf2e857
Author: Yijia Gu <yijiagu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][test][bazel] add missing deps for TestPass
Commit: 6e7375031a1a3172d5e369cf2c108da2bcf65c8a
https://github.com/llvm/llvm-project/commit/6e7375031a1a3172d5e369cf2c108da2bcf65c8a
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Add error handling for missing linker path (#113613)
In clang-linker-wrapper, we do not explicitly check if --linker-path is
provided.
This PR adds a check to capture this.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: ac4bd74190fedfbe025ef757ff308dd184a507f5
https://github.com/llvm/llvm-project/commit/ac4bd74190fedfbe025ef757ff308dd184a507f5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
A mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
Log Message:
-----------
[mlir] Add apply_patterns.linalg.pad_vectorization TD Op (#112504)
This PR simply wraps `populatePadOpVectorizationPatterns` into a new
Transform Dialect Op: `apply_patterns.linalg.pad_vectorization`.
This change makes it possible to run (and test) the corresponding
patterns _without_:
`transform.structured.vectorize_children_and_apply_patterns`.
Note that the Op above only supports non-masked vectorisation (i.e. when
the inputs are static), so, effectively, only fixed-width vectorisation
(as opposed to scalable vectorisation). As such, this change is required
to construct vectorization pipelines for tensor.pad targeting scalable
vectors.
To test the new Op and the corresponding patterns, I added
"vectorization-pad-patterns.mlir" - most tests have been extracted from
"vectorization-with-patterns.mlir".
Commit: 14db06946839729befd6bd3ced8142547f5fd139
https://github.com/llvm/llvm-project/commit/14db06946839729befd6bd3ced8142547f5fd139
Author: ssijaric-nv <ssijaric at nvidia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
Log Message:
-----------
[InstCombine] Fix a cycle when folding fneg(select) with scalable vector types (#112465)
The two folding operations are causing a cycle for the following case
with
scalable vector types:
define <vscale x 2 x double> @test_fneg_select_abs(<vscale x 2 x i1>
%cond, <vscale x 2 x double> %b) {
%1 = select <vscale x 2 x i1> %cond, <vscale x 2 x double>
zeroinitializer, <vscale x 2 x double> %b
%2 = fneg fast <vscale x 2 x double> %1
ret <vscale x 2 x double> %2
}
1) fold fneg: -(Cond ? C : Y) -> Cond ? -C : -Y
2) fold select: (Cond ? -X : -Y) -> -(Cond ? X : Y)
1) results in the following since '<vscale x 2 x double>
zeroinitializer' passes
the check for the immediate constant:
%.neg = fneg fast <vscale x 2 x double> zeroinitializer
%b.neg = fneg fast <vscale x 2 x double> %b
%1 = select fast <vscale x 2 x i1> %cond, <vscale x 2 x double> %.neg,
<vscale x 2 x double> %b.neg
and so we end up going back and forth between 1) and 2).
Attempt to fold scalable vector constants, so that we end up with a
splat instead:
define <vscale x 2 x double> @test_fneg_select_abs(<vscale x 2 x i1>
%cond, <vscale x 2 x double> %b) {
%b.neg = fneg fast <vscale x 2 x double> %b
%1 = select fast <vscale x 2 x i1> %cond, <vscale x 2 x double>
shufflevector (<vscale x 2 x double> insertelement (<vscale x 2 x
double> poison, double -0.000000e+00, i64 0), <vscale x 2 x double>
poison, <vscale x 2 x i32> zeroinitializer), <vscale x 2 x double>
%b.neg
ret <vscale x 2 x double> %1
}
Commit: 843c2fbe7f983c2a2059f753e4494f06fb645a9e
https://github.com/llvm/llvm-project/commit/843c2fbe7f983c2a2059f753e4494f06fb645a9e
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/Todo/scope.f90
A flang/test/Parser/OpenMP/scope.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/nested01.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Add parser+semantics support for scope construct (#113700)
Test parsing, semantics and a couple of basic semantic checks for
block/worksharing constructs.
Add TODO message in lowering.
Commit: 144ddca9ed6a439ad8a421c3ff2ea763532341ba
https://github.com/llvm/llvm-project/commit/144ddca9ed6a439ad8a421c3ff2ea763532341ba
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
Log Message:
-----------
[MemProf] Avoid duplicate edges between nodes (#113337)
The recent change to add support for cloning indirect calls
inadvertantly caused duplicate edges to be created between the same
caller/callee pair. This is due to the new moveCalleeEdgeToNewCaller
not properly guarding the addition of a new edge (ironically I was
testing for that in an assertion, but failed to handle that case
specially otherwise). Now simply move the context ids over to any
existing edge.
This issue in turn led to some assumptions in cloning being violated,
resulting in a later crash.
Add a test for this case to checkNode.
Commit: f4db221258cb44a8f9804ce852c0403328de39b2
https://github.com/llvm/llvm-project/commit/f4db221258cb44a8f9804ce852c0403328de39b2
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp
Log Message:
-----------
[libc++][test] Use `ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings)` for `-Wno-psabi` (#113608)
MSVC doesn't understand `-Wno-psabi`, which was introduced here by
@ldionne in #106077.
Using `ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings)` (implemented by
#75317) avoids passing this to MSVC.
Commit: a0c318938a528cfbef509a2516b36dd2411a52b6
https://github.com/llvm/llvm-project/commit/a0c318938a528cfbef509a2516b36dd2411a52b6
Author: Gaëtan Bossu <41161573+gbossu at users.noreply.github.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
M llvm/test/CodeGen/AMDGPU/licm-valu.mir
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
Log Message:
-----------
[CodeGen][NFC] Properly split MachineLICM and EarlyMachineLICM (#113573)
Both are based on MachineLICMBase, and the functionality there is
"switched" based on a PreRegAlloc flag. This commit is simply about
trusting the original value of that flag, defined by the `MachineLICM`
and `EarlyMachineLICM` classes.
The `PreRegAlloc` flag used to be overwritten it based on MRI.isSSA(),
which is un-reliable due to how it is inferred by the MIRParser. I see
that we can now define isSSA in MIR (thanks @gargaroff ), meaning the
fix isn’t really needed anymore, but redefining that flag still feels
wrong.
Note that I'm looking into upstreaming more changes to MachineLICM, see
[the discourse
thread](https://discourse.llvm.org/t/extending-post-regalloc-machinelicm/82725).
Commit: eccdb2489483ca58d2cb35bc38967a8e33117575
https://github.com/llvm/llvm-project/commit/eccdb2489483ca58d2cb35bc38967a8e33117575
Author: Ye Luo <yeluo at anl.gov>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M openmp/runtime/src/CMakeLists.txt
Log Message:
-----------
[OpenMP] Create versioned libgomp softlinks (#112973)
Add libgomp.1.dylib for MacOS and libgomp.so.1 for Linux
Linkers on Mac and Linux pick up versioned libgomp dynamic library
files. The existing softlinks (libgomp.dylib for MacOS and libgomp.so
for Linux) are insufficient. This helps alleviate the issue of mixing
libgomp and libomp at runtime.
Commit: 88cc7ac0cc43a739c25f6988c1bfe3949ca4da62
https://github.com/llvm/llvm-project/commit/88cc7ac0cc43a739c25f6988c1bfe3949ca4da62
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/__support/xlocale/__posix_l_fallback.h
Log Message:
-----------
[libc++][NFC] Remove unused functions from posix_l_fallbacks (#113709)
Commit: 4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716
https://github.com/llvm/llvm-project/commit/4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716
Author: Gang Chen <gangc at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Basic/AMDGPUTypes.def
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/test/AST/ast-dump-amdgpu-types.c
A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/SemaCXX/amdgpu-barrier.cpp
A clang/test/SemaHIP/amdgpu-barrier.hip
A clang/test/SemaOpenCL/amdgpu-barrier.cl
A clang/test/SemaOpenMP/amdgpu-barrier.cpp
M llvm/lib/IR/Type.cpp
Log Message:
-----------
[AMDGPU] Add a type for the named barrier (#113614)
Commit: 61946687bc68ccba763571cb420049b9a3749dfe
https://github.com/llvm/llvm-project/commit/61946687bc68ccba763571cb420049b9a3749dfe
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang/include/clang/Basic/Module.h
M clang/lib/Basic/Module.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Shrink the size of `Module::Headers` (#113395)
This patch shrinks the size of the `Module` class from 2112B to 1624B. I
wasn't able to get a good data on the actual impact on memory usage, but
given my `clang-scan-deps` workload at hand (with tens of thousands of
instances), I think there should be some win here. This also speeds up
my benchmark by under 0.1%.
Commit: 9648271a3c5adf875680833ac74eb4bafb48678d
https://github.com/llvm/llvm-project/commit/9648271a3c5adf875680833ac74eb4bafb48678d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Pass flag indicating epilogue is vectorized to executePlan (NFC)
This clarifies the flag, which is now only passed if the epilogue loop
is being vectorized.
Commit: 8c4bc1e75de27adfbaead34b895b0efbaf17bd02
https://github.com/llvm/llvm-project/commit/8c4bc1e75de27adfbaead34b895b0efbaf17bd02
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
Log Message:
-----------
[mlir][Transforms] Merge 1:1 and 1:N type converters (#113032)
The 1:N type converter derived from the 1:1 type converter and extends
it with 1:N target materializations. This commit merges the two type
converters and stores 1:N target materializations in the 1:1 type
converter. This is in preparation of merging the 1:1 and 1:N dialect
conversion infrastructures.
1:1 target materializations (producing a single `Value`) will remain
valid. An additional API is added to the type converter to register 1:N
target materializations (producing a `SmallVector<Value>`). Internally,
all target materializations are stored as 1:N materializations.
The 1:N type converter is removed.
Note for LLVM integration: If you are using the `OneToNTypeConverter`,
simply switch all occurrences to `TypeConverter`.
---------
Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Commit: e724226da753f10fd36fbb0ea392f04ab0fdbdab
https://github.com/llvm/llvm-project/commit/e724226da753f10fd36fbb0ea392f04ab0fdbdab
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[VPlan] Return cost of 0 for VPWidenCastRecipe without underlying value.
In some cases, VPWidenCastRecipes are created but not considered in the
legacy cost model, including truncates/extends when evaluating a reduction
in a smaller type. Return 0 for such casts for now, to avoid divergences
between VPlan and legacy cost models.
Fixes https://github.com/llvm/llvm-project/issues/113526.
Commit: 75252e29ea6a0959f3c1670e641a03fc18fc65fa
https://github.com/llvm/llvm-project/commit/75252e29ea6a0959f3c1670e641a03fc18fc65fa
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
Log Message:
-----------
[clang][serialization] Bump `NUM_PREDEF_TYPE_IDS`
This fixes a build error caused by 4ac0e7e400fe2a66d1fd5d5d1fa1c899dfb16716.
Commit: 6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20
https://github.com/llvm/llvm-project/commit/6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20
Author: vporpo <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Reject non-instructions (#113190)
Commit: eb9f4756bc3daaa4b19f4f46521dc05180814de4
https://github.com/llvm/llvm-project/commit/eb9f4756bc3daaa4b19f4f46521dc05180814de4
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
Revert "[SandboxVec][Legality] Reject non-instructions (#113190)"
This reverts commit 6c9bbbc818ae8a0d2849dbc1ebd84a220cc27d20.
Commit: 1540f772c793b3a29ae5d57e99456ec5d7ef4b39
https://github.com/llvm/llvm-project/commit/1540f772c793b3a29ae5d57e99456ec5d7ef4b39
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
Reapply "[SandboxVec][Legality] Reject non-instructions (#113190)"
This reverts commit eb9f4756bc3daaa4b19f4f46521dc05180814de4.
Commit: cfde4fbccf5d8d949a8cade0a4f8ef9b0f47ca73
https://github.com/llvm/llvm-project/commit/cfde4fbccf5d8d949a8cade0a4f8ef9b0f47ca73
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
R libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Remove obsolete Solaris and Newlib support for locales (#113721)
The solaris header file doesn't even exist, so that's definitely dead
code. The newlib header is empty, which means that localization can't
work on that platform. If someone is using libc++ with Newlib, they must
be providing LIBCXX_HAS_NO_LOCALIZATION today for anything to work, so
that header is basically dead code as well.
Commit: 1bc2cd98c58a1059170dc38697c7a29a8e21160b
https://github.com/llvm/llvm-project/commit/1bc2cd98c58a1059170dc38697c7a29a8e21160b
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/test/Preprocessor/wasm-target-features.c
M lld/test/wasm/custom-section-name.ll
M lld/test/wasm/data-segments.ll
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/stub-library-libcall.s
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
M llvm/test/MC/WebAssembly/libcall.ll
Log Message:
-----------
[WebAssembly] Enable nontrapping-fptoint and bulk-memory by default. (#112049)
We were prepared to enable these features [back in February], but they
got pulled for what appear to be unrelated reasons. So let's have
another try at enabling them!
Another motivation here is that it'd be convenient for the [Lime1
proposal] if "lime1" is close to a subset of "generic" (missing only
for extended-const).
[back in February]:
https://github.com/WebAssembly/tool-conventions/issues/158#issuecomment-1931119512
[Lime1 proposal]: https://github.com/llvm/llvm-project/pull/112035
Commit: a93c952bab3569c84ae0f9619533f7d7c2477a41
https://github.com/llvm/llvm-project/commit/a93c952bab3569c84ae0f9619533f7d7c2477a41
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][NFC] Documentation of suppression flag (#112727)
Commit: 590b1e31546572b62040066f90a35893a1b64f29
https://github.com/llvm/llvm-project/commit/590b1e31546572b62040066f90a35893a1b64f29
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][modules] Only serialize info for locally-included headers (#113718)
I noticed that some PCM files contain `HeaderFileInfo` for headers only
included in a dependent PCM file, which is wasteful.
This patch changes the logic to only write headers that are included
locally. This makes the PCM files smaller and saves some superfluous
deserialization of `HeaderFileInfo` triggered by
`Preprocessor::alreadyIncluded()`.
Commit: 5f0a62817fc4e68e793e6d5e5c5fb9b614a1c8bf
https://github.com/llvm/llvm-project/commit/5f0a62817fc4e68e793e6d5e5c5fb9b614a1c8bf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/MC/RISCV/machine-csr-names.s
Log Message:
-----------
[RISCV] Remove duplicate Smrnmi CSR test cases. NFC
ed6ddffb583beb450c4b0e1747ccd14f7e063105 added tests that already
existed.
Commit: ccc15cd6f52922e83164b44e927870059c168ddf
https://github.com/llvm/llvm-project/commit/ccc15cd6f52922e83164b44e927870059c168ddf
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
Log Message:
-----------
[lldb] Avoid repeated hash lookups (NFC) (#113412)
Commit: 38caf282ab3dfd69cee213b0d4df2f1672e52b38
https://github.com/llvm/llvm-project/commit/38caf282ab3dfd69cee213b0d4df2f1672e52b38
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP][AsmPrinter] Add none and all options to PGO Map (#111221)
This patch adds none and all options to the -pgo-analysis-map flag,
which do basically what they say on the tin. The none option is added to
enable forcing the pgo-analysis-map by overriding an earlier invocation
of the flag. The all option is just added for convenience.
Commit: 242ccd2eb1069c817d44545010dfe185a4c3d0b1
https://github.com/llvm/llvm-project/commit/242ccd2eb1069c817d44545010dfe185a4c3d0b1
Author: Gang Chen <gangc at amd.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M clang/test/Modules/no-external-type-id.cppm
Log Message:
-----------
[clang] update the number in no-external-type-id.cppm (#113738)
This should fix https://linaro.atlassian.net/browse/LLVM-1411
Commit: 3acf856b501d529821c884fd5406aef7252c208c
https://github.com/llvm/llvm-project/commit/3acf856b501d529821c884fd5406aef7252c208c
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUFCommon.cpp
Log Message:
-----------
Adding CUFCommon.{h,cpp} for CUF utilities (#113740)
Commit: 75c1c2614aea23647871dcfa161cf0fad3b19312
https://github.com/llvm/llvm-project/commit/75c1c2614aea23647871dcfa161cf0fad3b19312
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
Log Message:
-----------
[llvm][TLI] Sort a switch's cases. NFC
Commit: 054c23d78f2e1aba1dd353aec19e00993ca452fa
https://github.com/llvm/llvm-project/commit/054c23d78f2e1aba1dd353aec19e00993ca452fa
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
A llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
Log Message:
-----------
X86: Improve cost model of fp16 conversion (#113195)
Improve cost-modeling for x86 __fp16 conversions so the SLPVectorizer
transforms the patterns:
- Override `X86TTIImpl::getStoreMinimumVF` to report a minimum VF of 4 (SSE
register can hold 4xfloat converted/stored to 4xf16) this is necessary as
fp16 stores are neither modeled as trunc-stores nor can we mark direct Xxfp16
stores as legal as we generally expand fp16 operations).
- Add missing cost entries to `X86TTIImpl::getCastInstrCost`
conversion from/to fp16. Note that conversion from f64 to f16 is not
supported by an X86 instruction.
Commit: 5ad500ca4a1cba1f39757ba2660d4e0c6e3559d3
https://github.com/llvm/llvm-project/commit/5ad500ca4a1cba1f39757ba2660d4e0c6e3559d3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
Log Message:
-----------
[RISCV] Coverage for a few missed vector idioms
Commit: cae351f3453a0a26ec8eb2ddaf773c24a29d929e
https://github.com/llvm/llvm-project/commit/cae351f3453a0a26ec8eb2ddaf773c24a29d929e
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Bump `__cpp_lib_optional` and `__cpp_lib_variant` (#113650)
In C++20 mode, `__cpp_lib_optional` and `__cpp_lib_variant` should be
`202106L` due to DR P2231R1.
In C++26 mode, `__cpp_lib_variant` should be bumped to `202306L` due to
P2637R3.
- Clang 16/17 shouldn't get this bumping (as member `visit` requires
explicit object parameters), but it's very tricky to make the bumping
conditionally enabled. I _hope_ unconditionally bumping in C++26 will be
OK for LLVM 20 when the support for Clang 17 is dropped.
Related PRs:
- https://reviews.llvm.org/D102119
- #83335
- #76447
Commit: 5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be
https://github.com/llvm/llvm-project/commit/5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/builtins/macho_embedded/common.txt
A compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
Add extendhfxf2 into compiler rt (#111099)
Retry pr #109090 with updated extendhfxf2 test
Commit: 889b67c9d30e3024a1317431d66c22599f6c2011
https://github.com/llvm/llvm-project/commit/889b67c9d30e3024a1317431d66c22599f6c2011
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
M mlir/test/Dialect/MemRef/expand-ops.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
Log Message:
-----------
[mlir] [memref] add more checks to the memref.reinterpret_cast (#112669)
Operation memref.reinterpret_cast was accept input like:
%out = memref.reinterpret_cast %in to offset: [%offset], sizes: [10],
strides: [1]
: memref<?xf32> to memref<10xf32>
A problem arises: while lowering, the true offset of %out is %offset,
but its data type indicates an offset of 0. Permitting this
inconsistency can result in incorrect outcomes, as certain pass might
erroneously extract the offset from the data type of %out.
This patch fixes this by enforcing that the return value's data type
aligns
with the input parameter.
Commit: a879073494e7989f670ab0432dd0047ffbf5d1cd
https://github.com/llvm/llvm-project/commit/a879073494e7989f670ab0432dd0047ffbf5d1cd
Author: lntue <lntue at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M libc/src/math/generic/cbrt.cpp
M libc/test/src/math/cbrt_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
Log Message:
-----------
[libc][math] Fix a bug in cbrt when the result is rounded to the next exponent. (#113749)
Commit: a8ef0b33a6e5a35f341aec702fa2ceeed444f1fe
https://github.com/llvm/llvm-project/commit/a8ef0b33a6e5a35f341aec702fa2ceeed444f1fe
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix build (#113750)
```
mlir/lib/Transforms/Utils/DialectConversion.cpp:2851:28: error: call of overloaded ‘TypeRange(llvm::SmallVector<mlir::Value>&)’ is ambiguous
assert(TypeRange(result) == resultTypes &&
```
Commit: 801f3a5400ca2fbcfdeb73fd744e8cce0cebc722
https://github.com/llvm/llvm-project/commit/801f3a5400ca2fbcfdeb73fd744e8cce0cebc722
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
A clang/test/Format/error-unfound-files.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Print the names of unfound files in error messages (#113640)
Also fix the return status when `-i` is used with reading from stdin.
Fixes #113631.
Commit: ec2da0ca19c393053c7f11d5478ae21c27e54f5c
https://github.com/llvm/llvm-project/commit/ec2da0ca19c393053c7f11d5478ae21c27e54f5c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
M llvm/lib/Support/StringRef.cpp
Log Message:
-----------
[ADT] Use data() and size() within StringRef (NFC) (#113657)
This patch uses data() and size() within StringRef instead of Data and
Length. This makes it easier to replace Data and Length with
std::string_view in the future, which in turn allows us to forward
most of StringRef functions to the counterparts in std::string_view.
Commit: 8f9fc6ce4713b209e6addeb313eb4432fe374c00
https://github.com/llvm/llvm-project/commit/8f9fc6ce4713b209e6addeb313eb4432fe374c00
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[mlir][GPU] Add FunctionOpInterface check for `OpToFuncCallLowering` (#113449)
This PR adds a `FunctionOpInterface` check in `OpToFuncCallLowering` to
resolve a crash when ops not in function. Fixes #113334.
Commit: 5aa741d7ca21645572103d798d0b121f1a741a35
https://github.com/llvm/llvm-project/commit/5aa741d7ca21645572103d798d0b121f1a741a35
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
Log Message:
-----------
[mlir][SPIRVToLLVM] Erase empty `spirv.mlir.loop` in `LoopPattern` (#113527)
This PR erases `spirv.mlir.loop` with an empty region in `LoopPattern`,
resolving a crash. Fixes #113404.
Commit: bb00f5b1edd0ed77b7e7b0113dad223505564b18
https://github.com/llvm/llvm-project/commit/bb00f5b1edd0ed77b7e7b0113dad223505564b18
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-10-25 (Fri, 25 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Remove unneeded mask restriction (#113742)
These were added when the only mapping was to LLVM.
Commit: 13d6233e77982f2a596922a79365373e1466a968
https://github.com/llvm/llvm-project/commit/13d6233e77982f2a596922a79365373e1466a968
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
Log Message:
-----------
[MLIR][NVGPU] Fix nvgpu_arrive syntax in matmulBuilder.py (#113713)
This patch updates the syntax for nvgpu_arrive Op
in matmulBuilder.py. This fixes the compilation
error for this test.
For the warp-specialized matmul_kernel implementation,
removing the WaitGroupSyncOp (after the mma-main-loop)
fixes the hang observed.
With these two fixes, the test compiles and
executes successfully on an sm90a machine.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 3fc0d94ce57de2d0841e77c8fda7feef2923c4e0
https://github.com/llvm/llvm-project/commit/3fc0d94ce57de2d0841e77c8fda7feef2923c4e0
Author: A. Jiang <de34 at live.cn>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test] Make macro detection more friendly to MSVC (#113633)
MSVC STL's test suite is a bit nervous about replacing non-macro-defined
identifiers with `0` (see also
https://learn.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-4-c4668?view=msvc-170).
On MSVC (and MS-compatible mode of other compilers), `long double` has
the same format (IEEE-754 binary64) as `double`, so it should be OK to
define `TEST_LONG_DOUBLE_IS_DOUBLE` when `_MSC_VER` is defined. Such
detection should be performed first.
Commit: 7c9cf0c6f09115c2d948f16946aa3b36bf483f34
https://github.com/llvm/llvm-project/commit/7c9cf0c6f09115c2d948f16946aa3b36bf483f34
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP][AsmPrinter] Emit error on bad option combinatons
This patch makes it so that specifying all or none for -pgo-analysis-map
along with an explicit option causes an error as this set of options
does not really make sense.
Commit: ef9629c64ac05d426436a0b9fd1ae9a058805368
https://github.com/llvm/llvm-project/commit/ef9629c64ac05d426436a0b9fd1ae9a058805368
Author: Martin Storsjö <martin at martin.st>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/extendhfxf2.c
M compiler-rt/lib/builtins/macho_embedded/common.txt
R compiler-rt/test/builtins/Unit/extendhfxf2_test.c
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
Revert "Add extendhfxf2 into compiler rt (#111099)"
This reverts commit 5f7bad07b9d5b6c5cfa8c16a4e62cf1e128725be.
These tests fail to build in multiple configurations, see
https://github.com/llvm/llvm-project/pull/111099.
Commit: 69ead949d08ff0bb8cbbf4f7143aaa6687830f6b
https://github.com/llvm/llvm-project/commit/69ead949d08ff0bb8cbbf4f7143aaa6687830f6b
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
Log Message:
-----------
[llvm] Enable building Analysis plugins on windows (#112303)
Enable building InlineAdvisorPlugin and InlineOrderPlugin on windows for
shared library builds.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and LLVM
plugins on window.
Commit: 4102625380823e58d7b13f01b5bd979a29bce19e
https://github.com/llvm/llvm-project/commit/4102625380823e58d7b13f01b5bd979a29bce19e
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/rtsan_attribute_inserted.c
M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
M llvm/docs/LangRef.rst
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/Attributes.td
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_blocking.ll
R llvm/test/Instrumentation/RealtimeSanitizer/rtsan_unsafe.ll
M llvm/test/Verifier/rtsan-attrs.ll
Log Message:
-----------
[rtsan][llvm][NFC] Rename sanitize_realtime_unsafe attr to sanitize_realtime_blocking (#113155)
# What
This PR renames the newly-introduced llvm attribute
`sanitize_realtime_unsafe` to `sanitize_realtime_blocking`. Likewise,
sibling variables such as `SanitizeRealtimeUnsafe` are renamed to
`SanitizeRealtimeBlocking` respectively. There are no other functional
changes.
# Why?
- There are a number of problems that can cause a function to be
real-time "unsafe",
- we wish to communicate what problems rtsan detects and *why* they're
unsafe, and
- a generic "unsafe" attribute is, in our opinion, too broad a net -
which may lead to future implementations that need extra contextual
information passed through them in order to communicate meaningful
reasons to users.
- We want to avoid this situation and make the runtime library boundary
API/ABI as simple as possible, and
- we believe that restricting the scope of attributes to names like
`sanitize_realtime_blocking` is an effective means of doing so.
We also feel that the symmetry between `[[clang::blocking]]` and
`sanitize_realtime_blocking` is easier to follow as a developer.
# Concerns
- I'm aware that the LLVM attribute `sanitize_realtime_unsafe` has been
part of the tree for a few weeks now (introduced here:
https://github.com/llvm/llvm-project/pull/106754). Given that it hasn't
been released in version 20 yet, am I correct in considering this to not
be a breaking change?
Commit: 0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
https://github.com/llvm/llvm-project/commit/0cf7aaf30067c4be2886a8c9127a27dcbfd63b92
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
Log Message:
-----------
[MLIR][Vector] Update Transfer{Read|Write}DropUnitDimsPattern patterns (#112394)
Updates `TransferWriteDropUnitDimsPattern` and
`TransferReadDropUnitDimsPattern` to inherit from
`MaskableOpRewritePattern` so that masked versions of
xfer_read/xfer_write Ops are also supported:
```mlir
%v = vector.mask %mask {
vector.transfer_read %arg[%c0, %c0, %c0, %c0], %cst :
memref<1x1x3x2xi8, strided<[6, 6, 2, 1], offset: ?>>, vector<3x2xi8>
} : vector<3x2xi1> -> vector<3x2xi8>
```
Commit: e146c1867e8decfd423034f63a3a863733e03f04
https://github.com/llvm/llvm-project/commit/e146c1867e8decfd423034f63a3a863733e03f04
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
A libcxx/include/__locale_dir/locale_base_api/apple.h
A libcxx/include/__locale_dir/locale_base_api/freebsd.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Split Apple and Freebsd locale support into their own headers (#113737)
For now these headers don't provide much benefit, however as we refactor
the locale base API they will provide a location to specify the
localization interface on these platforms.
Commit: 0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
https://github.com/llvm/llvm-project/commit/0df70c28d25aedbedbb4c89f2c03a0e10ec0e8f4
Author: Alex Rønne Petersen <alex at alexrp.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
Log Message:
-----------
[llvm][SystemZ] Remove some leftover code from #106014. NFC. (#113761)
Pointed out by @redstar here:
https://github.com/llvm/llvm-project/pull/106014/files#r1816845388
Commit: 0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
https://github.com/llvm/llvm-project/commit/0f4b3c409fbd756d826c89d5539d9ea22bcc56aa
Author: lntue <lntue at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/tan.cpp
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/hypotf_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
Log Message:
-----------
[libc][math] Add tests and fix some issues with FTZ/DAZ modes. (#113744)
Commit: 266ff98cba44b9e969e6894eaa30d4fe37647210
https://github.com/llvm/llvm-project/commit/266ff98cba44b9e969e6894eaa30d4fe37647210
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[LV][VPlan] Use VF VPValue in VPVectorPointerRecipe (#110974)
Refactors VPVectorPointerRecipe to use the VF VPValue to obtain the
runtime VF, similar to #95305.
Since only reverse vector pointers require the runtime VF, the patch
sets VPUnrollPart::PartOpIndex to 1 for vector pointers and 2 for
reverse vector pointers. As a result, the generation of reverse vector
pointers is moved into a separate recipe.
Commit: a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
https://github.com/llvm/llvm-project/commit/a917ae0b4fc0d792ee0e2c512c4ea539f98e1204
Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/test/Analysis/array-init-loop.cpp
Log Message:
-----------
[analyzer] Fix a crash from element region construction during `ArrayInitLoopExpr` analysis (#113570)
This patch generalizes the way element regions are constructed when an
`ArrayInitLoopExpr` is being analyzed. Previously the base region of the
`ElementRegion` was determined with pattern matching, which led to
crashes, when an unhandled pattern was encountered.
Fixes #112813
Commit: b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
https://github.com/llvm/llvm-project/commit/b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
[StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 96723756231e316e68b0dacb104862eecbee01a2
https://github.com/llvm/llvm-project/commit/96723756231e316e68b0dacb104862eecbee01a2
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
Log Message:
-----------
Revert "[StructuralHash] Refactor (#112621)"
This reverts commit b667d161f0a9ff6b29cda0ccdb0081610c1e8b8c.
Commit: a3181b11b5b758cfa852c0d27465f84ab3b079bb
https://github.com/llvm/llvm-project/commit/a3181b11b5b758cfa852c0d27465f84ab3b079bb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Teach StringRef to derive from std::string_view (#113752)
This patch makes minimum changes to have StringRef derive from
std::string_view, with an eventual goal of removing StringRef
completely. Subsequent patches will further clean up the remaining
bits.
I've chosen public inheritance over private one because our codebase
relies on implicit conversions to std::string_view, which is currently
provided by:
constexpr operator std::string_view() const {
return std::string_view(data(), size());
}
This implicit conversion stops applying once we use std::string_view
as a base class, public or private. If we chose a private base class,
we would lose the implicit conversion.
Commit: ef886a25805b6aa0cd42886791af5ce26d575f10
https://github.com/llvm/llvm-project/commit/ef886a25805b6aa0cd42886791af5ce26d575f10
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Revert "[ADT] Teach StringRef to derive from std::string_view" (#113767)
Reverts llvm/llvm-project#113752
Many build bot failures
Commit: c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
https://github.com/llvm/llvm-project/commit/c8140d0d7fa943f5ae339cb5e6f4fd8644d5ae89
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
Log Message:
-----------
[MCParser] De-capitalize ELFAsmParser comments. NFC
Commit: 0be1883c36fc19e4020fea12902481c3dd3436d2
https://github.com/llvm/llvm-project/commit/0be1883c36fc19e4020fea12902481c3dd3436d2
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/sorted_unique.h
M libcxx/include/__utility/exception_guard.h
A libcxx/include/flat_map
M libcxx/include/module.modulemap
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_map.inc
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/containers/container.adaptors/NaiveStaticVector.h
A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_rv_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.addressof.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/keys_values.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.compile.pass.cpp
A libcxx/test/support/MinSequenceContainer.h
M libcxx/utils/libcxx/header_information.py
Log Message:
-----------
[libc++] Implement P0429R9 `std::flat_map` (#98643)
Around half of the tests are based on the tests Arthur O'Dwyer's
original implementation of std::flat_map, with modifications and
removals.
partially implement #105190
Commit: 98ca9a635bd2fb98cee473a9558687a5b522e219
https://github.com/llvm/llvm-project/commit/98ca9a635bd2fb98cee473a9558687a5b522e219
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: d78d030b31bb3bde822115fd9d26ab887f890203
https://github.com/llvm/llvm-project/commit/d78d030b31bb3bde822115fd9d26ab887f890203
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Export llvm::XCOFFObjectwriter and access it from MCXCOFFStreamer
Similar to commit 9539a7796094ff5fb59d9c685140ea2e214b945c for
WinCOFFObjectWriter.
Close #100412
Commit: 64d7e45c40e75846d13f4f7a853f9a3ea3493faa
https://github.com/llvm/llvm-project/commit/64d7e45c40e75846d13f4f7a853f9a3ea3493faa
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
R flang/test/Transforms/debug-none-type.fir
Log Message:
-----------
Revert "[flang][debug] Support mlir::NoneType." (#113769)
Reverts llvm/llvm-project#113550
It turns out this causes compiler crashes with assumed-type arrays and -g.
See https://github.com/llvm/llvm-project/pull/113769 for a reproducer.
Commit: d104b8e827ef5c3cb723aee92af4adfc8af18e9a
https://github.com/llvm/llvm-project/commit/d104b8e827ef5c3cb723aee92af4adfc8af18e9a
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Revert "Reland [StructuralHash] Refactor (#112621)"
This reverts commit 98ca9a635bd2fb98cee473a9558687a5b522e219.
Commit: d72e711e864dad7e3a434d66f3febad2b1596335
https://github.com/llvm/llvm-project/commit/d72e711e864dad7e3a434d66f3febad2b1596335
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/unittests/CMakeLists.txt
Log Message:
-----------
[NFC] [CMake] Add -Wno-dangling-else for GCC built unittests (#112817)
This is one of the many PRs to fix errors with LLVM_ENABLE_WERROR=on.
Built by GCC 11.
Fix warnings:
llvm/unittests/ProfileData/CoverageMappingTest.cpp: In member function
‘virtual void
{anonymous}::CoverageMappingTest_TVIdxBuilder_Test::TestBody()’:
llvm/unittests/ProfileData/CoverageMappingTest.cpp:1116:10: error:
suggest explicit braces to avoid ambiguous ‘else’
[-Werror=dangling-else]
1116 | if (Node.NextIDs[C] < 0)
The problem here is because these macros, eg: EXPECT_TRUE are expanded
to a single line multi-statement code with if/else, which is indeed
ambiguous after pre-processing. a simple example would be like:
https://godbolt.org/z/4zjn56qrP
if(x)
switch (0) case 0: default: if (...) ; else return;;
Given that omit braces in such cases is part of LLVM's style guide, and
it is hard to add braces in gtest just for GCC's warning, add
-Wno-dangling-else for GCC instead.
Commit: 1941c5180b91d792200d5e868d45c96e99bda35e
https://github.com/llvm/llvm-project/commit/1941c5180b91d792200d5e868d45c96e99bda35e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
Log Message:
-----------
Reland (2nd attempt) [StructuralHash] Refactor (#112621)
This is largely NFC, and it prepares for #112638.
- Use stable_hash instead of uint64_t
- Rename update* to hash* functions. They compute stable_hash locally and return it.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 597ccb800829af69ebc18cd7c75d878c8d21de6e
https://github.com/llvm/llvm-project/commit/597ccb800829af69ebc18cd7c75d878c8d21de6e
Author: Justin Fargnoli <justinfargnoli at gmail.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/PassInstrumentation.h
Log Message:
-----------
[NFC] Fix typo in description of `AfterPassInvalidatedCallbacks` (#113779)
Commit: 89b5d88fb81362b4fb2f833790aa40b7eaa186da
https://github.com/llvm/llvm-project/commit/89b5d88fb81362b4fb2f833790aa40b7eaa186da
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
[ADT] Use std::string_view inside StringRef (#113775)
This patch makes minimum changes to replace Data and Length with an
instance of std::string_view.
Previously, I opted for public inheritance (#113752), but I
encountered a lot of errors from gcc stemming from ambiguity between
std::string_view and StringRef.
The composition approach in this patch gives us greater control at the
expense of forwarder functions.
Commit: 242c77018f669c0b8f06b262050fcc4dde486738
https://github.com/llvm/llvm-project/commit/242c77018f669c0b8f06b262050fcc4dde486738
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] clang-format (NFC)
I'm planning to post a patch in this area.
Commit: 0dd9fdcf83cd00f51669b32c96937a97ef4b339e
https://github.com/llvm/llvm-project/commit/0dd9fdcf83cd00f51669b32c96937a97ef4b339e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/lib/Analysis/StructuralHash.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/StructuralHash/structural-hash-printer.ll
M llvm/unittests/IR/StructuralHashTest.cpp
Log Message:
-----------
[StructuralHash] Support Differences (#112638)
This computes a structural hash while allowing for selective ignoring of
certain operands based on a custom function that is provided. Instead of
a single hash value, it now returns FunctionHashInfo which includes a
hash value, an instruction mapping, and a map to track the operand
location and its corresponding hash value that is ignored.
Depends on https://github.com/llvm/llvm-project/pull/112621.
This is a patch for
https://discourse.llvm.org/t/rfc-global-function-merging/82608.
Commit: 93da6423af5f00a3bbee4d2ee571ccc7887f444d
https://github.com/llvm/llvm-project/commit/93da6423af5f00a3bbee4d2ee571ccc7887f444d
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
[mlir][LLVM] Add builders for llvm.intr.assume (#113317)
This patch adds several new builders for llvm.intr.assume that build the
operation with additional operand bundles.
Commit: 355e6948d44a97781cc184a22c9b51760cae6de0
https://github.com/llvm/llvm-project/commit/355e6948d44a97781cc184a22c9b51760cae6de0
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
Log Message:
-----------
[MemProf] Fix clone edge comparison (#113753)
The issue fixed in PR113337 exposed a bug in the comparisons done in
allocTypesMatch, which compares a vector of alloc types to those in the
given vector of Edges. The form of std::equal used, which didn't provide
the end iterator for the Edges vector, will iterate through as many
entries in the Edges vector as in the InAllocTypes vector, which can
fail if there are fewer entries in the Edges vector, because we may
dereference a bogus Edge pointer. This function is called twice, once
for the Node, with its callee edges, in which case the number of edges
should always match the number of entries in allocTypesMatch, which is
computed from the Node's callee edges. It was also called for Node's
clones, and it turns out that after cloning and edge modifications done
for other allocations, the number of callee edges in Node and its clones
may no longer match. In some cases, more common with memprof ICP before
the PR113337, the number of clone edges can be smaller leading to a bad
dereference. I found for a large application even before adding memprof
ICP support we sometimes call this with fewer entries in the clone's
callee edges, but were getting lucky as they had allocation type None,
and we didn't end up attempting to dereference the bad edge pointer.
Fix this by passing Edges.end() to std::equal, which means std::equal
will fail if the number of entries in the 2 vectors are not equal.
However, this is too conservative, as clone edges may have been added or
removed since it was initially cloned, and in fact can be wrong as we
may not be comparing allocation types corresponding to the same callee.
Therefore, a couple of enhancements are made to avoid regressing and
improve the checking and cloning:
- Don't bother calling the alloc type comparison when the clone and the
Node's alloc type for the current allocation are precise (have a
single allocation type) and are the same (which is guaranteed by an
earlier check, and an assert is added to confirm that). In that case
we can trivially determine that the clone can be used.
- Split the alloc type matching handling into a separate function for
the clone case. In that case, for each of the InAllocType entries,
attempt to find and compare to the clone callee edge with the same
callee as the corresponding original node callee.
To create a test case I needed to take a spec application (xalancbmk),
and repeatedly apply random hot/cold-ness to the memprof contexts
when building, until I hit the problematic case. I then reduced that
full LTO IR using llvm-reduce and then manually.
Commit: d5b42db00f0b21855501b01e8cd80326e1ce763d
https://github.com/llvm/llvm-project/commit/d5b42db00f0b21855501b01e8cd80326e1ce763d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Only do CheckConstant checks for global pointers (#113786)
We can check isStatic() early here and save ourselves some work.
Commit: 7b88e7530d4329ff0c7c8638f69b39fa1e540218
https://github.com/llvm/llvm-project/commit/7b88e7530d4329ff0c7c8638f69b39fa1e540218
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode][NFC] Make CheckVolatile static (#113785)
Commit: 60d2feded5c0f55b21d042ee2f35227847d66ee0
https://github.com/llvm/llvm-project/commit/60d2feded5c0f55b21d042ee2f35227847d66ee0
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-26 (Sat, 26 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM] Remove a redundant call to StringRef::slice (NFC) (#113783)
OptStr.slice(0, OptStr.size()) is exactly the same as OptStr.
Commit: d2e9532fe12dc2568f40c2648ff4bb3730141aed
https://github.com/llvm/llvm-project/commit/d2e9532fe12dc2568f40c2648ff4bb3730141aed
Author: Eirik Byrkjeflot Anonsen <eirik at eirikba.org>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
Log Message:
-----------
[DemoteRegToStack] Use correct variable for branch instructions in DemoteRegToStack (#113798)
I happened to see this code, and it seems "obviously" wrong to me. So
here's what I think this code is supposed to look like.
Commit: 45c84d59c454ba2b57affcd09a74f8d91e93bff7
https://github.com/llvm/llvm-project/commit/45c84d59c454ba2b57affcd09a74f8d91e93bff7
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/assert/assert.h
Log Message:
-----------
[libc] Add `__builtin_expect` tag on assert conditions; NFC (#99498)
Commit: 5287a9b3456fe7aefa24c8da95ef265b8dba875b
https://github.com/llvm/llvm-project/commit/5287a9b3456fe7aefa24c8da95ef265b8dba875b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Support/IndentedOstream.h
M mlir/lib/Query/QueryParser.cpp
Log Message:
-----------
[mlir] Prefer StringRef::substr to slice (NFC) (#113788)
I'm planning to migrate StringRef to std::string_view
eventually. Since std::string_view does not have slice, this patch
migrates:
slice(0, N) to substr(0, N)
slice(N, StringRef::npos) to substr(N)
Commit: 7fe149cdf09d04fb8390b97c91bd9214c968cd3e
https://github.com/llvm/llvm-project/commit/7fe149cdf09d04fb8390b97c91bd9214c968cd3e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Replace getIRBasicBlock with IRBB in VPIRBB::execute (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/109975. This
makes the function consistent throughout.
Commit: e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
https://github.com/llvm/llvm-project/commit/e33aec89ef1378d80e8df2e965ac5e6e6aa2e3de
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update the elect.sync Op to use intrinsics (#113757)
Recently, we added an intrinsic for the elect.sync PTX instruction (PR
104780). This patch updates the corresponding Op in NVVM Dialect
to lower to the intrinsic instead of inline-ptx.
The existing test under Conversion/ is migrated to check for the new
pattern. A separate test is added to verify the lowered intrinsic under
the Target/ directory.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: eef3766ae5a39fea6f7f81ac444f878969743d85
https://github.com/llvm/llvm-project/commit/eef3766ae5a39fea6f7f81ac444f878969743d85
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/default-none.f90
Log Message:
-----------
Assumed-size arrays are shared and cannot be privatized (#112963)
Do not error out if default(none) is specified and the region has an
assumed-size array.
Fixes #110442
Commit: 5621929f7f4878c318deecb592cd03f5ecbb83ba
https://github.com/llvm/llvm-project/commit/5621929f7f4878c318deecb592cd03f5ecbb83ba
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Parser/OpenMP/taskloop.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add parser support for grainsize and num_tasks clause (#113136)
These clauses are applicable only for the taskloop directive. Since the
directive has a TODO error, skipping the addition of TODOs for these
clauses.
Commit: 7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
https://github.com/llvm/llvm-project/commit/7b3da7b3b2b0e2f322dddf1f343571cc7fd09b09
Author: Thorsten Schütt <schuett at gmail.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/sve-integer.ll
Log Message:
-----------
[GlobalISel][AArch64] Legalize G_ADD, G_SUB, G_AND, G_OR, and G_XOR for SVE (#110561)
Credits: https://github.com/llvm/llvm-project/pull/72976
LLVM ERROR: cannot select: %3:zpr(<vscale x 2 x s64>) = G_MUL %0:fpr,
%1:fpr (in function: xmulnxv2i64)
;; mul
define void @xmulnxv2i64(<vscale x 2 x i64> %a, <vscale x 2 x i64> %b,
ptr %p) {
entry:
%c = mul <vscale x 2 x i64> %a, %b
store <vscale x 2 x i64> %c, ptr %p, align 16
ret void
}
define void @mulnxv4i32(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b,
ptr %p) {
entry:
%c = mul <vscale x 4 x i32> %a, %b
store <vscale x 4 x i32> %c, ptr %p, align 16
ret void
}
define void @mulnxv8i16(<vscale x 8 x i16> %a, <vscale x 8 x i16> %b,
ptr %p) {
entry:
%c = mul <vscale x 8 x i16> %a, %b
store <vscale x 8 x i16> %c, ptr %p, align 16
ret void
}
define void @mulnxv16i8(<vscale x 16 x i8> %a, <vscale x 16 x i8> %b,
ptr %p) {
entry:
%c = mul <vscale x 16 x i8> %a, %b
store <vscale x 16 x i8> %c, ptr %p, align 16
ret void
}
Commit: fb33af08e4c105a05855f8beeb972d493410e72f
https://github.com/llvm/llvm-project/commit/fb33af08e4c105a05855f8beeb972d493410e72f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Remove nvvm.ldg.global.* intrinsics (#112834)
Remove these intrinsics which can be better represented by load
instructions with `!invariant.load` metadata:
- llvm.nvvm.ldg.global.i
- llvm.nvvm.ldg.global.f
- llvm.nvvm.ldg.global.p
Commit: 1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
https://github.com/llvm/llvm-project/commit/1fe8e7838bb5118b9e48fa15fa21a4638bae8ae1
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-27 (Sun, 27 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
Log Message:
-----------
[X86] Rename the x86-asm-syntax variable. NFC
Follow-up to #109360. x86-asm-syntax is for input instead of output.
Commit: 40fffba9b29141d598bf36cdc4bb886e97143d06
https://github.com/llvm/llvm-project/commit/40fffba9b29141d598bf36cdc4bb886e97143d06
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
Log Message:
-----------
[X86][AVX10.2] Fix wrong predicates for BF16 feature (#113800)
Since AVX10.2, we need to enable 128/256-bit vector by default and check
for 512 feature for 512-bit vector.
Commit: 7ad63c0e44ef277591497a176991e7723165611e
https://github.com/llvm/llvm-project/commit/7ad63c0e44ef277591497a176991e7723165611e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/test/Conversion/MathToFuncs/ctlz.mlir
M mlir/test/Conversion/MathToFuncs/ipowi.mlir
Log Message:
-----------
[mlir][MathToFuncs] `MathToFuncs` only support integer type (#113693)
This PR fixes a bug in `MathToFuncs` where it incorrectly converts index
type for `math.ctlz` and `math.ipowi`, leading to a crash. Fixes
#108150.
Commit: 39ac64c1c0fc61a476aa22c53e6977608ead03cf
https://github.com/llvm/llvm-project/commit/39ac64c1c0fc61a476aa22c53e6977608ead03cf
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
Log Message:
-----------
[mlir][Arith] ValueBoundsInterface: speedup arith.select (#113531)
When calculating value bounds in the arith.select op , the compare
function is invoked to compare trueValue and falseValue. This function
rebuilds constraints, resulting in repeated computations of value
bounds.
In large-scale programs, this redundancy significantly impacts
compilation time.
Commit: 5aa1275d03b679f45f47f29f206292f663afed83
https://github.com/llvm/llvm-project/commit/5aa1275d03b679f45f47f29f206292f663afed83
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsX86.def
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/sm4evexintrin.h
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
A llvm/test/CodeGen/X86/sm4-evex-intrinsics.ll
A llvm/test/MC/Disassembler/X86/sm4-evex-32.txt
A llvm/test/MC/Disassembler/X86/sm4-evex-64.txt
A llvm/test/MC/X86/sm4-evex-32-att.s
A llvm/test/MC/X86/sm4-evex-32-intel.s
A llvm/test/MC/X86/sm4-evex-64-att.s
A llvm/test/MC/X86/sm4-evex-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support SM4 EVEX version intrinsics/instructions. (#113402)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: a1d31caa8c53082d12f580122dcf2b2ff8285e78
https://github.com/llvm/llvm-project/commit/a1d31caa8c53082d12f580122dcf2b2ff8285e78
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
Log Message:
-----------
[clang-tidy] fix false positive for implicit conversion of comparison result in C23 (#113639)
Fixed #111013
bool will be builtin type in C23 but comparison result in C is still
int.
It is no need to change this kind of implicit cast to explicit cast.
Commit: c876d719ef5b10128eca6d8677068248b4831017
https://github.com/llvm/llvm-project/commit/c876d719ef5b10128eca6d8677068248b4831017
Author: antangelo <contact at antangelo.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Sema/SemaInternal.h
Log Message:
-----------
[clang][NFC] Accept const NamedDecl pointer for getDepthAndIndex (#113857)
Commit: 99b2feadcc770ea52f71dda6cf027373a6931c6c
https://github.com/llvm/llvm-project/commit/99b2feadcc770ea52f71dda6cf027373a6931c6c
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
Log Message:
-----------
[libc++] <experimental/simd> temporarily mark XFAIL for the armv7-unknown-linux-gnueabihf with simd unary test to pass the CI (#113641)
Commit: d3f70db51cbc0876937d404e96fbda04df793bd4
https://github.com/llvm/llvm-project/commit/d3f70db51cbc0876937d404e96fbda04df793bd4
Author: Freddy Ye <freddy.ye at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/X86/X86InstrSystem.td
A llvm/test/MC/Disassembler/X86/apx/msr-imm.txt
A llvm/test/MC/Disassembler/X86/msrimm-64.txt
A llvm/test/MC/X86/apx/msrimm-att.s
A llvm/test/MC/X86/apx/msrimm-intel.s
A llvm/test/MC/X86/msrimm-64-att.s
A llvm/test/MC/X86/msrimm-64-intel.s
Log Message:
-----------
[X86][MC] Support instructions of MSR_IMM (#113524)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/671368
Commit: 5d4a0d54b5269bad1410e6db957836fe98634069
https://github.com/llvm/llvm-project/commit/5d4a0d54b5269bad1410e6db957836fe98634069
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/shift.ll
Log Message:
-----------
[InstCombine] Teach takeLog2 about right shifts, truncation and bitwise-and
We left some easy opportunities for further simplifications.
log2(trunc(x)) is simply trunc(log2(x)). This is safe if we know that
trunc is NUW because it means that the truncation didn't drop any bits.
It is also safe if the caller is OK with zero as a possible answer.
log2(x >>u y) is simply `log2(x) - y`.
log2(x & y) is a funny one. It comes up when doing something like:
```
unsigned int f(unsigned int x, unsigned int y) {
unsigned char a = 1u << x;
return y / a;
}
```
LLVM would canonicalize this to:
```
%shl = shl nuw i32 1, %x
%conv1 = and i32 %shl, 255
%div = udiv i32 %y, %conv1
```
In cases like these, we can ignore the mask entirely.
This is equivalent to `y >> x`.
Commit: 819abe412dd554303cb932d6ec2200b9b9ebdd78
https://github.com/llvm/llvm-project/commit/819abe412dd554303cb932d6ec2200b9b9ebdd78
Author: Serge Pavlov <sepavloff at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/ARM/fp-intrinsics.ll
M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/X86/bfloat-constrained.ll
M llvm/test/CodeGen/X86/float-strict-powi-convert.ll
M llvm/test/Transforms/EarlyCSE/defaultfp-strictfp.ll
M llvm/test/Transforms/EarlyCSE/ebstrict-strictfp.ll
M llvm/test/Transforms/EarlyCSE/mixed-strictfp.ll
M llvm/test/Transforms/EarlyCSE/nonmixed-strictfp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmps.ll
Log Message:
-----------
[Test] Fix usage of constrained intrinsics (#113523)
Some tests contain errors in constrained intrinsic usage, such as missed
or extra type parameters, wrong type parameters order and some other.
---------
Co-authored-by: Andy Kaylor <andy_kaylor at yahoo.com>
Commit: 5155c38ceef019f3225c5eaeba6b986e2430752f
https://github.com/llvm/llvm-project/commit/5155c38ceef019f3225c5eaeba6b986e2430752f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/Transforms/InstCombine/pr105510.ll
Log Message:
-----------
[InstCombine] Don't check uses of constant exprs (#113684)
This patch skips constant expressions to avoid iterating over uses on
other functions.
Fix crash reported in
https://github.com/llvm/llvm-project/pull/105510#issuecomment-2437521147.
Commit: fd85761208b4fe0569e3fde0d11297f7dcd0e48e
https://github.com/llvm/llvm-project/commit/fd85761208b4fe0569e3fde0d11297f7dcd0e48e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avxneconvert-intrinsics.ll
Log Message:
-----------
[X86][BF16] Customize VSELECT for BF16 under AVX-NECONVERT (#113322)
Fixes: https://godbolt.org/z/9abGnE8zs
Commit: e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
https://github.com/llvm/llvm-project/commit/e7f422d5c2ea05704eaab2cdd67a8b1ebc55e95b
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Add clang::lifetimebound annotation to ArrayRef constructors. (#113547)
This enables clang to detect more dangling issues.
```
ArrayRef<int> func() {
constexpr int array[] = {...}; // oops, missing the static
return array; // return a dangling reference, bomb.
}
```
See #113533.
Commit: 35f6cc6af09f48f9038fce632815a2ad6ffe8689
https://github.com/llvm/llvm-project/commit/35f6cc6af09f48f9038fce632815a2ad6ffe8689
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add the Sha extension (#113820)
This was introduced in the now-ratified RVA23 profile (and also added to
the RVA22 text) as a simple way of referring to H plus the set of
supervisor extensions required by RVA23.
https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
This patch simply defines the extension. The next patch will adjust the
RVA23 profile to use it, and at that point I think we will be ready to
mark RVA23 as non-experimental.
Note that I haven't made it so if you enable all extensions that
constitute Sha, Sha is implied. Per #76893 (adding 'B'), the concern is
making this implication might break older external assemblers. Perhaps
this is less of a concern given the relative frequency of
`-march=${foo}_zba_zbb_zbs` vs the collection of H extensions. If we did
want to add that implication, we'd probably want to add it in a separate
patch so it can be easily reverted if found to cause problems.
Commit: a4fd3dba6e285734bc635b0651a30dfeffedeada
https://github.com/llvm/llvm-project/commit/a4fd3dba6e285734bc635b0651a30dfeffedeada
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
Log Message:
-----------
[AMDGPU] Use wider loop lowering type for LowerMemIntrinsics (#112332)
When llvm.memcpy or llvm.memmove intrinsics are lowered as a loop in
LowerMemIntrinsics.cpp, the loop consists of a single load/store pair
per iteration. We can improve performance in some cases by emitting
multiple load/store pairs per iteration. This patch achieves that by
increasing the width of the loop lowering type in the GCN target and
letting legalization split the resulting too-wide access pairs into
multiple legal access pairs.
This change only affects lowered memcpys and memmoves with large (>=
1024 bytes) constant lengths. Smaller constant lengths are handled by
ISel directly; non-constant lengths would be slowed down by this change
if the dynamic length was smaller or slightly larger than what an
unrolled iteration copies.
The chosen default unroll factor is the result of microbenchmarks on
gfx1030. This change leads to speedups of 15-38% for global memory and
1.9-5.8x for scratch in these microbenchmarks.
Part of SWDEV-455845.
Commit: 86f76c3b171f95fd0560339f2ad0f4449277cf8d
https://github.com/llvm/llvm-project/commit/86f76c3b171f95fd0560339f2ad0f4449277cf8d
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/dwarf2.h
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/MC/AArch64/directives-case_insensitive.s
A llvm/test/MC/AArch64/negate_ra_state_with_pc.s
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
Log Message:
-----------
[AArch64][Libunwind] Add Support for FEAT_PAuthLR DWARF Instruction (#112171)
As part of FEAT_PAuthLR, a new DWARF Frame Instruction was introduced,
`DW_CFA_AARCH64_negate_ra_state_with_pc`. This instructs Libunwind that
the PC has been used with the signing instruction. This change includes
three commits
- Libunwind support for the newly introduced DWARF Instruction
- CodeGen Support for the DWARF Instructions
- Reversing the changes made in #96377. Due to
`DW_CFA_AARCH64_negate_ra_state_with_pc`'s requirements to be placed
immediately after the signing instruction, this would mean the CFI
Instruction location was not consistent with the generated location when
not using FEAT_PAuthLR. The commit reverses the changes and makes the
location consistent across the different branch protection options.
While this does have a code size effect, this is a negligible one.
For the ABI information, see here:
https://github.com/ARM-software/abi-aa/blob/853286c7ab66048e4b819682ce17f567b77a0291/aadwarf64/aadwarf64.rst#id23
Commit: d7ca703eab7997814de425eaa4fd888563d78831
https://github.com/llvm/llvm-project/commit/d7ca703eab7997814de425eaa4fd888563d78831
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Add explicit symbol visibility macros to InstrProfData.inc (#110732)
Add explicit symbol visibility macros to InstrProfData.inc
Annotating these symbols will fix missing symbols for InstrProfTest when
using shared library builds on windows with explicit visibility macros
enabled.
Add a empty fallback definition for LLVM_ABI macro so the code works in
compiler-rt.
This is part of the work to enable LLVM_BUILD_LLVM_DYLIB and plugins on
window.
```
llvm\lld-link : error : undefined symbol: public: void ValueProfData::deserializeTo(InstrProfRecord&, InstrProfSymtab*)
>>> referenced by unittests\ProfileData\InstrProfTest.cpp:1372 void ValueProfileReadWriteTest_value_prof_data_read_write_Test::TestBody()
```
Commit: 14171b0b13534e10ac57d13d072970616e17391b
https://github.com/llvm/llvm-project/commit/14171b0b13534e10ac57d13d072970616e17391b
Author: Thomas Fransham <tfransham at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Remarks/HotnessThresholdParser.h
Log Message:
-----------
[Remarks] Fix missing include in HotnessThresholdParser for Expected (#113755)
The use of Expected<> requires llvm/Support/Error.h to be included.
Commit: 3d6923dbac16741736a841abee05f35bf7b0379a
https://github.com/llvm/llvm-project/commit/3d6923dbac16741736a841abee05f35bf7b0379a
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
Log Message:
-----------
RFC: [clang-tidy] [analyzer] Move nondeterministic pointer usage check to tidy (#110471)
This change moves the `alpha.nondeterministic.PointerSorting` and
`alpha.nondeterministic.PointerIteration` static analyzer checkers to a
single `clang-tidy` check. Those checkers were implemented as simple
`clang-tidy` check-like code, wrapped in the static analyzer framework.
The documentation was updated to describe what the checks can and cannot
do, and testing was completed on a broad set of open-source projects.
Co-authored-by: Vince Bridgers <vince.a.bridgers at ericsson.com>
Commit: f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
https://github.com/llvm/llvm-project/commit/f6b513a7857cbcdb7df93079916e6bb8a00bd0b8
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/profile/InstrProfData.inc
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Revert "Add explicit symbol visibility macros to InstrProfData.inc (#110732)"
This reverts commit d7ca703eab7997814de425eaa4fd888563d78831 in llvm/llvm-project#110732
Commit: dff114b3565e4c981fcb40f24f72a0cb426294fe
https://github.com/llvm/llvm-project/commit/dff114b3565e4c981fcb40f24f72a0cb426294fe
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-frame-chain.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
Log Message:
-----------
[ARM] Optimise non-ABI frame pointers (#110286)
With -fomit-frame-pointer, even if we set up a frame pointer for other
reasons (e.g. variable-sized or over-aligned stack allocations), we
don't need to create an ABI-compliant frame record. This means that we
can save all of the general-purpose registers in one push, instead of
splitting it to ensure that the frame pointer and link register are
adjacent on the stack, saving two instructions per function.
Commit: 933a56674e75ed372e000758378b7981e5b4d387
https://github.com/llvm/llvm-project/commit/933a56674e75ed372e000758378b7981e5b4d387
Author: Jack Styles <jack.styles at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[PAuthLR] Add Missing Break Statement for MachineOperand Switch Statement (#113883)
There was a missing break, which led to an unannotated fallthrough when
merging #112171. This has caused sanitizer builds to fail.
This adds the missing break in the switch statement to ensure that the
fallthrough does not occur.
Commit: 43a5719d9f54fb482d523a6e313d9b9b9af82379
https://github.com/llvm/llvm-project/commit/43a5719d9f54fb482d523a6e313d9b9b9af82379
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Use Sha extension in RVA23S64 profile (#113823)
In the ratified version of the RVA23S64 definition, the Sha extension is
now used to group together the set of hypervisor related extensions.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
Commit: 96f5c683500eb2d7f7c3984e3a056315c50c4662
https://github.com/llvm/llvm-project/commit/96f5c683500eb2d7f7c3984e3a056315c50c4662
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-compress.ll
Log Message:
-----------
[RISCV] Lower @llvm.experimental.vector.compress for zvfhmin/zvfbfmin (#113770)
This is a follow up to #113291 and handles f16/bf16 with zvfhmin and
zvfbmin.
Commit: fa4790e404843cff4370cf259b93e51e8341469d
https://github.com/llvm/llvm-project/commit/fa4790e404843cff4370cf259b93e51e8341469d
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU][MC] Fix disassembler for VIMAGE when non-first vaddr is v0 (#113569)
For disassembler tables we use *V1_V4* variants for VIMAGE and then
remove unused vaddr fields. *V1_V1* variant, which has every vaddr
field other than vaddr0 set to 0, was also enabled and caused confusion
when decoding cases which used v0 (whose encoded value is 0)
Commit: f78610af3feb88f0e1edb2482dc77490fb4cad77
https://github.com/llvm/llvm-project/commit/f78610af3feb88f0e1edb2482dc77490fb4cad77
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
M llvm/test/Transforms/InstCombine/pr55228.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/PGOProfile/chr.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
Log Message:
-----------
[InstCombine] Add function attribute `instcombine-no-verify-fixpoint` (#113822)
This patch introduces a function attribute
`instcombine-no-verify-fixpoint` to avoids disabling fix-point
verification for unrelated tests in the same file.
Address comment
https://github.com/llvm/llvm-project/pull/112642#discussion_r1804714387.
Commit: 09c258ef6a2fcca2161488b214d53ef39891fa22
https://github.com/llvm/llvm-project/commit/09c258ef6a2fcca2161488b214d53ef39891fa22
Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/FifoFiles.cpp
M lldb/tools/lldb-dap/FifoFiles.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[NFC][lldb-dap] Clean-up includes (#113839)
This commit cleans up the includes in the `lldb-dap` subfolder. The main
motivation was that I got annoyed by `clangd` always complaining about
unused includes while working on lldb-dap.
Commit: e6fcf349eff5be326e1923567646edf99f69d297
https://github.com/llvm/llvm-project/commit/e6fcf349eff5be326e1923567646edf99f69d297
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
Log Message:
-----------
[clang-tidy] Remove unused variable (NFC)
/llvm-project/clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp:60:29:
error: unused variable 'AlgoName' [-Werror,-Wunused-variable]
const llvm::StringRef AlgoName = ClassTemplate->getName();
^
1 error generated.
Commit: f5d8a485e216996b076369b4d66c41a70fe34ea4
https://github.com/llvm/llvm-project/commit/f5d8a485e216996b076369b4d66c41a70fe34ea4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/docs/UserGuides.rst
Log Message:
-----------
[RISCV] Fix typo in UserGuides.rst. NFC (#113861)
Commit: 09160a98218e7f1038e06c5d8e704a826ed0ae13
https://github.com/llvm/llvm-project/commit/09160a98218e7f1038e06c5d8e704a826ed0ae13
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Log Message:
-----------
[SystemZ] Silence compiler warning (#113894)
Use SystemZ::NoRegister instead of 0 in
SystemZTargetLowering::getRegisterByName().
Commit: 64148944c56f50a50383c79d5b6d074d8608f2a4
https://github.com/llvm/llvm-project/commit/64148944c56f50a50383c79d5b6d074d8608f2a4
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/MC/AArch64/SVE2/sqabs-diagnostics.s
M llvm/test/MC/AArch64/SVE2/sqneg-diagnostics.s
M llvm/test/MC/AArch64/SVE2/urecpe-diagnostics.s
M llvm/test/MC/AArch64/SVE2/ursqrte-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for zeroing SVE2 integer instructions (#113473)
This patch adds assembly/disassembly for the following SVE2.2
instructions
- SQABS (zeroing)
- SQNEG (zeroing)
- URECPE (zeroing)
- USQRTE (zeroing)
- Refactor the existing merging forms to remove the now redundant bit 17
argument.
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: f5ff3a560fe247206814792a7f8efef8215f7689
https://github.com/llvm/llvm-project/commit/f5ff3a560fe247206814792a7f8efef8215f7689
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
Log Message:
-----------
[clang-tidy] Do not emit file path for anonymous enums in `readability-enum-initial-value` check (#112496)
Previously the name of anonymous enums in the check were `enum 'enum
(unnamed at /full/path/to/file.c:1:1)'`, which breaks reproducibility of
clang-tidy reports when the analyzed project is in a different folder.
Commit: 1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
https://github.com/llvm/llvm-project/commit/1df5c943439b050dbc34e7a1c88c4d8ec90d26b5
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CodeGen/aarch64-fpm-helpers.c
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[AArch64] Implement FP8 floating-point mode helper intrinsics (#100608)
Implement FP8 mode helper intrinsics (as inline functions) as
specified in ACLE 2024Q3 "14.2 Helper intrinsics"
https://github.com/ARM-software/acle/releases/download/r2024Q3/acle-2024Q3.pdf
Commit: 0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
https://github.com/llvm/llvm-project/commit/0cbccb13d6757b0ea7f2a7f29bb598e1935bcf37
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/rvv/remat.ll
Log Message:
-----------
[RISCV] Remove support for pre-RA vsetvli insertion (#110796)
Now that LLVM 19.1.0 has been out for a while with post-vector-RA
vsetvli insertion enabled by default, this proposes to remove the flag
that restores the old pre-RA behaviour so we only have one configuration
going forward.
That flag was mainly meant as a fallback in case users ran into issues,
but I haven't seen anything reported so far.
Commit: d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
https://github.com/llvm/llvm-project/commit/d6d4569dd90261bc8cdb3d1c3c2204cde1fe566f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
Fix MSVC "signed/unsigned mismatch" warnings. NFC.
Commit: 056cf936a730a72db7ad9da8b475814c6bbe03b7
https://github.com/llvm/llvm-project/commit/056cf936a730a72db7ad9da8b475814c6bbe03b7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/andnot-patterns.ll
Log Message:
-----------
[DAG] Fold (and X, (bswap/bitreverse (not Y))) -> (and X, (not (bswap/bitreverse Y))) (#112547)
On ANDNOT capable targets we can always do this profitably, without ANDNOT we only attempt this if we don't introduce an additional NOT
Fixes #112425
Commit: 75c75fc16e8a202668cfa71404724117b22336b9
https://github.com/llvm/llvm-project/commit/75c75fc16e8a202668cfa71404724117b22336b9
Author: dong-miao <601183878 at qq.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV]Add svvptc extension (#113882)
Commit: 233e64d8e4211e6c3c94a986c28f9993da2b8de0
https://github.com/llvm/llvm-project/commit/233e64d8e4211e6c3c94a986c28f9993da2b8de0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 0be1883c36fc
Commit: cbaecb5d299c48ea23319704445c1ee8405f4c04
https://github.com/llvm/llvm-project/commit/cbaecb5d299c48ea23319704445c1ee8405f4c04
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
Log Message:
-----------
[gn build] Port 3d6923dbac16
Commit: 595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
https://github.com/llvm/llvm-project/commit/595ec4e4be7de4258dd346e606b4a03a5eb0ce8a
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port 5aa1275d03b6
Commit: 2a4bab3fac64833321287d9ba17dcad5255d0ab4
https://github.com/llvm/llvm-project/commit/2a4bab3fac64833321287d9ba17dcad5255d0ab4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cfde4fbccf5d
Commit: 1164bd774783f33419e56cf10fdb87fbeab2b185
https://github.com/llvm/llvm-project/commit/1164bd774783f33419e56cf10fdb87fbeab2b185
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port e146c1867e8d
Commit: ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
https://github.com/llvm/llvm-project/commit/ba7555e640ea7fe341e19e0c1fffe5960b7c0d5b
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark the RVA23S64 and RVA23U64 profiles as non-experimental (#113826)
All of the extensions used by these profile are themselves
non-experimental, and RVA23 was just ratified
<https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/>.
<https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc>
We lack a way of expressing `Ss1p13` (supervisor architecture 1.13), but
this is a problem we have for RVA22 (Ss1p12) and RVA20 (Ss1p11) so I
don't feel it's a blocker.
Commit: ddd463be7edc3f3d03a6e88917fff66ef84210e9
https://github.com/llvm/llvm-project/commit/ddd463be7edc3f3d03a6e88917fff66ef84210e9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
Log Message:
-----------
[AArch64] Add getStreamingHazardSize() to AArch64Subtarget (#113679)
This is defined by the `-aarch64-streaming-hazard-size` option or its
alias `-aarch64-stack-hazard-size` (the original name). It has been
renamed to be more general as this option will (for the time being) be
used to detect if the current target has streaming mode memory hazards.
---------
Co-authored-by: Hari Limaye <hari.limaye at arm.com>
Commit: 9090430d4176fa260b8da46b7b983b3760d452be
https://github.com/llvm/llvm-project/commit/9090430d4176fa260b8da46b7b983b3760d452be
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringRef.h
Log Message:
-----------
Add clang::lifetimebound annotation to StringRef constructors. (#113878)
Adding the lifetimebound annotation to the ArrayRef's array constructor
can enable us to detect the following use-after-free issues:
```
llvm::StringRef TestZoneName() {
char test[] = "foo"; // oops, missing static
return test; // use-after-free.
}
```
See #113533
Commit: b1ede8fcb45d91092f5afe6c88d7a548f14ed848
https://github.com/llvm/llvm-project/commit/b1ede8fcb45d91092f5afe6c88d7a548f14ed848
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
[reland][libc][bazel] Enable software prefetching for memcpy (#113886)
This will affect only Bazel configuration for now.
This is a reland of #108939 which has been reverted because of codegen
issues fixed by https://github.com/llvm/llvm-project/pull/113161.
Commit: ce0368eb8417f2d369499bb98b1f0ccbe2219598
https://github.com/llvm/llvm-project/commit/ce0368eb8417f2d369499bb98b1f0ccbe2219598
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p1/pmlal-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmlal.s
A llvm/test/MC/AArch64/SVE2p1/pmull-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmull.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for PMLAL/PMULL instructions (#113564)
This patch adds assembly/disassembly for the following SVE_AES2
instructions
- PMLAL
- PMULL
- In accordance with:
https://developer.arm.com/documentation/ddi0602/latest/
Commit: 7152bf3bc805b8d9b1873058ab0a084d7b6079d6
https://github.com/llvm/llvm-project/commit/7152bf3bc805b8d9b1873058ab0a084d7b6079d6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Do not create new vector node if scalars fully overlap with the existing one
If the list of scalars vectorized as the part of the same vector node,
no need to generate vector node again, it will be handled as part of
overlapping matching.
Fixes #113810
Commit: d4c41804175e9cb37266c410cafe9caaac1819ca
https://github.com/llvm/llvm-project/commit/d4c41804175e9cb37266c410cafe9caaac1819ca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/cuda-cross-compiling.c
Log Message:
-----------
[Clang] Add a flag to include GPU startup files (#112025)
Summary:
The C library for GPUs provides the ability to target regular C/C++
programs by providing the C library and a file containing kernels that
call the `main` function. This is mostly used for unit tests, this patch
provides a quick way to add them without needing to know the paths. I
currently do this explicitly, but according to the libc++ contributors
we don't want to need to specify these paths manually. See the
discussion in https://github.com/llvm/llvm-project/pull/104515.
I just default to `lib/` if the target-specific one isn't found because
the linker will handle giving a reasonable error message if it's not
found. Basically the use-case looks like this.
```console
$ clang test.c --target=amdgcn-amd-amdhsa -mcpu=native -startfiles -stdlib
$ amdhsa-loader a.out
PASS!
```
Commit: 42eb54b7743df421af10ebe14b67bb79b46ecabb
https://github.com/llvm/llvm-project/commit/42eb54b7743df421af10ebe14b67bb79b46ecabb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Clang] Put offloading globals in the `.llvm.rodata.offloading` section (#111890)
Summary:
For our offloading entries, we currently store all the string names of
kernels that the runtime will need to load from the target executable.
These are available via pointer in the `__tgt_offload_entry` struct,
however this makes it difficult to obtain from the object itself. This
patch simply puts the strings in a named section so they can be easily
queried.
The motivation behind this is that when the linker wrapper is doing
linking, it wants to know which kernels the host executable is calling.
We *could* get this already via the `.relaomp_offloading_entires`
section and trawling through the string table, but that's quite annoying
and not portable. The follow-up to this should be to make the linker
wrapper get a list of all used symbols the device link job should count
as "needed" so we can handle static linking more directly.
Commit: bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
https://github.com/llvm/llvm-project/commit/bd6ab32e6eb642f2b0b15be8c7c2a668192f07d8
Author: Yusuke MINATO <minato.yusuke at fujitsu.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Driver/frontend-forwarding.f90
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/loop01.fir
M flang/test/Fir/loop02.fir
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-derived.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/array-expression-slice-1.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/components.f90
M flang/test/Lower/do_loop.f90
M flang/test/Lower/do_loop_unstructured.f90
M flang/test/Lower/goto-do-body.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/infinite_loop.f90
M flang/test/Lower/io-implied-do-fixes.f90
M flang/test/Lower/loops2.f90
M flang/test/Lower/mixed_loops.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Revert "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (#113901)
Reverts llvm/llvm-project#110063 due to the performance regression on
503.bwaves_r in SPEC2017.
Commit: 1f6741c1645954b1f4b2fbca470a20081f5e75af
https://github.com/llvm/llvm-project/commit/1f6741c1645954b1f4b2fbca470a20081f5e75af
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Don't clear cached field state if field is const (#113698)
... in the unchecked optional access model.
Commit: d83485a080341688cbb9d5c07a3839bd97f9001e
https://github.com/llvm/llvm-project/commit/d83485a080341688cbb9d5c07a3839bd97f9001e
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Add test for CWG issues about linkage in cross-TU context (#113736)
[CWG279](https://cplusplus.github.io/CWG/issues/279.html) Correspondence
of "names for linkage purposes"
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
In both cases discussed in the issue, declaration matching succeeds per
[[basic.link]/8](https://eel.is/c++draft/basic.link#8), thanks to the
> considering declarations of unnamed types to introduce their names for
linkage purposes, if any ([dcl.typedef], [dcl.enum])
and
> they both declare names with external linkage
parts. Which means that both pairs of declarations of `S` and `S2`
declare the same entity.
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) is also
satisfied, because in all cases type is declared.
Then cases diverge. `S` is a pair of a forward declaration and a
definition, which means it's not a subject to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), hence
it's well-formed. Whereas `S2` is a pair of two definitions, so they are
subjects to
[[basic.def.odr]/15](https://eel.is/c++draft/basic.def.odr#15), which
they do not satisfy due to the violation of the following requirement:
> — Each such definition shall consist of the same sequence of tokens,
<...>
Because per [[class.pre/2]](https://eel.is/c++draft/class#pre-2), class
definition is class-specifier, which includes class-head, but class-head
is different between definitions.
[CWG338](https://cplusplus.github.io/CWG/issues/338.html) Enumerator
name with linkage used as class name in other translation unit
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
I believe this CWG issue points to the same underlying issue with old
[basic.link]/9 as CWG1884 (see below), so I'm calling it a duplicate of
CWG1884. Cases described there are a part of an extensive CWG1884 test.
Also worth noting that enumerators don't have linkage these days.
[CWG1884](https://cplusplus.github.io/CWG/issues/1898.html) Unclear
requirements for same-named external-linkage entities
====================
[P1787R6](https://wg21.link/p1787r6):
> CWG1884, CWG279, and CWG338 are resolved by defining entity identity
explicitly.
[basic.link]/9 quoted in the issue is now split into several pieces.
> Two names that are the same (6.1 [basic.pre])
I believe this is corresponding declarations now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> and that are declared in different scopes shall denote the same
variable, function, type, enumerator, template or namespace if
This is covered by
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) after it's
determined by [[basic.link]/8](https://eel.is/c++draft/basic.link#8)
that two declarations declare the same entity.
> — both names have external linkage or else both names have internal
linkage and are declared in the same translation unit; and
> — both names refer to members of the same namespace or to members, not
by inheritance, of the same class; and
Most of this is covered by
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
> — when both names denote functions, the parameter-type-lists of the
functions (9.3.4.6 [dcl.fct]) are identical; and
> — when both names denote function templates, the signatures (13.7.7.2
[temp.over.link]) are the same.
This is corresponding overloads now, defined in
[[basic.scope.scope]/4](https://eel.is/c++draft/basic.scope#scope-4).
> Among other things, it should be clarified that "declared in" refers
to the namespace of which the name is a member, not the lexical scope in
which the declaration appears (which affects friend declarations,
block-scope extern declarations, and elaborated-type-specifiers).
This is addressed by "have the same target scope" part of
[[basic.link]/8](https://eel.is/c++draft/basic.link#8).
The tests basically test
[[basic.link]/11](https://eel.is/c++draft/basic.link#11) from the
following standpoint:
> The intent is that this rule prevents declaring a name with extenal
linkage to be, for instance, a type in one translation unit and a
namespace in a different translation unit.
See the comment in the beginning of the test for details on testing
approach. Reviewers are advised to check compiler output for any
surprises, but if they are in a hurry, they can search for `FIXME`,
`OK`, and `#cwg1884` to see the most of irregularities in Clang behavior
across the test (not all of them are incorrect behavior, though).
Commit: 40363d506db8ab3382339dc4463372dcfcf931b7
https://github.com/llvm/llvm-project/commit/40363d506db8ab3382339dc4463372dcfcf931b7
Author: Luke Lau <luke at igalia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[RISCV] Add cost model tests for fp rounding ops for bf16. NFC
Commit: c9f01f699cc55929b18befc0fa34d70630fc9074
https://github.com/llvm/llvm-project/commit/c9f01f699cc55929b18befc0fa34d70630fc9074
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
Log Message:
-----------
[SLP][AArch64][NFC] Add more tests for SLP vectorization of div (#113876)
Currently, we dont have much tests that show SLP outcome for integer
divisions. This patch adds tests for same.
In certain scenarios, for Neon, vectorization is profitable. An attempt
would be made in future to improve the cost-model for the same.
Commit: 3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
https://github.com/llvm/llvm-project/commit/3ac75ee8ecbe3bb1d1907adf48731bb6dc2c9918
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/test/hwasan/lit.cfg.py
M compiler-rt/test/lit.common.configured.in
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[runtimes] Allow building against an installed LLVM tree" (#113920)
Reverts llvm/llvm-project#86209
This patch breaks running tests locally, which is extremely disruptive
to libc++ development.
Commit: 7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
https://github.com/llvm/llvm-project/commit/7d1e98c7d34e2f4be1812a2f00f1d0464f29e542
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
Log Message:
-----------
[AIX][SystemZ][z/OS] Disable test for AIX, z/OS due to missing DWARF sections (#113910)
This patch disables the testcase for AIX and z/OS due to incomplete
DWARF support.
Commit: 53f7f8eccabd6e3383edfeec312bf8671a89bc66
https://github.com/llvm/llvm-project/commit/53f7f8eccabd6e3383edfeec312bf8671a89bc66
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
Log Message:
-----------
[Clang][AArch64] Fix Pure Scalables Types argument passing and return (#112747)
Pure Scalable Types are defined in AAPCS64 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#pure-scalable-types-psts
And should be passed according to Rule C.7 here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#682parameter-passing-rules
This part of the ABI is completely unimplemented in Clang, instead it
treats PSTs sometimes as HFAs/HVAs, sometime as general composite types.
This patch implements the rules for passing PSTs by employing the
`CoerceAndExpand` method and extending it to:
* allow array types in the `coerceToType`; Now only `[N x i8]` are
considered padding.
* allow mismatch between the elements of the `coerceToType` and the
elements of the `unpaddedCoerceToType`; AArch64 uses this to map
fixed-length vector types to SVE vector types.
Corectly passing a PST argument needs a decision in Clang about whether
to pass it in memory or registers or, equivalently, whether to use the
`Indirect` or `Expand/CoerceAndExpand` method. It was considered
relatively harder (or not practically possible) to make that decision in
the AArch64 backend.
Hence this patch implements the register counting from AAPCS64 (cf.
`NSRN`, `NPRN`) to guide the Clang's decision.
Commit: b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
https://github.com/llvm/llvm-project/commit/b27acebe63b128feb3bb9c3c62d77f235d2e6a6e
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][test] update VOPC/VOPCX test for true16/fake16 (#112829)
This is a non-functional change
update GFX11/GFX12 VOPC/VOPCX asm/dasm test for true16/fake16:
1. duplicate files to be true16/fake16 by adding
"-mattr=+real-true16/-mattr=-real-true16" while true16 test file will be
updated to true16 format when the true16 instructions are supported
2. sort "*t16_err.s" and "*t16_promote.s" tests to alphabetic order.
tests to alphabetic order. This is for the upcoming true16 mc changes,
and mainly trying to help repo maintainer to resolve conflicts in the
tests quickly. A script is proposed to help for the sorting
https://github.com/llvm/llvm-project/pull/111769. Since these two files
are t16 only, it should not create conflicts in downstream branches
3. add `-filetype=null` to seperate stdout and stderr to avoid
disordered output from llvm-mc
Commit: 670512b5c32217e37796fd8d42101ac24cdb4a8d
https://github.com/llvm/llvm-project/commit/670512b5c32217e37796fd8d42101ac24cdb4a8d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/srem-lkk.ll
Log Message:
-----------
[AArch64] Regenerate srem-lkk.ll to add missing asm comments
Reduces diff in #112588
Commit: 5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
https://github.com/llvm/llvm-project/commit/5ac3f3c45cd4d2934d36565eae7e33a629ff7b22
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Add DestEEW = EEW1 to VMADC. (#113013)
It was present on VMSBC but not VMADC. Reorder the instructions to avoid
duplicate 'let' statements.
Commit: eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
https://github.com/llvm/llvm-project/commit/eb53d08bce52d4503cf38e26bedfcbd0fed9cd3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
Log Message:
-----------
[llvm-exegesis] Add Pfm Counters for SapphireRapids (#113847)
This patch adds the appropriate hookups in X86PfmCounters.td for
SapphireRapids. This is mostly to fix errors when some of my jobs that
only really need dummy counters get scheduled on sapphire rapids
machines, but figured I might as well do it properly while here. I do
not have hardware access to test this currently, but this matches
exactly with what is in the libpfm source code.
Commit: 80f38fbdcfa96316908bb4ac3481d9eac6abf60e
https://github.com/llvm/llvm-project/commit/80f38fbdcfa96316908bb4ac3481d9eac6abf60e
Author: Boaz Brickner <brickner at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/StringMapEntry.h
Log Message:
-----------
[clang] [NFC] Deduplicate the logic between StringMapEntry.first() and StringMapEntry.getKey() (#113735)
Commit: 7a710110fcb2ad5d903ec41ba6a63193cf03edc0
https://github.com/llvm/llvm-project/commit/7a710110fcb2ad5d903ec41ba6a63193cf03edc0
Author: Petr Kurapov <petr.a.kurapov at intel.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[MLIR][Vector] Remove unused and unimplemented Vector_WarpExecuteOnLa… (#112338)
…ne0Op builder
Removing the declaration instead of implementing the builder as
discussed in #110106
Commit: 106259510f6a7a3824dd34f78a77ead150dd2154
https://github.com/llvm/llvm-project/commit/106259510f6a7a3824dd34f78a77ead150dd2154
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/MC/AArch64/FP8/fmmla-diagnostics.s
A llvm/test/MC/AArch64/FP8/fmmla.s
A llvm/test/MC/AArch64/armv9.6a-cvtf.s
A llvm/test/MC/AArch64/armv9.6a-fcvt.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/directive-arch_extension.s
M llvm/test/MC/AArch64/directive-cpu.s
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64]Add convert and multiply-add SIMD&FP assembly/disassembly in… (#113296)
…structions
This patch adds the following instructions:
Conversion between floating-point and integer:
FCVT{AS, AU, MS, MU, NS, NU, PS, PU, ZS, ZU}
{S,U}CVTF
Advanced SIMD three-register extension:
FMMLA
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Marian Lukac marian.lukac at arm.com
Co-authored-by: Spencer Abson spencer.abson at arm.com
Commit: ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
https://github.com/llvm/llvm-project/commit/ab5d3c9d359d84e454d54e8d91b5c834c42c5a47
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
Log Message:
-----------
[RISCV] Assign different scheduling classes for VMADC/VMSBC (#113009)
Split the scheduling classes of VMADC/VMSBC away from that of VADC/VSBC.
Because the former are technically mask-producing instructions rather
than normal vector arithmetics, which might have different performance
characteristics on some processors.
This is effectively NFC.
Commit: 92412c106f5275b4b385f7c2d882008181de2854
https://github.com/llvm/llvm-project/commit/92412c106f5275b4b385f7c2d882008181de2854
Author: Fangrui Song <i at maskray.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A llvm/test/tools/llvm-objdump/MachO/AArch64/aliases.s
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Handle -M for --macho
--macho -d uses the `parseInputMachO` code path, which does not handle
-M. Add -M handling for --macho as well.
Close #61019
Pull Request: https://github.com/llvm/llvm-project/pull/113795
Commit: 6ab26eab4f1e06f2da7b3183c55666ad57f8866e
https://github.com/llvm/llvm-project/commit/6ab26eab4f1e06f2da7b3183c55666ad57f8866e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineSizeOpts.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Log Message:
-----------
Check hasOptSize() in shouldOptimizeForSize() (#112626)
Commit: 6827a00d4dfe1fa7d479337b6192602744055686
https://github.com/llvm/llvm-project/commit/6827a00d4dfe1fa7d479337b6192602744055686
Author: SharonXSharon <xiaoranxu.nju at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/MachO/BPSectionOrderer.cpp
Log Message:
-----------
[lld][InstrProf] Do not use cstring offset hashes in function order for compression (#113606)
Commit: af7c58b7ea853ef34462ce97739203e2da3c5894
https://github.com/llvm/llvm-project/commit/af7c58b7ea853ef34462ce97739203e2da3c5894
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
R clang/test/CodeGen/debug-info-renderscript-tag.rs
M clang/test/CodeGen/fp16-ops.c
R clang/test/CodeGen/renderscript.c
R clang/test/Driver/renderscript.rs
M clang/test/Driver/unknown-std.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Preprocessor/predefined-macros-no-warnings.c
R clang/test/Sema/renderscript.rs
M clang/www/index.html
Log Message:
-----------
Remove support for RenderScript (#112916)
See
https://discourse.llvm.org/t/rfc-deprecate-and-eventually-remove-renderscript-support/81284
for the RFC
Commit: f14743794587db102c6d1b20f9c87a1ac20decfd
https://github.com/llvm/llvm-project/commit/f14743794587db102c6d1b20f9c87a1ac20decfd
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Add the ability to break on call-site locations, improve inline stepping (#112939)
Previously lldb didn't support setting breakpoints on call site
locations. This patch adds that ability.
It would be very slow if we did this by searching all the debug
information for every inlined subroutine record looking for a call-site
match, so I added one restriction to the call-site support. This change
will find all call sites for functions that also supply at least one
line to the regular line table. That way we can use the fact that the
line table search will move the location to that subsequent line (but
only within the same function). When we find an actually moved source
line match, we can search in the function that contained that line table
entry for the call-site, and set the breakpoint location back to that.
When I started writing tests for this new ability, it quickly became
obvious that our support for virtual inline stepping was pretty buggy.
We didn't print the right file & line number for the breakpoint, and we
didn't set the position in the "virtual inlined stack" correctly when we
hit the breakpoint. We also didn't step through the inlined frames
correctly. There was code to try to detect the right inlined stack
position, but it had been refactored a while back with the comment that
it was super confusing and the refactor was supposed to make it clearer,
but the refactor didn't work either.
That code was made much clearer by abstracting the job of "handling the
stack readjustment" to the various StopInfo's. Previously, there was a
big (and buggy) switch over stop info's. Moving the responsibility to
the stop info made this code much easier to reason about.
We also had no tests for virtual inlined stepping (our inlined stepping
test was actually written specifically to avoid the formation of a
virtual inlined stack... So I also added tests for that along with the
tests for setting the call-site breakpoints.
Commit: e517cfc531886bf6ed64b4e7109bb3141ac7f430
https://github.com/llvm/llvm-project/commit/e517cfc531886bf6ed64b4e7109bb3141ac7f430
Author: Lei Wang <wlei at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/pgo-cold-function-coverage.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
Log Message:
-----------
[InstrPGO] Support cold function coverage instrumentation (#109837)
This patch adds support for cold function coverage instrumentation based
on sampling PGO counts. The major motivation is to detect dead functions
for the services that are optimized with sampling PGO. If a function is
covered by sampling profile count (e.g., those with an entry count > 0),
we choose to skip instrumenting those functions, which significantly
reduces the instrumentation overhead.
More details about the implementation and flags:
- Added a flag `--pgo-instrument-cold-function-only` in
`PGOInstrumentation.cpp` as the main switch to control skipping the
instrumentation.
- Built the extra instrumentation passes(a bundle of passes in
`addPGOInstrPasses`) under sampling PGO pipeline. This is controlled by
`--instrument-cold-function-only-path` flag.
- Added a driver flag `-fprofile-generate-cold-function-coverage`:
- 1) Config the flags in one place, i,e. adding
`--instrument-cold-function-only-path=<...>` and
`--pgo-function-entry-coverage`. Note that the instrumentation file path
is passed through `--instrument-sample-cold-function-path`, because we
cannot use the `PGOOptions.ProfileFile` as it's already used by
`-fprofile-sample-use=<...>`.
- 2) makes linker to link `compiler_rt.profile` lib(see
[ToolChain.cpp#L1125-L1131](https://github.com/llvm/llvm-project/blob/main/clang/lib/Driver/ToolChain.cpp#L1125-L1131)
).
- Added a flag(`--pgo-cold-instrument-entry-threshold`) to config entry
count to determine cold function.
Overall, the full command is like:
```
clang++ -O2 -fprofile-generate-cold-function-coverage=<...> -fprofile-sample-use=<...> code.cc -o code
```
Commit: 98e3075df992636fa42aafde96748d1d5c834688
https://github.com/llvm/llvm-project/commit/98e3075df992636fa42aafde96748d1d5c834688
Author: Steven Perron <stevenperron at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add convergence tokens to entry point wrapper (#112757)
Inlining currently assumes that either all function use controled
convergence or none of them do. This is why we need to have the entry
point wrapper use controled convergence.
https://github.com/llvm/llvm-project/blob/c85611e8583e6392d56075ebdfa60893b6284813/llvm/lib/Transforms/Utils/InlineFunction.cpp#L2431-L2439
Commit: 97fb21ac1d6bc528b61a555356457ff2129dfde1
https://github.com/llvm/llvm-project/commit/97fb21ac1d6bc528b61a555356457ff2129dfde1
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)
Commit: 31a6dbe941b25aadd6cbf3829d1a96973968bf11
https://github.com/llvm/llvm-project/commit/31a6dbe941b25aadd6cbf3829d1a96973968bf11
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lld/COFF/Chunks.cpp
A lld/test/COFF/autoimport-arm64ec-data.test
Log Message:
-----------
[LLD][COFF] Add Support for ARM64EC pseudo relocations (#113832)
Commit: 4cf128512be5d7e41d8b8b5a12eec47a64af36ea
https://github.com/llvm/llvm-project/commit/4cf128512be5d7e41d8b8b5a12eec47a64af36ea
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[NFC][AMDGPU] Use C++17 structured bindings as much as possible (#113939)
This only changes `llvm/lib/Target/AMDGPU/SIISelLowering.cpp`.
There are five uses of `std::tie` remaining because they can't be
replaced with
C++17 structured bindings.
Commit: f23bdbbaff5b89b1c102a155d062fc32f99d4a92
https://github.com/llvm/llvm-project/commit/f23bdbbaff5b89b1c102a155d062fc32f99d4a92
Author: tf2spi <misomosispi at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm-c/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/tools/llvm-c-test/debuginfo.c
Log Message:
-----------
Add DILabel functions for LLVM-C (#112840)
Addresses #112799
Commit: 19c0a74ad6baa9eb38dbe0a20af7c67999c41821
https://github.com/llvm/llvm-project/commit/19c0a74ad6baa9eb38dbe0a20af7c67999c41821
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb] Fix lldb windows build breakage from https://github.com/llvm/llvm-project/pull/113839.
Commit: da1a16ae10177494c7cae929bec987e90a160403
https://github.com/llvm/llvm-project/commit/da1a16ae10177494c7cae929bec987e90a160403
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/ClangScanDeps/link-libraries.c
Log Message:
-----------
[clang][modules] Preserve the module map that allowed inferring (#113389)
With inferred modules, the dependency scanner takes care to replace the
fake "__inferred_module.map" path with the file that allowed the module
to be inferred. However, this only worked when such a module was
imported directly in the TU. Whenever such module got loaded
transitively, the scanner would fail to perform the replacement. This is
caused by the fact that PCM files are lossy and drop this information.
This patch makes sure that PCMs include this file for each submodule (in
the `SUBMODULE_DEFINITION` record), fixes one existing test with an
incorrect assertion, and does a little drive-by refactoring of
`ModuleMap`.
Commit: cafd3e10c39a2bfc81eac33ee56a706476e676a9
https://github.com/llvm/llvm-project/commit/cafd3e10c39a2bfc81eac33ee56a706476e676a9
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M bolt/test/X86/pre-aggregated-perf.test
Log Message:
-----------
[BOLT][test] Fix NFC check with pre-aggregated-perf.test (#113944)
NFC checks have been failing starting with
https://lab.llvm.org/buildbot/#/builders/92/builds/8567.
NFC testing wrapper (llvm-bolt-wrapper) replaces the call of `perf2bolt`
with `llvm-bolt --aggregate-only --ignore-build-id`.
`show-density` is automatically enabled for perf2bolt only but not for
`llvm-bolt --aggregate-only`. Add the flag to the test to work around
the issue.
Test Plan:
```
cd build
../llvm-project/bolt/utils/nfc-check-setup.py --switch-back --verbose
bin/llvm-lit -a tools/bolt/test/X86/pre-aggregated-perf.test
```
Commit: e0a02fdb459f3126fbc40cf376f4a3871652ae49
https://github.com/llvm/llvm-project/commit/e0a02fdb459f3126fbc40cf376f4a3871652ae49
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[NFC][Clang][TableGen] Use StringRef in FlattenedSpelling (#113809)
- Change FlattenedSpelling to use StringRef instead of std::String.
- Use range for loops and enumerate().
- Use ArrayRef<> instead of std::vector reference as function arguments.
- Use {} for all if/else branch bodies if one of them uses it.
Commit: 6c6351ee350589c8e6bcd69c3255374a714d87d0
https://github.com/llvm/llvm-project/commit/6c6351ee350589c8e6bcd69c3255374a714d87d0
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules] Optimize construction and usage of the submodule index (#113391)
This patch avoids eagerly populating the submodule index on `Module`
construction. The `StringMap` allocation shows up in my profiles of
`clang-scan-deps`, while the index is not necessary most of the time. We
still construct it on-demand.
Moreover, this patch avoids performing qualified submodule lookup in
`ASTReader` whenever we're serializing a module graph whose top-level
module is unknown. This is pointless, since that's guaranteed to never
find any existing submodules anyway.
This speeds up `clang-scan-deps` by ~0.5% on my workload.
Commit: 5a5b78a84e7214796410265139ecf0266b1fd216
https://github.com/llvm/llvm-project/commit/5a5b78a84e7214796410265139ecf0266b1fd216
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
Log Message:
-----------
[AArch64][GlobalISel] Lower aarch64.neon.smull/umull intrinsics.
As with other nodes, we can convert these into G_UMULL and G_SMULL aarch64
instructions.
Commit: b54bc104ea87e301816b450ee117d2d864c7d82d
https://github.com/llvm/llvm-project/commit/b54bc104ea87e301816b450ee117d2d864c7d82d
Author: jimingham <jingham at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointLocation.h
M lldb/include/lldb/Breakpoint/BreakpointSite.h
M lldb/include/lldb/Core/Declaration.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/ThreadPlanStepInRange.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Breakpoint/BreakpointSite.cpp
M lldb/source/Core/Declaration.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/CompileUnit.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanStepOverRange.cpp
M lldb/test/API/functionalities/inline-stepping/TestInlineStepping.py
M lldb/test/API/functionalities/inline-stepping/calling.cpp
Log Message:
-----------
Revert "Add the ability to break on call-site locations, improve inli… (#113947)
…ne stepping (#112939)"
This was breaking some gdb-remote packet counting tests on the bots. I
can't see how this patch could cause that breakage, but I'm reverting to
figure that out.
This reverts commit f14743794587db102c6d1b20f9c87a1ac20decfd.
Commit: 8274be509ed9e07188a8a64d95907a46cbe8e657
https://github.com/llvm/llvm-project/commit/8274be509ed9e07188a8a64d95907a46cbe8e657
Author: David Green <david.green at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FastISel.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/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Log Message:
-----------
[AArch64] Remove header dependencies of AArch64ISelLowering.h. NFC
This patch aims to reduce the include used by AArch64ISelLowering, allowing it
to be included by unittests so that they can reference the AArch64ISD nodes.
It:
- Moves the inclusion of AArch64SMEAttributes.h to the uses.
- Moves LowerPtrAuthGlobalAddressStatically to a static function, so that
AArch64PACKey is not required in the header.
- Moves the definitions of getExceptionPointerRegister to the cpp file, to
remove the reference of AArch64::X0.
Commit: 66bbbf2e951a486f972a5a54378e6791193ade60
https://github.com/llvm/llvm-project/commit/66bbbf2e951a486f972a5a54378e6791193ade60
Author: Jan Voung <jvoung at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] Cache accessors returning pointers in bugprone-unchecked-optional-access (#113922)
Previously, we covered returning refs, or copies of optional, and bools.
Now cover returning pointers (to any type).
This is useful for cases like operator-> of smart pointers.
Addresses more of issue llvm#58510
Commit: 0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
https://github.com/llvm/llvm-project/commit/0d0abb351b5fcf49ccc46eba8b7f2a1f353a05a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Use ResumePhi to create reduction resume phis. (#110004)
Use VPInstruction::ResumePhi to create phi nodes for reduction resume
values in the scalar preheader, similar to how ResumePhis are used for
first-order recurrence resume values after 9a5a8731e77.
This allows simplifying createAndCollectMergePhiForReduction to only
collect reduction resume phis when vectorizing epilogue loops and adding
extra incoming edges from the main vector loop. Updating phis for the
epilogue vector loops requires special attention, because additional
incoming values from the bypass blocks need to be added.
PR: https://github.com/llvm/llvm-project/pull/110004
Commit: ad5b9441f949716570e89fcb27b76e9bfb4b7f70
https://github.com/llvm/llvm-project/commit/ad5b9441f949716570e89fcb27b76e9bfb4b7f70
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/AddressSanitizer.rst
M clang/docs/RealtimeSanitizer.rst
Log Message:
-----------
[rtsan][asan] NFC Fix hyperlink to CMake doc (#113931)
Commit: 19131c7f36e047898ea954ee5a187ac62f2ab09b
https://github.com/llvm/llvm-project/commit/19131c7f36e047898ea954ee5a187ac62f2ab09b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang][modules][lldb] Fix build after #113391
Instead of changing the return type of `ModuleMap::findOrCreateModule`, this patch adds a counterpart that only returns `Module *` and thus has the same signature as `createModule()`, which is important in `ASTReader`.
Commit: 67bcce21415c7f687c28eb727c40b27924335f5a
https://github.com/llvm/llvm-project/commit/67bcce21415c7f687c28eb727c40b27924335f5a
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
[CFI][LowerTypeTests] Fix indirect call with alias (#106185)
Motivation example:
```
> cat test.cpp
extern "C" [[gnu::weak]] void f() {}
void alias() __attribute__((alias("f")));
int main() { auto p = alias; p(); }
> clang test.cpp -fsanitize=cfi-icall -flto=thin -fuse-ld=lld
> ./a.out
[1] 1868 illegal hardware instruction ./a.out
```
If the address of a function was only taken through its alias, the
function was not considered exported and therefore was not included
in the CFI jumptable. This resulted in `@llvm.type.test()` being lowered
to `false`, and consequently the indirect call to the function was
eventually optimized to `ubsantrap()`.
Commit: 7bd8a165f95123e390f9cbb0a6a5e60d835a4461
https://github.com/llvm/llvm-project/commit/7bd8a165f95123e390f9cbb0a6a5e60d835a4461
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/test/Sema/asm.c
Log Message:
-----------
[X86] Don't allow '+f' as an inline asm constraint. (#113871)
f cannot be used as an output constraint. We already errored for '=f'
but not '+f'.
Fixes #113692.
Commit: 481bce018ea8872277f79102842eaf8a55f634a2
https://github.com/llvm/llvm-project/commit/481bce018ea8872277f79102842eaf8a55f634a2
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
R llvm/test/CodeGen/DirectX/split-double.ll
A llvm/test/CodeGen/DirectX/splitdouble.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
Log Message:
-----------
Adding splitdouble HLSL function (#109331)
- Adding hlsl `splitdouble` intrinsics
- Adding DXIL lowering
- Adding SPIRV lowering
- Adding test
Fixes: #108901
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Commit: abc49cc19463970d5523d7d3332e4c1f83bc2ef7
https://github.com/llvm/llvm-project/commit/abc49cc19463970d5523d7d3332e4c1f83bc2ef7
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_macros.h
A libc/hdr/fcntl_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/mode_t.h
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/fcntl/creat.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/remove.cpp
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/syscall_test.cpp
Log Message:
-----------
[libc] remove #include <fcntl.h> and add proxy or type (#113836)
Commit: 9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
https://github.com/llvm/llvm-project/commit/9d9b1ba951cb2c30a192aa1157ef1c022d6d145b
Author: Kai Nacke <kai.peter.nacke at ibm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
Log Message:
-----------
[ORC] Fix JITLinkRedirectableSymbolManager construction to avoid crash (#113492)
Check `AnonymousPtrCreator` and `PtrJumpStubCreator` before creating the
JITLinkRedirectableSymbolManager object. This simplifies construction, and
avoids premature registration as a resource manager in the failure case.
Commit: 70d61f6de71bfe5ee870efc9b3e98db37273f17d
https://github.com/llvm/llvm-project/commit/70d61f6de71bfe5ee870efc9b3e98db37273f17d
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/registration.h
M flang/runtime/CUDA/registration.cpp
Log Message:
-----------
[flang][cuda] Adding runtime call to CUFRegisterVariable (#113952)
Commit: 71315698c91d0cda054b903da0594ca6f072c350
https://github.com/llvm/llvm-project/commit/71315698c91d0cda054b903da0594ca6f072c350
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/constexpr-string.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/support/min_allocator.h
Log Message:
-----------
[clang] Warn about memset/memcpy to NonTriviallyCopyable types (#111434)
This implements a warning that's similar to what GCC does in that
context: both memcpy and memset require their first and second operand
to be trivially copyable, let's warn if that's not the case.
Commit: 03dcefe08ecb68a3fedb7e9de6277df77371e9fc
https://github.com/llvm/llvm-project/commit/03dcefe08ecb68a3fedb7e9de6277df77371e9fc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/math/cbrt.h
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/vsscanf.h
Log Message:
-----------
[libc] Fix leftover `LIBC_NAMESPACE` after porting it (#113960)
Summary:
There are a few of these leftover, they should all use the
`LIBC_NAMESPACE_DECL` version because that implies visibility.
Commit: 39303e24b6f628f3c080f1b54bd12383a55b9b3a
https://github.com/llvm/llvm-project/commit/39303e24b6f628f3c080f1b54bd12383a55b9b3a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/ClangScanDeps/print-timing.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Improve timing output (#113726)
This patch adds the number of executed instructions into the timing
output, which provides more stable results compared to wall or process
time.
The format itself is also tweaked so that it's more amenable for direct
import into a spreadsheet editor.
Commit: 5ea694816b569e010854a861ad58502c056d5a39
https://github.com/llvm/llvm-project/commit/5ea694816b569e010854a861ad58502c056d5a39
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check opcodes and types (#113741)
Commit: 09a4bcf1a549eea738bda74b2b7dc0f5c8309310
https://github.com/llvm/llvm-project/commit/09a4bcf1a549eea738bda74b2b7dc0f5c8309310
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/depend04.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
Log Message:
-----------
[flang][OpenMP] Update handling of DEPEND clause (#113620)
Parse the locator list in OmpDependClause as an OmpObjectList (instead
of a list of Designators). When a common block appears in the locator
list, show an informative message.
Implement resolving symbols in DependSinkVec in a dedicated visitor
instead of having a visitor for OmpDependClause.
Resolve unresolved names common blocks in OmpObjectList.
Minor changes to the code organization:
- rename OmpDependenceType to OmpTaskDependenceType (to follow 5.2
terminology),
- rename Depend::WithLocators to Depend::DepType,
- add comments with more detailed spec references to parse-tree.h.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Commit: c5edecbb4bfe08997819ff84712e3e22ddd04490
https://github.com/llvm/llvm-project/commit/c5edecbb4bfe08997819ff84712e3e22ddd04490
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/test/CodeGen/X86/scmp.ll
M llvm/test/CodeGen/X86/ucmp.ll
Log Message:
-----------
[X86] Regenerate scmp/ucmp test checks with vpternlog comments
Commit: 7b663bd9179a205d5a65a34e447fbeffcb43c194
https://github.com/llvm/llvm-project/commit/7b663bd9179a205d5a65a34e447fbeffcb43c194
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/rename.cpp
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/shm_open.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
Log Message:
-----------
[libc] Fix the remaining fcntl.h proxy header includes. (#113961)
Commit: 82cb22e735be24acf5aac594e519935fc43f0aec
https://github.com/llvm/llvm-project/commit/82cb22e735be24acf5aac594e519935fc43f0aec
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/MathToLibm/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRMathToLibm (#113563)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRMathToLibm.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/MathToLibm/MathToLibm.cpp:13
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 7db4cacfd72b64de8460509d07a22b9142df85f6
https://github.com/llvm/llvm-project/commit/7db4cacfd72b64de8460509d07a22b9142df85f6
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
Log Message:
-----------
[MLIR] Add missing MLIRLLVMDialect dep to MLIRLinalgToStandard (#113561)
This fixes the following failure when doing a clean build (in particular
no .ninja* lying around) of lib/libMLIRLinalgToStandard.a only:
```
In file included from llvm/include/llvm/IR/Module.h:22,
from mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h:37,
from mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp:13:
llvm/include/llvm/IR/Attributes.h:90:14: fatal error: llvm/IR/Attributes.inc: No such file or directory
```
Commit: 474234a09655e57b7a4270150f0926db77e864b4
https://github.com/llvm/llvm-project/commit/474234a09655e57b7a4270150f0926db77e864b4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
Log Message:
-----------
[debugserver] Mark ASAN memory regions as "heap" (#113968)
This memory type is currently not handled, but it makes sense to mark it
as a heap allocation in requests asking for memory region info.
Commit: 9f69da35e2e5438d0c042f76277fff397f6a1505
https://github.com/llvm/llvm-project/commit/9f69da35e2e5438d0c042f76277fff397f6a1505
Author: Prabhuk <prabhukr at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
[NFC][compiler-rt] Add missing header include (#113951)
Include `cstdlib` which was originally included transitively but the
changes to `vector` in libcpp breaks new builds due to missing cstdlib
header for `abort()` function call.
Commit: bf4b31ad54f6bf298210c201a0afe50469ebe98e
https://github.com/llvm/llvm-project/commit/bf4b31ad54f6bf298210c201a0afe50469ebe98e
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Check Fastmath flags (#113967)
Commit: e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
https://github.com/llvm/llvm-project/commit/e873b415a2bfbbc2e5e2e70d77b61b7883cbf949
Author: Job Henandez Lara <jobhdezlara93 at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/open.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
Log Message:
-----------
[libc] add the rest of the hdr/fcntl_macro.h headers (#113972)
Commit: 0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
https://github.com/llvm/llvm-project/commit/0eb5c9d2ef8d932eef84d4db8aef3dd512f80277
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
A flang/test/Fir/CUDA/cuda-device-global.f90
Log Message:
-----------
[flang][cuda] Copying device globals in the gpu module (#113955)
Commit: 36c119490630846c1fa0f427cc60837fd7b40a28
https://github.com/llvm/llvm-project/commit/36c119490630846c1fa0f427cc60837fd7b40a28
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
M clang/test/CodeGen/X86/sse.c
Log Message:
-----------
Remove optimization flags from clang codegen tests (#113714)
- Remove an -O3 flag from a couple of clang x86 codegen tests so the
tests do not need to be updated when optimizations in LLVM change.
- Change the tests to use utils/update_cc_test_checks.sh
- Change from apple/darwin triples to generic x86_64-- and
i386-- because it was not relevant to the test but
`update_cc_test_checks` seems to be unable to handle platforms that
prepend `_` to function names.
Commit: 5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
https://github.com/llvm/llvm-project/commit/5903c6af44256e0bba77b7a69d608aa3ccc6a0dd
Author: Matthias Braun <matze at braunis.de>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
InstCombine: Fold shufflevector(select) and shufflevector(phi) (#113746)
- Transform `shufflevector(select(c, x, y), C)` to
`select(c, shufflevector(x, C), shufflevector(y, C))` by re-using
the `FoldOpIntoSelect` helper.
- Transform `shufflevector(phi(x, y), C)` to
`phi(shufflevector(x, C), shufflevector(y, C))` by re-using the
`foldOpInotPhi` helper.
Commit: 034cae42b130760587770b6a001b70c2a01bdfe9
https://github.com/llvm/llvm-project/commit/034cae42b130760587770b6a001b70c2a01bdfe9
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/index.rst
Log Message:
-----------
[clang] Add clang/docs/FunctionEffectAnalysis.rst. (#109855)
Follow-on from #99656, which introduces 2nd pass caller/callee analysis
for function effects.
Wrote a new documentation page, derived directly from the RFC posted to
LLVM Discourse earlier this year.
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 902acde34198bb11cc758dcf3aee00eb1cb09ceb
https://github.com/llvm/llvm-project/commit/902acde34198bb11cc758dcf3aee00eb1cb09ceb
Author: David Majnemer <david.majnemer at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/and-compare.ll
Log Message:
-----------
[InstCombine] Optimize away certain additions using modular arithmetic
We can turn:
```
%add = add i8 %arg, C1
%and = and i8 %add, C2
%cmp = icmp eq i1 %and, C3
```
into:
```
%and = and i8 %arg, C2
%cmp = icmp eq i1 %and, (C3 - C1) & C2
```
This is only worth doing if the sequence is the sole user of the addition
operation.
Commit: 757d0e4764fffcd4e60338147c5f5456e2534395
https://github.com/llvm/llvm-project/commit/757d0e4764fffcd4e60338147c5f5456e2534395
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
R llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
Log Message:
-----------
Revert "[CFI][LowerTypeTests] Fix indirect call with alias" (#113978)
Reverts llvm/llvm-project#106185
This is breaking Sanitizer bots:
https://lab.llvm.org/buildbot/#/builders/66/builds/5449/steps/8/logs/stdio
Commit: 8e6856e27859c90c5337a8328848b0959fe409fe
https://github.com/llvm/llvm-project/commit/8e6856e27859c90c5337a8328848b0959fe409fe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
Log Message:
-----------
[Clang][TableGen] Use StringRef::str() instead of std::string() cast (#113645)
Use `StringRef::str()` instead of std::string(StringRef) to cast from
StringRef to std::string.
Commit: 7c554265ce0b94059f216dcab643055e98c8f439
https://github.com/llvm/llvm-project/commit/7c554265ce0b94059f216dcab643055e98c8f439
Author: Chris Apple <cja-private at pm.me>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
Log Message:
-----------
Revert "[rtsan] Intercept aligned_alloc on all versions of OSX if available on build machine (#112780)" (#113982)
This reverts commit 97fb21ac1d6bc528b61a555356457ff2129dfde1.
Due to issue brought up in #112780
> Unfortunately this breaks the build on our (automerger) bots, which
have -mmacosx-version-min=10.13 and also
-Werror=unguarded-availability-new . I was thinking about patching it
via wrapping in __builtin_available check (which I believe is the right
one to use, as it should match the -mmacosx-version-min ) - but can't
actually think of a quick fix, due to interceptors being defined via C
macros.
>
llvm-project/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp:475:21:
error: 'aligned_alloc' is only available on macOS 10.15 or newer
[-Werror,-Wunguarded-availability-new] 475 | INTERCEPTOR(void *,
aligned_alloc, SIZE_T alignment, SIZE_T size) {
Commit: b46a0482f9e4c0ee82b38da794b20f8f1a76f044
https://github.com/llvm/llvm-project/commit/b46a0482f9e4c0ee82b38da794b20f8f1a76f044
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/Sema/arithmetic-fence-builtin.c
Log Message:
-----------
[clang][bytecode] Implement __builtin_arithmetic_fence (#113937)
Commit: 1549a0c183ee337a6de4c3933e10828808c6a094
https://github.com/llvm/llvm-project/commit/1549a0c183ee337a6de4c3933e10828808c6a094
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
R mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/test/Dialect/SCF/bufferize.mlir
Log Message:
-----------
[mlir][SCF] Remove `scf-bufferize` pass (#113840)
The dialect conversion-based bufferization passes have been migrated to
One-Shot Bufferize about two years ago. To clean up the code base, this
commit removes the `scf-bufferize` pass, one of the few remaining parts
of the old infrastructure. Most bufferization passes have already been
removed.
Note for LLVM integration: If you depend on this pass, migrate to
One-Shot Bufferize or copy the pass to your codebase.
Commit: 6233346895abfb57782511cddc263d439fdd537b
https://github.com/llvm/llvm-project/commit/6233346895abfb57782511cddc263d439fdd537b
Author: Chengjun <chengjunp at Nvidia.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
Log Message:
-----------
[GenericCycle] Add a Cache for getExitBlocks in GenericCycle (#112290)
In `UniformityAnalysis`, we need to get the exit blocks of cycles in the
`DivergencePropagator` and currently, we have to do a search for the
exit blocks every time. In this change, we add a cache of the results in
the `GenericCycle` so that it can save the compile time. By testing, for
some large cases, this can save about 60% compile time in the
`UniformityAnalysis`.
Commit: 61353cc1f65f02477eedeebcb08e9193cbd53305
https://github.com/llvm/llvm-project/commit/61353cc1f65f02477eedeebcb08e9193cbd53305
Author: Eisuke Kawashima <e.kawaschima+github at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
Log Message:
-----------
[compiler-rt] Fix invalid escape sequences in python files (#94030)
\d, \( and \) are not valid escape sequences; since python 3.12
they give SyntaxWarning, and will raise SyntaxError in future.
https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes
r"\(\d\)" and "\\(\\d\\)" are equivalent but the former is the shorter.
Co-authored-by: Eisuke Kawashima <e-kwsm at users.noreply.github.com>
Commit: 1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
https://github.com/llvm/llvm-project/commit/1ceccbb0dd9d8539fec2213566fe6cc2a05b7993
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
A llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
A llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
A llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
A llvm/test/MachineVerifier/AMDGPU/issue98474-missing-def-liveout-physical-subregister.mir
Log Message:
-----------
VirtRegRewriter: Add implicit register defs for live out undef lanes (#112679)
If an undef subregister def is live into another block, we need to
maintain a physreg def to track the liveness of those lanes. This
would manifest a verifier error after branch folding, when the cloned
tail block use no longer had a def.
We need to detect interference with other assigned intervals to avoid
clobbering the undef lanes defined in other intervals, since the undef
def didn't count as interference. This is pretty ugly and adds a new
dependency on LiveRegMatrix, keeping it live for one more pass. It also
adds a lot of implicit operand spam (we really should have a better
representation for this).
There is a missing verifier check for this situation. Added an xfailed
test that demonstrates this. We may also be able to revert the changes
in 47d3cbcf842a036c20c3f1c74255cdfc213f41c2.
It might be better to insert an IMPLICIT_DEF before the instruction
rather than using the implicit-def operand.
Fixes #98474
Commit: a461869db3bdc372203c9a7b8326d66a626f80d9
https://github.com/llvm/llvm-project/commit/a461869db3bdc372203c9a7b8326d66a626f80d9
Author: vporpo <vporpodas at google.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
Log Message:
-----------
[SandboxIR][Pass] Implement Analyses class (#113962)
The Analyses class provides a way to pass around commonly used Analyses
to SandboxIR passes throught `runOnFunction()` and `runOnRegion()`
functions.
Commit: 6128ff6630762310f6ae4eb61adda02cb4ad5260
https://github.com/llvm/llvm-project/commit/6128ff6630762310f6ae4eb61adda02cb4ad5260
Author: Lang Hames <lhames at gmail.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.cpp
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.h
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.h
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
Log Message:
-----------
[JITLink][MachO] Add convenience functions for default text/data sections.
The getMachODefaultTextSection and getMachODefaultRWDataSection functions
return the "__TEXT,__text" and "__DATA,__data" sections respectively, creating
empty sections if the default sections are not already present in the graph.
These functions can be used by utilities that want to add code or data to these
standard sections (e.g. these functions can be used to supply the section
argument to the createAnonymousPointerJumpStub and
createPointerJumpStubBlock functions in the various targets).
Commit: 0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
https://github.com/llvm/llvm-project/commit/0c1c37bfbed08c9d4e414a10f46cbed9a3e4c870
Author: c8ef <c8ef at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Log Message:
-----------
[TLI] Add support for the `tgamma` libcall. (#113791)
This patch adds the `tgamma` libcall.
Commit: 18311093abe6481388a0d963d58438d743b47569
https://github.com/llvm/llvm-project/commit/18311093abe6481388a0d963d58438d743b47569
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
Log Message:
-----------
[InstCombine] Do not fold `shufflevector(select)` if the select condition is a vector (#113993)
Since `shufflevector` is not element-wise, we cannot do fold it into
select when the select condition is a vector.
For shufflevector that doesn't change the length, it doesn't crash, but
it is still a miscompilation: https://alive2.llvm.org/ce/z/s8saCx
Fixes https://github.com/llvm/llvm-project/issues/113986.
Commit: 635c344dfb3227f80c76dfbee9d6bf44ef742675
https://github.com/llvm/llvm-project/commit/635c344dfb3227f80c76dfbee9d6bf44ef742675
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] Add vector_compress patterns with a zero vector passthru. (#113970)
We can use the kz form to automatically zero the extra elements.
Fixes #113263.
Commit: 00ca2071e08f3a82171e564618981906a15e8dca
https://github.com/llvm/llvm-project/commit/00ca2071e08f3a82171e564618981906a15e8dca
Author: Jerry Sun <105613447+jerryyiransun at users.noreply.github.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
Log Message:
-----------
[TableGen] [NFC] Remove unused includes in TableGen BE (#113725)
split PR as requested from
https://github.com/llvm/llvm-project/pull/113318.
Removes unused imports in TableGen BE
Commit: 6588073724d3241d90663e45154d806a28bce95a
https://github.com/llvm/llvm-project/commit/6588073724d3241d90663e45154d806a28bce95a
Author: Matthias Springer <me at m-sp.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
Log Message:
-----------
[mlir][func] Fix incorrect API usage in `FuncOpConversion` (#113977)
This commit fixes a case of incorrect dialect conversion API usage
during `FuncOpConversion`. `replaceAllUsesExcept` (same as
`replaceAllUsesWith`) is currently not supported in a dialect
conversion. `replaceUsesOfBlockArgument` should be used instead. It
sometimes works anyway (like in this case), but that's just because of
the way we insert materializations.
This commit is in preparation of merging the 1:1 and 1:N dialect
conversion drivers. (At that point, the current use of
`replaceAllUsesExcept` will no longer work.)
Commit: 828467a54e156cbb04820ae47df32c45fbc75fc0
https://github.com/llvm/llvm-project/commit/828467a54e156cbb04820ae47df32c45fbc75fc0
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Symbols.h
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
Fix warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: d3b98559be72682da45df73522173cb315912f6f
https://github.com/llvm/llvm-project/commit/d3b98559be72682da45df73522173cb315912f6f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
Log Message:
-----------
Add exception guard for constructor vector(n, x, a) (#113086)
Added exception guard to the `vector(n, x, a)` constructor to enhance
exception safety. This change ensures that the `vector(n, x, a)`
constructor is consistent with other constructors, such as `vector(n)`,
`vector(n, x)`, `vector(n, a)`, in terms of exception safety.
Commit: 3f4468faaa9525ad615118675c3c68938f4a8d5f
https://github.com/llvm/llvm-project/commit/3f4468faaa9525ad615118675c3c68938f4a8d5f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
Log Message:
-----------
[RISCV] Teach expandRV32ZdinxStore to handle memoperand not being present. (#113981)
I received a report that the outliner drops memoperands and causes this
code to crash. Handle this by only copying the memoperand if it exists.
Similar for expandRV32ZdinxLoad
Commit: 48adfaf3b290d97260eabb53254de9ada313cd0e
https://github.com/llvm/llvm-project/commit/48adfaf3b290d97260eabb53254de9ada313cd0e
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/FunctionEffectAnalysis.rst
Log Message:
-----------
doc: remove trailing whitespaces
Commit: 59085e9c3f522b59e512f1651058a9f98c739088
https://github.com/llvm/llvm-project/commit/59085e9c3f522b59e512f1651058a9f98c739088
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SymbolTable.cpp
Log Message:
-----------
Fix more lld warnings introduced in #111434 [-Wnontrivial-memaccess]
Commit: 66fc81cb430c724dc8b4b8d2d029101cc1d6808a
https://github.com/llvm/llvm-project/commit/66fc81cb430c724dc8b4b8d2d029101cc1d6808a
Author: Takuto Ikuta <tikuta at google.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
Log Message:
-----------
fix missing include for `abort` in `FuzzedDataProvider.h` (#113872)
This is to fix build with newer libc++ in chromium.
ref: https://crbug.com/375980422
Commit: 335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
https://github.com/llvm/llvm-project/commit/335e68d8bce5ad3f5d6471c0ec1423211c71c0f0
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/CodeGen/Targets/RISCV.cpp
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
Log Message:
-----------
[Clang][RISCV] Support -fcf-protection=return for RISC-V (#112477)
Enables the support of `-fcf-protection=return` on RISC-V, which
requires Zicfiss. It also adds a string attribute "hw-shadow-stack"
to every function if the option is set on RISC-V
Commit: 7544d3af0e285ecd2fa28698621dd3125f749b2d
https://github.com/llvm/llvm-project/commit/7544d3af0e285ecd2fa28698621dd3125f749b2d
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-profiles.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Mark RVB23U64 and RVB23S64 as non-experimental (#113918)
The specification was recently ratified
<https://github.com/riscv/riscv-profiles/blob/main/src/rvb23-profile.adoc>.
Commit: d4197f3ac1bbdd0665599bf3843e865d13af18ab
https://github.com/llvm/llvm-project/commit/d4197f3ac1bbdd0665599bf3843e865d13af18ab
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfmul-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfmul.s
A llvm/test/MC/AArch64/SME2p2/fmul-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmul.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for MUL/BFMUL SME instructions (#113535)
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Momchil-Velikov Momchil.Velikov at arm.com
Commit: 8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
https://github.com/llvm/llvm-project/commit/8d38fbf2f027c72332c8ba03ff0ff0f83b4dcf02
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z-diagnotics.s
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z.s
Log Message:
-----------
[LLVM][AArch64] Add assembly/disassembly for SVE Integer Unary Arithm… (#113670)
…etic Predicated instructions
This patch adds the following instructions:
SVE bitwise unary operations (predicated)
CLS, CLZ, CNT, CNOT, FABS, FNEG, NOT
SVE integer unary operations (predicated)
SXT{B,H,W}, UXT{B,H,W}, ABS ,NEG
SVE2 integer unary operations (predicated)
URECPE, URSQRTE, SQABS, SQNEG
According to https://developer.arm.com/documentation/ddi0602
Co-authored-by: Spencer Abson Spencer.Abson at arm.com
Commit: 05b6c2e4b933e7a3606899c72067c92b6077287b
https://github.com/llvm/llvm-project/commit/05b6c2e4b933e7a3606899c72067c92b6077287b
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaCXX/conditional-expr.cpp
Log Message:
-----------
[Clang] fix range calculation for conditionals with throw expressions (#112081)
Fixes #111854
---
The issue arises when `GetExprRange` encounters a `ConditionalOperator`
with a `CXXThrowExpr`
```md
ConditionalOperator 0x1108658e0 'int'
|-CXXBoolLiteralExpr 0x110865878 '_Bool' true
|-CXXThrowExpr 0x1108658a8 'void'
| `-IntegerLiteral 0x110865888 'int' 0
`-IntegerLiteral 0x1108658c0 'int' 0
```
https://github.com/llvm/llvm-project/blob/ed3d05178274890fb804f43ae1bcdfd33b5fd8f0/clang/lib/Sema/SemaChecking.cpp#L9628-L9631
The current behavior causes the `GetExprRange` to proceed with the throw
expression (`CO->getTrueExpr()`/`void` type)
Commit: dfb60bb9193d78d0980193e1ade715cffbb55af8
https://github.com/llvm/llvm-project/commit/dfb60bb9193d78d0980193e1ade715cffbb55af8
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
Adding more vector calls for -fveclib=AMDLIBM (#109662)
AMD has it's own implementation of vector calls.
New vector calls are introduced in the library for exp10, log10, sincos and finite asin/acos
Please refer [https://github.com/amd/aocl-libm-ose]
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Commit: a393c92f5df141d464bb17cc82f2344866cea1de
https://github.com/llvm/llvm-project/commit/a393c92f5df141d464bb17cc82f2344866cea1de
Author: Edd Dawson <edd.dawson at sony.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/test/Driver/ps5-linker.c
Log Message:
-----------
[PS5][Driver] Update default linking options when `-r` omitted. (#113595)
Until now, these options have been hardcoded as downstream patches in
lld. Add them to the driver so that the private patches can be removed.
PS5 only. On PS4, the proprietary linker will continue to perform the
equivalent behaviours itself.
SIE tracker: TOOLCHAIN-16704
Commit: a8398bd81770a2801ec083fd2cd8a19140fe92a9
https://github.com/llvm/llvm-project/commit/a8398bd81770a2801ec083fd2cd8a19140fe92a9
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
Log Message:
-----------
[llvm][docs] Update list of llvm-lit options
Fixes #62899
In this commit I have updated the list of options
to include any missing options and re-rordered
some of them to match the order in lit's --help.
Where there was a larger description in this document
I've used that instead of the --help description.
This *does not* include --use-unique-output-file-name
as this was only added recently and we are still
debating whether it will be kept.
Commit: 7395ef5419a6438f0c48685bf00b7f151178743d
https://github.com/llvm/llvm-project/commit/7395ef5419a6438f0c48685bf00b7f151178743d
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/newhdrgen/yaml/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/cospif16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/cospif16.cpp
A libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sinpif16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/cospif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/cospif16_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math][c23] Add cospif16 function (#113001)
Implementation of `cos` for half precision floating point inputs scaled
by pi (i.e., `cospi`), correctly rounded for all rounding modes.
---------
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: c3260c65e86ac363aa3a39f084db66a8a1d1af7d
https://github.com/llvm/llvm-project/commit/c3260c65e86ac363aa3a39f084db66a8a1d1af7d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sincos.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/llvm.frexp.ll
A llvm/test/CodeGen/AArch64/llvm.sincos-fmf.ll
A llvm/test/CodeGen/AArch64/llvm.sincos.ll
A llvm/test/CodeGen/ARM/llvm.sincos.ll
Log Message:
-----------
[IR] Add `llvm.sincos` intrinsic (#109825)
This adds the `llvm.sincos` intrinsic, legalization, and lowering.
The `llvm.sincos` intrinsic takes a floating-point value and returns
both the sine and cosine (as a struct).
```
declare { float, float } @llvm.sincos.f32(float %Val)
declare { double, double } @llvm.sincos.f64(double %Val)
declare { x86_fp80, x86_fp80 } @llvm.sincos.f80(x86_fp80 %Val)
declare { fp128, fp128 } @llvm.sincos.f128(fp128 %Val)
declare { ppc_fp128, ppc_fp128 } @llvm.sincos.ppcf128(ppc_fp128 %Val)
declare { <4 x float>, <4 x float> } @llvm.sincos.v4f32(<4 x float> %Val)
```
The lowering is built on top of the existing FSINCOS ISD node, with
additional type legalization to allow for f16, f128, and vector values.
Commit: 32aa782ea297b3e0ec090cf8fc0055d00c99d24b
https://github.com/llvm/llvm-project/commit/32aa782ea297b3e0ec090cf8fc0055d00c99d24b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/copysignl.ll
Log Message:
-----------
[PowerPC] copysignl.ll - regenerate to reduce the diff in #111269
Commit: f537792f3f4977c8bc887b17ffc25e93833e7d0d
https://github.com/llvm/llvm-project/commit/f537792f3f4977c8bc887b17ffc25e93833e7d0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
A clang/test/CodeGen/X86/builtin_test_helpers.h
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
Log Message:
-----------
[X86] Refactor the SSE intrinsics constexpr tests to simplify future expansion (#112578)
I'm hoping to make a large proportion of the SSE/AVX intrinsics usable in constant expressions - eventually anything that doesn't touch memory or system settings - making it much easier to utilize SSE/AVX intrinsics in various math libraries etc.
My initial implementation placed the tests at the end of the test file, similar to how smaller files already handle their tests.
However, what I'm finding is that this approach doesn't scale when trying to track coverage of so many intrinsics - many keep getting missed, and it gets messy; so what I'm proposing is to instead keep each intrinsic's generic IR test and its constexpr tests together to make them easier to track together, wrapping the static_assert inside a macro to disable on C and pre-C++11 tests.
I'm open to alternative suggestions before I invest too much time getting this work done :)
Commit: 98c8d643539194321f3dba8698e95999165b1024
https://github.com/llvm/llvm-project/commit/98c8d643539194321f3dba8698e95999165b1024
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2/bfscale-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfscale.s
Log Message:
-----------
[AArch64] Add assembly/dissasembly for BFSCALE instructions (#113538)
This patch adds assembly/disassembly for following instructions:
BFSCALE (multiple and single vector)
BFSCALE (multiple vectors)
As specified in https://developer.arm.com/documentation/ddi0602/2024-09
Co-authored-by: Momchil Velikov
[momchil.velikov at arm.com](mailto:momchil.velikov at arm.com)
Commit: 06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
https://github.com/llvm/llvm-project/commit/06664fdc7680f7f9fa9b0a414a8fb8df2f913d48
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
M llvm/test/Transforms/FunctionSpecialization/compiler-crash-58759.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization4.ll
M llvm/test/Transforms/FunctionSpecialization/get-possible-constants.ll
M llvm/test/Transforms/FunctionSpecialization/global-rank.ll
M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll
M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
M llvm/test/Transforms/FunctionSpecialization/specialize-multiple-arguments.ll
A llvm/test/Transforms/FunctionSpecialization/track-ptr-return.ll
Log Message:
-----------
[FuncSpec] Enable SpecializeLiteralConstant by default (#113442)
Enable specialization on literal constant arguments by default in
Function Specialization.
---------
Co-authored-by: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Commit: 46944d1f950d042695197038ab3f1bf25ace261b
https://github.com/llvm/llvm-project/commit/46944d1f950d042695197038ab3f1bf25ace261b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
Log Message:
-----------
[flang][OpenMP] Extract OMP version hint into helper functions, NFC (#113621)
Commit: 2443549b853908352a3b7b9bd6c07616492814a1
https://github.com/llvm/llvm-project/commit/2443549b853908352a3b7b9bd6c07616492814a1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
Log Message:
-----------
[IR] Remove some uses of StructType::setBody. NFC. (#113685)
It is simple to create the struct body up front, now that we have
transitioned to opaque pointers.
Commit: ec427df2b9c04cb3323babcf680dad8dcefaf228
https://github.com/llvm/llvm-project/commit/ec427df2b9c04cb3323babcf680dad8dcefaf228
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
Log Message:
-----------
[AArch64] Add assembly/disassembly for FMOP4{A,S} (non-widening) half-precision instructions (#113343)
The new instructions are described in
https://developer.arm.com/documentation/ddi0602/2024-09/SME-Instructions
Commit: e19a5fc6d306a81d181a9597a8b25c444c08d722
https://github.com/llvm/llvm-project/commit/e19a5fc6d306a81d181a9597a8b25c444c08d722
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
A llvm/test/Transforms/FunctionSpecialization/maxgrowth.ll
Log Message:
-----------
[FuncSpec] Improve accounting of specialization codesize growth (#113448)
Only accumulate the codesize increase of functions that are actually
specialized, rather than for every candidate specialization that we
analyse.
This fixes a subtle bug where prior analysis of candidate
specializations that were deemed unprofitable could prevent subsequent
profitable candidates from being recognised.
Commit: 66afb42761063dd8dbc5c89655cd75539c5473dd
https://github.com/llvm/llvm-project/commit/66afb42761063dd8dbc5c89655cd75539c5473dd
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/pre-aggregated-perf.test
M bolt/tools/driver/llvm-bolt.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NondeterministicPointerIterationOrderCheck.h
M clang-tools-extra/clang-tidy/readability/EnumInitialValueCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/nondeterministic-pointer-iteration-order.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_algorithm
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_c++config.h
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_initializer_list
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_iterator_base
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_stl_pair
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_type_traits
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_map
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_unordered_set
A clang-tools-extra/test/clang-tidy/checkers/bugprone/Inputs/system-header-simulator/sim_vector
A clang-tools-extra/test/clang-tidy/checkers/bugprone/nondeterministic-pointer-iteration-order.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/enum-initial-value.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang/docs/AddressSanitizer.rst
A clang/docs/FunctionEffectAnalysis.rst
M clang/docs/RealtimeSanitizer.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/index.rst
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/AMDGPUTypes.def
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86_64.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangStandard.h
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/Driver/XRayArgs.h
M clang/include/clang/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/LangStandards.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/RISCV.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/ABIInfoImpl.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/CMakeLists.txt
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/immintrin.h
A clang/lib/Headers/movrs_avx10_2_512intrin.h
A clang/lib/Headers/movrs_avx10_2intrin.h
A clang/lib/Headers/sm4evexintrin.h
M clang/lib/Interpreter/CMakeLists.txt
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
R clang/lib/StaticAnalyzer/Checkers/PointerIterationChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/PointerSortingChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/AST/arm-mfp8.cpp
M clang/test/AST/ast-dump-amdgpu-types.c
A clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg-std-array.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/array-init-loop.cpp
R clang/test/Analysis/ptr-iter.cpp
R clang/test/Analysis/ptr-sort.cpp
A clang/test/CXX/drs/cwg1884.cpp
M clang/test/CXX/drs/cwg18xx.cpp
A clang/test/CXX/drs/cwg279.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/ClangScanDeps/link-libraries.c
M clang/test/ClangScanDeps/print-timing.c
A clang/test/CodeGen/RISCV/attr-hw-shadow-stack.c
M clang/test/CodeGen/X86/avx-cmp-builtins.c
M clang/test/CodeGen/X86/avx-shuffle-builtins.c
A clang/test/CodeGen/X86/builtin_test_helpers.h
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-512-builtins.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins-error-32.c
A clang/test/CodeGen/X86/movrs-avx10.2-builtins.c
A clang/test/CodeGen/X86/sm4-evex-builtins.c
M clang/test/CodeGen/X86/sse-builtins.c
M clang/test/CodeGen/X86/sse.c
M clang/test/CodeGen/X86/sse2-builtins.c
M clang/test/CodeGen/X86/sse3-builtins.c
A clang/test/CodeGen/aarch64-debug-types.c
A clang/test/CodeGen/aarch64-fpm-helpers.c
A clang/test/CodeGen/aarch64-pure-scalable-args-empty-union.c
A clang/test/CodeGen/aarch64-pure-scalable-args.c
A clang/test/CodeGen/amdgpu-barrier-type-debug-info.c
M clang/test/CodeGen/arm-mfp8.c
M clang/test/CodeGen/builtins-nvptx-native-half-type-native.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
R clang/test/CodeGen/debug-info-renderscript-tag.rs
M clang/test/CodeGen/fp16-ops.c
A clang/test/CodeGen/musttail-sret.cpp
A clang/test/CodeGen/pgo-cold-function-coverage.c
R clang/test/CodeGen/renderscript.c
M clang/test/CodeGen/rtsan_attribute_inserted.c
M clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
M clang/test/CodeGen/target-builtin-noerror.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/amdgpu-barrier-typeinfo.cpp
A clang/test/CodeGenHIP/amdgpu-barrier-type.hip
A clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
A clang/test/CodeGenHLSL/convergence/entry.point.hlsl
A clang/test/Driver/XRay/xray-shared.cpp
M clang/test/Driver/aarch64-v96a.c
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/cuda-cross-compiling.c
A clang/test/Driver/fprofile-generate-cold-function-coverage.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/ps5-linker.c
R clang/test/Driver/renderscript.rs
M clang/test/Driver/riscv-profiles.c
M clang/test/Driver/unknown-std.c
M clang/test/Driver/x86-target-features.c
M clang/test/Format/clang-format-ignore.cpp
A clang/test/Format/error-unfound-files.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Modules/no-external-type-id.cppm
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/wasm-target-features.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Sema/arithmetic-fence-builtin.c
A clang/test/Sema/arm-mfp8.c
M clang/test/Sema/arm-mfp8.cpp
M clang/test/Sema/asm.c
R clang/test/Sema/renderscript.rs
A clang/test/SemaCXX/amdgpu-barrier.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/conditional-expr.cpp
M clang/test/SemaCXX/constexpr-string.cpp
M clang/test/SemaCXX/deprecated.cpp
A clang/test/SemaCXX/warn-memaccess.cpp
A clang/test/SemaHIP/amdgpu-barrier.hip
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
A clang/test/SemaOpenCL/amdgpu-barrier.cl
A clang/test/SemaOpenMP/amdgpu-barrier.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/www/cxx_dr_status.html
M clang/www/index.html
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/include/xray/xray_interface.h
M compiler-rt/lib/asan/scripts/asan_symbolize.py
M compiler-rt/lib/builtins/cpu_model/x86.c
M compiler-rt/lib/hwasan/hwasan_platform_interceptors.h
M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_allocator.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/xray/CMakeLists.txt
M compiler-rt/lib/xray/xray_AArch64.cpp
M compiler-rt/lib/xray/xray_arm.cpp
A compiler-rt/lib/xray/xray_dso_init.cpp
M compiler-rt/lib/xray/xray_hexagon.cpp
M compiler-rt/lib/xray/xray_init.cpp
M compiler-rt/lib/xray/xray_interface.cpp
M compiler-rt/lib/xray/xray_interface_internal.h
M compiler-rt/lib/xray/xray_loongarch64.cpp
M compiler-rt/lib/xray/xray_mips.cpp
M compiler-rt/lib/xray/xray_mips64.cpp
M compiler-rt/lib/xray/xray_powerpc64.cpp
M compiler-rt/lib/xray/xray_trampoline_x86_64.S
M compiler-rt/lib/xray/xray_x86_64.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/xray/TestCases/Posix/basic-mode-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/clang-xray-shared.cpp
A compiler-rt/test/xray/TestCases/Posix/dlopen.cpp
A compiler-rt/test/xray/TestCases/Posix/dso-dep-chains.cpp
A compiler-rt/test/xray/TestCases/Posix/patch-premain-dso.cpp
A compiler-rt/test/xray/TestCases/Posix/patching-unpatching-dso.cpp
M flang/examples/FeatureList/FeatureList.cpp
A flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/registration.h
M flang/include/flang/Semantics/openmp-directive-sets.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/runtime/CUDA/registration.cpp
A flang/test/Fir/CUDA/cuda-device-global.f90
A flang/test/Lower/OpenMP/Todo/scope.f90
A flang/test/Parser/OpenMP/scope.f90
A flang/test/Parser/OpenMP/taskloop.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/invalid-branch.f90
M flang/test/Semantics/OpenMP/nested01.f90
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/hdr/CMakeLists.txt
M libc/hdr/fcntl_macros.h
A libc/hdr/fcntl_overlay.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/mode_t.h
M libc/newhdrgen/yaml/math.yaml
M libc/newhdrgen/yaml_to_classes.py
M libc/src/__support/CMakeLists.txt
M libc/src/__support/File/linux/CMakeLists.txt
M libc/src/__support/File/linux/dir.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/libc_assert.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/thread.cpp
M libc/src/assert/assert.h
M libc/src/fcntl/creat.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/fcntl/open.h
M libc/src/fcntl/openat.h
M libc/src/math/CMakeLists.txt
M libc/src/math/cbrt.h
A libc/src/math/cospif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
A libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
A libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/spawn/linux/posix_spawn.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/linux/CMakeLists.txt
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/vsscanf.h
M libc/src/sys/mman/linux/CMakeLists.txt
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/shm_open.h
M libc/src/sys/stat/linux/CMakeLists.txt
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/test/src/fcntl/CMakeLists.txt
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/cbrt_test.cpp
A libc/test/src/math/cospif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
A libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/hypotf_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/sys/sendfile/CMakeLists.txt
M libc/test/src/sys/sendfile/sendfile_test.cpp
M libc/test/src/sys/stat/CMakeLists.txt
M libc/test/src/sys/stat/chmod_test.cpp
M libc/test/src/sys/stat/fchmod_test.cpp
M libc/test/src/sys/stat/fchmodat_test.cpp
M libc/test/src/sys/stat/fstat_test.cpp
M libc/test/src/sys/stat/lstat_test.cpp
M libc/test/src/sys/stat/mkdirat_test.cpp
M libc/test/src/sys/stat/stat_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__charconv/from_chars_floating_point.h
M libcxx/include/__chrono/tzdb.h
M libcxx/include/__config
A libcxx/include/__flat_map/flat_map.h
A libcxx/include/__flat_map/sorted_unique.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/android.h
A libcxx/include/__locale_dir/locale_base_api/apple.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_defaults.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
A libcxx/include/__locale_dir/locale_base_api/freebsd.h
M libcxx/include/__locale_dir/locale_base_api/fuchsia.h
M libcxx/include/__locale_dir/locale_base_api/ibm.h
R libcxx/include/__locale_dir/locale_base_api/locale_guard.h
M libcxx/include/__locale_dir/locale_base_api/musl.h
R libcxx/include/__locale_dir/locale_base_api/newlib.h
M libcxx/include/__locale_dir/locale_base_api/openbsd.h
M libcxx/include/__locale_dir/locale_base_api/win32.h
A libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__support/xlocale/__posix_l_fallback.h
M libcxx/include/__utility/exception_guard.h
A libcxx/include/__vector/comparison.h
A libcxx/include/__vector/container_traits.h
A libcxx/include/__vector/erase.h
A libcxx/include/__vector/pmr.h
A libcxx/include/__vector/swap.h
A libcxx/include/__vector/vector.h
A libcxx/include/__vector/vector_bool.h
A libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/chrono
A libcxx/include/flat_map
M libcxx/include/functional
M libcxx/include/module.modulemap
M libcxx/include/vector
M libcxx/include/version
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_map.inc
M libcxx/src/charconv.cpp
M libcxx/src/iostream.cpp
M libcxx/src/support/win32/locale_win32.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.input_range.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/containers.adaptors/flat.map/container_stability.pass.cpp
M libcxx/test/libcxx/containers/sequences/vector.bool/abi.compile.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp
M libcxx/test/std/atomics/atomics.ref/assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/NaiveStaticVector.h
A libcxx/test/std/containers/container.adaptors/flat.map.syn/sorted_unique.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_rv_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.addressof.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/default_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/iter_iter_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_range_stability.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.observers/keys_values.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.map/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.map/types.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/experimental/simd/simd.class/simd_unary.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/cons.copy.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.leap/members/value.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/const_time_zone_default_zone.pass.cpp
M libcxx/test/std/utilities/expected/types.h
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
A libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_macros.h
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libunwind/src/DwarfInstructions.hpp
M libunwind/src/DwarfParser.hpp
M libunwind/src/dwarf2.h
M lld/COFF/Chunks.cpp
M lld/COFF/Driver.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/Symbols.h
M lld/MachO/BPSectionOrderer.cpp
A lld/test/COFF/arm64ec-altnames.s
A lld/test/COFF/autoimport-arm64ec-data.test
M lld/test/wasm/custom-section-name.ll
M lld/test/wasm/data-segments.ll
M lld/test/wasm/lto/Inputs/archive.ll
M lld/test/wasm/lto/Inputs/cache.ll
M lld/test/wasm/lto/Inputs/comdat_ordering1.ll
M lld/test/wasm/lto/Inputs/comdat_ordering2.ll
M lld/test/wasm/lto/Inputs/foo.ll
M lld/test/wasm/lto/Inputs/libcall-archive.ll
M lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
M lld/test/wasm/lto/Inputs/libcall.ll
M lld/test/wasm/lto/Inputs/save-temps.ll
M lld/test/wasm/lto/Inputs/thin1.ll
M lld/test/wasm/lto/Inputs/thin2.ll
M lld/test/wasm/lto/Inputs/thinlto.ll
M lld/test/wasm/lto/Inputs/used.ll
M lld/test/wasm/lto/archive.ll
M lld/test/wasm/lto/atomics.ll
M lld/test/wasm/lto/cache-warnings.ll
M lld/test/wasm/lto/cache.ll
M lld/test/wasm/lto/cgo.ll
M lld/test/wasm/lto/comdat.ll
M lld/test/wasm/lto/diagnostics.ll
M lld/test/wasm/lto/export.ll
M lld/test/wasm/lto/import-attributes.ll
M lld/test/wasm/lto/internalize-basic.ll
M lld/test/wasm/lto/libcall-archive.ll
M lld/test/wasm/lto/libcall-truncsfhf2.ll
M lld/test/wasm/lto/lto-start.ll
M lld/test/wasm/lto/new-pass-manager.ll
M lld/test/wasm/lto/opt-level.ll
M lld/test/wasm/lto/parallel.ll
M lld/test/wasm/lto/relocatable-undefined.ll
M lld/test/wasm/lto/relocatable.ll
M lld/test/wasm/lto/save-temps.ll
M lld/test/wasm/lto/stub-library-libcall.s
M lld/test/wasm/lto/thin-archivecollision.ll
M lld/test/wasm/lto/thinlto-thin-archive-collision.ll
M lld/test/wasm/lto/thinlto.ll
M lld/test/wasm/lto/undef.ll
M lld/test/wasm/lto/used.ll
M lld/test/wasm/lto/verify-invalid.ll
M lld/test/wasm/lto/weak-undefined.ll
M lld/test/wasm/lto/weak.ll
M lldb/include/lldb/Core/IOHandler.h
R lldb/include/lldb/Core/ValueObject.h
R lldb/include/lldb/Core/ValueObjectCast.h
R lldb/include/lldb/Core/ValueObjectChild.h
R lldb/include/lldb/Core/ValueObjectConstResult.h
R lldb/include/lldb/Core/ValueObjectConstResultCast.h
R lldb/include/lldb/Core/ValueObjectConstResultChild.h
R lldb/include/lldb/Core/ValueObjectConstResultImpl.h
R lldb/include/lldb/Core/ValueObjectDynamicValue.h
R lldb/include/lldb/Core/ValueObjectList.h
R lldb/include/lldb/Core/ValueObjectMemory.h
R lldb/include/lldb/Core/ValueObjectRegister.h
R lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
R lldb/include/lldb/Core/ValueObjectUpdater.h
R lldb/include/lldb/Core/ValueObjectVTable.h
R lldb/include/lldb/Core/ValueObjectVariable.h
M lldb/include/lldb/DataFormatters/FormattersContainer.h
M lldb/include/lldb/DataFormatters/TypeFormat.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/Expression/ExpressionVariable.h
M lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Target/StackFrame.h
M lldb/include/lldb/Target/StackFrameRecognizer.h
A lldb/include/lldb/ValueObject/ValueObject.h
A lldb/include/lldb/ValueObject/ValueObjectCast.h
A lldb/include/lldb/ValueObject/ValueObjectChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResult.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultCast.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultChild.h
A lldb/include/lldb/ValueObject/ValueObjectConstResultImpl.h
A lldb/include/lldb/ValueObject/ValueObjectDynamicValue.h
A lldb/include/lldb/ValueObject/ValueObjectList.h
A lldb/include/lldb/ValueObject/ValueObjectMemory.h
A lldb/include/lldb/ValueObject/ValueObjectRegister.h
A lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
A lldb/include/lldb/ValueObject/ValueObjectUpdater.h
A lldb/include/lldb/ValueObject/ValueObjectVTable.h
A lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBBlock.cpp
M lldb/source/API/SBFrame.cpp
M lldb/source/API/SBModule.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SBType.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/API/SBValueList.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/CMakeLists.txt
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectWatchpoint.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/DumpRegisterValue.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
R lldb/source/Core/ValueObject.cpp
R lldb/source/Core/ValueObjectCast.cpp
R lldb/source/Core/ValueObjectChild.cpp
R lldb/source/Core/ValueObjectConstResult.cpp
R lldb/source/Core/ValueObjectConstResultCast.cpp
R lldb/source/Core/ValueObjectConstResultChild.cpp
R lldb/source/Core/ValueObjectConstResultImpl.cpp
R lldb/source/Core/ValueObjectDynamicValue.cpp
R lldb/source/Core/ValueObjectList.cpp
R lldb/source/Core/ValueObjectMemory.cpp
R lldb/source/Core/ValueObjectRegister.cpp
R lldb/source/Core/ValueObjectSyntheticFilter.cpp
R lldb/source/Core/ValueObjectUpdater.cpp
R lldb/source/Core/ValueObjectVTable.cpp
R lldb/source/Core/ValueObjectVariable.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/StringPrinter.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Expression/IRInterpreter.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/Materializer.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionUtil.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/Generic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.h
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/CF.cpp
M lldb/source/Plugins/Language/ObjC/CF.h
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.h
M lldb/source/Plugins/Language/ObjC/CoreMedia.h
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.h
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.h
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/GNUstepObjCRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
M lldb/source/Plugins/MemoryHistory/asan/CMakeLists.txt
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/OperatingSystem/Python/CMakeLists.txt
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
M lldb/source/Plugins/Platform/POSIX/CMakeLists.txt
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/CMakeLists.txt
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Symbol/CMakeLists.txt
M lldb/source/Symbol/Variable.cpp
M lldb/source/Target/ABI.cpp
M lldb/source/Target/CMakeLists.txt
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanStepOut.cpp
A lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/ValueObject.cpp
A lldb/source/ValueObject/ValueObjectCast.cpp
A lldb/source/ValueObject/ValueObjectChild.cpp
A lldb/source/ValueObject/ValueObjectConstResult.cpp
A lldb/source/ValueObject/ValueObjectConstResultCast.cpp
A lldb/source/ValueObject/ValueObjectConstResultChild.cpp
A lldb/source/ValueObject/ValueObjectConstResultImpl.cpp
A lldb/source/ValueObject/ValueObjectDynamicValue.cpp
A lldb/source/ValueObject/ValueObjectList.cpp
A lldb/source/ValueObject/ValueObjectMemory.cpp
A lldb/source/ValueObject/ValueObjectRegister.cpp
A lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
A lldb/source/ValueObject/ValueObjectUpdater.cpp
A lldb/source/ValueObject/ValueObjectVTable.cpp
A lldb/source/ValueObject/ValueObjectVariable.cpp
M lldb/test/API/lang/cpp/dereferencing_references/TestCPPDereferencingReferences.py
M lldb/test/API/lang/cpp/dereferencing_references/main.cpp
M lldb/tools/debugserver/source/MacOSX/MachVMRegion.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/FifoFiles.cpp
M lldb/tools/lldb-dap/FifoFiles.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/RunInTerminal.cpp
M lldb/tools/lldb-dap/RunInTerminal.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/ValueObject/CMakeLists.txt
M lldb/unittests/ValueObject/DumpValueObjectOptionsTests.cpp
M llvm/docs/CommandGuide/lit.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/UserGuides.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/GenericCycleImpl.h
M llvm/include/llvm/ADT/GenericCycleInfo.h
M llvm/include/llvm/ADT/StringMapEntry.h
M llvm/include/llvm/ADT/StringRef.h
M llvm/include/llvm/Analysis/StructuralHash.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.def
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/Dwarf.def
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
M llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
M llvm/include/llvm/ExecutionEngine/Orc/Shared/MachOObjectFormat.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.td
M llvm/include/llvm/IR/DataLayout.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/Mangler.h
M llvm/include/llvm/IR/PassInstrumentation.h
M llvm/include/llvm/IR/StructuralHash.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/MC/MCDwarf.h
M llvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCXCOFFObjectWriter.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/include/llvm/Remarks/HotnessThresholdParser.h
M llvm/include/llvm/SandboxIR/Pass.h
M llvm/include/llvm/SandboxIR/PassManager.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/Endian.h
M llvm/include/llvm/Support/ExtensibleRTTI.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/TargetParser/X86TargetParser.def
M llvm/include/llvm/Transforms/IPO/FunctionSpecialization.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/NullPass.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintInstructionCount.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Analysis/StructuralHash.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CFIFixup.cpp
M llvm/lib/CodeGen/CFIInstrInserter.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/LiveIntervals.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/lib/CodeGen/MachineCombiner.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineSizeOpts.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/MachOObjectFormat.cpp
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DataLayout.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/StructuralHash.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCDwarf.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCParser/COFFMasmParser.cpp
M llvm/lib/MC/MCParser/DarwinAsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParserExtension.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/SandboxIR/PassManager.cpp
M llvm/lib/Support/StringRef.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVProfiles.td
M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
M llvm/lib/Target/RISCV/RISCVScheduleV.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/X86.td
M llvm/lib/Target/X86/X86FixupBWInsts.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/X86TargetParser.cpp
M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/DemoteRegToStack.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SizeOpts.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/RegionsFromMetadata.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.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/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/StructuralHash/structural-hash-printer.ll
M llvm/test/Analysis/ValueTracking/numsignbits-from-assume.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/Bindings/llvm-c/debug_info_new_format.ll
M llvm/test/Bitcode/attributes.ll
M llvm/test/Bitcode/compatibility.ll
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
A llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-sincos.ll
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-atan2.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/sve-integer.ll
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/f16-instructions.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-fp16.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
M llvm/test/CodeGen/AArch64/illegal-float-ops.ll
A llvm/test/CodeGen/AArch64/llvm.frexp.ll
A llvm/test/CodeGen/AArch64/llvm.sincos-fmf.ll
A llvm/test/CodeGen/AArch64/llvm.sincos.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/mlicm-stack-write-check.mir
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-armpl.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef-scalable.ll
M llvm/test/CodeGen/AArch64/replace-with-veclib-sleef.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/AArch64/srem-lkk.ll
M llvm/test/CodeGen/AArch64/vec-libcalls.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill-inspect-subrange.mir
M llvm/test/CodeGen/AMDGPU/infloop-subrange-spill.mir
A llvm/test/CodeGen/AMDGPU/issue98474-assigned-physreg-interference.mir
A llvm/test/CodeGen/AMDGPU/issue98474-need-live-out-undef-subregister-def.ll
A llvm/test/CodeGen/AMDGPU/issue98474-virtregrewriter-live-out-undef-subregisters.mir
M llvm/test/CodeGen/AMDGPU/licm-regpressure.mir
M llvm/test/CodeGen/AMDGPU/licm-valu.mir
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
A llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/release-vgprs.mir
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding.ll
M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding2.ll
M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
M llvm/test/CodeGen/ARM/fp-intrinsics.ll
M llvm/test/CodeGen/ARM/fp16-vector-argument.ll
A llvm/test/CodeGen/ARM/llvm.sincos.ll
A llvm/test/CodeGen/ARM/musttail.ll
R llvm/test/CodeGen/DirectX/split-double.ll
A llvm/test/CodeGen/DirectX/splitdouble.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/CodeGen/PowerPC/copysignl.ll
M llvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/double-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/float-intrinsics-strict.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-compress-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
M llvm/test/CodeGen/RISCV/rvv/pr107950.ll
M llvm/test/CodeGen/RISCV/rvv/remat.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vector-compress.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/splitdouble.ll
M llvm/test/CodeGen/Thumb2/bti-pac-replace-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-basic.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-frame-chain.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-indirect-tail-call.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-3.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-outliner-4.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-overalign.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-stack-arg.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-1.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-varargs-2.ll
M llvm/test/CodeGen/Thumb2/pacbti-m-vla.ll
M llvm/test/CodeGen/WebAssembly/bulk-memory.ll
M llvm/test/CodeGen/WebAssembly/bulk-memory64.ll
M llvm/test/CodeGen/WebAssembly/cfg-stackify-eh-legacy.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/CodeGen/X86/andnot-patterns.ll
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
M llvm/test/CodeGen/X86/avxneconvert-intrinsics.ll
M llvm/test/CodeGen/X86/basic-block-address-map-pgo-features.ll
M llvm/test/CodeGen/X86/bfloat-constrained.ll
M llvm/test/CodeGen/X86/float-strict-powi-convert.ll
A llvm/test/CodeGen/X86/movrs-avx10.2-512-intrinsics.ll
A llvm/test/CodeGen/X86/movrs-avx10.2-intrinsics.ll
M llvm/test/CodeGen/X86/scmp.ll
A llvm/test/CodeGen/X86/sm4-evex-intrinsics.ll
M llvm/test/CodeGen/X86/ucmp.ll
M llvm/test/CodeGen/X86/unfoldMemoryOperand.mir
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/DebugInfo/Generic/debug-names-accel-table-types.ll
M llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
M llvm/test/DebugInfo/MIR/X86/mlicm-hoist-pre-regalloc.mir
M llvm/test/Instrumentation/MemorySanitizer/msan_basic.ll
M llvm/test/Instrumentation/MemorySanitizer/pr32842.ll
A llvm/test/Instrumentation/RealtimeSanitizer/rtsan_blocking.ll
R llvm/test/Instrumentation/RealtimeSanitizer/rtsan_unsafe.ll
A llvm/test/MC/AArch64/FP8/fmmla-diagnostics.s
A llvm/test/MC/AArch64/FP8/fmmla.s
A llvm/test/MC/AArch64/SME2/bfmul-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfmul.s
A llvm/test/MC/AArch64/SME2/bfscale-diagnostics.s
A llvm/test/MC/AArch64/SME2/bfscale.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
A llvm/test/MC/AArch64/SME2p2/fmul-diagnostics.s
A llvm/test/MC/AArch64/SME2p2/fmul.s
M llvm/test/MC/AArch64/SVE2/flogb-diagnostics.s
M llvm/test/MC/AArch64/SVE2/sqabs-diagnostics.s
M llvm/test/MC/AArch64/SVE2/sqneg-diagnostics.s
M llvm/test/MC/AArch64/SVE2/urecpe-diagnostics.s
M llvm/test/MC/AArch64/SVE2/ursqrte-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmlal-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmlal.s
A llvm/test/MC/AArch64/SVE2p1/pmull-diagnostics.s
A llvm/test/MC/AArch64/SVE2p1/pmull.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzs_z.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/fcvtzu_z.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/flogb_z.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/scvtf_z.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqabs_z.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/sqneg_z.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ucvtf_z.s
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z-diagnotics.s
A llvm/test/MC/AArch64/SVE2p2/unary_arithmetic_predicated_z.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/urecpe_z.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z-diagnostics.s
A llvm/test/MC/AArch64/SVE2p2/ursqrte_z.s
A llvm/test/MC/AArch64/armv9.6a-cvtf.s
A llvm/test/MC/AArch64/armv9.6a-fcvt.s
A llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/directive-arch-negative.s
M llvm/test/MC/AArch64/directive-arch.s
M llvm/test/MC/AArch64/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/directive-arch_extension.s
M llvm/test/MC/AArch64/directive-cpu.s
M llvm/test/MC/AArch64/directives-case_insensitive.s
A llvm/test/MC/AArch64/negate_ra_state_with_pc.s
M llvm/test/MC/AArch64/neon-diagnostics.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3c-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
A llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
A llvm/test/MC/Disassembler/AArch64/armv9.6a-ras.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx10_mimg_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mimg_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage_features.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx8_mimg_features.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx9_mimg_features.txt
A llvm/test/MC/Disassembler/X86/apx/msr-imm.txt
A llvm/test/MC/Disassembler/X86/movrs-avx10-64.txt
A llvm/test/MC/Disassembler/X86/msrimm-64.txt
A llvm/test/MC/Disassembler/X86/sm4-evex-32.txt
A llvm/test/MC/Disassembler/X86/sm4-evex-64.txt
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/smrnmi-invalid.s
A llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/test/MC/WebAssembly/extern-functype-intrinsic.ll
M llvm/test/MC/WebAssembly/libcall.ll
A llvm/test/MC/X86/apx/msrimm-att.s
A llvm/test/MC/X86/apx/msrimm-intel.s
A llvm/test/MC/X86/movrs-avx10-att-64.s
A llvm/test/MC/X86/movrs-avx10-intel-64.s
A llvm/test/MC/X86/msrimm-64-att.s
A llvm/test/MC/X86/msrimm-64-intel.s
A llvm/test/MC/X86/sm4-evex-32-att.s
A llvm/test/MC/X86/sm4-evex-32-intel.s
A llvm/test/MC/X86/sm4-evex-64-att.s
A llvm/test/MC/X86/sm4-evex-64-intel.s
A llvm/test/MachineVerifier/AMDGPU/issue98474-missing-def-liveout-physical-subregister.mir
M llvm/test/TableGen/lit.local.cfg
M llvm/test/TableGen/x86-fold-tables.inc
A llvm/test/ThinLTO/X86/Inputs/ditemplatevalueparameter-remap.ll
A llvm/test/ThinLTO/X86/ditemplatevalueparameter-remap.ll
M llvm/test/ThinLTO/X86/memprof-icp.ll
A llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
M llvm/test/Transforms/EarlyCSE/defaultfp-strictfp.ll
M llvm/test/Transforms/EarlyCSE/ebstrict-strictfp.ll
M llvm/test/Transforms/EarlyCSE/mixed-strictfp.ll
M llvm/test/Transforms/EarlyCSE/nonmixed-strictfp.ll
M llvm/test/Transforms/FunctionSpecialization/compiler-crash-58759.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization-constant-expression.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization2.ll
M llvm/test/Transforms/FunctionSpecialization/function-specialization4.ll
M llvm/test/Transforms/FunctionSpecialization/get-possible-constants.ll
M llvm/test/Transforms/FunctionSpecialization/global-rank.ll
M llvm/test/Transforms/FunctionSpecialization/identical-specializations.ll
M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
A llvm/test/Transforms/FunctionSpecialization/maxgrowth.ll
M llvm/test/Transforms/FunctionSpecialization/specialize-multiple-arguments.ll
A llvm/test/Transforms/FunctionSpecialization/track-ptr-return.ll
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InstCombine/2007-10-31-RangeCrash.ll
M llvm/test/Transforms/InstCombine/and-compare.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/constant-fold-iteration.ll
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/icmp-or.ll
A llvm/test/Transforms/InstCombine/pr105510.ll
M llvm/test/Transforms/InstCombine/pr55228.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_instruction.ll
M llvm/test/Transforms/InstCombine/vec_shuffle.ll
M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
M llvm/test/Transforms/InstSimplify/fp-nan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-calls-libsystem-darwin.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
M llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
A llvm/test/Transforms/MemProfContextDisambiguation/fix_clone_checking.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges-attr.ll
M llvm/test/Transforms/MergeFunc/call-and-invoke-with-ranges.ll
M llvm/test/Transforms/MergeFunc/inline-asm.ll
M llvm/test/Transforms/PGOProfile/chr.ll
A llvm/test/Transforms/PGOProfile/instr-gen-cold-function.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmp.ll
M llvm/test/Transforms/SCCP/strictfp-phis-fcmps.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/div.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
A llvm/test/Transforms/SLPVectorizer/X86/conversion-fp16.ll
A llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
A llvm/test/Transforms/Scalarizer/uadd_overflow.ll
M llvm/test/Transforms/SimpleLoopUnswitch/2007-08-01-LCSSA.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
M llvm/test/Verifier/rtsan-attrs.ll
M llvm/test/Verifier/scalable-global-vars.ll
A llvm/test/tools/llvm-objdump/MachO/AArch64/aliases.s
M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
M llvm/tools/llvm-c-test/debuginfo.c
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
M llvm/unittests/Analysis/InlineAdvisorPlugin/CMakeLists.txt
M llvm/unittests/Analysis/InlineOrderPlugin/CMakeLists.txt
M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
M llvm/unittests/CMakeLists.txt
M llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.cpp
R llvm/unittests/ExecutionEngine/JITLink/JITLinkMocks.h
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
A llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.h
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/StructuralHashTest.cpp
M llvm/unittests/SandboxIR/PassTest.cpp
M llvm/unittests/Support/ExtensibleRTTITest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/utils/TableGen/Attributes.cpp
M llvm/utils/TableGen/CTagsEmitter.cpp
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/IntrinsicEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
M llvm/utils/TableGen/VTEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Checkers/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Commands/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/DataFormatters/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Expression/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/ABI/X86/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/ExpressionParser/Clang/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Language/ObjC/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Platform/POSIX/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/SymbolFile/DWARF/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Symbol/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Target/BUILD.gn
A llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
M llvm/utils/lit/lit/llvm/config.py
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Support/IndentedOstream.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/LinalgToStandard/CMakeLists.txt
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MathToLibm/CMakeLists.txt
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
R mlir/lib/Dialect/SCF/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Query/QueryParser.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/Conversion/MathToFuncs/ctlz.mlir
M mlir/test/Conversion/MathToFuncs/ipowi.mlir
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Conversion/SPIRVToLLVM/control-flow-ops-to-llvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/GPU/decompose-memrefs.mlir
A mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/MemRef/expand-ops.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/SCF/bufferize.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-drop-unit-dims-patterns.mlir
M mlir/test/Integration/GPU/CUDA/sm90/python/tools/matmulBuilder.py
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
M mlir/test/lib/Pass/CMakeLists.txt
A mlir/test/lib/Pass/TestSPIRVCPURunnerPipeline.cpp
M mlir/test/mlir-spirv-cpu-runner/double.mlir
M mlir/test/mlir-spirv-cpu-runner/simple_add.mlir
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-spirv-cpu-runner/mlir-spirv-cpu-runner.cpp
M openmp/runtime/src/CMakeLists.txt
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/kparzysz/spr/d03-flang-depend-iterator
Compare: https://github.com/llvm/llvm-project/compare/1e0a085ca29e...66afb4276106
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