[all-commits] [llvm/llvm-project] bd3838: Skip TestThreadLocal.py on darwin temporarily for ...
Congcong Cai via All-commits
all-commits at lists.llvm.org
Fri Jan 26 02:34:01 PST 2024
Branch: refs/heads/users/ccc/69307-clang-ice-when-dealing-with-some-certain-requires-clauses-in-calculateconstraintsatisfaction
Home: https://github.com/llvm/llvm-project
Commit: bd3838ff6b4310fb8ff68649ef87e5e962bab1fd
https://github.com/llvm/llvm-project/commit/bd3838ff6b4310fb8ff68649ef87e5e962bab1fd
Author: Jason Molenda <jason at molenda.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
Log Message:
-----------
Skip TestThreadLocal.py on darwin temporarily for linker issue
The new static linker in Xcode 15 does not emit the necessary
symbols for file static thread local storage, causing this test
to fail when used. The old static linker is still available
as ld-classic in Xcode 15, but it has to be invoked specially, and
the new static linker will be fixed at some point. I may try to
add linker name and versioning information in
lldb/packages/Python/lldbsuite/test/decorators.py like we do with
the compiler / compiler_version, so it can be xfailed for known
problematic static linker name / versions, but until I get that
sorted I'm skipping this test to unblock the CI bots.
Commit: a387bce4bcbaeb28bf4510817ce54602e2f7a21d
https://github.com/llvm/llvm-project/commit/a387bce4bcbaeb28bf4510817ce54602e2f7a21d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/CMakeLists.txt
A llvm/utils/mlgo-utils/CMakeLists.txt
A llvm/utils/mlgo-utils/README.md
A llvm/utils/mlgo-utils/mlgo/__init__.py
A llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
A llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus_lib.py
A llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
A llvm/utils/mlgo-utils/mlgo/corpus/extract_ir_lib.py
A llvm/utils/mlgo-utils/mlgo/corpus/make_corpus.py
A llvm/utils/mlgo-utils/mlgo/corpus/make_corpus_lib.py
A llvm/utils/mlgo-utils/pyproject.toml
A llvm/utils/mlgo-utils/tests/corpus/combine_training_corpus_test.py
A llvm/utils/mlgo-utils/tests/corpus/extract_ir_test.py
A llvm/utils/mlgo-utils/tests/corpus/make_corpus_test.py
A llvm/utils/mlgo-utils/tests/lit.cfg
A llvm/utils/mlgo-utils/tests/lit.local.cfg
A llvm/utils/mlgo-utils/tests/lit.site.cfg.in
Log Message:
-----------
[MLGO] Upstream the corpus extraction tooling (#72319)
This patch upstreams some of the MLGO utilities, particularly the corpus
extraction tooling, into LLVM proper. The motivation for this patch is
available in the RFC.
https://discourse.llvm.org/t/rfc-upstreaming-elements-of-the-mlgo-tooling/74939
Commit: fd49ef1eb3de7eb2be5f7ddd469a005917cc1988
https://github.com/llvm/llvm-project/commit/fd49ef1eb3de7eb2be5f7ddd469a005917cc1988
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
Log Message:
-----------
Removed a late added test-case from the tests for #74629
This test-case was generating invalid IR and causing the test to fail.
Given that the reviewer initially accepted the change without this
test case I feel that it is appropriate to remove this test case,
to get the build to pass, and find a way to reimplement this test-case
in a later commit.
Commit: 99ffe71921f5286d17f3c07810f639e919cf32d9
https://github.com/llvm/llvm-project/commit/99ffe71921f5286d17f3c07810f639e919cf32d9
Author: Micah Weston <micahsweston at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
Log Message:
-----------
[llvm-objdump] Disables running pgo-analysis-map symbolizing on windows.
Commit: 3b61f5a1bc43bb0e303bf6da120a7920616799a6
https://github.com/llvm/llvm-project/commit/3b61f5a1bc43bb0e303bf6da120a7920616799a6
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in DataLayoutPropagation.cpp (NFC)
Commit: f19f2139741e51963fd22637ba70e4063998a184
https://github.com/llvm/llvm-project/commit/f19f2139741e51963fd22637ba70e4063998a184
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in DropUnitDims.cpp (NFC)
Commit: 46ce993dd414a0ac3b4f6d13ffaff161f3e60efa
https://github.com/llvm/llvm-project/commit/46ce993dd414a0ac3b4f6d13ffaff161f3e60efa
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in ElementwiseOpFusion.cpp (NFC)
Commit: 197a73f0192593da1a211b17f18f843174e18787
https://github.com/llvm/llvm-project/commit/197a73f0192593da1a211b17f18f843174e18787
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-include-order in Fusion.cpp (NFC)
Commit: b1d4265a5f5345065e5c2aedf50787da05ddcc08
https://github.com/llvm/llvm-project/commit/b1d4265a5f5345065e5c2aedf50787da05ddcc08
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in Promotion.cpp (NFC)
Commit: 01c5b5c1040ac8ee95d7a07d84546750a4e9e1c3
https://github.com/llvm/llvm-project/commit/01c5b5c1040ac8ee95d7a07d84546750a4e9e1c3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/lib/ObjCopy/CommonConfig.cpp
Log Message:
-----------
[ObjCopy] Use StringRef::consume_front (NFC)
Commit: fbd00a47754c1279145b86dffb347d30493f4445
https://github.com/llvm/llvm-project/commit/fbd00a47754c1279145b86dffb347d30493f4445
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/RegionInfoImpl.h
Log Message:
-----------
[Analysis] Use llvm::children and llvm::inverse_children (NFC)
Commit: c0396e15c348b17b6de7005ee057160812e29ad8
https://github.com/llvm/llvm-project/commit/c0396e15c348b17b6de7005ee057160812e29ad8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Log Message:
-----------
[AArch64] Use StringRef::contains_insensitive (NFC)
Commit: b7a66d0faeb1d2838e89c3632ba7835e6c2af6cc
https://github.com/llvm/llvm-project/commit/b7a66d0faeb1d2838e89c3632ba7835e6c2af6cc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/LineEditor/LineEditor.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Utils/NameAnonGlobals.cpp
M llvm/lib/WindowsDriver/MSVCPaths.cpp
Log Message:
-----------
[llvm] Use SmallString::operator std::string (NFC)
Commit: 02232307ce18c095ef0bf26b5cef23e4efbc1e4b
https://github.com/llvm/llvm-project/commit/02232307ce18c095ef0bf26b5cef23e4efbc1e4b
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-note.c
Log Message:
-----------
[clang][analyzer] Improve modeling of 'fdopen' in StdLibraryFunctionsChecker (#78680)
Commit: b3ea9b398fe656fab5d78d6b2c58bba975badc07
https://github.com/llvm/llvm-project/commit/b3ea9b398fe656fab5d78d6b2c58bba975badc07
Author: antangelo <contact at antangelo.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
Log Message:
-----------
Reland "[clang] Fix CTAD for aggregates for nested template classes" (#78670)
Reland of #78387
Use the template pattern in determining whether to synthesize the
aggregate deduction guide, and update
DeclareImplicitDeductionGuideFromInitList to substitute outer template
arguments.
The tests in the original patch made an assumption about the size of a
pointer type, and this led to them failing on targets with 32-bit
pointers. The tests have been updated to not depend on the size of any
type. This only requires updates to the test file, no functionality has
otherwise changed between this and the original patch.
Commit: ed276dff464a91587e5b2a24a99a7b00f7b6bf7e
https://github.com/llvm/llvm-project/commit/ed276dff464a91587e5b2a24a99a7b00f7b6bf7e
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/include/__memory/allocator.h
M libcxx/include/memory
A libcxx/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx23.verify.cpp
M libcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
A libcxx/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx26.verify.cpp
Log Message:
-----------
[libc++][memory] P2868R1: Removing deprecated typedef `std::allocator::is_always_equal` (#78562)
Implements:
- https://wg21.link/P2868R1
- https://wg21.link/LWG3170
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 552f5549de38d69116d29657132aea85f640dee1
https://github.com/llvm/llvm-project/commit/552f5549de38d69116d29657132aea85f640dee1
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/include/any
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
Log Message:
-----------
[libc++][any] LWG3305: `any_cast<void>` (#78215)
Implements: https://wg21.link/LWG3305
- https://eel.is/c++draft/any.nonmembers
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: dbbeee6b8357c5a68543f612f3b2b607f1911b4c
https://github.com/llvm/llvm-project/commit/dbbeee6b8357c5a68543f612f3b2b607f1911b4c
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/span
M libcxx/include/version
M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.assert.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.verify.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.verify.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][span] P2447R4: `std::span` over an initializer list (#78157)
Implements: https://wg21.link/P2447R6
- https://eel.is/c++draft/span.syn
- https://eel.is/c++draft/span.overview
- https://eel.is/c++draft/span.cons
- https://eel.is/c++draft/diff
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 58d5a486ec641156dcf420d67e075dc0a766fc5e
https://github.com/llvm/llvm-project/commit/58d5a486ec641156dcf420d67e075dc0a766fc5e
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M lld/test/wasm/signature-mismatch.s
M lld/wasm/SymbolTable.cpp
Log Message:
-----------
[lld][WebAssembly] Fix regression in function signature checking (#78831)
Followup to #78658, which caused a regression in emscripten.
When a lazy symbol is added, which resolved and existing undefined
symbol, we don't need/want to replace the undefined symbol with the lazy
one. Instead we called extract, which replaces the undefined symbol with
the defined one.
The fact that we were first replacing the undefined symbol with a lazy
one before extracting the archive member doesn't normally matter but, in
the case of the function symbol, replacing the undefined symbol with a
lazy symbol means that `addDefinedFunction` sees the existing symbol as
lazy and simply replaces it.
Note that this is consistent with both the ELF code in
`Symbol::resolve(const LazySymbol &other)` and the wasm code prior to
#78658, neither of which replace the existing symbol with the lazy one
in this case.
Commit: 963d7b4b2a0a80e29d4a862c3629a21de0af975f
https://github.com/llvm/llvm-project/commit/963d7b4b2a0a80e29d4a862c3629a21de0af975f
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M lld/test/ELF/lto/thinlto-emit-imports.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
R lld/test/ELF/lto/thinlto-index-file.ll
M lld/test/ELF/lto/thinlto-index-only.ll
Log Message:
-----------
[ELF] Improve --thinlto-index-only and --thinlto-emit-index-files tests
Commit: 10886a8f0a054d8d97708fcfbe03313d81fae35e
https://github.com/llvm/llvm-project/commit/10886a8f0a054d8d97708fcfbe03313d81fae35e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
Log Message:
-----------
[Driver] Use SmallString::operator std::string (NFC)
Commit: 71ca5c54a2af47fd9c1caab95fe5decd0a0a06d1
https://github.com/llvm/llvm-project/commit/71ca5c54a2af47fd9c1caab95fe5decd0a0a06d1
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[CodeGen] Use a range-based for loop with llvm::predecessors (NFC)
Commit: 896cfcc585eee3a52d67c6d706b4e2af5eee258d
https://github.com/llvm/llvm-project/commit/896cfcc585eee3a52d67c6d706b4e2af5eee258d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/lib/IR/VFABIDemangler.cpp
Log Message:
-----------
[IR] Use StringRef::consume_front (NFC)
Commit: df017dc66269ed758a741a6519d4a0efe3161780
https://github.com/llvm/llvm-project/commit/df017dc66269ed758a741a6519d4a0efe3161780
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/SetVector.h
Log Message:
-----------
[ADT] Use llvm::is_contained (NFC)
Commit: 17a777a4a5863bfe5bb1c2602486d6ca9bfb0199
https://github.com/llvm/llvm-project/commit/17a777a4a5863bfe5bb1c2602486d6ca9bfb0199
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
Log Message:
-----------
[Analysis] Use llvm::children and llvm::inverse_children (NFC)
Commit: 34feb2263e22c6eb75f229591e73028b3d09f04c
https://github.com/llvm/llvm-project/commit/34feb2263e22c6eb75f229591e73028b3d09f04c
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipPapers.csv
Log Message:
-----------
[libc++][spaceship][NFC] Status page update: *libc++* Spaceship Operator Status (`operator<=>`)¶ (#78832)
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 15b089cb023eaf7f80bcd5cd0e0e5fdd2fa2cbd0
https://github.com/llvm/llvm-project/commit/15b089cb023eaf7f80bcd5cd0e0e5fdd2fa2cbd0
Author: Jeff Niu <jeff at modular.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
Log Message:
-----------
[mlir] Make `printAlias` hooks public (NFC) (#78833)
These are very useful when writing custom parsers and printers for
aggregate types or attributes that might want to print aliases.
Commit: 3e3d74af86869278c4bc3fa015f4e0bda15f09e0
https://github.com/llvm/llvm-project/commit/3e3d74af86869278c4bc3fa015f4e0bda15f09e0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
Log Message:
-----------
Reapply "[sanitizer] Skip /include/c++/ from summary (#78534)"
Keep linux only test.
This reverts commit 4619147911c2a955bb605618bc518b45da994a81.
Commit: 14ca0ac9153ec47f006b29a79c3a27841c3dcb08
https://github.com/llvm/llvm-project/commit/14ca0ac9153ec47f006b29a79c3a27841c3dcb08
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M compiler-rt/test/fuzzer/lit.cfg.py
Log Message:
-----------
[fuzzer,test] Remove old debug logging
Commit: 4b500147f071d5ee4abb968f55fc4f411a2d5283
https://github.com/llvm/llvm-project/commit/4b500147f071d5ee4abb968f55fc4f411a2d5283
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-19 (Fri, 19 Jan 2024)
Changed paths:
M lld/test/ELF/lto/emit-asm.ll
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel-internalize.ll
M lld/test/ELF/lto/parallel.ll
R lld/test/ELF/lto/thinlto-obj-path.ll
M lld/test/ELF/lto/thinlto.ll
Log Message:
-----------
[ELF] Improve LTO tests
Make it easy to change --save-temps filenames to follow COFF
(https://reviews.llvm.org/D137217).
Commit: 296fbee5af89e8e4c31dd98f48a9770c4eb3ca4d
https://github.com/llvm/llvm-project/commit/296fbee5af89e8e4c31dd98f48a9770c4eb3ca4d
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
Log Message:
-----------
[clang-tidy] Fix crash in modernize-loop-convert when int is used as iterator (#78796)
Fix crash when built-in type (like int) is used as iterator, or when
call to begin() return integer.
Closes #78381
Commit: a7d7da6e45992b79fe712c1e228cc57c9f27fa7a
https://github.com/llvm/llvm-project/commit/a7d7da6e45992b79fe712c1e228cc57c9f27fa7a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add SkipMacroDefinitionBody option (#78682)
Closes #67991.
See also: #70338
Co-authored-by: @tomekpaszek
Commit: 9eb0f86c279f40a792ec27bf0e9b491b8c90a640
https://github.com/llvm/llvm-project/commit/9eb0f86c279f40a792ec27bf0e9b491b8c90a640
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Implement CWG1878 "`operator auto` template" (#78103)
C++14 introduced deduced return type for regular functions, but shortly after [CWG1878](https://wg21.link/cwg1878) was filed and resolved to disallow deduced return types in conversion function templates. So this patch diagnoses such usage of deduced return type in C++14 mode onwards.
Fixes #51776
Commit: 6a433d77b1f49ddeb03e27394a9b7cbf6e472d1a
https://github.com/llvm/llvm-project/commit/6a433d77b1f49ddeb03e27394a9b7cbf6e472d1a
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
M llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
Log Message:
-----------
[llvm-jitlink] Allow optional stub-kind filter in stub_addr() expressions (#78369)
We use `jitlink-check` lines in LIT tests as the primary tool for
testing JITLink backends. Parsing and evaluation of the expressions is
implemented in `RuntimeDyldChecker`. The `stub_addr(obj, name)`
expression allows to obtain the linker-generated stub for the external
symbol `name` in object file `obj`.
This patch adds support for a filter parameter to select one out of many
stubs. This is necessary for the AArch32 JITLink backend, which must be
able to emit two different kinds of stubs depending on the instruction
set state (Arm/Thumb) of the relocation site. Since the new parameter is
optional, we don't have to update existing tests.
Filters are regular expressions without brackets that match exactly one
existing stub. Given object file `armv7.o` with two stubs for external
function `ext` of kinds `armv7_abs_le` and `thumbv7_abs_le`, we get the
following filter results e.g.:
```
stub_addr(armv7.o, ext, thumb) thumbv7_abs_le
stub_addr(armv7.o, ext, thumbv7) thumbv7_abs_le
stub_addr(armv7.o, ext, armv7_abs_le) armv7_abs_le
stub_addr(armv7.o, ext, v7_.*_le) Error: "ext" has 2 candidate stubs in file "armv7.o". Please refine stub-kind filter "v7_.*_le" for disambiguation (encountered kinds are "thumbv7_abs_le", "armv7_abs_le").
stub_addr(armv7.o, ext, v8) Error: "ext" has 2 stubs in file "armv7.o", but none of them matches the stub-kind filter "v8" (all encountered kinds are "thumbv7_abs_le", "armv7_abs_le").
```
Commit: 1ad1f981a62213c1fc3145e8330f3c9b0dbe2b85
https://github.com/llvm/llvm-project/commit/1ad1f981a62213c1fc3145e8330f3c9b0dbe2b85
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
Log Message:
-----------
[clang-tidy] Add readability-redundant-casting check (#70595)
Detects explicit type casting operations that involve the same source
and destination types, and subsequently recommend their removal. Covers
a range of explicit casting operations. Its primary objective is to
enhance code readability and maintainability by eliminating unnecessary
type casting.
Closes #67534
Commit: 14d59527e7b36cbab7fb92699a52843392aa22c0
https://github.com/llvm/llvm-project/commit/14d59527e7b36cbab7fb92699a52843392aa22c0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 1ad1f981a622
Commit: 7a8f5d97afbff948fa2437c81d08a5963ee7d8cf
https://github.com/llvm/llvm-project/commit/7a8f5d97afbff948fa2437c81d08a5963ee7d8cf
Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
Log Message:
-----------
[clang-tidy] Added new check to detect redundant inline keyword (#73069)
This checks find usages of the inline keywork where it is already
implicitly defined by the compiler and suggests it's removal.
Fixes #72397
Commit: d70bfeb4e1461dca6c5d5a56e5aa304daa692ed7
https://github.com/llvm/llvm-project/commit/d70bfeb4e1461dca6c5d5a56e5aa304daa692ed7
Author: Bharathi Ramana Joshi <joshibharathiramana at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
M mlir/unittests/Analysis/Presburger/IntegerRelationTest.cpp
Log Message:
-----------
[MLIR][Presburger] Implement IntegerRelation::setId (#77872)
Commit: 920bb5430a96c346f7afcbe288e3546513b58012
https://github.com/llvm/llvm-project/commit/920bb5430a96c346f7afcbe288e3546513b58012
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Log Message:
-----------
[gn build] Port 7a8f5d97afbf
Commit: 63d7ca924feea1948329ba80c4dc4fad56112be3
https://github.com/llvm/llvm-project/commit/63d7ca924feea1948329ba80c4dc4fad56112be3
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx12.ll
Log Message:
-----------
[AMDGPU] Add GFX12 llvm.amdgcn.s.wait.*cnt intrinsics (#78723)
Commit: fd3346dba825f6b9c2873bdeafe34da8f8b4f3e1
https://github.com/llvm/llvm-project/commit/fd3346dba825f6b9c2873bdeafe34da8f8b4f3e1
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
Log Message:
-----------
[clang-tidy] fix modernize-use-auto incorrect fix hints for pointer (#77943)
Commit: a8a3711e745286fd26f726b3397dbe5fb03ea465
https://github.com/llvm/llvm-project/commit/a8a3711e745286fd26f726b3397dbe5fb03ea465
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/unittests/Target/AArch64/SMEAttributesTest.cpp
Log Message:
-----------
[AArch64][SME2] Preserve ZT0 state around function calls (#78321)
If a function has ZT0 state and calls a function which does not
preserve ZT0, the caller must save and restore ZT0 around the call.
If the caller shares ZT0 state and the callee is not shared ZA, we must
additionally call SMSTOP/SMSTART ZA around the call.
This patch adds new AArch64ISDNodes for spilling & filling ZT0.
Where requiresPreservingZT0 is true, ZT0 state will be preserved
across a call.
Commit: fcb6737f82246c6046526f699c9a82a96f71ab55
https://github.com/llvm/llvm-project/commit/fcb6737f82246c6046526f699c9a82a96f71ab55
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Support of TableGen identifiers beginning with a number. (#78571)
TableGen allows the identifiers beginning with a number.
This patch add the support of the recognition of such identifiers.
Commit: d0986519d58e6d71656019cfa6604efa4bf6d3e7
https://github.com/llvm/llvm-project/commit/d0986519d58e6d71656019cfa6604efa4bf6d3e7
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/Inputs/lto-directives.obj
A lld/test/COFF/lto-directives.test
Log Message:
-----------
[LLD] [COFF] Preserve directives and export names from LTO objects (#78802)
The export names are saved as StringRefs pointing into the COFF
directives. In the case of LTO objects, this can be memory allocated
that is owned by the LTO InputFile, which gets destructed when doing the
compilation.
In the case of LTO objects from an older version of LLVM, which require
being upgraded when loaded, the directives string gets destructed, while
when using LTO objects of a matching version (the common case), the
directives string points into memory that doesn't get destructed on LTO
compilation.
Test this by linking a bundled binary LTO object file, from an older
version of LLVM.
This fixes issue #78591, and downstream issue
https://github.com/mstorsjo/llvm-mingw/issues/392.
Commit: d01145f7607432586faa771d6519196cd27458df
https://github.com/llvm/llvm-project/commit/d01145f7607432586faa771d6519196cd27458df
Author: Ryan Landay <rlanday at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
Fix typo in AttrDocs.td (__single_inhertiance => __single_inheritance) (#78838)
Commit: 0f80f5e362fb43a9335bd154c5f7976a96e32cfc
https://github.com/llvm/llvm-project/commit/0f80f5e362fb43a9335bd154c5f7976a96e32cfc
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/include/clang/Sema/ScopeInfo.h
Log Message:
-----------
[NFC] fix typo in clang/include/clang/Sema/ScopeInfo.h
Commit: b9a1e2ab8dead4863834f70cdae56104ec92d041
https://github.com/llvm/llvm-project/commit/b9a1e2ab8dead4863834f70cdae56104ec92d041
Author: nsurbay <21074287+nsurbay at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Rename LDAPR<x>pre to LDAPR<x>post (#77340)
The feature FEAT_LRCPC3 introduces post-increment version of LDAPR and
LDIAPP instructions. The current disassembly of theses instructions is
correct but the opcode name is misleading with a 'pre' suffix instead of
'post'.
see :
-
https://developer.arm.com/documentation/ddi0602/2023-12/Base-Instructions/LDAPR--Load-Acquire-RCpc-Register-
-
https://developer.arm.com/documentation/ddi0602/2023-12/Base-Instructions/LDIAPP--Load-Acquire-RCpc-ordered-Pair-of-registers-
Commit: 818de32f31e8075657dd27938e4aeb1a46f3f631
https://github.com/llvm/llvm-project/commit/818de32f31e8075657dd27938e4aeb1a46f3f631
Author: kelbon <58717435+kelbon at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Analysis/call-invalidation.cpp
M clang/test/CodeGen/function-attributes.c
M clang/test/CodeGen/pragma-weak.c
M clang/test/Import/attr/Inputs/S.cpp
M clang/test/Import/attr/test.cpp
M clang/test/Index/attributes.c
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Sema/attr-print.c
A clang/test/Sema/incorrect_pure.cpp
M clang/test/SemaCXX/attr-print.cpp
M clang/test/SemaCXX/cxx0x-cursory-default-delete.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/warn-unused-value-cxx11.cpp
Log Message:
-----------
Warning for incorrect use of 'pure' attribute (#78200)
This adds a warning when applying the `pure` attribute along with the `const` attribute, or when applying the `pure` attribute to a function with a `void` return type (including constructors and destructors).
Fixes https://github.com/llvm/llvm-project/issues/77482
Commit: ec0ac85e58f0a80cc52a132336b132ffe7b50b59
https://github.com/llvm/llvm-project/commit/ec0ac85e58f0a80cc52a132336b132ffe7b50b59
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
Log Message:
-----------
[Clang][Obvious] Correctly disable Windows on linker-wrapper test
Commit: 0880742a60e9436e439eaee05bf0c8acf4c48a62
https://github.com/llvm/llvm-project/commit/0880742a60e9436e439eaee05bf0c8acf4c48a62
Author: Nathan Sidwell <nathan at acm.org>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[NFC] Rename internal fns (#77994)
Internal functions should use a lowerCaseName, thus renamed.
Commit: ce8fcad5f4dfaecdc0c74a99508b86e8e5d1d9e8
https://github.com/llvm/llvm-project/commit/ce8fcad5f4dfaecdc0c74a99508b86e8e5d1d9e8
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/float-macros.h
Log Message:
-----------
[libc] Fix float.h header to include the system float.h first and add more definitions. (#78857)
Commit: 448b8e6162607f42948a11dd50793517198e4445
https://github.com/llvm/llvm-project/commit/448b8e6162607f42948a11dd50793517198e4445
Author: LEE KYOUNGHEON <stripe2933 at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/docs/Modules.rst
Log Message:
-----------
Module documentation improvement: prebuilt module location can be directly fetched via CMake variable. (#78405)
CMake officially supports binary directory variable of installed
dependency using `FetchContent`. According to the current documentation,
it fetches `std` module and use its binary directory as hardcoded
string, `${CMAKE_BINARY_DIR}/_deps/std-build`, however it can be
replaced with `${std_BINARY_DIR}`.
Reference: https://cmake.org/cmake/help/latest/module/FetchContent.html
Commit: 0175a1e4d33720ed7e827b3db5a36f88bdd790a3
https://github.com/llvm/llvm-project/commit/0175a1e4d33720ed7e827b3db5a36f88bdd790a3
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
new-prs-labeler: Add `clang-tools-extra` labeling (#78633)
There is no automatic labeling for the Extra Clang Tools, except
Clang-Tidy and ClangD.
Commit: 1cc7cd46a9158e2c254ed72274c69f36f62cf7a3
https://github.com/llvm/llvm-project/commit/1cc7cd46a9158e2c254ed72274c69f36f62cf7a3
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libc/src/__support/CPP/limits.h
Log Message:
-----------
[libc] Fix size_t used without including stddef.h in CPP/limit.h. (#78861)
Commit: 85a8e5c3e0586e85a2fa3ff9cef12455bd039921
https://github.com/llvm/llvm-project/commit/85a8e5c3e0586e85a2fa3ff9cef12455bd039921
Author: Hui <hui.xie1990 at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/include/condition_variable
A libcxx/test/std/thread/thread.condition/thread.condition.condvarany/helpers.h
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
Log Message:
-----------
[libc++] fix condition_variable_any hangs on stop_request (#77127)
When I implemented `condition_variable_any::wait`, I missed the most
important paragraph in the spec:
> The following wait functions will be notified when there is a stop
request on the passed stop_token.
> In that case the functions return immediately, returning false if the
predicate evaluates to false.
From
https://eel.is/c++draft/thread.condition#thread.condvarany.intwait-1.
Fixes #76807
Commit: 2fc2ee136c0183f40af4c0e7a8d27092b8ce3415
https://github.com/llvm/llvm-project/commit/2fc2ee136c0183f40af4c0e7a8d27092b8ce3415
Author: XDeme <66138117+XDeme at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix poor spacing in `AlignArrayOfStructures: Left` (#77868)
Fixes llvm/llvm-project#62904
`AlignArrayOfStructures: Left` combined with `SpacesInParentheses: true`
causes the first cell of every row to have 1 additional space.
We were only setting the first cell of the first row to be against the
left brace, now every row will be against the left brace.
Commit: aaa7de1fc9255f489e760c3449efde9c07ddb1cb
https://github.com/llvm/llvm-project/commit/aaa7de1fc9255f489e760c3449efde9c07ddb1cb
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
Log Message:
-----------
[libc++][hardening] XFAIL test in fast mode under HWASAN (#78862)
After #77883, `fast` mode uses TRAP, and HWASAN
replaces TRAP with abort or error exit code.
On a quick looks it should be possible to avoid doing
that in HWASAN, but historically this is convention for all
sanitizers. Changing this behavior may break existing
users.
Other sanitizers are not affected because they don't
install TRAP handlers by default. But if they do, they also
replace TRAP with abort/exit.
Commit: 07b5829fcad6514ab1079027e1b4d3565f963ead
https://github.com/llvm/llvm-project/commit/07b5829fcad6514ab1079027e1b4d3565f963ead
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/test/support/check_assertion.h
Log Message:
-----------
[libc++] FreeBSD CI: Adds `<signal.h>` to `check_assertion.h` (#78863)
...in attempt to fix the FreeBSD CI.
I noticed that suddenly some tests in the latest PRs fail to compile on
FreeBSD (`SIGILL` and `SIGTRAP` not defined). This tries to resolve
the issue.
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 46a9135d61f729da90b88d3d34a3905c91d194d7
https://github.com/llvm/llvm-project/commit/46a9135d61f729da90b88d3d34a3905c91d194d7
Author: OldWorldOrdr <joey.t.reinhart at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M lld/MachO/Driver.cpp
A lld/test/MachO/link-csu-object.s
Log Message:
-----------
[lld-macho] Find objects in library search path (#78628)
Find object files in library search path just like Apple's linker, this
makes building with some older MacOS SDKs easier since clang runs with
`-lcrt1.10.6.o`
Commit: 49212d1601a1f0e34a8867eb1ad2e394f91cade1
https://github.com/llvm/llvm-project/commit/49212d1601a1f0e34a8867eb1ad2e394f91cade1
Author: David Green <david.green at arm.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Transforms/loop-versioning.fir
Log Message:
-----------
[Flang] Fix for replacing loop uses in LoopVersioning pass (#77899)
The added test case has a loop that is versioned, which has a use of the
loop in an if block after the loop. The current code replaces all uses
of the loop with the new version If, but only if the parent blocks
match. As far as I can see it should be safe to replace all the uses,
then construct the result for the If with op.op.
Commit: 06ca52e25226d406a3e384953abd12955f42ac84
https://github.com/llvm/llvm-project/commit/06ca52e25226d406a3e384953abd12955f42ac84
Author: Vincent Lee <thevinster at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Analysis/InlineOrder.cpp
Log Message:
-----------
[InlineOrder] Fix InlineOrder erase_if implementation (#78684)
The InlineOrder Heap stores a CallBase ptr and InlineHistoryID pair.
When running the `erase_if` method, InlineHistoryID is always returned
with 0. Instead, we should be retrieving it from the `InlineHistoryMap`
(similar to what is done in the `pop` implementation).
This change is completely harmless because no one is using
InlineHistoryID right now as part of the `erase_if` implementation which
is currently only used in the ModuleInliner.
Commit: 84cb8eaeeb108234be1c8498688a014b87fd431d
https://github.com/llvm/llvm-project/commit/84cb8eaeeb108234be1c8498688a014b87fd431d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use llvm::is_contained (NFC)
Commit: 81218356fde328112817075ccc0c17a6d698c664
https://github.com/llvm/llvm-project/commit/81218356fde328112817075ccc0c17a6d698c664
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
Log Message:
-----------
[Sparc] Use StringRef::starts_with_insensitive (NFC)
Commit: aa530c7d0091f9536485385e2c6fa7342d04afd5
https://github.com/llvm/llvm-project/commit/aa530c7d0091f9536485385e2c6fa7342d04afd5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Passes/StandardInstrumentations.cpp
Log Message:
-----------
[Passes] Use a range-based for loop with llvm::successors (NFC)
Commit: 851143608e2394487d849f56ea1d4b3d3d8f2ead
https://github.com/llvm/llvm-project/commit/851143608e2394487d849f56ea1d4b3d3d8f2ead
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/TextDiagnosticBuffer.cpp
Log Message:
-----------
[Frontend] Use SmallString::operator std::string (NFC)
Commit: 11b3b1085645f0819552eb8a17e1928f60570fce
https://github.com/llvm/llvm-project/commit/11b3b1085645f0819552eb8a17e1928f60570fce
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/GenericDomTree.h
Log Message:
-----------
[Support] Use llvm::children and llvm::inverse_children (NFC)
Commit: a464e05109088f1f3a0ca4c83d6dd900e83bdb4b
https://github.com/llvm/llvm-project/commit/a464e05109088f1f3a0ca4c83d6dd900e83bdb4b
Author: XDeme <66138117+XDeme at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Handle templated elaborated type specifier in function… (#77013)
… return type.
The behavior now is consistent with the non template version.
Enabled and updated old test.
Commit: 975deb366470e4943a5b73d8f3031ed54dec6e8b
https://github.com/llvm/llvm-project/commit/975deb366470e4943a5b73d8f3031ed54dec6e8b
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/src/unistd/linux/CMakeLists.txt
Log Message:
-----------
[libc] Add missing header ioctl.h on aarch64. (#78865)
Commit: dedc7d4d362b8045c6810f8ca7f947bbdb63b7ec
https://github.com/llvm/llvm-project/commit/dedc7d4d362b8045c6810f8ca7f947bbdb63b7ec
Author: Jerry Wu <cheyuw at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
Log Message:
-----------
[mlir] Exclude masked ops in VectorDropLeadUnitDim (#76468)
Don't insert cast ops for ops in `vector.mask` region in
`VectorDropLeadUnitDim`.
Commit: 2759e47067ea286f6302adcfe93b653cfaf6f2eb
https://github.com/llvm/llvm-project/commit/2759e47067ea286f6302adcfe93b653cfaf6f2eb
Author: Vassil Vassilev <v.g.vassilev at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] We do not need to call new in the object allocation. (#78843)
This test demonstrates template instantiation via the interpreter code.
In order to do that we can allocate the object on the stack and extend
its lifetime by boxing it into a clang::Value.
That avoids the subtle problem where we call the new operator on an
object only known to the interpreter and we cannot destroy it from
compiled code since there is not suitable facility in clang::Value yet.
That should resolve the asan issues that was reported in
llvm/llvm-project#76218.
Commit: 9b2c25c70466d6f081a2915e661840f965b6056a
https://github.com/llvm/llvm-project/commit/9b2c25c70466d6f081a2915e661840f965b6056a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/ARCMigrate/FileRemapper.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
Log Message:
-----------
[clang] Use SmallString::operator std::string (NFC)
Commit: 24790a778822e14abcb09c696bf5113c9a23bf81
https://github.com/llvm/llvm-project/commit/24790a778822e14abcb09c696bf5113c9a23bf81
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
Log Message:
-----------
[Hexagon] Use llvm::children (NFC)
Commit: 1ce5a80d08ad68f53e04d4b7c413d0dbb0065991
https://github.com/llvm/llvm-project/commit/1ce5a80d08ad68f53e04d4b7c413d0dbb0065991
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
Log Message:
-----------
[Mips] Use MachineBasicBlock::pred_size (NFC)
Commit: f523a5522be221e4657daa111431106083e1c053
https://github.com/llvm/llvm-project/commit/f523a5522be221e4657daa111431106083e1c053
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M clang/lib/Sema/Sema.cpp
Log Message:
-----------
[Sema] Use llvm::all_of (NFC)
Commit: bb6564a1b59eaaafbce46b519a45fc9d9e4f8f8a
https://github.com/llvm/llvm-project/commit/bb6564a1b59eaaafbce46b519a45fc9d9e4f8f8a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISel/CodeExpander.cpp
Log Message:
-----------
[TableGen] Use StringRef::consume_front (NFC)
Commit: 39f1ca522b023e77c4dca6332d8b9c6366d0eab9
https://github.com/llvm/llvm-project/commit/39f1ca522b023e77c4dca6332d8b9c6366d0eab9
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus_lib.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir_lib.py
M llvm/utils/mlgo-utils/tests/corpus/combine_training_corpus_test.py
M llvm/utils/mlgo-utils/tests/corpus/extract_ir_test.py
M llvm/utils/mlgo-utils/tests/corpus/make_corpus_test.py
Log Message:
-----------
[MLGO] Remove absl dep from libraries
The library files in the new mlgo-utils utilities folder only depend on
absl.logging. The builtin Python logging library is a direct drop-in
replacement here, so we can just change the include and drop the test
dependency.
Commit: 8e99a63899c85972ec1ce9dbfc7e4cc01eddcdb0
https://github.com/llvm/llvm-project/commit/8e99a63899c85972ec1ce9dbfc7e4cc01eddcdb0
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
[Github] Update paths for mlgo PR subscribers
This patch updates the paths in the PR labelling config for the MLGO
label. In particular, the path for the new mlgo-utils subfolder under
llvm/utils has been added and two other files that were missed in the
original introduction.
Commit: a70d3101ba786b76f1796c2c2ac5fe469e9a57bd
https://github.com/llvm/llvm-project/commit/a70d3101ba786b76f1796c2c2ac5fe469e9a57bd
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/tests/corpus/combine_training_corpus_test.py
M llvm/utils/mlgo-utils/tests/corpus/extract_ir_test.py
M llvm/utils/mlgo-utils/tests/corpus/make_corpus_test.py
Log Message:
-----------
[MLGO] Disable mlgo-utils tests on Windows builders
This patch disables the mlgo-utils tests on Windows builders. MLGO is
not currently supported on Windows.
These tests were failing as some of them look for specific file paths
and the path conventions are different between Linux and Windows.
Commit: 6bb5c989bd725deb3f96d4374541b5aeec776ba2
https://github.com/llvm/llvm-project/commit/6bb5c989bd725deb3f96d4374541b5aeec776ba2
Author: ZhangYin <zhangyin2018 at iscas.ac.cn>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
A libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
Log Message:
-----------
[libc++] <experimental/simd> Add load constructor for class simd/simd_mask (#76610)
Commit: 3412bc765887d2b2244e4338adc2f49420cce9c8
https://github.com/llvm/llvm-project/commit/3412bc765887d2b2244e4338adc2f49420cce9c8
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__config
M libcxx/include/variant
A libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][variant] P2637R3: Member `visit` (`std::variant`) (#76447)
Implements parts of: `P2637R3` https://wg21.link/P2637R3
(https://eel.is/c++draft/variant.visit)
Implements:
`variant.visit()`
`variant.visit<R>()`
The tests are as close as possible to the non-member function.
To land after: https://github.com/llvm/llvm-project/pull/76268
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: f9614b328ad502cecfeb0d923f7abda30173d4be
https://github.com/llvm/llvm-project/commit/f9614b328ad502cecfeb0d923f7abda30173d4be
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/nonlazybind.ll
Log Message:
-----------
[AArch64] Improve nonlazybind test
Prepare for -fno-plt implementation.
Commit: aa04d2b78bbbfef213d860876948b934ab18b1aa
https://github.com/llvm/llvm-project/commit/aa04d2b78bbbfef213d860876948b934ab18b1aa
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
A .github/workflows/release-mlgo-utils.yml
Log Message:
-----------
Add workflow to release mlgo utils
Commit: 61d098962e1b304224fb5309b94162a3e43852bb
https://github.com/llvm/llvm-project/commit/61d098962e1b304224fb5309b94162a3e43852bb
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
R .github/workflows/release-mlgo-utils.yml
Log Message:
-----------
Revert "Add workflow to release mlgo utils"
This reverts commit aa04d2b78bbbfef213d860876948b934ab18b1aa.
Meant to push this to my fork and did not realize I was on main and not
a separate branch.
Commit: f0c920ffb7e98adbad369c33c01e0996260c4ade
https://github.com/llvm/llvm-project/commit/f0c920ffb7e98adbad369c33c01e0996260c4ade
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
Log Message:
-----------
[libc++][hardening] XFAIL tests with HWASAN (#78866)
Follow up to #78862
These tests control hardening mode with `ADDITIONAL_COMPILE_FLAGS`, and
always set modes which use on TRAP. So we don't need to check
`libcpp-hardening-mode=fast`, and they must always fail with the current
HWASAN implementation.
Commit: dc57752031fb14166dff2174b36c28d27d742382
https://github.com/llvm/llvm-project/commit/dc57752031fb14166dff2174b36c28d27d742382
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__config
M libcxx/include/__hash_table
M libcxx/include/__memory/assume_aligned.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/barrier
M libcxx/include/latch
M libcxx/include/semaphore
M libcxx/include/string_view
M libcxx/src/filesystem/operations.cpp
M libcxx/src/include/to_chars_floating_point.h
Log Message:
-----------
[libc++][hardening] Categorize assertions that produce incorrect results (#77183)
Introduce a new `argument-within-domain` category that covers cases
where the given arguments make it impossible to produce a correct result
(or create a valid object in case of constructors). While the incorrect
result doesn't create an immediate problem within the library (like e.g.
a null pointer dereference would), it always indicates a logic error in
user code and is highly likely to lead to a bug in the program once the
value is used.
Commit: d0230446d282396795e5a55b9b70df6961fcd046
https://github.com/llvm/llvm-project/commit/d0230446d282396795e5a55b9b70df6961fcd046
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-20 (Sat, 20 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/nonlazybind.ll
Log Message:
-----------
[AArch64] Remove non-sensible define nonlazybind test
nonlazybind is for declarations, not for definitions. We could test the
behavior, but the output would be misleading.
Commit: 62bf7710ff295cc7bb0bb281c471ca0c91fd156e
https://github.com/llvm/llvm-project/commit/62bf7710ff295cc7bb0bb281c471ca0c91fd156e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][IR] Add `notifyBlockRemoved` callback to listener (#78306)
There is already a "block inserted" notification (in
`OpBuilder::Listener`), so there should also be a "block removed"
notification.
The purpose of this change is to make the listener API more mature.
There is currently a gap between what kind of IR changes can be made and
what IR changes can be listened to. At the moment, the only way to
inform listeners about "block removal" is to send a manual
`notifyOperationModified` for the parent op (e.g., by wrapping the
`eraseBlock(b)` method call in `updateRootInPlace(b->getParentOp())`).
This tells the listener that *something* has changed, but it is somewhat
of an API abuse.
Commit: f9e2e85b07ee2c19bbef8fda50b3f664d6f5193e
https://github.com/llvm/llvm-project/commit/f9e2e85b07ee2c19bbef8fda50b3f664d6f5193e
Author: FantasqueX <fantasquex at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[Clang] Use const pointer to eliminate warning with libxml 2.12.0 (#76719)
Currently, if `CLANG_HAVE_LIBXML` is defined, and the version of libxml2
is above 2.12.0, there will be two warnings when building clang.
warning: initializing 'xmlErrorPtr' (aka 'struct _xmlError *') with an
expression of type 'const xmlError *' (aka 'const struct _xmlError *')
discards qualifiers
Since this commit
https://gitlab.gnome.org/GNOME/libxml2/-/commit/45470611b047db78106dcb2fdbd4164163c15ab7,
libxml2 makes cmlGetLastError return a const error. This patch follows
libxml2. Making the result a const pointer should be compatible with
versions before 2.12.0.
Tested on ArchLinux with libxml2 2.12.3 installed.
Commit: fbb62d449c47bb0b49c0727c926373b41a8183c5
https://github.com/llvm/llvm-project/commit/fbb62d449c47bb0b49c0727c926373b41a8183c5
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-branchop-interface.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-function-boundaries.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-other.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-region-branchop-interface.mlir
M mlir/test/Dialect/GPU/bufferization-buffer-deallocation.mlir
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][bufferization] Buffer deallocation: Make op preconditions stricter (#75127)
The buffer deallocation pass checks the IR ("operation preconditions")
to make sure that there is no IR that is unsupported. In such a case,
the pass signals a failure.
The pass now rejects all ops with unknown memory effects. We do not know
whether such an op allocates memory or not. Therefore, the buffer
deallocation pass does not know whether a deallocation op should be
inserted or not.
Memory effects are queried from the `MemoryEffectOpInterface` interface.
Ops that do not implement this interface but have the
`RecursiveMemoryEffects` trait do not have any side effects (apart from
the ones that their nested ops may have).
Unregistered ops are now rejected by the pass because they do not
implement the `MemoryEffectOpInterface` and neither do we know if they
have `RecursiveMemoryEffects` or not. All test cases that currently have
unregistered ops are updated to use registered ops.
Commit: 38b5f2edfc67d2155d043519c89568bb00a9eced
https://github.com/llvm/llvm-project/commit/38b5f2edfc67d2155d043519c89568bb00a9eced
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/docs/Status/SpaceshipPapers.csv
Log Message:
-----------
[libc++][spaceship][NFC] Status page update (#78894)
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 7d9b5aa65b09126031e1c2903605a7d34aea4bc1
https://github.com/llvm/llvm-project/commit/7d9b5aa65b09126031e1c2903605a7d34aea4bc1
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/include/__config
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/format
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
A libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
M libcxx/test/support/test_basic_format_arg.h
M libcxx/test/support/test_macros.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][format] P2637R3: Member `visit` (`std::basic_format_arg`) (#76449)
Implements parts of: `P2637R3` https://wg21.link/P2637R3
(https://eel.is/c++draft/variant.visit)
Implements:
`basic_format_arg.visit()`
`basic_format_arg.visit<R>()`
Deprecates:
`std::visit_format_arg()`
The tests are as close as possible to the non-member function tests.
To land after: https://github.com/llvm/llvm-project/pull/76447,
https://github.com/llvm/llvm-project/pull/76268
---------
Co-authored-by: Zingam <zingam at outlook.com>
Commit: 1d6b6132ff9d59c27f033c8a2003ea9bff421e04
https://github.com/llvm/llvm-project/commit/1d6b6132ff9d59c27f033c8a2003ea9bff421e04
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-tzdb.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/Modules.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/TestingLibcxx.rst
M libcxx/modules/CMakeLists.txt
R libcxx/modules/CMakeLists.txt.in
M libcxx/test/CMakeLists.txt
M libcxx/test/configs/cmake-bridge.cfg.in
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
A libcxx/test/libcxx/selftest/modules/no-modules.sh.cpp
A libcxx/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp
A libcxx/test/libcxx/selftest/modules/std-module.sh.cpp
A libcxx/test/libcxx/selftest/modules/std.compat-module.sh.cpp
R libcxx/test/lit.local.cfg
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] Reland CI module improvements.
Revert "Revert #76246 and #76083"
This reverts commit 5c150e7eeba9db13cc65b329b3c3537b613ae61d.
Adds a small fix that should properly disable the tests on Windows.
Unfortunately the original poster has not provided feedback and the
original patch did not fail in the LLVM CI infrastructure.
Modules are known to fail on Windows due to non compliance of the
C library. Currently not having this patch prevents testing on other
platforms.
Commit: 04757337cdc8ba2da9bc3303fb62af514d5452c5
https://github.com/llvm/llvm-project/commit/04757337cdc8ba2da9bc3303fb62af514d5452c5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/test/libcxx/module_std_compat.gen.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/format.py
Log Message:
-----------
[libc++][modules] Improves std.compat module. (#76330)
Let the std.compat module use the std module instead of duplicating the
exports.
Based on @ChuanqiXu9's suggestion in #71438.
Commit: 8b47bb657b5905d954b9041415020358802407d5
https://github.com/llvm/llvm-project/commit/8b47bb657b5905d954b9041415020358802407d5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/CMakeLists.txt
M libcxx/cmake/caches/Generic-cxx20.cmake
M libcxx/cmake/caches/Generic-cxx23.cmake
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/Modules.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/modules/CMakeLists.txt
A libcxx/modules/modules.json.in
M libcxx/src/CMakeLists.txt
Log Message:
-----------
[libc++] Install modules. (#75741)
Installs the source files of the experimental libc++ modules. These
source files (.cppm) are used by the Clang to build the std and
std.compat modules.
The design of this patch is based on a discussing in SG-15 on
12.12.2023. (SG-15 is the ISO C++ Tooling study group):
- The modules are installed at a location, that is not known to build
systems and compilers.
- Next to the library there will be a module manifest json file.
This json file contains the information to build the module from the
libraries sources. This information includes the location where the
sources are installed. @ruoso supplied the specification of this json
file.
- If possible, the compiler has an option to give the location of the
module manifest file
(https://github.com/llvm/llvm-project/pull/76451).
Currently there is no build system support, but it expected to be added
in the future.
Fixes: https://github.com/llvm/llvm-project/issues/73089
Commit: 07e6b983cc21d7f12ee9fe0c94aefc4ed9fa67a9
https://github.com/llvm/llvm-project/commit/07e6b983cc21d7f12ee9fe0c94aefc4ed9fa67a9
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
Log Message:
-----------
[X86][NFC] Remove unnecessary parameters for MaskedShiftAmountPats/MaskedRotateAmountPats and rename one_bit_patterns
This patch is to extract NFC in #78853 into a separate commit.
Commit: ae8d699d6cfb9eee2331bd5cdf8e1ffbf5168cff
https://github.com/llvm/llvm-project/commit/ae8d699d6cfb9eee2331bd5cdf8e1ffbf5168cff
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/src/CMakeLists.txt
Log Message:
-----------
[NFC][libc++] tab -> space
Commit: 5b7bb56a053702f7ed486aba1427454ec222bb36
https://github.com/llvm/llvm-project/commit/5b7bb56a053702f7ed486aba1427454ec222bb36
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/.clang-tidy
M libcxx/include/__atomic/is_always_lock_free.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/locale
Log Message:
-----------
[libc++] Clang-tidy enable modernize-use-nullptr.
Clang-tidy 18 no longer has false positives with the spaceship operator.
Note that I'm quite sure there are more occurrences in our headers that
are not caught.
This relands https://github.com/llvm/llvm-project/pull/76659 with fixes
tested in https://github.com/llvm/llvm-project/pull/78746.
Commit: b0b491d458962136c696366b8cf535d54511baf3
https://github.com/llvm/llvm-project/commit/b0b491d458962136c696366b8cf535d54511baf3
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
Log Message:
-----------
[clang-tidy] Fix handling of functional cast in google-readability-casting (#71650)
Fix issue with constructor call being interpreted as functional cast and
considered for a replacement
with static cast or being removed as redundant.
Closes #57959
Commit: 3683852d4988e4641fb6c20ca8c3013d5c2989f1
https://github.com/llvm/llvm-project/commit/3683852d4988e4641fb6c20ca8c3013d5c2989f1
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Use replaceUsesWithIf in replaceAllUseswith and add comment (NFCI).
Follow-up to post-commit commens for b1bfe221e6.
Commit: 547685d9e4c64f6f5dadd0ac979ab312b9d395e7
https://github.com/llvm/llvm-project/commit/547685d9e4c64f6f5dadd0ac979ab312b9d395e7
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
Log Message:
-----------
[clang-tidy][NFC] Enable exceptions in test for google-readability-casting
Add missing -fexceptions in test.
Commit: f73bf45d68bd2c17602a909751da4a23138d711a
https://github.com/llvm/llvm-project/commit/f73bf45d68bd2c17602a909751da4a23138d711a
Author: bobsayshilol <bobsayshilol at live.co.uk>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/include/concepts
M libcxx/include/sstream
Log Message:
-----------
[libc++] Fix typo in _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#78639)
Spotted by inspection when trialling out
`_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`. No other instances of `_LIPCPP_`
were found in the repo.
Commit: 128d53f44cae211ad5501733ec1d9bc787b6f7a9
https://github.com/llvm/llvm-project/commit/128d53f44cae211ad5501733ec1d9bc787b6f7a9
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libc/src/sched/linux/CMakeLists.txt
M libc/src/spawn/linux/CMakeLists.txt
Log Message:
-----------
[libc] add missing header dependencies for sched objects (#78741)
This patch fixes full build problems in
https://github.com/llvm/llvm-project/issues/78721 (the header problem).
The `libc.a` target can be built now.
As a separate issue, `check-libc` is failing because undefined symbols
from `libunwind`, which I do not actually know the reason yet. I will be
looking into it.
Commit: bc82cfb38d83f1afeb2c290aa472c2e2e88919cb
https://github.com/llvm/llvm-project/commit/bc82cfb38d83f1afeb2c290aa472c2e2e88919cb
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
A llvm/test/MC/AMDGPU/elf-header-cov.s
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
R llvm/test/MC/AMDGPU/hsa_isa_version_attrs.s
Log Message:
-----------
[AMDGPU] Add an asm directive to track code_object_version (#76267)
Named '.amdhsa_code_object_version'. This directive sets the
e_ident[ABIVERSION] in the ELF header, and should be used as the assumed
COV for the rest of the asm file.
This commit also weakens the --amdhsa-code-object-version CL flag.
Previously, the CL flag took precedence over the IR flag. Now the IR
flag/asm directive take precedence over the CL flag. This is implemented
by merging a few COV-checking functions in AMDGPUBaseInfo.h.
Commit: 997ffce43c6d2d3f647eb091c732665049b1f47f
https://github.com/llvm/llvm-project/commit/997ffce43c6d2d3f647eb091c732665049b1f47f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/C/C2x/n2940.c
M clang/test/C/drs/dr3xx.c
M clang/test/Preprocessor/ucn-pp-identifier.c
M clang/www/c_status.html
Log Message:
-----------
[C23] Implement N2490, Remove trigraphs??!
This follows the same implementation logic as with C++ and is
compatible with the GCC behavior in C.
Trigraphs are enabled by default in -std=c* conformance modes before
C23, but are disabled in GNU and Microsoft modes as well as in C23 or
later.
Commit: 30d6806a08f8f453d6389bdfeae4c32e937a9821
https://github.com/llvm/llvm-project/commit/30d6806a08f8f453d6389bdfeae4c32e937a9821
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Parallelism.rst
M libcxx/docs/Status/Ranges.rst
Log Message:
-----------
[libc++][doc] Update the release notes for LLVM 18 (#78324)
This is a preparation for the upcoming LLVM 18 release.
Commit: 5518a9d7673bfe55b4110bea049140316d032fbf
https://github.com/llvm/llvm-project/commit/5518a9d7673bfe55b4110bea049140316d032fbf
Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateArgumentVisitor.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CodeGenCXX/mangle-ms-templates.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
A clang/test/CodeGenCXX/template-arguments.cpp
A clang/test/Index/USR/structural-value-tpl-arg.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/www/cxx_status.html
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
[c++20] P1907R1: Support for generalized non-type template arguments of scalar type. (#78041)
Previously committed as 9e08e51a20d0d2b1c5724bb17e969d036fced4cd, and
reverted because a dependency commit was reverted, then committed again
as 4b574008aef5a7235c1f894ab065fe300d26e786 and reverted again because
"dependency commit" 5a391d38ac6c561ba908334d427f26124ed9132e was
reverted. But it doesn't seem that 5a391d38ac6c was a real dependency
for this.
This commit incorporates 4b574008aef5a7235c1f894ab065fe300d26e786 and
18e093faf726d15f210ab4917142beec51848258 by Richard Smith (@zygoloid),
with some minor fixes, most notably:
- `UncommonValue` renamed to `StructuralValue`
- `VK_PRValue` instead of `VK_RValue` as default kind in lvalue and
member pointer handling branch in
`BuildExpressionFromNonTypeTemplateArgumentValue`;
- handling of `StructuralValue` in `IsTypeDeclaredInsideVisitor`;
- filling in `SugaredConverted` along with `CanonicalConverted`
parameter in `Sema::CheckTemplateArgument`;
- minor cleanup in
`TemplateInstantiator::transformNonTypeTemplateParmRef`;
- `TemplateArgument` constructors refactored;
- `ODRHash` calculation for `UncommonValue`;
- USR generation for `UncommonValue`;
- more correct MS compatibility mangling algorithm (tested on MSVC ver.
19.35; toolset ver. 143);
- IR emitting fixed on using a subobject as a template argument when the
corresponding template parameter is used in an lvalue context;
- `noundef` attribute and opaque pointers in `template-arguments` test;
- analysis for C++17 mode is turned off for templates in
`warn-bool-conversion` test; in C++17 and C++20 mode, array reference
used as a template argument of pointer type produces template argument
of UncommonValue type, and
`BuildExpressionFromNonTypeTemplateArgumentValue` makes
`OpaqueValueExpr` for it, and `DiagnoseAlwaysNonNullPointer` cannot see
through it; despite of "These cases should not warn" comment, I'm not
sure about correct behavior; I'd expect a suggestion to replace `if` by
`if constexpr`;
- `temp.arg.nontype/p1.cpp` and `dr18xx.cpp` tests fixed.
Commit: cc3fd1974696a792ba70ba670ed761937cd0735c
https://github.com/llvm/llvm-project/commit/cc3fd1974696a792ba70ba670ed761937cd0735c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] Remove `CXXNewInitializationStyle::Implicit` (#78793)
This is a follow up to https://github.com/llvm/llvm-project/pull/71417 ,
which aims to resolve concerns brought up there. Namely, this patch
replaces `CXXNewInitializationStyle::Implicit` with a dedicated
`HasInitializer` flag. This makes `CXXNewInitializationStyle` to model
syntax again. This patch also renames `Call` and `List` to less
confusing `Parens` and `Braces`.
Commit: 86b6dfc619695b5bfb1880b2ed9abb4a6805fbe6
https://github.com/llvm/llvm-project/commit/86b6dfc619695b5bfb1880b2ed9abb4a6805fbe6
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libcxx/include/variant
Log Message:
-----------
[libc++] Fix Coverity warning about use-after-move (#78780)
While the code is technically correct because the index is never
actually moved from (and anyway that wouldn't matter since it's an
integer), it's still better style not to access an object after it has
been moved-from. Since this is so easy to do, just save the index in a
temporary variable.
rdar://120501577
Commit: c71956d760517a99d5d3d13b454873016333fcb3
https://github.com/llvm/llvm-project/commit/c71956d760517a99d5d3d13b454873016333fcb3
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/CMakeLists.txt
A llvm/utils/mlgo-utils/tests/corpus/combine_training_corpus_script.test
A llvm/utils/mlgo-utils/tests/corpus/extract_ir_script.test
A llvm/utils/mlgo-utils/tests/corpus/make_corpus_script.test
M llvm/utils/mlgo-utils/tests/lit.cfg
Log Message:
-----------
[MLGO] Add tests for scripts (#78878)
This patch adds integration tests for the script entry points. The tests
don't exercise all functionality, as that case is better covered by the
unit testing already checked in. This ensures that things like flag
parsing work and that the scripts are syntactically valid.
Commit: 120e0623773dc9c43f393d43be0641c7d7ad26f2
https://github.com/llvm/llvm-project/commit/120e0623773dc9c43f393d43be0641c7d7ad26f2
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
M llvm/utils/mlgo-utils/mlgo/corpus/make_corpus.py
M llvm/utils/mlgo-utils/pyproject.toml
M llvm/utils/mlgo-utils/tests/corpus/combine_training_corpus_script.test
M llvm/utils/mlgo-utils/tests/corpus/extract_ir_script.test
M llvm/utils/mlgo-utils/tests/corpus/make_corpus_script.test
M llvm/utils/mlgo-utils/tests/lit.local.cfg
Log Message:
-----------
[MLGO] Remove absl dependency from scripts (#78880)
This patch removes the absl dependency from the mlgo-utils scripts. We
were only using absl.logging, and absl.flags, so this patch just
consists of mechanically converting the absl flags parsing to Python's
builtin argparse as Python's logging is a drop in replacement for
absl.logging.
Commit: b54e919573a8ee03b4b813ad9705b36cba62232d
https://github.com/llvm/llvm-project/commit/b54e919573a8ee03b4b813ad9705b36cba62232d
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M llvm/utils/mlgo-utils/tests/corpus/make_corpus_script.test
Log Message:
-----------
[MLGO] Fix make_corpus_script.test
This test is currently failing as the order that the files end up in the
corpus description is somewhat dependent upon platform and the check is
checking for a specific order. This patch switches to using the
CHECK-DAG directive to make the checks order invariant to fix the broken
bots.
Commit: b7355ee99ec63f44a6dc4f7dad9bb5a130bcc0eb
https://github.com/llvm/llvm-project/commit/b7355ee99ec63f44a6dc4f7dad9bb5a130bcc0eb
Author: Dave Lee <davelee.com at gmail.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
Log Message:
-----------
[lldb] Skip ObjC timezone tests on macOS >= 14 (NFC) (#78817)
Starting with macOS 14, the `NSTimeZone` and `CFTimeZone` types are backed by swift
implementations. These tests won't pass on mainline lldb, since it doesn't have Swift
support.
Commit: 3a4615c0fe985fe7b971bf5c067ff0f7ce5e3d10
https://github.com/llvm/llvm-project/commit/3a4615c0fe985fe7b971bf5c067ff0f7ce5e3d10
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M lld/ELF/Arch/X86_64.cpp
Log Message:
-----------
[ELF] Clarify the first entry of .got.plt NFC
Differential Revision: https://reviews.llvm.org/D47053
Commit: 1d9a65b220a92b59b0556ba8b3195b5346e71170
https://github.com/llvm/llvm-project/commit/1d9a65b220a92b59b0556ba8b3195b5346e71170
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[clang][analyzer][NFC] Simplify ranges in StdLibraryFunctionsChecker (#78886)
Commit: 890acf8d382d70c07a589d5ab9b83e64841b9e96
https://github.com/llvm/llvm-project/commit/890acf8d382d70c07a589d5ab9b83e64841b9e96
Author: hev <wangrui at loongson.cn>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[docs] Add llvm and clang release notes for the global-var code model attribute (#78664)
Commit: 2e30e31e1e80184d9b2c8aa98f617b4d1cb56d55
https://github.com/llvm/llvm-project/commit/2e30e31e1e80184d9b2c8aa98f617b4d1cb56d55
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M lld/Common/Args.cpp
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Claim recognized -z options. NFC
... so that we can reimplement `checkZOptions` using
https://reviews.llvm.org/D48433
Commit: 665f913e4509e3e4f531aa4a4ebe92ec2ea5c23f
https://github.com/llvm/llvm-project/commit/665f913e4509e3e4f531aa4a4ebe92ec2ea5c23f
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/common-page.s
M lld/test/ELF/driver.test
Log Message:
-----------
[ELF] Reimplement unknown -z options using the isClaimed bit
Maintaining the long list of known -z options
(https://reviews.llvm.org/D48621) turns out to be cumbersome. Go the
D48433 route instead.
max-page-size/common-page-size are claimed when `target` is available.
Inspired by: https://reviews.llvm.org/D48433
Commit: be0fa319f922e6ea3661640aa55f6b9092be5a99
https://github.com/llvm/llvm-project/commit/be0fa319f922e6ea3661640aa55f6b9092be5a99
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/utils/MPFRWrapper/CMakeLists.txt
Log Message:
-----------
[libc] fix unit tests in fullbuild (#78864)
fixes https://github.com/llvm/llvm-project/issues/78743
- For normal objects, the patch removes `RTTI` and exceptions in `fullbuild`
- For FP tests, the patch adds links to `stdc++` and `gcc_s` if `MPFR` is used.
Commit: 04c85587596ab10d885a957a00c8fa22740f15c1
https://github.com/llvm/llvm-project/commit/04c85587596ab10d885a957a00c8fa22740f15c1
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/lib/CMakeLists.txt
Log Message:
-----------
[libc] Fix issue introduces by #76449
Use correct CMake variable.
Commit: 71dbefa446e60dcce86fc3f8531e50b1d12ce31f
https://github.com/llvm/llvm-project/commit/71dbefa446e60dcce86fc3f8531e50b1d12ce31f
Author: Yuxuan Chen <yuxuanchen1997 at outlook.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang] Drop workaround for old gcc versions (#78803)
This workaround existed due to https://gcc.gnu.org/PR56135. The website
says that the bug was fixed in GCC 4.8.0 and the latest host toolchain
requirement says GCC 7.4. I think it would be very safe to drop this
workaround.
Commit: d3cd1ce6ab13ae6be7842e2d905c5f3c783d3f04
https://github.com/llvm/llvm-project/commit/d3cd1ce6ab13ae6be7842e2d905c5f3c783d3f04
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/test/CodeGen/X86/cmpccxadd-intrinsics.ll
M llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt
M llvm/test/MC/X86/apx/cmpccxadd-att.s
M llvm/test/MC/X86/apx/cmpccxadd-intel.s
Log Message:
-----------
[X86] Add lowering tests for promoted CMPCCXADD and update CC representation (#78685)
https://github.com/llvm/llvm-project/pull/76125 supported the enc/dec
for CMPCCXADD instructions, this patch
1. Add lowering test for promoted CMPCCXADD
2. Update the representation of condition code for promoted CMPCCXADD to
align with the existing one
Commit: dd6fec5d4fde803f8aad909be4f43ac9e4fed816
https://github.com/llvm/llvm-project/commit/dd6fec5d4fde803f8aad909be4f43ac9e4fed816
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
M llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
M llvm/test/CodeGen/X86/AMX/amx-tile-intrinsics.ll
Log Message:
-----------
[X86][APX]Support lowering for APX promoted AMX-TILE instructions (#78689)
The enc/dec of promoted AMX-TILE instructions have been supported in
https://github.com/llvm/llvm-project/pull/76210.
This patch support lowering for promoted AMX-TILE instructions and
integrate test to existing tests.
Commit: c2bef33c5e61557314bbea6dcced710d18bcc413
https://github.com/llvm/llvm-project/commit/c2bef33c5e61557314bbea6dcced710d18bcc413
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86][NFC] Auto-generate the function to check predicate for EVEX compression
Commit: 381f5851988f2602ef0bbfd7547e1cfd9f2a3ead
https://github.com/llvm/llvm-project/commit/381f5851988f2602ef0bbfd7547e1cfd9f2a3ead
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
Log Message:
-----------
[X86] Fix Werror X86GenCompressEVEXTables.inc:1627:2: error: extra ';' outside of a function
Commit: 85337df9e36a10941faa14472b1a4ea0607bfced
https://github.com/llvm/llvm-project/commit/85337df9e36a10941faa14472b1a4ea0607bfced
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/x86-target-features.c
M clang/test/Preprocessor/x86_target_features.c
Log Message:
-----------
[X86][Driver] Enable feature ndd for -mapxf (#78901)
Commit: 03c19e91e8d8cb706b58e02d69f80caeaf7eb0f4
https://github.com/llvm/llvm-project/commit/03c19e91e8d8cb706b58e02d69f80caeaf7eb0f4
Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/include/numeric
M libcxx/include/version
M libcxx/modules/std/numeric.inc
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][numeric] P0543R3: Saturation arithmetic (#77967)
Implements: https://wg21.link/P0543R3
- https://eel.is/c++draft/numeric.sat
Additional references:
- Division: https://eel.is/c++draft/expr.mul#4
- Arithmetic conversions: https://eel.is/c++draft/expr.arith.conv#1
- Clang builtins:
https://clang.llvm.org/docs/LanguageExtensions.html#builtin-functions
Depends on: https://github.com/llvm/llvm-project/pull/78086
---------
Co-authored-by: Zingam <zingam at outlook.com>
Co-authored-by: Mark de Wever <zar-rpg at xs4all.nl>
Commit: 5ffe777c4acd1051c4cebc8464c7e1ae5ca2f689
https://github.com/llvm/llvm-project/commit/5ffe777c4acd1051c4cebc8464c7e1ae5ca2f689
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Add Zvkb test to riscv-target-features.c. NFC
Commit: 25063bedb596943e546994a45710c79fdd6539e8
https://github.com/llvm/llvm-project/commit/25063bedb596943e546994a45710c79fdd6539e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Replace Zvbb with Zvkb in the Zvk* combine tests in riscv-target-features.c. NFC
The tests are testing that specifying individual Zvk* extensions
set the preprocessor directives for Zvk* shorthand extensions.
None of the shorthands refer to Zvbb so we should use Zvkb(which
is implied by Zvbb).
Commit: 8bef13ef4f59bae481583913a39e5369730effa7
https://github.com/llvm/llvm-project/commit/8bef13ef4f59bae481583913a39e5369730effa7
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M compiler-rt/lib/hwasan/hwasan_report.cpp
Log Message:
-----------
[hwasan] Fix a possible null dereference problem (#77737)
This is clearly a copy-paste mistake, fix it with this patch.
After checking the `local.function_name` is not null, it should check
the len for `local.function_name`, not `local.name`. And this could lead
to possible null dereference since the second
`internal_strlen(local.name)` does not guarantee `local.name` is not
null.
Commit: 745883bba69007f1d2c5135f3d5b0f1efcfc82cd
https://github.com/llvm/llvm-project/commit/745883bba69007f1d2c5135f3d5b0f1efcfc82cd
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-21 (Sun, 21 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/BOLT.cmake
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
[Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)
Split up and refactor CLANG_BOLT_INSTRUMENT into support for
BOLT instrumentation, perf no-LBR and perf with LBR profiling.
Differential Revision: https://reviews.llvm.org/D143617
Commit: a31a60074717fc40887cfe132b77eec93bedd307
https://github.com/llvm/llvm-project/commit/a31a60074717fc40887cfe132b77eec93bedd307
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] Update StandardCPlusPlusModules.rst with clang18
Changed Things:
- Mentioning we need to specify BMIs for indirectly dependent BMIs too.
- Remove the note for `delayed-template-parsing` since
https://github.com/llvm/llvm-project/issues/61068 got closed.
- Add a note for https://github.com/llvm/llvm-project/issues/78850 since
we've seen it for a lot of times.
- Add a note for https://github.com/llvm/llvm-project/issues/78173 since
we've seen it for a lot of times.
Commit: 21830c913505b1fd2cf10e454253483180c7e10b
https://github.com/llvm/llvm-project/commit/21830c913505b1fd2cf10e454253483180c7e10b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[mlir][nvgpu] Fix 'warpgroup.mma.store' index calculation (#78413)
This PR fixes the 'nvgpu.warpgroup.mma.store' index calculation. When
the destionation memref and current accumulator matrix were small, the
previous code was reaching out of range.
Commit: 12c241b3654800ab708607dbc1998975c893fc14
https://github.com/llvm/llvm-project/commit/12c241b3654800ab708607dbc1998975c893fc14
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
M mlir/test/Conversion/NVVMToLLVM/invalid.mlir
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/python/dialects/nvvm.py
Log Message:
-----------
[MLIR][NVVM] Explicit Data Type for Output in `wgmma.mma_async` (#78713)
The current implementation of `nvvm.wgmma.mma_async` Op deduces the data
type of the output matrix from the data type of struct member, which can be
non-intuitive, especially in cases where types like `2xf16` are packed
into `i32`.
This PR addresses this issue by improving the Op to include an explicit
data type for the output matrix.
The modified Op now includes an explicit data type for Matrix-D (<f16>),
and looks as follows:
```
%result = llvm.mlir.undef : !llvm.struct<(struct<(i32, i32, ...
nvvm.wgmma.mma_async
%descA, %descB, %result,
#nvvm.shape<m = 64, n = 32, k = 16>,
D [<f16>, #nvvm.wgmma_scale_out<zero>],
A [<f16>, #nvvm.wgmma_scale_in<neg>, <col>],
B [<f16>, #nvvm.wgmma_scale_in<neg>, <col>]
```
Commit: aa4547fcc8eeb9bf4f3cf48cc926f62544e58767
https://github.com/llvm/llvm-project/commit/aa4547fcc8eeb9bf4f3cf48cc926f62544e58767
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update cp.async.bulk Ops to use intrinsics (#78900)
This patch updates the cp.async.bulk.{commit/wait}_group Ops to use NVVM
intrinsics.
* Doc updated for the commit_group Op.
* Tests are added to verify the lowering to the intrinsics.
While we are there, fix the FileCheck directive on the
'nvvm.setmaxregister' test.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 5ab2d9c0d9d4ea381cc2f5cbb047c1b1847d0b21
https://github.com/llvm/llvm-project/commit/5ab2d9c0d9d4ea381cc2f5cbb047c1b1847d0b21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Arrange RISCVFeatures.td into sections of related extensions. NFC (#78790)
Put I and Zi* together. Put F/D/Zf* together. Put A and Za* together,
etc.
Commit: 7556626dcff15c8cc5160078a4d6ed2469eed81b
https://github.com/llvm/llvm-project/commit/7556626dcff15c8cc5160078a4d6ed2469eed81b
Author: Ryotaro KASUGA <kasuga.ryotaro at fujitsu.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/PowerPC/sms-regpress.mir
Log Message:
-----------
[CodeGen][MachinePipeliner] Limit register pressure when scheduling (#74807)
In software pipelining, when searching for the Initiation Interval (II),
`MachinePipeliner` tries to reduce register pressure, but doesn't check
how many variables can actually be alive at the same time. As a result,
a lot of register spills/fills can be generated after register
allocation, which might cause performance degradation. To prevent such
cases, this patch adds a check phase that calculates the maximum
register pressure of the scheduled loop and reject it if the pressure is
too high. This can be enabled this by specifying
`pipeliner-register-pressure`. Additionally, an II search range is
currently fixed at 10, which is too small to find a schedule when the
above algorithm is applied. Therefore this patch also adds a new option
`pipeliner-ii-search-range` to specify the length of the range to
search. There is one more new option
`pipeliner-register-pressure-margin`, which can be used to estimate a
register pressure limit less than actual for conservative analysis.
Discourse thread:
https://discourse.llvm.org/t/considering-register-pressure-when-deciding-initiation-interval-in-machinepipeliner/74725
Commit: 21730eb49b7c53abd47eff898c913b48e2f1dfc9
https://github.com/llvm/llvm-project/commit/21730eb49b7c53abd47eff898c913b48e2f1dfc9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/ELF/DriverUtils.cpp
M lld/MachO/DriverUtils.cpp
M lld/wasm/Driver.cpp
M lld/wasm/WriterUtils.cpp
Log Message:
-----------
[lld] Use SmallString::operator std::string (NFC)
Commit: 8fddf7fd148cbb9e5c09e351cd1be410a513702a
https://github.com/llvm/llvm-project/commit/8fddf7fd148cbb9e5c09e351cd1be410a513702a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
Log Message:
-----------
[llvm] Use MachineBasicBlock::succ_empty (NFC)
Commit: 234da203779be31c83541d99ee28e01ee422c506
https://github.com/llvm/llvm-project/commit/234da203779be31c83541d99ee28e01ee422c506
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Analysis/RetainSummaryManager.cpp
Log Message:
-----------
[Analysis] Use StringRef::ends_with_insensitive (NFC)
Commit: a54463a4c6c32810b064e02b39e2c8f0de974006
https://github.com/llvm/llvm-project/commit/a54463a4c6c32810b064e02b39e2c8f0de974006
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
Log Message:
-----------
[clang-tidy] Use llvm::any_of (NFC)
Commit: 9f290509421b874ecf8082fa8f754850fb121655
https://github.com/llvm/llvm-project/commit/9f290509421b874ecf8082fa8f754850fb121655
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[CodeGen][MachinePipeliner] Fix -Wpessimizing-move in MachinePipeliner.cpp (NFC)
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1044:19: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
1044 | CycleInstrs = std::move(Schedule.reorderInstructions(SSD, CycleInstrs));
| ^
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1044:19: note: remove std::move call here
1044 | CycleInstrs = std::move(Schedule.reorderInstructions(SSD, CycleInstrs));
| ^~~~~~~~~~ ~
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1395:21: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
1395 | auto LastUses = std::move(computeLastUses(OrderedInsts, Stages));
| ^
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1395:21: note: remove std::move call here
1395 | auto LastUses = std::move(computeLastUses(OrderedInsts, Stages));
| ^~~~~~~~~~ ~
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1502:9: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
1502 | std::move(computeMaxSetPressure(OrderedInsts, Stages, MaxStage + 1));
| ^
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:1502:9: note: remove std::move call here
1502 | std::move(computeMaxSetPressure(OrderedInsts, Stages, MaxStage + 1));
| ^~~~~~~~~~ ~
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:3381:19: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
3381 | cycleInstrs = std::move(reorderInstructions(SSD, cycleInstrs));
| ^
/Users/jiefu/llvm-project/llvm/lib/CodeGen/MachinePipeliner.cpp:3381:19: note: remove std::move call here
3381 | cycleInstrs = std::move(reorderInstructions(SSD, cycleInstrs));
| ^~~~~~~~~~ ~
4 errors generated.
Commit: 3b943c0203df5c35089417567cc470d5cdbc497e
https://github.com/llvm/llvm-project/commit/3b943c0203df5c35089417567cc470d5cdbc497e
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
Log Message:
-----------
[Thumb,test] Improve __stack_chk_guard test
Commit: a2caa4929e8e8a2ffff4ee5f03ab37a9be7462a0
https://github.com/llvm/llvm-project/commit/a2caa4929e8e8a2ffff4ee5f03ab37a9be7462a0
Author: martinboehme <mboehme at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Treat comma operator correctly in `getResultObjectLocation()`. (#78427)
Commit: 21199f9842dffa4f34b38101195c6f57d1bd4630
https://github.com/llvm/llvm-project/commit/21199f9842dffa4f34b38101195c6f57d1bd4630
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
A openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
Log Message:
-----------
[OpenMP][OMPIRBuilder] Fix LLVM IR codegen for collapsed device loop (#78708)
When we generate the loop body function, we need to be sure, that all
original loop counters are replaced by the new counter.
We need to save all items which use the original loop counter and then
perform replacement of the original loop counter. If we don't do it,
there is a risk that some values are not updated.
Commit: 8658d157654832fe24b4f3d2a9a62784a4d6a162
https://github.com/llvm/llvm-project/commit/8658d157654832fe24b4f3d2a9a62784a4d6a162
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
Log Message:
-----------
Revert "[Clang][Sema] Diagnose function/variable templates that shadow their own template parameters (#78274)"
This reverts commit fc0253264445be7f88d4cf0f9129dcb10c2fb84b.
This errors is disruptive to downstream projects
and should be reintroduced as a separate on-by-default
warning.
https://github.com/llvm/llvm-project/pull/78274
Commit: 262735bbcc22f216a688b934ca9ff50b427c9dc1
https://github.com/llvm/llvm-project/commit/262735bbcc22f216a688b934ca9ff50b427c9dc1
Author: Zoltán Böszörményi <zboszor at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: add missing AMD gfx symlinks (#78884)
Fixes #44186
---------
Signed-off-by: Zoltán Böszörményi <zboszor at gmail.com>
Commit: 376f019609b3eba578723c26e1635d1be31e6057
https://github.com/llvm/llvm-project/commit/376f019609b3eba578723c26e1635d1be31e6057
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU][NFC] Update cache policy descriptions (#78768)
Commit: f36845d0c696023ea97931a4201b43ddfababf9c
https://github.com/llvm/llvm-project/commit/f36845d0c696023ea97931a4201b43ddfababf9c
Author: David Chisnall <davidchisnall at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/ObjCRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
A clang/test/CodeGenObjC/gnustep2-direct-method.m
Log Message:
-----------
Enable direct methods and fast alloc calls for libobjc2. (#78030)
These will be supported in the upcoming 2.2 release and so are gated on
that version.
Direct methods call `objc_send_initialize` if they are class methods
that may not have called initialize. This is guarded by checking for the
class flag bit that is set on initialisation in the class. This bit now
forms part of the ABI, but it's been stable for 30+ years so that's fine
as a contract going forwards.
Commit: 5fb39efe680642c6cab072560efa3bfce6646fb0
https://github.com/llvm/llvm-project/commit/5fb39efe680642c6cab072560efa3bfce6646fb0
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/SmallVector.h
M llvm/lib/Support/SmallVector.cpp
Log Message:
-----------
[LLVM][ADT] Explicitly convert size_t values to SmallVector's size type (#77939)
Multiple places rely on implicit conversion when assigning 'size_t'
values to the member fields (size or capacity) of SmallVector.
Depending on the platform / compiler configuration, this may result in
narrowing conversion warnings (especially given that the size type of
SmallVector's member fields is determined based on type T - in
SmallVector<T>). To avoid the problem altogether, make the conversions
explicit.
Co-authored-by: Orest Chura <orest.chura at intel.com>
Commit: 68a5261d260e95148755c6725f56957cb8fd23a3
https://github.com/llvm/llvm-project/commit/68a5261d260e95148755c6725f56957cb8fd23a3
Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/Barvinok.h
M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
M mlir/include/mlir/Analysis/Presburger/QuasiPolynomial.h
M mlir/include/mlir/Analysis/Presburger/Utils.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
M mlir/lib/Analysis/Presburger/Utils.cpp
M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
M mlir/unittests/Analysis/Presburger/UtilsTest.cpp
Log Message:
-----------
[MLIR][Presburger] Implement function to evaluate the number of terms in a generating function. (#78078)
We implement `computeNumTerms()`, which counts the number of terms in a
generating function by substituting the unit vector in it.
This is the main function in Barvinok's algorithm – the number of points
in a polytope is given by the number of terms in the generating function
corresponding to it.
We also modify the GeneratingFunction class to have `const` getters and
improve the simplification of QuasiPolynomials.
Commit: 0845514d1a78ca04ef90b775d8819a8a8f19a533
https://github.com/llvm/llvm-project/commit/0845514d1a78ca04ef90b775d8819a8a8f19a533
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream.c
Log Message:
-----------
[clang][analyzer] Add function 'fscanf' to StreamChecker. (#78180)
Commit: 6c47419703acfcd7dcca9e30ab9dba6a7a42f977
https://github.com/llvm/llvm-project/commit/6c47419703acfcd7dcca9e30ab9dba6a7a42f977
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/BOLT.cmake
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Revert "[Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)"
This reverts commit 745883bba69007f1d2c5135f3d5b0f1efcfc82cd.
This is failing to configure on many of our bots:
https://lab.llvm.org/buildbot/#/builders/245/builds/19468
This did not get caught right away because generally bots only
clean the build every so often.
Commit: 11d1310b57a9f2defb4d65a35b90a69020c52e46
https://github.com/llvm/llvm-project/commit/11d1310b57a9f2defb4d65a35b90a69020c52e46
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
Log Message:
-----------
[clang] Fix assertion failure with deleted overloaded unary operators (#78316)
When emitting notes related to wrong number of arguments do not consider
object argument.
Fixes https://github.com/llvm/llvm-project/issues/78314
Commit: 7b925c3edb6297df6bcf87dfcfdfd645f03b5388
https://github.com/llvm/llvm-project/commit/7b925c3edb6297df6bcf87dfcfdfd645f03b5388
Author: José Lira Junior <jljuniorpb at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/Stream.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Utility/Stream.cpp
Log Message:
-----------
[lldb] refactor highlighting function for image lookup command (#76112)
Follow-up to #69422.
This PR puts all the highlighting settings into a single struct for
easier handling
Co-authored-by: Talha Tahir <talha.tahir at 10xengineers.ai>
Commit: 11c0dc3d4081b7739500d31332eba0760fed174c
https://github.com/llvm/llvm-project/commit/11c0dc3d4081b7739500d31332eba0760fed174c
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M .github/workflows/issue-subscriber.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
Log Message:
-----------
[GitHub][workflows] Run automation script with python3 (#78695)
This means we don't have to chmod, or change permissions any other way.
Commit: 9f7fff7f1391ea3bec394d8251b81cea92175cca
https://github.com/llvm/llvm-project/commit/9f7fff7f1391ea3bec394d8251b81cea92175cca
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A mlir/include/mlir/Conversion/ArithToArmSME/ArithToArmSME.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/ArmSME/Utils/Utils.h
A mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
A mlir/lib/Conversion/ArithToArmSME/CMakeLists.txt
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
A mlir/test/Conversion/ArithToArmSME/arith-to-arm-sme.mlir
R mlir/test/Dialect/ArmSME/arith-ops-to-sme.mlir
M mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/fill-2d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/use-too-many-tiles.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-outerproduct-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/test-transfer-write-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/tile_fill.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
Log Message:
-----------
[mlir][ArmSME] Add arith-to-arm-sme conversion pass (#78197)
Existing 'arith::ConstantOp' conversion and tests are moved from
VectorToArmSME. There's currently only a single op that's converted at
the moment, but this will grow in the future as things like in-tile add
are implemented. Also, 'createLoopOverTileSlices' is moved to ArmSME
utils since it's relevant for both conversions.
Commit: e280c287e42065736d9c343306603ea07430a82b
https://github.com/llvm/llvm-project/commit/e280c287e42065736d9c343306603ea07430a82b
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A mlir/lib/ExecutionEngine/ArmRunnerUtils.cpp
M mlir/lib/ExecutionEngine/CMakeLists.txt
M mlir/test/CMakeLists.txt
A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/lit.local.cfg
A mlir/test/Integration/Dialect/Vector/CPU/ArmSME/Emulated/test-setArmSVLBits.mlir
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/lit.local.cfg
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/Emulated/test-setArmVLBits.mlir
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] Add `mlir_arm_runner_utils` library for use in integration tests (#78583)
This adds a new `mlir_arm_runner_utils` library that contains utils
specific to Arm/AArch64. This is for use in MLIR integration tests.
This initial patch adds `setArmVLBits()` and `setArmSVLBits()`. This
allows changing vector length or streaming vector length at runtime (or
setting it to a known minimum, i.e. 128-bits).
Commit: ac296b696ccf3081b2fc920f860da894fb1d8eb0
https://github.com/llvm/llvm-project/commit/ac296b696ccf3081b2fc920f860da894fb1d8eb0
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-syncscope.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
Log Message:
-----------
[AMDGPU] Drop verify from SIMemoryLegalizer tests (#78697)
SIMemoryLegalizer tests were slow, with most of them taking 4.5 to 5.3s
to complete and that's on a fast machine. I also recall seeing them in
the slowest tests list on build bots.
This removes the verify-machineinstrs option from these tests to speed
them up, bringing the slowest test down to +-2s.
Verifier still runs in EXPENSIVE_CHECKS builds.
Commit: 5cd8d53cac00feafd739dba6215e1f6eed502e46
https://github.com/llvm/llvm-project/commit/5cd8d53cac00feafd739dba6215e1f6eed502e46
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
Log Message:
-----------
[RISCV] Teach RISCVMergeBaseOffset to handle inline asm (#78945)
For inline asm with memory operands, we can merge the offset into
the second operand of memory constraint operands.
Differential Revision: https://reviews.llvm.org/D158062
Commit: a43c192567eb4ea2535d73b83da5c7d5ed2b6122
https://github.com/llvm/llvm-project/commit/a43c192567eb4ea2535d73b83da5c7d5ed2b6122
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Use SmallVectorImpl when referencing StubInfos (NFC)
The element type is declared as SmallVector<T, 1>, but we assign to
SmallVector<T> &. These types are not the same on 32-bit systems,
resulting in a compilation error.
Fix this by using SmallVectorImpl<T> & instead, which is independent
of the small size.
Commit: 50df08cd43ec02c58067797df33ec67c128431bb
https://github.com/llvm/llvm-project/commit/50df08cd43ec02c58067797df33ec67c128431bb
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/dp1.ll
M llvm/test/CodeGen/AArch64/neon-addlv.ll
M llvm/test/CodeGen/AArch64/popcount.ll
Log Message:
-----------
[GlobalISel][AArch64] Combine Vector Reduction Add Long (#76241)
ADDLV(ADDLP) => ADDLV
Removes unnecessary ADDLP instruction
Already exists for SDAG, adding for GlobalISel
Commit: 54952e95b1ee1ab361f5523744f5a6eedaad4bd4
https://github.com/llvm/llvm-project/commit/54952e95b1ee1ab361f5523744f5a6eedaad4bd4
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
Fix an unused variable, NFC.
Commit: cc38cff05cfafb92bf91aadc39692ec5e12710a0
https://github.com/llvm/llvm-project/commit/cc38cff05cfafb92bf91aadc39692ec5e12710a0
Author: Christian Sigg <csigg at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix BUILD after 9f7fff7f1391ea3bec394d8251b81cea92175cca.
Commit: c9f5b5c935bd12d76d4bafff61d8116cb3229972
https://github.com/llvm/llvm-project/commit/c9f5b5c935bd12d76d4bafff61d8116cb3229972
Author: Mitch Phillips <31459023+hctim at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/test/CodeGen/memtag-globals-asm.cpp
M llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
Log Message:
-----------
[MTE] Disable all MTE protection of globals in sections (#78443)
Previous work in this area (#70186) disabled MTE in constructor
sections. Looks like I missed one, ".preinit_array".
Also, in the meantime, I found an exciting feature in the linker where
globals placed into an explicit section, where the section name is a
valid C identifer, gets an implicit '__start_<sectionname>' and
'__stop_<sectionname>' symbol as well. This is convenient for iterating
over some globals, but of course iteration over differently-tagged
globals in MTE explodes.
Thus, disable MTE globals for anything that has a section.
Commit: c4fc563b8d41c28f3e4cbcd4ef943c26d234b5ae
https://github.com/llvm/llvm-project/commit/c4fc563b8d41c28f3e4cbcd4ef943c26d234b5ae
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
Log Message:
-----------
[JITLink][AArch32] Add GOT builder and implement R_ARM_GOT_PREL relocations for ELF (#78753)
LLJIT needs this relocation for running deinitializers. Implementation and
test are adapted from test arm-fpic-got.s in LLD.
Commit: 6aeb7a71d40faed14820523b5be24ff93a4e9bf9
https://github.com/llvm/llvm-project/commit/6aeb7a71d40faed14820523b5be24ff93a4e9bf9
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[RemoveDIs][DebugInfo] Add interface changes for AT analysis (#78460)
This patch adds the preliminary changes for handling DPValues in
AssignmentTrackingAnalysis - very few functional changes are included,
but internal data structures have been changed to operate with DPValues
as well as Instructions, allowing future patches to process DPValues
correctly.
Commit: ad01447d30ed48e127254e0c45350c938d72c966
https://github.com/llvm/llvm-project/commit/ad01447d30ed48e127254e0c45350c938d72c966
Author: Michael Schellenberger Costa <miscco at nvidia.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
Log Message:
-----------
[libcxx] Fix typo in parallel `for_each_n` test (#78954)
This fixes a trivial copy and paste error where we forgot to change
`for_each` to `for_each_n`
Commit: f45249f05ffcda0456dd1d5e9f9a7f0d75a20f84
https://github.com/llvm/llvm-project/commit/f45249f05ffcda0456dd1d5e9f9a7f0d75a20f84
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn] port 03c19e91e8d8
Commit: a590f2315f45615920f244dcce12a7e169148da7
https://github.com/llvm/llvm-project/commit/a590f2315f45615920f244dcce12a7e169148da7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
[hwasan] Update dbg.assign intrinsics in HWAsan pass (#78606)
llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to update
the second expression.
Fixes #76545
Commit: c1729c8df2e2d0e9ef3c039df78f2711ea8fe65c
https://github.com/llvm/llvm-project/commit/c1729c8df2e2d0e9ef3c039df78f2711ea8fe65c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants.cpp - pull out rebuildConstant helper for future patches. NFC.
Add helper to convert raw APInt bit stream into ConstantDataVector elements.
This was used internally by rebuildSplatableConstant but will be reused in future patches for #73783 and #71078
Commit: 1a5eeade161beddf9c8b2fabad56af3081cd3629
https://github.com/llvm/llvm-project/commit/1a5eeade161beddf9c8b2fabad56af3081cd3629
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Add printZeroUpperMove constant/shuffle comments helper. NFC.
Pull out helper instead of repeating switch cases.
Commit: 865e4a1f33bd3be42ff256c6839aff0860610a5a
https://github.com/llvm/llvm-project/commit/865e4a1f33bd3be42ff256c6839aff0860610a5a
Author: Hana Dusíková <hanicka at hanicka.net>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/if.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
[coverage] skipping code coverage for 'if constexpr' and 'if consteval' (#78033)
`if constexpr` and `if consteval` conditional statements code coverage
should behave more like a preprocesor `#if`-s than normal
ConditionalStmt. This PR should fix that.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: 365aa1574a1b4a3cdee6648227d095d00536ffde
https://github.com/llvm/llvm-project/commit/365aa1574a1b4a3cdee6648227d095d00536ffde
Author: Rin Dobrescu <irina.dobrescu at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Convert UADDV(add(zext, zext)) into UADDLV(concat). (#78301)
We can convert a UADDV(add(zext(64-bit source), zext(64-bit source)))
into UADDLV(concat), where the concat represents the 64-bit zext
sources.
Commit: 3c94154c860ea9c2fdd5775bd6ad31ac1db0c261
https://github.com/llvm/llvm-project/commit/3c94154c860ea9c2fdd5775bd6ad31ac1db0c261
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Analysis/Presburger/Barvinok.cpp
Log Message:
-----------
[mlir] Fix -Wunused-variable in Barvinok.cpp (NFC)
llvm-project/mlir/lib/Analysis/Presburger/Barvinok.cpp:262:21:
error: unused variable 'd' [-Werror,-Wunused-variable]
for (const Point &d : ds)
^
1 error generated.
Commit: 09bd2cb70f4db9f6638a2e9c89d0397d051a3897
https://github.com/llvm/llvm-project/commit/09bd2cb70f4db9f6638a2e9c89d0397d051a3897
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Add printLaneBroadcast constant comments helper. NFC.
Pull out helper instead of repeating switch cases.
Commit: 60963272c5c83890910fd97f8d941180b6006fca
https://github.com/llvm/llvm-project/commit/60963272c5c83890910fd97f8d941180b6006fca
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Add printElementBroadcast constant comments helper. NFC.
Pull out helper instead of repeating switch cases.
Commit: df4ba00c7b50429fa88c3a9991e9194e2422dc76
https://github.com/llvm/llvm-project/commit/df4ba00c7b50429fa88c3a9991e9194e2422dc76
Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Support of TableGen statements in unwrapped line parser (#78846)
Make TableGen's statements to be parsed considering their structure.
- Avoid to parse label
- Avoid class from being parsed as c++'s class
- Support if statement of the form `if <cond> then { ... }`
- Support defset statement of the form `defset <type> <name> {}`
---------
Co-authored-by: Björn Schäpers <github at hazardy.de>
Commit: 27ce26b06655cfece3d54b30e442ef93d3e78ac7
https://github.com/llvm/llvm-project/commit/27ce26b06655cfece3d54b30e442ef93d3e78ac7
Author: bd1976bris <bd1976llvm at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
A clang/test/Driver/visibility-global-new-delete.cl
Log Message:
-----------
[Sema] Add `-fvisibility-global-new-delete=` option (#75364)
[Sema] Add `-fvisibility-global-new-delete=` option (#75364)
By default the implicitly declared replaceable global new and delete
operators are given a default visibility attribute. Previous work, see:
https://reviews.llvm.org/D53787, added
`-fvisibility-global-new-delete-hidden` to change this to a hidden
visibility attribute.
This change adds `-fvisibility-global-new-delete=` which controls
whether (or not) to add an implicit visibility attribute to the implicit
declarations for these functions, and what visibility that attribute
will specify. The option takes 4 values: `force-hidden`,
`force-protected`, `force-default` and `source`. Option values
`force-hidden`, `force-protected` and `force-default` assign hidden,
protected, and default visibilities respectively; the use of the term
force in the value names is designed to imply to a user that the semantics
of this option differ significantly from `-fvisibility=`. An option
value of `source` implies that no implicit attribute is added; without
the attribute the replaceable global new and delete operators behave
normally (like other functions) with respect to visibility attributes,
pragmas and options.
The motivation for the `source` value is to facilitate users who intend
to replace these functions either for a single linkage unit or a limited
set of linkage units. `-fvisibility-global-new-delete=source` can be
applied globally to the compilations in a build where the existing
`-fvisibility-global-new-delete-hidden` cannot, as it conflicts with a
common pattern where these functions are dynamically imported.
The existing `-fvisibility-global-new-delete-hidden` is now a deprecated
spelling of `-fvisibility-global-new-delete=force-hidden`
A release note has been added for these changes.
`-fvisibility-global-new-delete=source` will be set by default for PS5.
PS5 users that want the normal toolchain behaviour will be able to
supply `-fvisibility-global-new-delete=force-default`.
Commit: 88d1de5ec64210686d93a90529583505635d257d
https://github.com/llvm/llvm-project/commit/88d1de5ec64210686d93a90529583505635d257d
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Unify token size tests to use ASSERT_EQ
Commit: 4821c90c24d52d4a42990fd9371caedb157bc58b
https://github.com/llvm/llvm-project/commit/4821c90c24d52d4a42990fd9371caedb157bc58b
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl] Fix PLT offset too large linker error on ARM (#78959)
I cross-compile clang-repl with GCC-10 on Ubuntu 20.04 and get this
error when linking with gold: PLT offset too large, try linking with
--long-plt
Commit: fa6025e25b5754e8cf39169e3a7085b57ea35de5
https://github.com/llvm/llvm-project/commit/fa6025e25b5754e8cf39169e3a7085b57ea35de5
Author: Emilia Kond <emilia at rymiel.space>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't confuse initializer equal signs in for loops (#77712)
clang-format has logic to align declarations of multiple variables of
the same type, aligning them at the equals sign. This logic is applied
in for loops as well. However, this alignment logic also erroneously
affected the equals signs of designated initializers.
This patch forbids alignment if the token 2 tokens back from the equals
sign is a designated initializer period.
Fixes https://github.com/llvm/llvm-project/issues/73902
Commit: ab1b4991cfacfe04a579bf0b0ff4a704a6224d4a
https://github.com/llvm/llvm-project/commit/ab1b4991cfacfe04a579bf0b0ff4a704a6224d4a
Author: Tuan Chuong Goh <chuong.goh at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/shift.ll
Log Message:
-----------
[AArch64] Adding tests for shifts
Commit: b689b4fe55103a04eac847964e126b6048b89ae0
https://github.com/llvm/llvm-project/commit/b689b4fe55103a04eac847964e126b6048b89ae0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/cmake/modules/FindFFI.cmake
M openmp/libomptarget/plugins-nextgen/CMakeLists.txt
Log Message:
-----------
[LLVM][CMake] Add ffi_static target for the FFI static library (#78779)
Summary:
This patch is an attempt to make the `find_package(FFI)` support in LLVM
prefer to provide the static library version if present. This is
currently
an optional library for building `libffi`, and its presence implies that
it should likely be used. This patch is an attempt to fix some problems
observed with testing programs linked against `libffi` on many different
systems that could have conflicting paths. Linking it statically
prevents this.
This patch adds the `ffi_static` target for this library.
Commit: 5266c1285bb9560d8d9d266977167f6c24282e95
https://github.com/llvm/llvm-project/commit/5266c1285bb9560d8d9d266977167f6c24282e95
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
R llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
Revert "[hwasan] Update dbg.assign intrinsics in HWAsan pass" (#78971)
Reverts llvm/llvm-project#78606
https://lab.llvm.org/buildbot/#/builders/77/builds/33963
Commit: 490a09a02e81c0034aa08a800fa7a57ec6ef0767
https://github.com/llvm/llvm-project/commit/490a09a02e81c0034aa08a800fa7a57ec6ef0767
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
Log Message:
-----------
[UnrollAnalyzerTest] Remove dependency to pass managers (#78473)
Remove use of LegacyPassManager in the UnrollAnalyzerTest unit test.
Given that the goal isn't to test pass manager interfaces, and since the
LoopUnrollAnalyzer isn't even implemented as a pass, we do not really
need the complexity of using a pass manager. Instead we just make sure
that we run LoopUnrollAnalyzer and other needed analyses standalone
(without any pass manager). This was inspired by the LoopInfoTest unit
test.
Commit: 8fab16c86c9860fa78022a97553761fcdccfa03e
https://github.com/llvm/llvm-project/commit/8fab16c86c9860fa78022a97553761fcdccfa03e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++][NFC] Remove trailing whitespace from release notes
Commit: 5a667bee9c983f882255732ae27c96d1d94e0893
https://github.com/llvm/llvm-project/commit/5a667bee9c983f882255732ae27c96d1d94e0893
Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
Log Message:
-----------
[InstCombine] Try to fold trunc(shuffle(zext)) to just a shuffle (#78636)
Tries to remove extra trunc/ext instruction for shufflevector
instructions.
Differential Review: https://github.com/llvm/llvm-project/pull/78636
Commit: cabe8be6bb2120828a741217365be975c59ac7b6
https://github.com/llvm/llvm-project/commit/cabe8be6bb2120828a741217365be975c59ac7b6
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (#78588)
Commit: bf7b8dae0615884816fff54cac08bc691746b1ee
https://github.com/llvm/llvm-project/commit/bf7b8dae0615884816fff54cac08bc691746b1ee
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
Revert "[libc] `FPRep` builders return `FPRep` instead of raw `StorageType`" (#78974)
Reverts llvm/llvm-project#78588
Commit: 4f4690530e8b40cdf3a17c76a352b26c2fb0446c
https://github.com/llvm/llvm-project/commit/4f4690530e8b40cdf3a17c76a352b26c2fb0446c
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__expected/expected.h
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/types.h
Log Message:
-----------
[libc++] Ensure that std::expected has no tail padding (#69673)
Currently std::expected can have some padding bytes in its tail due to
[[no_unique_address]]. Those padding bytes can be used by other objects.
For example, in the current implementation:
sizeof(std::expected<std::optional<int>, bool>) ==
sizeof(std::expected<std::expected<std::optional<int>, bool>, bool>)
As a result, the data layout of an
std::expected<std::expected<std::optional<int>, bool>, bool>
can look like this:
+-- optional "has value" flag
| +--padding
/---int---\ | |
00 00 00 00 01 00 00 00
| |
| +- "outer" expected "has value" flag
|
+- expected "has value" flag
This is problematic because `emplace()`ing the "inner" expected can not
only overwrite the "inner" expected "has value" flag (issue #68552) but
also the tail padding where other objects might live.
This patch fixes the problem by ensuring that std::expected has no tail
padding, which is achieved by conditional usage of [[no_unique_address]]
based on the tail padding that this would create.
This is an ABI breaking change because the following property changes:
sizeof(std::expected<std::optional<int>, bool>) <
sizeof(std::expected<std::expected<std::optional<int>, bool>, bool>)
Before the change, this relation didn't hold. After the change, the relation
does hold, which means that the size of std::expected in these cases increases
after this patch. The data layout will change in the following cases where
tail padding can be reused by other objects:
class foo : std::expected<std::optional<int>, bool> {
bool b;
};
or using [[no_unique_address]]:
struct foo {
[[no_unique_address]] std::expected<std::optional<int>, bool> e;
bool b;
};
The vendor communication is handled in #70820.
Fixes: #70494
Co-authored-by: philnik777 <nikolasklauser at berlin.de>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: bfef161a80b62723bedad996aa7a697f99e6802a
https://github.com/llvm/llvm-project/commit/bfef161a80b62723bedad996aa7a697f99e6802a
Author: chuongg3 <chuong.goh at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/shift.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize Shifts for Smaller/Larger Vectors (#78750)
Legalize shl/lshr/ashr for smaller/larger vector widths with legal
element sizes
Smaller than legal vector types does not work at the moment as it relies
on G_ANYEXT to work with smaller than legal vector types
Commit: 3c246efd04210af56ab6ce960b98283ec5bc7c30
https://github.com/llvm/llvm-project/commit/3c246efd04210af56ab6ce960b98283ec5bc7c30
Author: Petr Maj <53400784+zduka at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/test/Transforms/RewriteStatepointsForGC/base-pointers.ll
Log Message:
-----------
True fixpoint algorithm in RS4GC (#75826)
Fixes a problem where the explicit marking of various instructions as
conflicts did not propagate to their users. An example of this:
```
%getelementptr = getelementptr i8, <2 x ptr addrspace(1)> zeroinitializer, <2 x i64> <i64 888, i64 908>
%shufflevector = shufflevector <2 x ptr addrspace(1)> %getelementptr, <2 x ptr addrspace(1)> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%shufflevector1 = shufflevector <2 x ptr addrspace(1)> %getelementptr, <2 x ptr addrspace(1)> zeroinitializer, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
%select = select i1 false, <4 x ptr addrspace(1)> %shufflevector1, <4 x ptr addrspace(1)> %shufflevector
```
Here the vector shuffles will get single base (gep) during the fixpoint
and therefore the select will get a known base (gep). We later mark the
shuffles as conflicts, but this does not change the base of select. This
gets caught by an assert where the select's type will differ from its
(wrong) base later on.
The solution in the MR is to move the explicit conflict marking into the
fixpoint phase.
---------
Co-authored-by: Petr Maj <pmaj at azul.com>
Commit: 1edb43f62ca408774b4392cbe641598e1c4725be
https://github.com/llvm/llvm-project/commit/1edb43f62ca408774b4392cbe641598e1c4725be
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[reland][libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (#78978)
Reland #78588
Commit: 70823fe4871eb6ca3fe8dc8264ac005c8edbfe70
https://github.com/llvm/llvm-project/commit/70823fe4871eb6ca3fe8dc8264ac005c8edbfe70
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
Log Message:
-----------
[libc++][NFC] Fix incorrect formatting of release notes
Commit: 52a8bed426e59d10b41a12208d3ba55cd2c76a1f
https://github.com/llvm/llvm-project/commit/52a8bed426e59d10b41a12208d3ba55cd2c76a1f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Adjust AMDGPU passes to work with DPValues (#78736)
This patch tweaks two AMDGPU passes to use iterators rather than
instruction pointers for expressing an insertion point. This is needed
to accurately support DPValues, the non-instruction storage object for
debug-info.
Two tests were sensitive to this change (variable assignments were being
put in the wrong place), and I've added extra run-lines with the "try
new debug-info..." flag. These get tested on our public buildbot to
ensure they continue to work accurately.
Commit: 75b0c913a5fa3895818a7c7a066c0a8e1a214329
https://github.com/llvm/llvm-project/commit/75b0c913a5fa3895818a7c7a066c0a8e1a214329
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][nfc] Update comments
1. Updates and clarifies a few comments related to hooks for
vector.{insert|extract}_strided_slice.
2. For consistency with vector.insert_strided_slice, removes a TODO from
vector.extract_strided_slice Op def. It's self-explenatory that
adding support for non-unit strides is a "TODO".
Commit: 90af11ea97cf9ab34677720c5b7848eb5e9d4efe
https://github.com/llvm/llvm-project/commit/90af11ea97cf9ab34677720c5b7848eb5e9d4efe
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A libcxx/docs/ReleaseNotes.rst
M libcxx/docs/index.rst
Log Message:
-----------
[libc++] Make sure to publish release notes at ReleaseNotes.html
In LLVM 17, we switched to numbered RST files for release notes, which
makes it easier to deal with cherry-picks around release points. However,
we stopped publishing `libcxx/docs/ReleaseNotes.html`, which was
referenced by external sites.
This patch ensures that we keep publishing `ReleaseNotes.html` by simply
including the versioned RST file in the unversioned RST file.
Fixes #77955
Commit: 55cb52bbc539777aeb176f22fef0b4bfc70883fc
https://github.com/llvm/llvm-project/commit/55cb52bbc539777aeb176f22fef0b4bfc70883fc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/include/flang/Lower/OpenMP.h
M flang/lib/Lower/OpenMP.cpp
M flang/test/Lower/OpenMP/FIR/sections.f90
A flang/test/Lower/OpenMP/infinite-loop-in-construct.f90
M flang/test/Lower/OpenMP/sections.f90
A flang/test/Lower/OpenMP/wsloop-unstructured.f90
Log Message:
-----------
[Flang][OpenMP] Restructure recursive lowering in `createBodyOfOp` (#77761)
This brings `createBodyOfOp` to its final intended form. First, input
privatization is performed, then the recursive lowering takes place, and
finally the output privatization (lastprivate) is done.
This enables fixing a known issue with infinite loops inside of an
OpenMP region, and the fix is included in this patch.
Fixes https://github.com/llvm/llvm-project/issues/74348.
Recursive lowering [5/5]
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Commit: ce519b59b77551d1e9698de17367385a3dbf1352
https://github.com/llvm/llvm-project/commit/ce519b59b77551d1e9698de17367385a3dbf1352
Author: Natalie Chouinard <sudonatalie at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/dxc_spirv.hlsl
Log Message:
-----------
[HLSL][SPIR-V] Add support -fspv-target-env opt (#78611)
Add the -fspv-target-env option to the clang-dxc compatibility driver to
specify the SPIR-V target environment, which is propagated to the target
Triple.
Commit: ebb853fbe5f67ab42d78de45bbcb7b32b6323fb1
https://github.com/llvm/llvm-project/commit/ebb853fbe5f67ab42d78de45bbcb7b32b6323fb1
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElim] Remove unused checkCondition() parameters (NFC)
Commit: ac3ee1b1aec424c60660fd245f5b53aaffa2f5b1
https://github.com/llvm/llvm-project/commit/ac3ee1b1aec424c60660fd245f5b53aaffa2f5b1
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Transforms] Fix -Wunused-variable and remove redundant VerifyStates after #75826 (NFC)
llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp:1064:18: error: unused variable 'I' [-Werror,-Wunused-variable]
Instruction *I = cast<Instruction>(Pair.first);
^
llvm-project/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp:1066:11: error: unused variable 'BaseValue' [-Werror,-Wunused-variable]
auto *BaseValue = State.getBaseValue();
^
2 errors generated.
Commit: 3440466536c97ced20e366301a60f12f4fd01e30
https://github.com/llvm/llvm-project/commit/3440466536c97ced20e366301a60f12f4fd01e30
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M openmp/libomptarget/test/lit.cfg
M openmp/libomptarget/test/lit.site.cfg.in
M openmp/libomptarget/test/unified_shared_memory/api.c
M openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
Log Message:
-----------
[OpenMP] Fix two usm tests for amdgpus. (#78824)
Some are missing setting of HSA_XNACK=1 environment variable, used to
enable unified memory support on amdgpu's when it's not been set at
kernel boot time. Some others needed to be marked as supporting
unified_shared_memory in the lit test harness.
Extend lit test harness to enable unified_shared_memory requirement for
AMD GPUs.
Reland: #77851
Commit: ff1cde5ba2da8b227e1ed4a4c47b636ca4fbe59e
https://github.com/llvm/llvm-project/commit/ff1cde5ba2da8b227e1ed4a4c47b636ca4fbe59e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add vec3 load/store tests with GEPs with const offsets.
Extra tests for
https://github.com/llvm/llvm-project/pull/78637
https://github.com/llvm/llvm-project/pull/78632
Commit: 3de5d8e1254977c8812412a159da4185c9853fd0
https://github.com/llvm/llvm-project/commit/3de5d8e1254977c8812412a159da4185c9853fd0
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Add --only-headers flag, opposite of --ignore-headers (#78714)
Commit: af1741ed40ec3a2664c50effe0d0c9bd89e60cdc
https://github.com/llvm/llvm-project/commit/af1741ed40ec3a2664c50effe0d0c9bd89e60cdc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Reword comment for clarification, NFC
Commit: 0d8e333a7e756fc6ab07305ba1bbce916f510b30
https://github.com/llvm/llvm-project/commit/0d8e333a7e756fc6ab07305ba1bbce916f510b30
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
Log Message:
-----------
[OpenACC] Implement 'vector_length' clause parsing.
The 'vector_length' clause is the first of the 'int-expr' clauses that I've
implemented. Currently this is just being parsed as an assignment-expr,
since it needs to be usable in a list. Sema implementation will
enforce the integral-nature of it.
Commit: 6ba62f4f251763745d39194ecd33ebaf7a739059
https://github.com/llvm/llvm-project/commit/6ba62f4f251763745d39194ecd33ebaf7a739059
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
Log Message:
-----------
[AArch64][SME2] Refine fcvtu/fcvts/scvtf/ucvtf (#77947)
Rename intrinsics for fcvtu to fcvtzu and fcvts to fcvtzs.
Use llvm_anyvector_ty for both multi vector returns and operands,
therefore the return and operands can be specified in the intrinsic
call, e.g.
@llvm.aarch64.sve.scvtf.x4.nxv4f32.nxv4i32
Commit: 51e91b64d0deb6a743861c2a0fba84865250036e
https://github.com/llvm/llvm-project/commit/51e91b64d0deb6a743861c2a0fba84865250036e
Author: itrofimow <i.trofimow at yandex.ru>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/exception_ptr.bench.cpp
M libcxx/docs/BuildingLibcxx.rst
M libcxx/include/__availability
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/new
M libcxx/include/typeinfo
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
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 libcxxabi/include/cxxabi.h
M libcxxabi/lib/exceptions.exp
M libcxxabi/src/cxa_exception.cpp
Log Message:
-----------
[libc++abi] Implement __cxa_init_primary_exception and use it to optimize std::make_exception_ptr (#65534)
This patch implements __cxa_init_primary_exception, an extension to the
Itanium C++ ABI. This extension is already present in both libsupc++ and
libcxxrt. This patch also starts making use of this function in
std::make_exception_ptr: instead of going through a full throw/catch
cycle, we are now able to initialize an exception directly, thus making
std::make_exception_ptr around 30x faster.
Commit: 6a80e56ad0c7ae0adb8c4fb3f88eab7643566f41
https://github.com/llvm/llvm-project/commit/6a80e56ad0c7ae0adb8c4fb3f88eab7643566f41
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
Log Message:
-----------
[clang-tidy] Fix macros handling in cppcoreguidelines-prefer-member-initializer (#72037)
Produces now valid fixes for a member variables initialized with macros.
Correctly uses expansion location instead of location inside macro to
get init code.
Close #70189
Commit: 726d940586d7018ef03e87cb86601f4885f66001
https://github.com/llvm/llvm-project/commit/726d940586d7018ef03e87cb86601f4885f66001
Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
AMDGPU/Docs: Add link to MI300 Instruction Set Architecture (#78777)
Commit: 69fedaf830f8a2df4751a3c20189b7299daf88ae
https://github.com/llvm/llvm-project/commit/69fedaf830f8a2df4751a3c20189b7299daf88ae
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
A clang/test/ExtractAPI/union.c
Log Message:
-----------
[clang][ExtractAPI] Add support C unions in non C++ parsing mode (#77451)
Ensure that we generate correct symbol kinds and declaration fragments
for unions in C and Objective-C parsing modes.
rdar://120544091
Commit: d9cb37c9045bb0b3692d6faaeac43150a26e42e4
https://github.com/llvm/llvm-project/commit/d9cb37c9045bb0b3692d6faaeac43150a26e42e4
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Headers/ia32intrin.h
Log Message:
-----------
[Headers][X86] Add macro descriptions to ia32intrin.h (#78613)
These are largely copy-pasted from the corresponding function
descriptions. Updated _rdtsc definition because it was just plain wrong.
Commit: 8c1b7fba1fbe9729d6258127b633bd05339e766b
https://github.com/llvm/llvm-project/commit/8c1b7fba1fbe9729d6258127b633bd05339e766b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
Log Message:
-----------
[SelectionDAG][DebugInfo][RemoveDIs] Handle entry value variables in DPValues too (#78726)
This patch abstracts visitEntryValueDbgValue to deal with the substance
of variable locations (Value, Var, Expr, DebugLoc) rather than how
they're stored. That allows us to call it from handleDebugValue, which
is similarly abstracted. This allows the entry-value behaviour (see the
test) to be supported with non-instruction debug-info too!.
Commit: 4e64ed97804ab4146d9cc24db16a624a265aa690
https://github.com/llvm/llvm-project/commit/4e64ed97804ab4146d9cc24db16a624a265aa690
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Update X86::getConstantFromPool to take base OperandNo instead of Displacement MachineOperand
This allows us to check the entire constant address calculation, and ensure we're not performing any runtime address math into the constant pool (noticed in an upcoming patch).
Commit: 74ab7958bdda4d10b082129151f434176f99320e
https://github.com/llvm/llvm-project/commit/74ab7958bdda4d10b082129151f434176f99320e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/combine-concatvectors.ll
M llvm/test/CodeGen/X86/nontemporal-4.ll
M llvm/test/CodeGen/X86/pr13577.ll
M llvm/test/CodeGen/X86/ret-mmx.ll
Log Message:
-----------
[X86] printZeroUpperMove - add support for constant vectors.
Allows cases where movss/movsd etc. are loading constant (ConstantDataSequential) sub-vectors, ensuring we pad with the correct number of zero upper elements by making repeated printConstant calls to print zeroes in a matching int/fp format.
Commit: c5532124dc0ffc892ded0b093e92244977e748f8
https://github.com/llvm/llvm-project/commit/c5532124dc0ffc892ded0b093e92244977e748f8
Author: Daniel Grumberg <dgrumberg at apple.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/test/ExtractAPI/typedef.c
Log Message:
-----------
[clang][ExtractAPI] Ensure typedef to pointer types are preserved (#78584)
When generating declaration fragments for types that use typedefs to
pointer types ensure that we keep the user-defined typedef form instead
of desugaring the typedef.
rdar://102137655
Commit: bfb09326be2281bdbf4c1f3cea532fc17a28ad15
https://github.com/llvm/llvm-project/commit/bfb09326be2281bdbf4c1f3cea532fc17a28ad15
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Implement ELF relocation R_ARM_TARGET1
Prepare a configuration switch and default to R_ARM_ABS32
Commit: 565470ed27131b2550e71cf334bf3f33f9d82c62
https://github.com/llvm/llvm-project/commit/565470ed27131b2550e71cf334bf3f33f9d82c62
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
M llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
Log Message:
-----------
[JITLink][AArch32] Implement ELF relocation R_ARM_NONE
Commit: 160ddf71147637b4b806dde2a0c686496aae5f14
https://github.com/llvm/llvm-project/commit/160ddf71147637b4b806dde2a0c686496aae5f14
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir] Remove duplicate test
The removed test is identical to the one directly above.
Commit: e302950023cd99251371c5dc8a1e3b609dd5a8fe
https://github.com/llvm/llvm-project/commit/e302950023cd99251371c5dc8a1e3b609dd5a8fe
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/tools/f18/flang-to-external-fc.in
Log Message:
-----------
[flang] Handle -S assemble only flag in flang-to-external-fc (#78979)
Flang was recently updated on Compiler Explorer and by default it's in
assemble only mode, you have to enable linking and executing.
This means that the default output for flang-to-external-fc is nothing,
as it doesn't know what `-S` means. You'd have to know to enable the
link to binary option to see any output.
Handle `-S` so that users of Compiler Explorer don't have to wonder why
the "compiler" is broken.
Commit: 27eb8d53ae44e2f5a6259744446ea389afaf68a2
https://github.com/llvm/llvm-project/commit/27eb8d53ae44e2f5a6259744446ea389afaf68a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/widen_shuffle-1.ll
Log Message:
-----------
[X86] printConstant - add ConstantVector handling
Commit: 06c3c3b67cb0287856145806cfb0179def3214bd
https://github.com/llvm/llvm-project/commit/06c3c3b67cb0287856145806cfb0179def3214bd
Author: Piotr Zegar <piotr.zegar at nokia.com>
Date: 2024-01-22 (Mon, 22 Jan 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/ChainedComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
Log Message:
-----------
[clang-tidy] Add bugprone-chained-comparison check (#76365)
Check that flags chained comparison expressions,
such as a < b < c or a == b == c, which may have
unintended behavior due to implicit operator
associativity.
Moved from Phabricator (D144429).
Commit: 2bb6d7b8a4d1e31d5c856174c163e77d7d3a0b94
https://github.com/llvm/llvm-project/commit/2bb6d7b8a4d1e31d5c856174c163e77d7d3a0b94
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl] Limit use of PLT offset flag to linkers that support it
Follow-up fix from https://github.com/llvm/llvm-project/pull/78959
Commit: 4897b9888f11023bde363fb7dcebea440a0a13e9
https://github.com/llvm/llvm-project/commit/4897b9888f11023bde363fb7dcebea440a0a13e9
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/test/ELF/lto/amdgcn-oses.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
Log Message:
-----------
[AMDGPU] Make a few more tests default COV agnostic (#78926)
Commit: ae99966a279601022d2b4d61dfbec349f7d65c12
https://github.com/llvm/llvm-project/commit/ae99966a279601022d2b4d61dfbec349f7d65c12
Author: carlobertolli <carlo.bertolli at amd.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M openmp/libomptarget/include/Shared/PluginAPI.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/Shared/Requirements.h
M openmp/libomptarget/include/device.h
M openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/src/OpenMP/Mapping.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
A openmp/libomptarget/test/mapping/auto_zero_copy.cpp
Log Message:
-----------
[OpenMP] Enable automatic unified shared memory on MI300A. (#77512)
This patch enables applications that did not request OpenMP
unified_shared_memory to run with the same zero-copy behavior, where
mapped memory does not result in extra memory allocations and memory
copies, but CPU-allocated memory is accessed from the device. The name
for this behavior is "automatic zero-copy" and it relies on detecting:
that the runtime is running on a MI300A, that the user did not select
unified_shared_memory in their program, and that XNACK (unified memory
support) is enabled in the current GPU configuration. If all these
conditions are met, then automatic zero-copy is triggered.
This patch also introduces an environment variable OMPX_APU_MAPS that,
if set, triggers automatic zero-copy also on non APU GPUs (e.g., on
discrete GPUs).
This patch is still missing support for global variables, which will be
provided in a subsequent patch.
Co-authored-by: Thorsten Blass <thorsten.blass at amd.com>
Commit: d4d81acb52bd44681210001c148ac86df8a344f0
https://github.com/llvm/llvm-project/commit/d4d81acb52bd44681210001c148ac86df8a344f0
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
Log Message:
-----------
[AArch64][SME2] Extend SMEABIPass to handle functions with new ZT0 state (#78848)
updateNewZAFunctions is extended to generate the following on entry to a
function with either the "aarch64_pstate_za_new" or "arm_new_zt0"
attribute:
- Private-ZA interface: commit any active lazy-saves & enable PSTATE.ZA.
- "aarch64_pstate_za_new": zero ZA.
- "arm_new_zt0": zero ZT0.
Additionally, PSTATE.ZA should disabled before returning if the function
has a private-ZA interface.
Commit: f188f4589cc8f690779c62996520663718df106d
https://github.com/llvm/llvm-project/commit/f188f4589cc8f690779c62996520663718df106d
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
Log Message:
-----------
[DebugInfo] Disable a test runline temporarily
This is a follow-up to 8c1b7fba1fb -- GlobalISel currently doesn't handle
RemoveDIs mode debug-info, but will (see #75228). Disable this runline
until then.
(This is a patch-landing ordering problem)
Commit: b5df6a90f5365e61d2dfa1583d36cbc79ab5775b
https://github.com/llvm/llvm-project/commit/b5df6a90f5365e61d2dfa1583d36cbc79ab5775b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][openacc] Fix num_gang parser (#78792)
Nb of operand per segment is not correctly computed.
Commit: ee6199ca3cf101c764788ebf8df5b0e3e00f5538
https://github.com/llvm/llvm-project/commit/ee6199ca3cf101c764788ebf8df5b0e3e00f5538
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[mlir][openacc][NFC] Cleanup hasOnly functions for device_type support (#78800)
Just a cleanup for all the `has.*Only()` function to avoid code
duplication
Commit: ebd4dc42630e201c15894b48c3ea890eaa8c3b18
https://github.com/llvm/llvm-project/commit/ebd4dc42630e201c15894b48c3ea890eaa8c3b18
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
Log Message:
-----------
[asan,test] Make alloca_loop_unpoisoning.cpp robust and fix s390x failure (#78774)
In the test from https://reviews.llvm.org/D7098, `char array[len];` is
32-byte aligned on most targets whether it is instrumented or not
(optimized by StackSafetyAnalysis), due to the the used `*FrameLowering`
being `StackRealignable`.
However, when using `SystemZELFFrameLowering`, an un-instrumented
`char array[len];` is only 8-byte aligned.
Ensure `char array[len];` gets instrumented like what we did to
`alloca_vla_interact.cpp`, to make the test pass on s390x.
Commit: 621bafd5c14cc324612e32c8123ac1ebf1c0530b
https://github.com/llvm/llvm-project/commit/621bafd5c14cc324612e32c8123ac1ebf1c0530b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M openmp/libomptarget/include/Shared/APITypes.h
M openmp/libomptarget/include/Shared/PluginAPI.h
M openmp/libomptarget/include/Shared/PluginAPI.inc
M openmp/libomptarget/include/device.h
M openmp/libomptarget/include/rtl.h
M openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
M openmp/libomptarget/plugins-nextgen/generic-elf-64bit/src/rtl.cpp
M openmp/libomptarget/src/PluginManager.cpp
M openmp/libomptarget/src/device.cpp
M openmp/libomptarget/src/omptarget.cpp
Log Message:
-----------
[Libomptarget] Move target table handling out of the plugins (#77150)
Summary:
This patch removes the bulk of the handling of the
`__tgt_offload_entries` out of the plugins itself. The reason for this
is because the plugins themselves should not be handling this
implementation detail of the OpenMP runtime. Instead, we expose two new
plugin API functions to get the points to a device pointer for a global
as well as a kernel type.
This required introducing a new type to represent a binary image that
has been loaded on a device. We can then use this to load the addresses
as needed. The creation of the mapping table is then handled just in
`libomptarget` where we simply look up each address individually. This
should allow us to expose these operations more generically when we
provide a separate API.
Commit: 76160718df7c1f31ff50a4964d749c2b9d83f9cf
https://github.com/llvm/llvm-project/commit/76160718df7c1f31ff50a4964d749c2b9d83f9cf
Author: OCHyams <orlando.hyams at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
Reapply [hwasan] Update dbg.assign intrinsics in HWAsan pass #78606
llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to update
the second expression.
Fixes #76545
Commit: a859df3b0a099648ec4cd305f22c87ea12ebaac9
https://github.com/llvm/llvm-project/commit/a859df3b0a099648ec4cd305f22c87ea12ebaac9
Author: Dominik Wójt <dominik.wojt at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/modules/std.compat/ctime.inc
M libcxx/modules/std/ctime.inc
M libcxx/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp
M libcxx/test/libcxx/selftest/modules/std.compat-module.sh.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
Log Message:
-----------
[libc++] Add "using-if-exists" to timespec_get in modules (#78686)
Picolibc does not provide timespec_get function. Adding
"using-if-exists" attribute fixes the modules.
This is a follow up patch for
https://github.com/llvm/llvm-project/pull/78580
Commit: 43b13341fbbb718223484a79a539a3c13062f39f
https://github.com/llvm/llvm-project/commit/43b13341fbbb718223484a79a539a3c13062f39f
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LTO.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/cref.s
M lld/test/ELF/linkerscript/symbol-ordering-file2.s
M lld/test/ELF/x86-64-gotpc-no-relax-err.s
Log Message:
-----------
[ELF] Add internal InputFile (#78944)
Based on https://reviews.llvm.org/D45375 . Introduce a new InputFile
kind `InternalKind`, use it for
* `ctx.internalFile`: for linker-defined symbols and some synthesized
`Undefined`
* `createInternalFile`: for symbol assignments and --defsym
I picked "internal" instead of "synthetic" to avoid confusion with
SyntheticSection.
Currently a symbol's file is one of: nullptr, ObjKind, SharedKind,
BitcodeKind, BinaryKind. Now it's non-null (I plan to add an
`assert(file)` to Symbol::Symbol and change `toString(const InputFile
*)`
separately).
Debugging and error reporting gets improved. The immediate user-facing
difference is more descriptive "File" column in the --cref output. This
patch may unlock further simplification.
Currently each symbol assignment gets its own
`createInternalFile(cmd->location)`. Two symbol assignments in a linker
script do not share the same file. Making the file the same would be
nice, but would require non trivial code.
Commit: c083b38007c4895cee8b175bd54d24be9fdb5fc0
https://github.com/llvm/llvm-project/commit/c083b38007c4895cee8b175bd54d24be9fdb5fc0
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
Log Message:
-----------
[builtins][FMV][Apple] Use builtin atomic load/store, instead of libdispatch (#78807)
Commit: 9a90aa01edfc5a56d975658a0cbbfa980a0ef7ed
https://github.com/llvm/llvm-project/commit/9a90aa01edfc5a56d975658a0cbbfa980a0ef7ed
Author: Gareth Williamson <gwllx.dev at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/modules/std.compat/cstdlib.inc
Log Message:
-----------
[libc++][modules] Add using_if_exists attribute (#77559) (#78909)
libc on macOS does not provide at_quick_exit or quick_exit. This allows
modules to build on macOS and defer any errors to usage site of these
symbols.
Fixes: https://github.com/llvm/llvm-project/issues/77559
Commit: 312acdfae1409bee29a33f71306e3ae3e1ea7d66
https://github.com/llvm/llvm-project/commit/312acdfae1409bee29a33f71306e3ae3e1ea7d66
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[AArch64][SME] Take arm_sme.h out of draft (#78961)
Commit: 530c72b498e571f2de4850e7ca4b1558a83742da
https://github.com/llvm/llvm-project/commit/530c72b498e571f2de4850e7ca4b1558a83742da
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
Log Message:
-----------
[TLI] Add missing ArmPL mappings (#78474)
Adds TLI mappings for fixed and scalable vector variants of cospi(f),
fmax(f), ilogb(f) and ldexp(f).
Commit: ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7
https://github.com/llvm/llvm-project/commit/ed760d170f18b3ca9f53f4e4a2e31d82bf0ba3e7
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/lib/abi/CHANGELOG.TXT
Log Message:
-----------
[libc++] Mention __cxa_init_primary_exception in the ABI changelog
Commit: 02f95b77515fe18ed1076b94cbb850ea0cf3c77e
https://github.com/llvm/llvm-project/commit/02f95b77515fe18ed1076b94cbb850ea0cf3c77e
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatIssues.csv
M libcxx/include/__config
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/format
R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.pass.cpp
R libcxx/test/std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
R libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.deprecated.verify.cpp
M libcxx/test/std/utilities/format/format.arguments/format.arg/visit_format_arg.pass.cpp
M libcxx/test/std/utilities/format/format.arguments/format.args/get.pass.cpp
M libcxx/test/support/test_basic_format_arg.h
M libcxx/test/support/test_macros.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
Revert "[libc++][format] P2637R3: Member `visit` (`std::basic_format_arg`) (#76449)"
This reverts commit 7d9b5aa65b09126031e1c2903605a7d34aea4bc1 since
std/utilities/format/format.arguments/format.arg/visit.return_type.pass.cpp
is failing on Windows when building with Clang-cl.
Commit: 0fe20aa45eab5f66ac88776f068b7f41b8204aaf
https://github.com/llvm/llvm-project/commit/0fe20aa45eab5f66ac88776f068b7f41b8204aaf
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/startup/linux/do_start.cpp
Log Message:
-----------
[libc] support PIE relocations (#78993)
For some reasons, we are using `-fpie`
(libc/cmake/modules/LLVMLibCObjectRules.cmake:31) without supporting it.
According to @lntue, some of the hermetic tests are broken without
proper PIE support. This patch implements basic relocations support for
PIE.
Commit: 89aa3355e2366c6cf6ad9ac1f4693ff950d86c30
https://github.com/llvm/llvm-project/commit/89aa3355e2366c6cf6ad9ac1f4693ff950d86c30
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Remove redundant DPVAssigns (#78574)
DPValues are already supported by most of the utilities that remove
redundant debug info after certain passes; the exception to this is
`removeUndefDbgAssignsFromEntryBlock`, which applies only to
llvm.dbg.assigns which were previously unimplemented for DPValues. Now
that DPVAssigns exist, we have to support removing redundant instances
in the same way, which this patch implements.
Commit: 19261390cc3d0e58e0130ee4078fd1049889f510
https://github.com/llvm/llvm-project/commit/19261390cc3d0e58e0130ee4078fd1049889f510
Author: Sam Clegg <sbc at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/ELF/InputFiles.h
A lld/test/wasm/Inputs/start-lib1.s
A lld/test/wasm/Inputs/start-lib2.s
A lld/test/wasm/start-lib.s
M lld/wasm/Driver.cpp
M lld/wasm/InputFiles.h
M lld/wasm/Options.td
M lld/wasm/Symbols.h
Log Message:
-----------
[lld][WebAssembly] Implement `--start-lib`/`--end-lib` (#78821)
Fixes: #77960
Commit: 042a6a1349d512edaaa225380771c64a8d92810a
https://github.com/llvm/llvm-project/commit/042a6a1349d512edaaa225380771c64a8d92810a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.local/ostream.verify.cpp
R libcxx/test/std/time/time.clock/time.clock.system/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
Log Message:
-----------
[libc++][chrono] Fixes (sys|local)_time formatters. (#76456)
- The sys_time formatter is constrained, which was not implemented.
- There is a sys_days formatter which was not implemented.
- The local_time formatter uses the sys_time formatter in its
implementation so "inherited" the same issues.
Fixes: https://github.com/llvm/llvm-project/issues/73849
Fixes: https://github.com/llvm/llvm-project/issues/67983
Commit: 806f43e3cb9ca2bff7c2ae6f1324a062ddb83cac
https://github.com/llvm/llvm-project/commit/806f43e3cb9ca2bff7c2ae6f1324a062ddb83cac
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/__memory/assume_aligned.h
A libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp
Log Message:
-----------
[libc++] Diagnoses insufficiently aligned pointers for std::assume_aligned during constant evaluation (#73775)
This is a `libc++` enhancement when violating alignment assumption for
`__builtin_assume_aligned`.
Fixes #64078
Commit: e390bda9782b461f10433aa6728acf87521e22a5
https://github.com/llvm/llvm-project/commit/e390bda9782b461f10433aa6728acf87521e22a5
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/ELF/Symbols.h
M lld/ELF/Writer.cpp
M lld/test/ELF/allow-shlib-undefined.s
Log Message:
-----------
[ELF] Suppress --no-allow-shlib-undefined diagnostic when a SharedSymbol is overridden by a hidden visibility Defined which is later discarded
Commit 1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40 unexpectedly strengthened
--no-allow-shlib-undefined to catch a kind of ODR violation.
More precisely, when all three conditions are met, the new
`--no-allow-shlib-undefined` code reports an error.
* There is a DSO undef that has been satisfied by a definition from
another DSO.
* The `SharedSymbol` is overridden by a non-exported (usually of hidden
visibility) definition in a relocatable object file (`Defined`).
* The section containing the `Defined` is garbage-collected (it is not
part of `.dynsym` and is not marked as live).
Technically, the hidden Defined in the executable can be intentional: it
can be meant to remain non-exported and not interact with any dynamic
symbols of the same name that might exist in other DSOs. To allow for
such use cases, allocate a new bit in
Symbol and relax the --no-allow-shlib-undefined check to before
commit 1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40.
Commit: 7378fb30645ad5398491acea3960a8115d1b171c
https://github.com/llvm/llvm-project/commit/7378fb30645ad5398491acea3960a8115d1b171c
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Protect the libc++ implementation from CUDA SDK's __noinline__ macro (#73838)
The CUDA SDK contains an unfortunate definition for the `__noinline__`
macro. This patch works around it by using `__attribute__((noinline))`
instead of `__attribute__((__noinline__))` on CUDA. We are still waiting
for a long-term resolution to this issue in NVIDIA/cccl#1235.
Commit: d7fb9eb818d22085c7dae0ce9a8be7ade963d7e5
https://github.com/llvm/llvm-project/commit/d7fb9eb818d22085c7dae0ce9a8be7ade963d7e5
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/X86/select-optimize.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Handle DPValues in SelectOptimize (#79005)
When there are debug intrinsics in-between groups of select
instructions, select-optimise sinks them into the "end" block. This
needs to be replicated for DPValues, the non-instruction variable
assignment object. Implement that and add a RUN line to a test that was
sensitive to this to ensure it gets tested.
(The exact range of instructions being transformed here is a little
fiddly, hence I've gone with a helper lambda).
Commit: c0a74ad90c34de5e17f713cd2a97223a425dfeb7
https://github.com/llvm/llvm-project/commit/c0a74ad90c34de5e17f713cd2a97223a425dfeb7
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/sys-queue-macros.h
Log Message:
-----------
[libc] Use QUEUE_TYPEOF in STAILQ_LAST (#79011)
This is to ensure this macro is compatible with both C and C++.
Commit: 3eb4178b9cc321da5b74b9bba1a5ad825531e474
https://github.com/llvm/llvm-project/commit/3eb4178b9cc321da5b74b9bba1a5ad825531e474
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/canonicalize.mlir
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][openacc] Update acc.loop to be a proper loop like operation (#67355)
The initial design of the `acc.loop` was to be an operation that
encapsulates a loop like operation. This was an early design and we now
want to change it so the `acc.loop` operation becomes a real loop-like
operation by implementing the LoopLikeInterface.
Differential Revision: https://reviews.llvm.org/D159229
This patch is just moved from Phabricator to github
Commit: 5062a178bf9dd46008b8f7a182facb6152c46889
https://github.com/llvm/llvm-project/commit/5062a178bf9dd46008b8f7a182facb6152c46889
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/locations.f90
Log Message:
-----------
[flang][openacc] Lower loop directive to the new acc.loop op design (#65417)
acc.loop was redesigned in https://reviews.llvm.org/D159229. This patch
updates the lowering to match the new op.
DO CONCURRENT construct will be added in a follow up patch.
Note that the pre-commit ci will fail until D159229 is merged.
Depends on #67355
Commit: f4c2ee12684a6b4857c9e6777ba53e02555978ba
https://github.com/llvm/llvm-project/commit/f4c2ee12684a6b4857c9e6777ba53e02555978ba
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
Log Message:
-----------
[RemoveDIs] Remove tests for redundant DPVAssigns until DPVAssigns are enabled
This patch fixes commit 89aa3355, which added tests for
the removal of redundant DPVAssigns; unlike other cases where
adding tests for DPVAssigns before they are enabled is harmless,
these tests require them to be enabled, so must be deleted until
we enable them.
Fixes failures on llvm-new-debug-iterators buildbot:
https://lab.llvm.org/buildbot/#/builders/275/builds/3581
Commit: 5ce286849a0cc605210031411265c2a84fc6c633
https://github.com/llvm/llvm-project/commit/5ce286849a0cc605210031411265c2a84fc6c633
Author: Mingming Liu <mingmingl at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/test/Instrumentation/cgprofile.ll
Log Message:
-----------
[CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610)
- With PGO, indirect call edges are constructed using value profiles, and the profile address is mapped to a function's PGO name. The PGO name is computed using a functions linkage before LTO internalization or global promotion.
- With ThinLTO, local functions [could be
promoted](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp#L288) to have external linkage; and with
[full](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L1328)
or
[thin](https://github.com/llvm/llvm-project/blob/2663d2cb9c9361f0b234c40a0f50c7ba0748eb26/llvm/lib/LTO/LTO.cpp#L448)
LTO, global functions could be internalized. Edge construction should use a function's PGO name before its linkage is updated.
Commit: 4207ad57707f07208dfb1d7c79889e1372c396ab
https://github.com/llvm/llvm-project/commit/4207ad57707f07208dfb1d7c79889e1372c396ab
Author: azhan92 <alisonxzhang at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/src/new.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libc++] Fix noexcept behaviour of operator new helper functions (#74337)
This patch removes the noexcept specifier introduced in #69407 since the
Standard allows a new handler to throw an exception of type bad_alloc
(or derived from it). With the noexcept specifier on the helper
functions, we would immediately terminate the program.
The patch also adds tests for the case that had regressed.
Co-authored-by: Alison Zhang <alisonzhang at ibm.com>
Commit: a301fb11014f9cfdf4ee8cada173c46a7677d9d3
https://github.com/llvm/llvm-project/commit/a301fb11014f9cfdf4ee8cada173c46a7677d9d3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
[clang][modules] Print library module manifest path. (#76451)
This implements a way for the compiler to find the modules.json
associated with the C++23 Standard library modules.
This is based on a discussion in SG15. At the moment no Standard library
installs this manifest. #75741 adds this feature in libc++.
Commit: 04952c5bec69c197ea6ffb718ae80fcf78c7828a
https://github.com/llvm/llvm-project/commit/04952c5bec69c197ea6ffb718ae80fcf78c7828a
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement remaining 'simple' int-expr clauses.
'num_gangs', 'num_workers', 'device_num', and 'default_async' are all
exactly the same (for the purposes of parsing) as 'vector_length', so
implement these the same way.
Commit: 0cea54a382f3187acbe3e81bd0fd7cf2cb1077b8
https://github.com/llvm/llvm-project/commit/0cea54a382f3187acbe3e81bd0fd7cf2cb1077b8
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/Watchpoint.h
M lldb/include/lldb/Utility/Broadcaster.h
M lldb/source/Breakpoint/BreakpointList.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Breakpoint/WatchpointList.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Utility/Broadcaster.cpp
Log Message:
-----------
[lldb][NFCI] Remove EventData* param from BroadcastEvent (#78773)
BroadcastEvent currently takes its EventData* param and shoves it into
an Event object, which takes ownership of the pointer and places it into
a shared_ptr to manage the lifetime.
Instead of relying on `new` and passing raw pointers around, I think it
would make more sense to create the shared_ptr up front.
Commit: 414df7051ac90f186fac9d3d8968aa827eceb697
https://github.com/llvm/llvm-project/commit/414df7051ac90f186fac9d3d8968aa827eceb697
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Fix the crash introduced by the unsafe invocation of span::data warning (#78815)
The patch fixes the crash introduced by the DataInvocation warning
gadget designed to warn against unsafe invocations of span::data method.
It also now considers the invocation of span::data method inside
parenthesis.
Radar: 121223051
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 16d2583254284611843b2517c8e9f9d6efe8c627
https://github.com/llvm/llvm-project/commit/16d2583254284611843b2517c8e9f9d6efe8c627
Author: Valentin Clement <clementval at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/test/Lower/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Fix test with new loop design
Commit: 1be0d9d7d88a9bdabe6ef4d81720ddf4cf6f71c1
https://github.com/llvm/llvm-project/commit/1be0d9d7d88a9bdabe6ef4d81720ddf4cf6f71c1
Author: Dani <DanielKristofKiss at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
Log Message:
-----------
[AArch64][Clang] Fix linker error for function multiversioning (#74358)
AArch64 part of https://github.com/llvm/llvm-project/pull/71706.
Default version is now mangled with .default.
Resolver for the TargetVersion need to be emitted from the
CodeGenModule::EmitMultiVersionFunctionDefinition.
Commit: 7c53e9f6671b44ffd2c36d8c6f0f05456a6222ea
https://github.com/llvm/llvm-project/commit/7c53e9f6671b44ffd2c36d8c6f0f05456a6222ea
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-cond-dbg.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-1.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-5.ll
M llvm/test/Transforms/LoopStrengthReduce/optimizemax_debugloc.ll
M llvm/test/Transforms/LoopStrengthReduce/pr12018.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51656.ll
M llvm/test/Transforms/LoopStrengthReduce/pr52161.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Add support for DPValues to LoopStrengthReduce (#78706)
This patch trivially extends support for DbgValueInst recovery to
DPValues in LoopStrengthReduce; they are handled identically, so this is
mostly done by reusing the DbgValueInst code (using templates or
auto-parameter lambdas to reduce actual code duplication).
Commit: 6d5f8d3e6e473a6890f232dba8b14b7b46140558
https://github.com/llvm/llvm-project/commit/6d5f8d3e6e473a6890f232dba8b14b7b46140558
Author: Kevin Frei <kevinfrei at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/lib/Debuginfod/Debuginfod.cpp
Log Message:
-----------
Added settings for DEBUGINFOD cache location and timeout (#78605)
I've been working on more/better configuration for improving DEBUGINFOD
support. This is the first (and easiest) slice of the work.
I've added `timeout` and `cache-path` settings that can override the
DEBUGINFOD library defaults (and environment variables.) I also renamed
the `plugin.symbol-locator.debuginfod.server_urls` setting to
`server-urls` to be more consistent with the rest of LLDB's settings
(the underscore switch is switched to a hyphen)
I've got a few tests that validate the cache-path setting (as a
side-effect), but they've exposed a few bugs that I'll be putting up a
separate PR for (which will include the tests).
---------
Co-authored-by: Kevin Frei <freik at meta.com>
Commit: d83a3ea529575f17ea6ea608a43bca0b3065dcfe
https://github.com/llvm/llvm-project/commit/d83a3ea529575f17ea6ea608a43bca0b3065dcfe
Author: Sanjay Marreddi <sanjay.mareddi at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/regex
M libcxx/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp
Log Message:
-----------
[libc++] Fix std::regex_search to match $ alone with match_default flag (#78845)
Using std::regex_search with the regex_constant match_default and a
simple regex pattern `$` is expected to match general strings such as
_"a", "ab", "abc"..._ at `[last, last)` positions. But, the current
implementation fails to do so.
Fixes #75042
Commit: 73ff017c9b39d8a1ecc350f0572e3274dd4c9146
https://github.com/llvm/llvm-project/commit/73ff017c9b39d8a1ecc350f0572e3274dd4c9146
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
Log Message:
-----------
[Sema] Fix a warning
This patch fixes:
clang/lib/Sema/AnalysisBasedWarnings.cpp:2269:21: error: unused
variable 'subExpr' [-Werror,-Wunused-variable]
Commit: bb28442c0b9790473363cbca2867630262358018
https://github.com/llvm/llvm-project/commit/bb28442c0b9790473363cbca2867630262358018
Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/lib/CodeGen/PatchableFunction.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
A llvm/test/CodeGen/X86/patchable-prologue-tailcall.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
Log Message:
-----------
[CodeGen][X86] Fix lowering of tailcalls when `-ms-hotpatch` is used (#77245)
Previously, tail jump pseudo-opcodes were skipped by the
`encodeInstruction()` call inside `X86AsmPrinter::LowerPATCHABLE_OP`.
This caused emission of a 2-byte NOP and dropping of the tail jump.
With this PR, we change `PATCHABLE_OP` to not wrap the first
`MachineInstr` anymore, but inserting itself before,
leaving the instruction unaltered. At lowering time in `X86AsmPrinter`,
we now "look ahead" for the next non-pseudo `MachineInstr` and
lower+encode it, to inspect its size. If the size is below what
`PATCHABLE_OP` expects, it inserts NOPs; otherwise it does nothing. That
way, now the first `MachineInstr` is always lowered as usual even if
`"patchable-function"="prologue-short-redirect"` is used.
Fixes https://github.com/llvm/llvm-project/issues/76879,
https://github.com/llvm/llvm-project/issues/76958 and
https://github.com/llvm/llvm-project/issues/59039
Commit: 309dcc112b1d3f0a24ea67e5b0377c649637260f
https://github.com/llvm/llvm-project/commit/309dcc112b1d3f0a24ea67e5b0377c649637260f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port a80e65e00ada7
See here for context:
https://github.com/llvm/llvm-project/pull/65534#issuecomment-1904633461
Commit: bcfdab87052116ce7bf2a9d9b2b1cc2e40a43618
https://github.com/llvm/llvm-project/commit/bcfdab87052116ce7bf2a9d9b2b1cc2e40a43618
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/OpenACC.cpp:1964:15: error: unused variable
'loopDirective' [-Werror,-Wunused-variable]
Commit: bfd12f39b16e7ba2c342e120b925499f8504f5b3
https://github.com/llvm/llvm-project/commit/bfd12f39b16e7ba2c342e120b925499f8504f5b3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
Log Message:
-----------
[lldb][libc++] Adds system_clock data formatters. (#78609)
Commit: f10ec8c77403fd722b3f50710cb73757da4383e4
https://github.com/llvm/llvm-project/commit/f10ec8c77403fd722b3f50710cb73757da4383e4
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/riscv/FMA.h
M libc/src/__support/FPUtil/riscv/sqrt.h
Log Message:
-----------
[libc][riscv] Check if we have F or D extension before using them (#79036)
We shouldn't be using instructions that require F or D extensions
unconditionally before checking if those instructions are available.
Commit: 0dd72eb269dd485b98afba2c58a1d747db53dcad
https://github.com/llvm/llvm-project/commit/0dd72eb269dd485b98afba2c58a1d747db53dcad
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'vector' and 'worker' cluase argument parsing
Both of the clauses 'vector' and 'worker' have an optional 'special'
word followed by an int-expr. The arguments list is optional, as is the
special word, but if the parens are included, an int-expr is required.
This patch implements parsing for both.
Commit: 1e2a4ccb6237b6db9db7dc3fd11a94410ec9b0df
https://github.com/llvm/llvm-project/commit/1e2a4ccb6237b6db9db7dc3fd11a94410ec9b0df
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
A clang/test/Sema/warn-infinity-nan-disabled-win.cpp
Log Message:
-----------
[CLANG] Add warning when INF or NAN are used in a binary operation or as function argument in fast math mode. (#76873)
Check for operations using INF or NaN when in ffast-math mode and
generate a warning.
Commit: 02aa6956b5b6c92f3d4aea0aa466ed0d33343335
https://github.com/llvm/llvm-project/commit/02aa6956b5b6c92f3d4aea0aa466ed0d33343335
Author: Jake Egan <5326451+jakeegan at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/test/Index/Core/designated-inits.c
M clang/test/Index/Core/external-source-symbol-attr-cxx.cpp
M clang/test/Index/Core/external-source-symbol-attr.m
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/Core/index-instantiated-source.cpp
M clang/test/Index/Core/index-source-invalid-name.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/Core/index-source.m
M clang/test/Index/Core/index-source.mm
M clang/test/Index/Core/index-subkinds.m
M clang/test/Index/Core/index-with-module.m
M clang/test/Index/ms-property.cpp
M clang/test/Index/using_if_exists.cpp
M clang/tools/libclang/CMakeLists.txt
Log Message:
-----------
[clang][AIX] Only export libclang.map symbols from libclang (#78748)
This will prevent unnecessary symbols being exported in libclang, which
could cause issues with non-unique objects.
Commit: 4f21fb84479286ddc781d73f8df152f81a8264e7
https://github.com/llvm/llvm-project/commit/4f21fb84479286ddc781d73f8df152f81a8264e7
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Profile/c-general.c
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/profile/InstrProfiling.h
A compiler-rt/test/profile/Linux/instrprof-weak-symbol.c
A compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
[PGO] Reland PGO's Counter Reset and File Dumping APIs #76471 (#78285)
https://github.com/llvm/llvm-project/pull/76471 caused buildbot failures
on Windows. For more details, see
https://github.com/llvm/llvm-project/issues/77546.
This PR revises the test and relands
https://github.com/llvm/llvm-project/pull/76471.
Commit: e3172e841899779caf461cee97826940dca806e7
https://github.com/llvm/llvm-project/commit/e3172e841899779caf461cee97826940dca806e7
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/global-constructors.mlir
Log Message:
-----------
[mlir] Update "UNSUPPORTED" directive in a test
Add missing "arm64" target to the list of unsupported targets ("arm64"
is used on Darwin).
Commit: 83f82a9efdb4492659396b9a0bcdf64371752cd9
https://github.com/llvm/llvm-project/commit/83f82a9efdb4492659396b9a0bcdf64371752cd9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/include/BUILD.gn
Log Message:
-----------
[gn] port 4f21fb844792
Commit: 0ab9c382d4ca070cf2335030a689b505bbd967c6
https://github.com/llvm/llvm-project/commit/0ab9c382d4ca070cf2335030a689b505bbd967c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 06c3c3b67cb0
Commit: 02a28ee8d981b2a8416c50e41c74cb21e73b8340
https://github.com/llvm/llvm-project/commit/02a28ee8d981b2a8416c50e41c74cb21e73b8340
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Features.def
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/has_extension_cxx.cpp
Log Message:
-----------
[Clang] Update feature test macros for Clang 18 (#78991)
* Set `__cpp_auto_cast`, as per
https://github.com/cplusplus/CWG/issues/281
* Support `__has_extension(cxx_generalized_nttp)` in C++20 as the
feature isn't stable enough for a feature test macro
* Support `__has_extension(cxx_explicit_this_parameter)` in c++23 as the
feature isn't stable enough for a feature test macro
Commit: 263efb044add93b946ca4a96a8f1699b3eb9ae73
https://github.com/llvm/llvm-project/commit/263efb044add93b946ca4a96a8f1699b3eb9ae73
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
R llvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-descriptor.ll
R llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-objects.ll
M llvm/tools/lli/CMakeLists.txt
R llvm/tools/lli/ExecutionUtils.cpp
R llvm/tools/lli/ExecutionUtils.h
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Revisit Orc debug output tests (#76822)
Integrate in-memory debug-info dumps into the `--orc-lazy-debug`
command-line option instead of exposing built-in functions to be called
from JITed code. This reduces overall amount of code (removing
`ExecutionUtils.cpp`) and seems cleaner anyway.
All existing items of `OrcDumpKind` work on IR level and run in the
IR-transform step of the JIT. The newly added `DumpDebugDescriptor` and
`DumpDebugObjects` must run after debug-registration and thus are
deferred to the Object-transform step of the JIT. This separation is the
major side-effect of the patch.
Commit: 2d373143ad69910c56bbc7161224d365813a95b0
https://github.com/llvm/llvm-project/commit/2d373143ad69910c56bbc7161224d365813a95b0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/lli/BUILD.gn
Log Message:
-----------
[gn build] Port 263efb044add
Commit: b00aa1c77b0aade04adf89336c52d415a71c9477
https://github.com/llvm/llvm-project/commit/b00aa1c77b0aade04adf89336c52d415a71c9477
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
R llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
Revert "Reapply [hwasan] Update dbg.assign intrinsics in HWAsan pass … (#79053)
…#78606"
This reverts commit 76160718df7c1f31ff50a4964d749c2b9d83f9cf because it
caused an assertion failure in emitDbgValue function in Codegen in Clang
Linux toolchain builders for Fuchsia.
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8758181086086431185/+/u/clang/build/stdout
Commit: 364a5b5b850a4f3e564da4bde080567a5d1e14d2
https://github.com/llvm/llvm-project/commit/364a5b5b850a4f3e564da4bde080567a5d1e14d2
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/cx-complex-range.c
A clang/test/CodeGen/smiths-complex-div.c
M clang/test/Driver/range.c
Log Message:
-----------
Fix a bug in implementation of Smith's algorithm used in complex div. (#78330)
This patch fixes a bug in Smith's algorithm (thanks to @andykaylor who
detected it) and makes sure that last option in command line rules.
Commit: 9f8ccf50dde17adae1368a0cf41edadc8327aaf4
https://github.com/llvm/llvm-project/commit/9f8ccf50dde17adae1368a0cf41edadc8327aaf4
Author: Julian Schmidt <44101708+5chmidti at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
Log Message:
-----------
[clang-tidy] fix misc-const-correctnes false-positive for fold expressions (#78320)
The check no longer emits a diagnostic for non-parameter-pack
variables in C++17 fold expressions.
The operator used is type-dependent because of the parameter pack
and can therefore not be guaranteed to not mutate the variable.
Fixes: #70323
Commit: 3f3a3e873a684e924d9d873f9e094e217e323f2a
https://github.com/llvm/llvm-project/commit/3f3a3e873a684e924d9d873f9e094e217e323f2a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A llvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
R llvm/test/ExecutionEngine/OrcLazy/debug-descriptor.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
R llvm/test/ExecutionEngine/OrcLazy/debug-objects.ll
M llvm/tools/lli/CMakeLists.txt
A llvm/tools/lli/ExecutionUtils.cpp
A llvm/tools/lli/ExecutionUtils.h
M llvm/tools/lli/lli.cpp
Log Message:
-----------
Revert "[lli] Revisit Orc debug output tests" (#79055)
Reverts llvm/llvm-project#76822
This fails to build with gcc 7.5:
```
llvm/tools/lli/lli.cpp:1087:16: error: could not convert ‘Obj’ from ‘std::unique_ptr<llvm::MemoryBuffer>’ to ‘llvm::Expected<std::unique_ptr<llvm::MemoryBuffer> >’
return Obj;
^~~
```
Commit: fa4780fa6cc36188b84b2a977ac15351c39d45dd
https://github.com/llvm/llvm-project/commit/fa4780fa6cc36188b84b2a977ac15351c39d45dd
Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/OpenMP/force-usm.c
M openmp/libomptarget/test/lit.cfg
A openmp/libomptarget/test/offloading/force-usm.cpp
Log Message:
-----------
[OpenMP][USM] Introduces -fopenmp-force-usm flag (#76571)
This flag forces the compiler to generate code for OpenMP target regions
as if the user specified the #pragma omp requires unified_shared_memory
in each source file.
The option does not have a -fno-* friend since OpenMP requires the
unified_shared_memory clause to be present in all source files. Since
this flag does no harm if the clause is present, it can be used in
conjunction. My understanding is that USM should not be turned off
selectively, hence, no -fno- version.
This adds a basic test to check the correct generation of double
indirect access to declare target globals in USM mode vs non-USM mode.
Which I think is the only difference observable in code generation.
This runtime test checks for the (non-)occurence of data movement between host
and device. It does one run without the flag and one with the flag to
also see that both versions behave as expected. In the case w/o the new
flag data movement between host and device is expected. In the case with
the flag such data movement should not be present / reported.
Commit: 80b67eebd2ca55c571031ee8a6d23ce3c24a86db
https://github.com/llvm/llvm-project/commit/80b67eebd2ca55c571031ee8a6d23ce3c24a86db
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add Zic64b, Ziccamoa, Ziccif, Zicclsm, Ziccrse, and Za64rs to sifive-p450. (#79030)
Commit: 7c8030e9bbad913a6a87ddf9ea4d69ab33ffb6c4
https://github.com/llvm/llvm-project/commit/7c8030e9bbad913a6a87ddf9ea4d69ab33ffb6c4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
Log Message:
-----------
[RISCV] Combine HasStdExtZfhOrZfhmin and HasStdExtZfhmin. NFC (#78826)
I kept the AssemblerPredicate and diagnostic from HasStdExtZfhOrZfhmin
that mentions both extensions, but replaced all uses with
HasStdExtZfhmin.
Same for the Zhinxmin equivalent.
Commit: 4cb90ca8f8bfbe8dc938a1b8b821d98640cbab4c
https://github.com/llvm/llvm-project/commit/4cb90ca8f8bfbe8dc938a1b8b821d98640cbab4c
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
Log Message:
-----------
[Thumb,ELF] Fix access to dso_preemptable __stack_chk_guard with static relocation model (#78950)
PR #70014 fixes A32 to use GOT for dso_preemptable `__stack_chk_guard`
with static relocation model (e.g. -fPIE/-fPIC LTO compiles with -no-pie
linking).
This patch fixes such `__stack_chk_guard` access for Thumb1 and Thumb2.
Note: `t2LDRLIT_ga_pcrel` is only for ELF. mingw needs
`.refptr.__stack_chk_guard` (https://reviews.llvm.org/D92738).
Fix #64999
Commit: 181c4c331a0c661fe90d5e3803049232022aa582
https://github.com/llvm/llvm-project/commit/181c4c331a0c661fe90d5e3803049232022aa582
Author: Jan Patrick Lehr <jplehr at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M openmp/libomptarget/test/offloading/force-usm.cpp
Log Message:
-----------
[OpenMP][Fix] Require USM capability in force-usm test (#79059)
This should fix the AMDGPU buildbot breakage from #76571
Commit: 95c1039eca1fd32bd7f48db2e82c4294564d75d7
https://github.com/llvm/llvm-project/commit/95c1039eca1fd32bd7f48db2e82c4294564d75d7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add TuneNoDefaultUnroll to sifive-p450.
Commit: 8789b7e5559c0c419d5247f60866e29ab3b651a8
https://github.com/llvm/llvm-project/commit/8789b7e5559c0c419d5247f60866e29ab3b651a8
Author: Alan Phipps <a-phipps at ti.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/docs/SourceBasedCodeCoverage.rst
M llvm/docs/CoverageMappingFormat.rst
Log Message:
-----------
[clang][NFC] Update top-level Code Coverage documentation to include MC/DC.
Commit: c532033e0fe7aa7f88127fcee72f67e1af399136
https://github.com/llvm/llvm-project/commit/c532033e0fe7aa7f88127fcee72f67e1af399136
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[NFC][Clang] Fix compile warning caused by #78330
Commit: cd6ed95e48354d14e59871f3c3f3a8665def22c8
https://github.com/llvm/llvm-project/commit/cd6ed95e48354d14e59871f3c3f3a8665def22c8
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
R llvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-descriptor.ll
R llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-objects.ll
M llvm/tools/lli/CMakeLists.txt
R llvm/tools/lli/ExecutionUtils.cpp
R llvm/tools/lli/ExecutionUtils.h
M llvm/tools/lli/lli.cpp
Log Message:
-----------
Reland "[lli] Revisit Orc debug output tests (#79055)"
Integrate in-memory debug-info dumps into the `--orc-lazy-debug`
command-line option instead of exposing built-in functions to be called
from JITed code. This reduces overall amount of code (removing
`ExecutionUtils.cpp`) and seems cleaner anyway.
All existing items of `OrcDumpKind` work on IR level and run in the
IR-transform step of the JIT. The newly added `DumpDebugDescriptor` and
`DumpDebugObjects` must run after debug-registration and thus are
deferred to the Object-transform step of the JIT. This separation is the
major side-effect of the patch.
The original commit 263efb044add93b9 was reverted in #79055, because
the gcc 7.5 bot had found a missing std::move().
Commit: cc2c8ab21fd9b831799bff9ca99be2a2243d23b9
https://github.com/llvm/llvm-project/commit/cc2c8ab21fd9b831799bff9ca99be2a2243d23b9
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/PowerPC/sms-regpress.mir
Log Message:
-----------
Require asserts for llvm/test/CodeGen/PowerPC/sms-regpress.mir.
Commit: 8675952583b1c639e6bcbe2869aecda1d01320f2
https://github.com/llvm/llvm-project/commit/8675952583b1c639e6bcbe2869aecda1d01320f2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV] Add coverage for shuffles splitable using exact VLEN
Test coverage for an upcoming transform.
Commit: eaef645a5836df56b53800383022a3a384305c6b
https://github.com/llvm/llvm-project/commit/eaef645a5836df56b53800383022a3a384305c6b
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/CodeGen/Thumb/stack_guard_remat.ll
Log Message:
-----------
[test] Update stack_guard_remat.ll
Commit: fe0ec2c91cfbf2aad2a61e402f21b771db685b90
https://github.com/llvm/llvm-project/commit/fe0ec2c91cfbf2aad2a61e402f21b771db685b90
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] Const-ize `MCDCRecordProcessor` stuff (#78918)
The life of `MCDCRecordProcessor`'s instance is short. It may accept
`const` objects to process.
On the other hand, the life of `MCDCBranches` is shorter than `Record`.
It may be rewritten with reference, rather than copying.
Commit: 672fb5892eb1dd977fd36149fd45d794103b0408
https://github.com/llvm/llvm-project/commit/672fb5892eb1dd977fd36149fd45d794103b0408
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove extra semicolons. NFC
Commit: 1000cefc049e313a532fc9df2a48d80826fc80c7
https://github.com/llvm/llvm-project/commit/1000cefc049e313a532fc9df2a48d80826fc80c7
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
Log Message:
-----------
[AMDGPU] Remove s_set_inst_prefetch_distance support from GFX12 (#78786)
This instruction is not supported by GFX12.
Commit: 424b9cf41abf376cc7a34640f5f451c91714f77b
https://github.com/llvm/llvm-project/commit/424b9cf41abf376cc7a34640f5f451c91714f77b
Author: Alan Phipps <a-phipps at ti.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/test/Profile/c-mcdc-logicalop-ternary.c
Log Message:
-----------
[Coverage][clang] Ensure bitmap for ternary condition is updated before visiting children (#78814)
This is a fix for MC/DC issue https://github.com/llvm/llvm-project/issues/78453 in which a ConditionalOperator that evaluates a complex condition was incorrectly updating its global bitmap after visiting its LHS and RHS children. This
was wrong because if the LHS or RHS also evaluate a complex condition, the MCDC temporary bitmap value will get corrupted. The fix is to ensure that the bitmap is updated prior to visiting the LHS and RHS.
Commit: b83b8d3fd17885438b0ea154e07088d877d293a8
https://github.com/llvm/llvm-project/commit/b83b8d3fd17885438b0ea154e07088d877d293a8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/BOLT.cmake
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)
This reverts commit 6c47419703acfcd7dcca9e30ab9dba6a7a42f977.
Default to CLANG_BOLT=OFF
Test Plan:
Build a regular Clang build.
Commit: 1d5c16d7805806e920feee2b4ec93d5800293837
https://github.com/llvm/llvm-project/commit/1d5c16d7805806e920feee2b4ec93d5800293837
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc] default enable -ftrivial-auto-var-init=pattern (#78776)
Usage of uninitialized memory is a top memory safety issue in C++ codebases.
Help mitigate this somewhat by default initialize stack allocations to a
pattern (0xAA repeating).
Clang has received optimizations to sink these into control flow paths that
access such values to minimize the overhead of these added initializations.
If there's a measurable slowdown, we can add
-ftrivial-auto-var-init-max-size=<N> for some value N bytes if we have any
large stack allocations, or add attribute uninitialized to any variable
declarations.
Unsupported until GCC 12.1 / Clang 8.
Increases file size of libc.a from a full build by +8.79Ki (+0.2%).
Commit: 6953b367027e4234607a6718a0a1d57eb52ef57e
https://github.com/llvm/llvm-project/commit/6953b367027e4234607a6718a0a1d57eb52ef57e
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/CMakeLists.txt
M clang/cmake/caches/BOLT.cmake
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/bolt.lit.cfg
M clang/utils/perf-training/bolt.lit.site.cfg.in
M clang/utils/perf-training/perf-helper.py
Log Message:
-----------
Revert "Reland [Clang][CMake] Support perf, LBR, and Instrument CLANG_BOLT options (#69133)"
This reverts commit b83b8d3fd17885438b0ea154e07088d877d293a8.
Breaks buildbots e.g.
https://lab.llvm.org/buildbot/#/builders/225/builds/29950
Commit: 042bb2850dcdd0b8a519f51678f2e40d0a97f548
https://github.com/llvm/llvm-project/commit/042bb2850dcdd0b8a519f51678f2e40d0a97f548
Author: Dimitry Andric <dimitry at andric.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Log Message:
-----------
[tsan] Fix build for FreeBSD and NetBSD after 0784b1eefa36 (#79019)
In 0784b1eefa36 some code for re-execution was moved to
`ReExecIfNeeded()`, but also extended with a few Linux-only features.
This leads to compile errors on FreeBSD, or other non-Linux platforms:
compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:247:25: error: use of
undeclared identifier 'personality'
247 | int old_personality = personality(0xffffffff);
| ^
compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:249:54: error: use of
undeclared identifier 'ADDR_NO_RANDOMIZE'
249 | (old_personality != -1) && ((old_personality & ADDR_NO_RANDOMIZE)
== 0);
| ^
compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:281:46: error: use of
undeclared identifier 'ADDR_NO_RANDOMIZE'
281 | CHECK_NE(personality(old_personality | ADDR_NO_RANDOMIZE), -1);
| ^
Surround the affected part with a `#if SANITIZER_LINUX` block for now.
Commit: be0c8098364b4bc9b210db65f5799bf37aefb605
https://github.com/llvm/llvm-project/commit/be0c8098364b4bc9b210db65f5799bf37aefb605
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[NFC][Debuginfo][RemoveDIs] Switch an insertion to use iterators
With the soon-to-land new-debug-info storage model, it's going to be
important to use iterators for instruction insertion rather than
instruction pointers. This (single line in instcombine) is the last place
that trips up our internal testing for debug-info, where we insert a PHI
and it should be using an iterator.
Commit: d37d1c8deaa34216248ad51e549a701852e29fa3
https://github.com/llvm/llvm-project/commit/d37d1c8deaa34216248ad51e549a701852e29fa3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang][driver] deprecate manual usage of -lFortran_main (#79016)
Intended to warn users of the 18.x release not to do this.
A better solution should be found for the 19.x release. See discussion
in https://github.com/llvm/llvm-project/pull/78152.
Unfortunately there is no warning on Windows currently. I am rushing to
get this landed before 18.x branches.
Commit: ee0b4d9681047f77d1f7bf53dc185fe140700464
https://github.com/llvm/llvm-project/commit/ee0b4d9681047f77d1f7bf53dc185fe140700464
Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int.cpp
Log Message:
-----------
[clang-tidy] Ignore user-defined literals in google-runtime-int (#78859)
User-defined literals do not accept u?intXX(_t)? variables. So the check
should not emit a warning.
Fixes #54546 #25214
Commit: 50e2581a199da9702841f103eefca8dca2fc7b4f
https://github.com/llvm/llvm-project/commit/50e2581a199da9702841f103eefca8dca2fc7b4f
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M flang/docs/Directives.md
M flang/include/flang/Common/Fortran.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr03.f90
Log Message:
-----------
[flang] Allow assumed-shape element pass to dummy arg with ignore_tkr (#78196)
This is allowed by gfortran and ifort with `![GCC|DEC]$ ATTRIBUTES
NO_ARG_CHECK`
Commit: ff9627348e89b9e1a56714448f33dd42cf847777
https://github.com/llvm/llvm-project/commit/ff9627348e89b9e1a56714448f33dd42cf847777
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/tools/llc/llc.cpp
M llvm/tools/opt/opt.cpp
Log Message:
-----------
[NFC][DebugInfo] Set a testing flag to be hidden
This flag (--try-experimental-debuginfo-iterators) only exists for testing
purposes, to get some RUNlines running in new-debug-info mode before it's
properly supported. The flag isn't something that's going to be useful to
people using llvm 18, so hide it from the options list.
Commit: 3ab8d2aac7bc2dd45dda3db0b8a71fd27eefb749
https://github.com/llvm/llvm-project/commit/3ab8d2aac7bc2dd45dda3db0b8a71fd27eefb749
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
A compiler-rt/test/builtins/Unit/sme-string-test.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/unittests/lit.common.unit.configured.in
Log Message:
-----------
[AArch64][compiler-rt] Add memcpy, memset, memmove, memchr builtins. (#77496)
Add naive implementation of memcpy, memset, memmove, memchr for SME
targets.
Co-authored-by: David Sherwood <david.sherwood at arm.com>
Commit: d922c82447e51921ee0545c398f60eb3a6ee24a3
https://github.com/llvm/llvm-project/commit/d922c82447e51921ee0545c398f60eb3a6ee24a3
Author: Anlun Xu <anlunx at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[Blaze] Fix build file
Commit: a2d68b4bece54bcfa7bfde1e80058ab19b6d1775
https://github.com/llvm/llvm-project/commit/a2d68b4bece54bcfa7bfde1e80058ab19b6d1775
Author: David Green <david.green at arm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/CodeGen/AArch64/selectopt.ll
Log Message:
-----------
[SelectOpt] Add handling for Select-like operations. (#77284)
Some operations behave like selects. For example `or(zext(c), y)` is the
same as select(c, y|1, y)` and instcombine can canonicalize the select
to the or form. These operations can still be worthwhile converting to
branch as opposed to keeping as a select or or instruction.
This patch attempts to add some basic handling for them, creating a
SelectLike abstraction in the select optimization pass. The backend can
opt into handling `or(zext(c),x)` as a select if it could be profitable,
and the select optimization pass attempts to handle them in much the
same way as a `select(c, x|1, x)`. The Or(x, 1) may need to be added as
a new instruction, generated as the or is converted to branches.
This helps fix a regression from selects being converted to or's
recently.
Commit: 7117a4e8409018f31c00b186ac4627586d839e59
https://github.com/llvm/llvm-project/commit/7117a4e8409018f31c00b186ac4627586d839e59
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/Bitcode/BitcodeWriterPass.h
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
Log Message:
-----------
[BitcodeWriter] Remove ThinLTO-specific bits from legacy pass
Since we shouldn't be doing any LTO logic from the legacy pass manager.
Commit: 029bfd6329aee0b60761998986dadba38e1de6f3
https://github.com/llvm/llvm-project/commit/029bfd6329aee0b60761998986dadba38e1de6f3
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/UnitTest/HermeticTestUtils.cpp
Log Message:
-----------
[libc] Replace -nostdlib++ flag when building with gcc and add placement new operator to HermeticTestUtils.cpp. (#78906)
`-nostdlib++` is a clang-only flag. Replacing it with `-nostdlib` when
building with gcc.
Commit: 58cfd56356ed96690150245ca5bcf646d12edc7a
https://github.com/llvm/llvm-project/commit/58cfd56356ed96690150245ca5bcf646d12edc7a
Author: Simeon K <5235180+simeonkr at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/unittests/IR/VPIntrinsicTest.cpp
Log Message:
-----------
[VP][RISCV] Introduce llvm.vp.minimum/maximum intrinsics (#74840)
Although there are predicated versions of minnum/maxnum, the ones for
minimum/maximum are currently missing. This patch introduces these
intrinsics and implements their lowering to RISC-V.
Commit: 907f2a0927d94d72d59f27e411c595b95aa673e9
https://github.com/llvm/llvm-project/commit/907f2a0927d94d72d59f27e411c595b95aa673e9
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/hipstdpar.c
Log Message:
-----------
[HIP][Driver] Automatically include `hipstdpar` forwarding header (#78915)
The forwarding header used by `hipstdpar` on AMDGPU targets is now
pacakged with `rocThrust`. This change augments the ROCm Driver
component so that it can automatically pick up the packaged header iff
the user hasn't overridden it via the dedicated flag.
Commit: fcff4582f01db2f5a99e3acf452aec9f2d8a126a
https://github.com/llvm/llvm-project/commit/fcff4582f01db2f5a99e3acf452aec9f2d8a126a
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
A llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
A llvm/test/Transforms/LoopVectorize/LoongArch/lit.local.cfg
Log Message:
-----------
[LoongArch] Permit auto-vectorization using LSX/LASX with `auto-vec` feature (#78943)
With enough codegen complete, we can now correctly report the size of
vector registers for LSX/LASX, allowing auto vectorization (The
`auto-vec` feature needs to be enabled simultaneously).
As described, the `auto-vec` feature is an experimental one. To ensure
that automatic vectorization is not enabled by default, because the
information provided by the current `TTI` cannot yield additional
benefits for automatic vectorization.
Commit: ea75542db99136a4612d8624ecff8581128cac21
https://github.com/llvm/llvm-project/commit/ea75542db99136a4612d8624ecff8581128cac21
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/taint-tester.c
Log Message:
-----------
[clang][analyzer] Support 'getdelim' and 'getline' in StreamChecker (#78693)
Commit: 45c84f8011d2be9a2378487607ef811f75b4bfca
https://github.com/llvm/llvm-project/commit/45c84f8011d2be9a2378487607ef811f75b4bfca
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Log Message:
-----------
[clang][analyzer] Remove unused variable in StreamChecker.cpp (NFC)
llvm-project/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp:1125:17:
error: unused variable 'ASTC' [-Werror,-Wunused-variable]
1125 | ASTContext &ASTC = C.getASTContext();
| ^~~~
1 error generated.
Commit: 9a03d94a4db6b6d3b7cb1582e9e9cc239e737a30
https://github.com/llvm/llvm-project/commit/9a03d94a4db6b6d3b7cb1582e9e9cc239e737a30
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 3ab8d2aac7bc
Might want to set this to True (and add a few source files to
builtins) at some point, but for now heal the bots.
Commit: a0a16884ac678564787d3a939ad046b9b66bc3b9
https://github.com/llvm/llvm-project/commit/a0a16884ac678564787d3a939ad046b9b66bc3b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Docs] Add anchors for llvm.minimum/maximum in LangRef.rst. NFC
This was missed in 58cfd56356ed96690150245ca5bcf646d12edc7a
Commit: c0fe2b8963aad8ad247eeceffb8eb833ee63a0e7
https://github.com/llvm/llvm-project/commit/c0fe2b8963aad8ad247eeceffb8eb833ee63a0e7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Log Message:
-----------
Apply clang-tidy fixes for modernize-loop-convert in Transforms.cpp (NFC)
Commit: 3af5ab21b8da9015a5e336eb711e696781defcc9
https://github.com/llvm/llvm-project/commit/3af5ab21b8da9015a5e336eb711e696781defcc9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in Transforms.cpp (NFC)
Commit: 2e0909025ec010981f582d4e13b129e17329ee1b
https://github.com/llvm/llvm-project/commit/2e0909025ec010981f582d4e13b129e17329ee1b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-simplify-boolean-expr in Vectorization.cpp (NFC)
Commit: acf2f24ac3288c1342edbeaba0fdd4e432b4ccb8
https://github.com/llvm/llvm-project/commit/acf2f24ac3288c1342edbeaba0fdd4e432b4ccb8
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-else-after-return in LLVMDialect.cpp (NFC)
Commit: d4933b3241f463871cae55bbeec8563e7ffe03a2
https://github.com/llvm/llvm-project/commit/d4933b3241f463871cae55bbeec8563e7ffe03a2
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in PolynomialApproximation.cpp (NFC)
Commit: 4db4d7f282d17634966cdfda8ccecee1bfcfe1ff
https://github.com/llvm/llvm-project/commit/4db4d7f282d17634966cdfda8ccecee1bfcfe1ff
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
Log Message:
-----------
[AMDGPU] SILowerSGPRSpills: do not update MRI reserve registers (#77888)
VGPRs used for spilling do not require explicit reservation with MRI.
freezeReservedRegs() executed before register allocation ensures these
are placed in the reserve set.
The only pass after SILowerSGPRSpills is SIPreAllocateWWMRegs which
explicitly tests for interference before register allocation so should
not reuse a WWM VGPR holding spill data. reserveReg prevents calculation
of correct liveness for physical registers which could be used to extend
SIPreAllocateWWMRegs.
Commit: b8e708b9d39862c2b7595c02e7bdc4878a2d7186
https://github.com/llvm/llvm-project/commit/b8e708b9d39862c2b7595c02e7bdc4878a2d7186
Author: Jim Lin <jim at andestech.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
Log Message:
-----------
[RISCV] Merge ADDI with X0 into base offset (#78940)
If offset is `addi rd, x0, imm`, merge imm into base offset.
Commit: e5ca202ef8870f3b46cc19a7a62624e6908be9a8
https://github.com/llvm/llvm-project/commit/e5ca202ef8870f3b46cc19a7a62624e6908be9a8
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_arm.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_multi.s
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[JITLink][AArch32] Multi-stub support for armv7/thumbv7 (#78371)
We want to emit stubs that match the instruction set state of the
relocation site. This is important for branches that have no built-in
switch for the instruction set state. It's the case for Jump24
relocations. Relocations on instructions that support switching on
the fly will be rewritten in a relaxation step in the future. This
affects Call relocations on `BL`/`BLX` instructions.
In this patch, the StubManager gains a second stub symbol slot for each
target and selects which one to use based on the relocation type. For
testing, we select the appropriate slot with a stub-kind filter, i.e.
`arm` or `thumb`. With that we can implement Armv7 stubs and test
that we can have both kinds of stubs for a single external symbol.
Commit: 8c680451a5eff02dd7e5004b69e05b3744f4e1aa
https://github.com/llvm/llvm-project/commit/8c680451a5eff02dd7e5004b69e05b3744f4e1aa
Author: itrofimow <i.trofimow at yandex.ru>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
Log Message:
-----------
[libc++] Fix linking for platforms that don't implement std::exception_ptr (#79040)
This patch fixes linkage for platforms that don't implement
std::exception_ptr, as such setup was overlooked in #65534.
Commit: 6082478e1a5bde8ac03ac7220b733313a5417a13
https://github.com/llvm/llvm-project/commit/6082478e1a5bde8ac03ac7220b733313a5417a13
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/src/filesystem/operations.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
A libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/debug.deallocate.pass.cpp
Log Message:
-----------
[libc++][hardening] Classify assertions related to leaks and syscalls. (#77164)
Introduce two new categories:
- `_LIBCPP_ASSERT_VALID_DEALLOCATION`;
- `_LIBCPP_ASSERT_VALID_EXTERNAL_API_CALL`.
Commit: 37efa7038d30ea13f62ad919fec1e8c8ce35b3ef
https://github.com/llvm/llvm-project/commit/37efa7038d30ea13f62ad919fec1e8c8ce35b3ef
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/x86-64-zrel-zrela.s
Log Message:
-----------
[ELF] Fix spurious warning for -z rel && -z rela
Fixes: 665f913e4509e3e4f531aa4a4ebe92ec2ea5c23f
Commit: bffd80d6df6195c8069b655b1f2463ad8622a707
https://github.com/llvm/llvm-project/commit/bffd80d6df6195c8069b655b1f2463ad8622a707
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
R compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
R compiler-rt/test/builtins/Unit/sme-string-test.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/unittests/lit.common.unit.configured.in
Log Message:
-----------
Revert "[AArch64][compiler-rt] Add memcpy, memset, memmove, memchr builtins. (#77496)"
This reverts commit 3ab8d2aac7bc2dd45dda3db0b8a71fd27eefb749.
This change is causing issues running lit tests on many bots including:
- https://lab.llvm.org/buildbot/#/builders/197/builds/12119
- https://lab.llvm.org/buildbot/#/builders/184/builds/9792
- https://lab.llvm.org/buildbot/#/builders/93/builds/18455
- https://lab.llvm.org/buildbot/#/builders/231/builds/19858
- https://lab.llvm.org/buildbot/#/builders/121/builds/38426
- https://lab.llvm.org/buildbot/#/builders/230/builds/23990
- https://lab.llvm.org/buildbot/#/builders/57/builds/32391
- https://lab.llvm.org/buildbot/#/builders/247/builds/13502
- https://lab.llvm.org/buildbot/#/builders/275/builds/3601
- https://lab.llvm.org/buildbot/#/builders/269/builds/4211
- https://lab.llvm.org/buildbot/#/builders/18/builds/14161
- https://lab.llvm.org/buildbot/#/builders/19/builds/23893
- https://lab.llvm.org/buildbot/#/builders/37/builds/30295
- https://lab.llvm.org/buildbot/#/builders/77/builds/33979
Commit: 5c68c6d70fc204b0efdb2af95dfb328d616129e3
https://github.com/llvm/llvm-project/commit/5c68c6d70fc204b0efdb2af95dfb328d616129e3
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrShiftRotate.td
M llvm/lib/Target/X86/X86InstrUtils.td
A llvm/test/CodeGen/X86/apx/rol.ll
A llvm/test/CodeGen/X86/apx/ror.ll
A llvm/test/CodeGen/X86/apx/sar.ll
A llvm/test/CodeGen/X86/apx/shl.ll
A llvm/test/CodeGen/X86/apx/shld.ll
A llvm/test/CodeGen/X86/apx/shr.ll
A llvm/test/CodeGen/X86/apx/shrd.ll
A llvm/test/MC/Disassembler/X86/apx/rcl.txt
A llvm/test/MC/Disassembler/X86/apx/rcr.txt
A llvm/test/MC/Disassembler/X86/apx/rol.txt
A llvm/test/MC/Disassembler/X86/apx/ror.txt
A llvm/test/MC/Disassembler/X86/apx/sar.txt
A llvm/test/MC/Disassembler/X86/apx/shl.txt
A llvm/test/MC/Disassembler/X86/apx/shld.txt
A llvm/test/MC/Disassembler/X86/apx/shr.txt
A llvm/test/MC/Disassembler/X86/apx/shrd.txt
A llvm/test/MC/X86/apx/rcl-att.s
A llvm/test/MC/X86/apx/rcl-intel.s
A llvm/test/MC/X86/apx/rcr-att.s
A llvm/test/MC/X86/apx/rcr-intel.s
A llvm/test/MC/X86/apx/rol-att.s
A llvm/test/MC/X86/apx/rol-intel.s
A llvm/test/MC/X86/apx/ror-att.s
A llvm/test/MC/X86/apx/ror-intel.s
A llvm/test/MC/X86/apx/sar-att.s
A llvm/test/MC/X86/apx/sar-intel.s
A llvm/test/MC/X86/apx/shl-att.s
A llvm/test/MC/X86/apx/shl-intel.s
A llvm/test/MC/X86/apx/shld-att.s
A llvm/test/MC/X86/apx/shld-intel.s
A llvm/test/MC/X86/apx/shr-att.s
A llvm/test/MC/X86/apx/shr-intel.s
A llvm/test/MC/X86/apx/shrd-att.s
A llvm/test/MC/X86/apx/shrd-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support encoding/decoding and lowering for APX variant SHL/SHR/SAR/ROL/ROR/RCL/RCR/SHLD/SHRD (#78853)
Four variants: promoted legacy, ND (new data destination), NF (no flags
update) and NF_ND (NF + ND).
The syntax of NF instructions is aligned with GNU binutils.
https://sourceware.org/pipermail/binutils/2023-September/129545.html
Commit: afc229b217f499160b3228a0d7d1783613ac9b58
https://github.com/llvm/llvm-project/commit/afc229b217f499160b3228a0d7d1783613ac9b58
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
Revert "[gn] port 3ab8d2aac7bc"
This reverts commit 9a03d94a4db6b6d3b7cb1582e9e9cc239e737a30.
3ab8d2aac7bc was reverted in bffd80d6df61.
Commit: 9577806b1e6ce06bece48d96b39035f4cee9137d
https://github.com/llvm/llvm-project/commit/9577806b1e6ce06bece48d96b39035f4cee9137d
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
Log Message:
-----------
[JITLink][AArch32] Implement R_ARM_PREL31 and process .ARM.exidx sections (#79044)
`R_ARM_PREL31` is a 31-bits relative data relocation where the
most-significant bit is preserved. It's used primarily in `.ARM.exidx`
sections, which we skipped processing until now, because we didn't
support the relocation type. This was implemented in RuntimeDyld with
https://reviews.llvm.org/D25069 and I implemented it in a similar way in
JITLink in order to reach feature parity.
Commit: 62eb65b36f8e8fa121de047c89fb7dbe5d4c96be
https://github.com/llvm/llvm-project/commit/62eb65b36f8e8fa121de047c89fb7dbe5d4c96be
Author: Sean Fertile <35576261+mandlebug at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[FatLTO] output of -ffat-lto-objects -S should be assembly. (#79041)
Fat lto with -c compiles to an object file with the IR embedded in a
section of the object, the combination of fat-lto with -S should then
produce an assembly file equivalent of that. The IR output can still be
genreated by using both -S and -emit-llvm.
Commit: 23edf782a268e750b18f720fa082a6891ae9d304
https://github.com/llvm/llvm-project/commit/23edf782a268e750b18f720fa082a6891ae9d304
Author: Petr Hosek <phosek at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/config/baremetal/riscv/entrypoints.txt
M libc/docs/math/index.rst
Log Message:
-----------
[libc] Include missing RISC-V stdlib.h and math.h entrypoints (#79034)
This matches the entrypoints for baremetal ARM.
Commit: 4beb7237103a66e90b90a43b1ca0c77bca872d5b
https://github.com/llvm/llvm-project/commit/4beb7237103a66e90b90a43b1ca0c77bca872d5b
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/app.h
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/sys/CMakeLists.txt
A libc/src/sys/auxv/CMakeLists.txt
A libc/src/sys/auxv/getauxval.h
A libc/src/sys/auxv/linux/CMakeLists.txt
A libc/src/sys/auxv/linux/getauxval.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/auxv/CMakeLists.txt
A libc/test/src/sys/auxv/linux/CMakeLists.txt
A libc/test/src/sys/auxv/linux/getauxval_test.cpp
Log Message:
-----------
[libc] implement sys/getauxval (#78493)
This PR implements `sys/getauxval`
that can be used in both overlay builds and full builds.
Commit: 3b171cb968b3f8495b096139fc57ff6263727e40
https://github.com/llvm/llvm-project/commit/3b171cb968b3f8495b096139fc57ff6263727e40
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in ContinuationIndenter (#78921)
Fixes #76991.
Commit: 7e63940f69d99c12ccc18c76e1fc6b861fd459ec
https://github.com/llvm/llvm-project/commit/7e63940f69d99c12ccc18c76e1fc6b861fd459ec
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
Log Message:
-----------
[RISCV][CostModel] Make VMV_S_X and VMV_X_S cost independent of LMUL (#78739)
Following #77963, instructions like VMV_S_X/VMV_X_S
handle single element, so the cost don't scale with LMUL.
Commit: 4ef646eab3023b52ce8ee529d16605c92caba8ba
https://github.com/llvm/llvm-project/commit/4ef646eab3023b52ce8ee529d16605c92caba8ba
Author: Gedare Bloom <gedare at rtems.org>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format]: Fix formatting of if statements with BlockIndent (#77699)
A bug with BlockIndent prevents line breaks within if (and else if)
clauses.
While fixing this bug, it appears that AlignAfterOpenBracket is not
designed to work with loop and if statements, but AlwaysBreak works on
if clauses. The documentation and tests are not clear on whether or not
this behavior is intended.
This PR preserves the `AlwaysBreak` behavior on `if` clauses without
supporting `BlockIndent` on `if` clauses to avoid regressions while
fixing the bug.
It may be reasonable to create an explicit option for alignment of if
(and loop) clauses intentionally for both `AlwaysBreak` and
`BlockIndent`
Fixes #54663.
Migrated from Differential Revision: https://reviews.llvm.org/D154755
See more discussion there. Addressed last open comment from the rev
about refactoring the complex conditional logic involved with the
`AlignAfterOpenBracket` line break behavior.
Commit: 097a40ac899d0b88b4b62b85e6faa43802e87010
https://github.com/llvm/llvm-project/commit/097a40ac899d0b88b4b62b85e6faa43802e87010
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/test/Analysis/CostModel/PowerPC/insert_extract.ll
Log Message:
-----------
nfc add test cases for PowerPC vector instructions cost analysis
Commit: 314526557ec66ee627ae8a1c03f6ccc610668fdb
https://github.com/llvm/llvm-project/commit/314526557ec66ee627ae8a1c03f6ccc610668fdb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
A libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
A libcxx/test/libcxx/language.support/support.dynamic/assert.nothrow_new_not_overridden_fno_exceptions.pass.cpp
A libcxx/test/libcxx/language.support/support.dynamic/new_dont_return_nullptr.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/count_new.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libc++] Fix the behavior of throwing `operator new` under -fno-exceptions (#69498)
In D144319, Clang tried to land a change that would cause some functions
that are not supposed to return nullptr to optimize better. As reported
in https://reviews.llvm.org/D144319#4203982, libc++ started seeing
failures in its CI shortly after this change was landed.
As explained in D146379, the reason for these failures is that libc++'s
throwing `operator new` can in fact return nullptr when compiled with
exceptions disabled. However, this contradicts the Standard, which
clearly says that the throwing version of `operator new(size_t)` should
never return nullptr. This is actually a long standing issue. I've
previously seen a case where LTO would optimize incorrectly based on the
assumption that `operator new` doesn't return nullptr, an assumption
that was violated in that case because libc++.dylib was compiled with
-fno-exceptions.
Unfortunately, fixing this is kind of tricky. The Standard has a few
requirements for the allocation functions, some of which are impossible
to satisfy under -fno-exceptions:
1. `operator new(size_t)` must never return nullptr
2. `operator new(size_t, nothrow_t)` must call the throwing version and
return nullptr on failure to allocate
3. We can't throw exceptions when compiled with -fno-exceptions
In the case where exceptions are enabled, things work nicely.
`new(size_t)` throws and `new(size_t, nothrow_t)` uses a try-catch to
return nullptr. However, when compiling the library with
-fno-exceptions, we can't throw an exception from `new(size_t)`, and we
can't catch anything from `new(size_t, nothrow_t)`. The only thing we
can do from `new(size_t)` is actually abort the program, which does not
make it possible for `new(size_t, nothrow_t)` to catch something and
return nullptr.
This patch makes the following changes:
1. When compiled with -fno-exceptions, the throwing version of `operator
new` will now abort on failure instead of returning nullptr on failure.
This resolves the issue that the compiler could mis-compile based on the
assumption that nullptr is never returned. This constitutes an API and
ABI breaking change for folks compiling the library with -fno-exceptions
(which is not the general public, who merely uses libc++ headers but use
a shared library that has already been compiled). This should mostly
impact vendors and other folks who compile libc++.dylib themselves.
2. When the library is compiled with -fexceptions, the nothrow version
of `operator new` has no change. When the library is compiled with
-fno-exceptions, the nothrow version of `operator new` will now check
whether the throwing version of `operator new` has been overridden. If
it has not been overridden, then it will use an implementation
equivalent to that of the throwing `operator new`, except it will return
nullptr on failure to allocate (instead of terminating). However, if the
throwing `operator new` has been overridden, it is now an error NOT to
also override the nothrow `operator new`. Indeed, there is no way for us
to implement a valid nothrow `operator new` without knowing the exact
implementation of the throwing version.
In summary, this change will impact people who fall into the following
intersection of conditions:
- They use the libc++ shared/static library built with `-fno-exceptions`
- They do not override `operator new(..., std::nothrow_t)`
- They override `operator new(...)` (the throwing version)
- They use `operator new(..., std::nothrow_t)`
We believe this represents a small number of people.
Fixes #60129
rdar://103958777
Differential Revision: https://reviews.llvm.org/D150610
Commit: 888f2a58a9d441e29a6769ff0d96ec5306262336
https://github.com/llvm/llvm-project/commit/888f2a58a9d441e29a6769ff0d96ec5306262336
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/test/support/check_assertion.h
Log Message:
-----------
[libc++][NFC] Fix formatting in check_assertion.h
Commit: f3dd8f10c77f29ff2563482c96c33f2c2bbc847c
https://github.com/llvm/llvm-project/commit/f3dd8f10c77f29ff2563482c96c33f2c2bbc847c
Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
Log Message:
-----------
[clang][dataflow] Make cap on block visits configurable by caller. (#77481)
Previously, we hard-coded the cap on block visits inside the framework.
This
patch enables the caller to specify the cap in the APIs for running an
analysis.
Commit: 904b0901ef2d33e6232b7a51fa2525c30fd117e8
https://github.com/llvm/llvm-project/commit/904b0901ef2d33e6232b7a51fa2525c30fd117e8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add FeatureFastUnalignedAccess to sifive-p450. (#79075)
Commit: 35ab0c78cf5f2294e251a6fb1e0d6e58dc80d955
https://github.com/llvm/llvm-project/commit/35ab0c78cf5f2294e251a6fb1e0d6e58dc80d955
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Add tests fcmpToClassTest for fcmp true/false
Commit: 1a99df9f3dfdfd6ff3a3d46113c9e0e9d55ad892
https://github.com/llvm/llvm-project/commit/1a99df9f3dfdfd6ff3a3d46113c9e0e9d55ad892
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Add tests for fcmpToClassTest for fcmp ole/ugt inf
This catches an assertion in a recommit of
dc3faf0ed0e3f1ea9e435a006167d9649f865da1
Commit: 8076b896955e91cc2d16283cf8206f3354702022
https://github.com/llvm/llvm-project/commit/8076b896955e91cc2d16283cf8206f3354702022
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Handle fcmp true/false in fcmpToClassTest
This ensures full compare coverage for certain special constants.
Commit: 28f9041879620b44505d54670f5ccb2ed48b24d9
https://github.com/llvm/llvm-project/commit/28f9041879620b44505d54670f5ccb2ed48b24d9
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
Log Message:
-----------
[DebugInfo] Use DenseMap::lookup (NFC)
Commit: a0b459df256e8d16cade7f38a6fdaf2e763c847f
https://github.com/llvm/llvm-project/commit/a0b459df256e8d16cade7f38a6fdaf2e763c847f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/GlobalValue.h
Log Message:
-----------
[IR] Use StringRef::consume_front (NFC)
Commit: 47c76e7aba0cf823f7fa883e0d374ad1a160067a
https://github.com/llvm/llvm-project/commit/47c76e7aba0cf823f7fa883e0d374ad1a160067a
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
Log Message:
-----------
[SPIRV] Use llvm::find (NFC)
Commit: 8c3304453c22ad1b5a914e64a7f6435f58f4099c
https://github.com/llvm/llvm-project/commit/8c3304453c22ad1b5a914e64a7f6435f58f4099c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
Log Message:
-----------
[llvm-diff] Use llvm::predecessors (NFC)
Commit: f1d3ebc9918aa6d1d04cda98da1ecef2dd51978c
https://github.com/llvm/llvm-project/commit/f1d3ebc9918aa6d1d04cda98da1ecef2dd51978c
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
Log Message:
-----------
[libc++][test] Use LIBCPP_ASSERT in some `system_category`-related tests (#78834)
Commit: a6065f0fa55aaf694b5f85ecad7badec5cc02425
https://github.com/llvm/llvm-project/commit/a6065f0fa55aaf694b5f85ecad7badec5cc02425
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGCXX.cpp
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64.h
A llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.h
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
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/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/CodeGen/AArch64/arm64ec-dllimport.ll
A llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
A llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
A llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-reservedregs.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/stack-protector-target.ll
M llvm/test/CodeGen/AArch64/win-alloca.ll
Log Message:
-----------
Arm64EC entry/exit thunks, consolidated. (#79067)
This combines the previously posted patches with some additional work
I've done to more closely match MSVC output.
Most of the important logic here is implemented in
AArch64Arm64ECCallLowering. The purpose of the
AArch64Arm64ECCallLowering is to take "normal" IR we'd generate for
other targets, and generate most of the Arm64EC-specific bits:
generating thunks, mangling symbols, generating aliases, and generating
the .hybmp$x table. This is all done late for a few reasons: to
consolidate the logic as much as possible, and to ensure the IR exposed
to optimization passes doesn't contain complex arm64ec-specific
constructs.
The other changes are supporting changes, to handle the new constructs
generated by that pass.
There's a global llvm.arm64ec.symbolmap representing the .hybmp$x
entries for the thunks. This gets handled directly by the AsmPrinter
because it needs symbol indexes that aren't available before that.
There are two new calling conventions used to represent calls to and
from thunks: ARM64EC_Thunk_X64 and ARM64EC_Thunk_Native. There are a few
changes to handle the associated exception-handling info,
SEH_SaveAnyRegQP and SEH_SaveAnyRegQPX.
I've intentionally left out handling for structs with small
non-power-of-two sizes, because that's easily separated out. The rest of
my current work is here. I squashed my current patches because they were
split in ways that didn't really make sense. Maybe I could split out
some bits, but it's hard to meaningfully test most of the parts
independently.
Thanks to @dpaoliello for extensive testing and suggestions.
(Originally posted as https://reviews.llvm.org/D157547 .)
Commit: 4ee195a2a791cc338feddfa8d82679eddb330bf1
https://github.com/llvm/llvm-project/commit/4ee195a2a791cc338feddfa8d82679eddb330bf1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Log Message:
-----------
[gn build] Port a6065f0fa55a
Commit: ce3e767ac5ea1a1d1a166e88c152e2125ec7662b
https://github.com/llvm/llvm-project/commit/ce3e767ac5ea1a1d1a166e88c152e2125ec7662b
Author: ManuelvOK <info at manuel-thieme.de>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
Log Message:
-----------
[Coverage] Map regions from system headers (#76950)
In 2155195131a57f2f01e7cfabb85bb027518c2dc6, the
"system-headers-coverage" option has been added but not used in all
necessary places.
Potential reviewers: @gulfemsavrun @petrhosek
Co-authored-by: Manuel Kalettka <manuel.kalettka at kernkonzept.com>
Commit: 3f740322c5b9b7d6f45a73d2fac948df3c74a3a7
https://github.com/llvm/llvm-project/commit/3f740322c5b9b7d6f45a73d2fac948df3c74a3a7
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/config/linux/arm/entrypoints.txt
Log Message:
-----------
[libc] remove getauxval from arm32 entrypoint list (#79093)
`getauxval` depends on `open/read/close` which are not built on arm32.
Remove `getauxval` for now.
Commit: 86f05477d0bd7347e9bec8c1f9a7d89c167ad556
https://github.com/llvm/llvm-project/commit/86f05477d0bd7347e9bec8c1f9a7d89c167ad556
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/sys/auxv/linux/CMakeLists.txt
Log Message:
-----------
[libc] add missing header deps to getauxval (#79091)
`getauxval` depends on `libc.include.sys_auxv`
Commit: fcb8342a219ada8ec641790a4c8a9f969d7d64ee
https://github.com/llvm/llvm-project/commit/fcb8342a219ada8ec641790a4c8a9f969d7d64ee
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsLoongArchBase.def
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/lasxintrin.h
M clang/lib/Headers/lsxintrin.h
A clang/test/CodeGen/LoongArch/builtin-dbl-approximate.c
A clang/test/CodeGen/LoongArch/builtin-flt-approximate.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate.c
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
A llvm/test/CodeGen/LoongArch/intrinsic-frecipe-dbl.ll
A llvm/test/CodeGen/LoongArch/intrinsic-frecipe-flt.ll
A llvm/test/CodeGen/LoongArch/lasx/intrinsic-frecipe.ll
A llvm/test/CodeGen/LoongArch/lasx/intrinsic-frsqrte.ll
A llvm/test/CodeGen/LoongArch/lsx/intrinsic-frecipe.ll
A llvm/test/CodeGen/LoongArch/lsx/intrinsic-frsqrte.ll
Log Message:
-----------
[LoongArch] Add definitions and feature 'frecipe' for FP approximation intrinsics/builtins (#78962)
This PR adds definitions and 'frecipe' feature for FP approximation
intrinsics/builtins. In additions, this adds and complements relative
testcases.
Commit: 39a1b280a170ff8e0e605693f8386b8dd161cf94
https://github.com/llvm/llvm-project/commit/39a1b280a170ff8e0e605693f8386b8dd161cf94
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M lld/test/ELF/lto/cache.ll
M lld/test/ELF/lto/thinlto.ll
Log Message:
-----------
[ELF] Improve ThinLTO tests
Commit: 150a58bed08f9f83ae4157a033ef1c67c210bbc4
https://github.com/llvm/llvm-project/commit/150a58bed08f9f83ae4157a033ef1c67c210bbc4
Author: Piotr Zegar <me at piotrzegar.pl>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/list.rst
Log Message:
-----------
[clang-tidy][DOC] Update list.rst
Update list.rst to put checks in alphabetical order
Commit: 297b77036e82b7684e1823c14b318e365aed5b26
https://github.com/llvm/llvm-project/commit/297b77036e82b7684e1823c14b318e365aed5b26
Author: Simeon K <5235180+simeonkr at users.noreply.github.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
Log Message:
-----------
[RISCV] Fix stack size computation when M extension disabled (#78602)
Ensure that getVLENFactoredAmount does not fail when the scale amount
requires the use of a non-trivial multiplication but the M extension is
not enabled. In such case, perform the multiplication using shifts and
adds.
Commit: f799f936929c232a16abc7c520a10fecadbf05f9
https://github.com/llvm/llvm-project/commit/f799f936929c232a16abc7c520a10fecadbf05f9
Author: yjijd <licongtian at loongson.cn>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/uitofp.ll
Log Message:
-----------
[CodeGen][LoongArch] Set SINT_TO_FP/UINT_TO_FP to legal for vector types (#78924)
Support the following conversions:
v4i32->v4f32, v2i64->v2f64(LSX)
v8i32->v8f32, v4i64->v4f64(LASX)
v4i32->v4f64, v4i64->v4f32(LASX)
Commit: 9e2c0f000549991ea5585d6799ade92811a8faae
https://github.com/llvm/llvm-project/commit/9e2c0f000549991ea5585d6799ade92811a8faae
Author: Lu Weining <luweining at loongson.cn>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.rst
Log Message:
-----------
[docs] Add llvm & clang release notes for LoongArch (#79097)
Commit: 8938bc0ad0651f8d481cca2b2b98345d34b3aabe
https://github.com/llvm/llvm-project/commit/8938bc0ad0651f8d481cca2b2b98345d34b3aabe
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-01-22 (Mon, 22 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/nth_element.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__config
M libcxx/include/__debug_utils/strict_weak_ordering_check.h
R libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.oob.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/bad_comparator_values.h
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/invalid_comparator_utilities.h
R libcxx/test/libcxx/algorithms/alg.sorting/bad_comparator_values.h
Log Message:
-----------
[libc++][hardening] Categorize assertions related to strict weak ordering (#77405)
If a user passes a comparator that doesn't satisfy strict weak ordering
(see https://eel.is/c++draft/algorithms#alg.sorting.general) to
a sorting algorithm, the algorithm can produce an incorrect result or
even lead
to an out-of-bounds access. Unfortunately, comprehensively validating
that a given comparator indeed satisfies the strict weak ordering
requirement is prohibitively expensive (see [the related
RFC](https://discourse.llvm.org/t/rfc-strict-weak-ordering-checks-in-the-debug-libc/70217)).
As a result, we have three independent sets of checks:
- assertions that catch out-of-bounds accesses within the algorithms'
implementation. These are relatively cheap; however, they cannot catch
the underlying cause and cannot prevent the case where an invalid
comparator would result in an incorrectly-sorted sequence without
actually triggering an OOB access;
- debug comparators that wrap a given comparator and on each comparison
check that if `(a < b)`, then `!(b < a)`, where `<` stands for the
user-provided comparator. This performs up to 2x number of comparisons
but doesn't affect the algorithmic complexity. While this approach can
find more issues, it is still a heuristic;
- a comprehensive check of the comparator that validates up to 100
elements in the resulting sorted sequence (see the RFC above for
details). The check is expensive but the 100 element limit can somewhat
compensate for that, especially for large values of `N`.
The first set of checks is enabled in the fast hardening mode while the
other two are only enabled in the debug mode.
This patch also removes the
`_LIBCPP_DEBUG_STRICT_WEAK_ORDERING_CHECK` macro that
previously was used to selectively enable the 100-element check.
Now this check is enabled unconditionally in the debug mode.
Also, introduce a new category
`_LIBCPP_ASSERT_SEMANTIC_REQUIREMENT`. This category is
intended for checking the semantic requirements from the Standard.
Typically, these are hard or impossible to completely validate, so
these checks are expected to be heuristic in nature and potentially
quite expensive.
See https://reviews.llvm.org/D150264 for additional background.
Fixes #71496
Commit: ab32a3c166e9eae12260b4c6eca9bcf21f500e87
https://github.com/llvm/llvm-project/commit/ab32a3c166e9eae12260b4c6eca9bcf21f500e87
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
Log Message:
-----------
[flang] Do not leak intrinsics used by ISO_C_BINDING and ISO_FORTRAN_ENV (#79006)
This resolves bug #78953. Intrinsics used by the MODULE definition are
being declared PRIVATE, so that they do not leak into the namespace of
the code that USEs the modules.
Commit: 44ba6ebc999d6e9b27bedfe04a993adfd204dc6a
https://github.com/llvm/llvm-project/commit/44ba6ebc999d6e9b27bedfe04a993adfd204dc6a
Author: yjijd <licongtian at loongson.cn>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptosi.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptoui.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptosi.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptoui.ll
Log Message:
-----------
[CodeGen][LoongArch] Set FP_TO_SINT/FP_TO_UINT to legal for vector types (#79107)
Support the following conversions:
v4f32->v4i32, v2f64->v2i64(LSX)
v8f32->v8i32, v4f64->v4i64(LASX)
v4f32->v4i64, v4f64->v4i32(LASX)
Commit: 3ea92ea2f9d236569f82825cdba6d59bcc22495c
https://github.com/llvm/llvm-project/commit/3ea92ea2f9d236569f82825cdba6d59bcc22495c
Author: Yi Kong <yikong at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/TargetPassConfig.cpp
Log Message:
-----------
Fix MFS warning format
WithColor::warning() does not append new line automatically.
Commit: 7da76958390a43b2fd1db506c90970aeae4367eb
https://github.com/llvm/llvm-project/commit/7da76958390a43b2fd1db506c90970aeae4367eb
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Add additional validation counters (#76788)
This patch adds support for additional types of validation counters and
also adds mappings between these new validation counter types and
physical counters on the hardware for microarchitectures that I have the
ability to test on.
Commit: ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
https://github.com/llvm/llvm-project/commit/ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/pr60085.cppm
A clang/test/Modules/pr78830.cppm
Log Message:
-----------
[C++20] [Modules] Handle inconsistent deduced function return type from importing modules
Close https://github.com/llvm/llvm-project/issues/78830
Close https://github.com/llvm/llvm-project/issues/60085
The direct reason of the issues is that in a module unit, the return
type of a function is deduced to a concrete type (e.g., int) but in the
other module unit, the return type of the same function is not deduced
yet (e.g, auto). Then when we importing the 2 modules, the later
function is selected but the code generator doesn't know how to generate
the auto type. So here is the crash.
The tricky part here is that, when the ASTReader reads the second
unreduced function, it finds the reading function has the same signature
with the already read deduced one and they have the same ODRHash. So
that the ASTReader skips loading the function body of the unreduced
function then the code generator can't infer the undeduced type like it
usually can. Also this is generally fine for functions without deducing
type since it is sufficient to emit a function call without the function
body.
Also in fact, we've already handled the case that the functon has
deduced type and its deducing state is inconsist in different modules:
https://github.com/llvm/llvm-project/blob/3ea92ea2f9d236569f82825cdba6d59bcc22495c/clang/lib/Serialization/ASTReader.cpp#L9531-L9544
and
https://github.com/llvm/llvm-project/blob/3ea92ea2f9d236569f82825cdba6d59bcc22495c/clang/lib/Serialization/ASTReaderDecl.cpp#L3643-L3647.
We've handled the case:
(1) If we read the undeduced functions first and read the deduced functions
later, the compiler will propagate the deduced type info for redecls in
the end of the reading.
(2) If we read the deduced functions first and read the undeduced
functions later, we will propagae the deduced type info when we **complete
the redecl chain**.
However, in the reporting issues, we're in the second case and
reproducer didn't trigger the action to complete the redecl chain. So
here is the crash.
Then it is obvious how should fix the problem. We should complete the
redecl chain for undeduced function types in the end of the reading for
the second case.
Commit: 134fcc62786d31ab73439201dce2d73808d1785a
https://github.com/llvm/llvm-project/commit/134fcc62786d31ab73439201dce2d73808d1785a
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][NFC] Simplify function X86InstrInfo::commuteInstructionImpl
Commit: f20556678c70f89f96ed01b2c6092c5f7d6efedd
https://github.com/llvm/llvm-project/commit/f20556678c70f89f96ed01b2c6092c5f7d6efedd
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
A llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
R llvm/test/CodeGen/AArch64/blr-bti-preserves-regmask.mir
Log Message:
-----------
Reland "[llvm][AArch64] Copy all operands when expanding BLR_BTI bundle (#78267)" (#78719)
This reverts commit 955417ade2648c2b1a4e5f0be697f61570590a88.
The problem with the previous version was that the bundle instruction
had arguments like "target arg1 arg2". When it's expanded we produced a
BL or BLR which can only accept one argument, the target of the branch.
Now I realise why expandCALL_RVMARKER has to copy them in mutiple steps.
The operands for the called function need to be changed to implicit
arguments of the branch instruction.
* Copy the branch target.
* Copy all register operands, marking them as implicit.
* Copy any other operands without modifying them.
Prior to any attempt to fix #77915:
BL @_setjmp, csr_aarch64_aapcs, implicit-def $lr, implicit $sp,
implicit-def dead $lr, implicit $sp, implicit-def $sp
Which is dropping the use of the arguments for the called function.
My first fix attempt produced:
BL @_setjmp, $x0, $w1, <regmask $fp ...>, implicit-def $lr, implicit
$sp, implicit-def dead $lr, implicit $sp, implicit-def $sp
It copied the arguments but as explicit arguments to the BL which only
expects 1, failing verification.
With this new change we produce:
BL @_setjmp, csr_aarch64_aapcs, implicit-def $lr, implicit $sp, implicit
$x0, implicit $w1, implicit-def dead $lr, implicit $sp, implicit-def $sp
Note specifically the added "implicit $x0, implicit $w1". So BL only has
1 explicit argument, but the arguments to the function are still used.
Commit: d8628a00fd92c6f9db631f817a63eada90707ad2
https://github.com/llvm/llvm-project/commit/d8628a00fd92c6f9db631f817a63eada90707ad2
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
Log Message:
-----------
[RISCV] Add IntrArgMemOnly for vector unit stride load/store intrinsics (#78415)
IntrArgMemOnly means the intrinsic only accesses memory that its
pointer-typed argument(s) points to. I think RVV load/store intrinsics
meets it. Add IntrArgMemOnly would help in some passes, by example, it
could add `alais.scope` to intrinsics callee when try to inline a
function that has noalais parameter(s).
Commit: c193bb7e9eee02a435944506c732db9b480f0c84
https://github.com/llvm/llvm-project/commit/c193bb7e9eee02a435944506c732db9b480f0c84
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.c
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.proftext
A llvm/test/tools/llvm-cov/mcdc-maxbs.test
Log Message:
-----------
[Coverage] getMaxBitmapSize: Scan `max(BitmapIdx)` instead of the last `Decision` (#78963)
In `CoverageMapping.cpp:getMaxBitmapSize()`,
this assumed that the last `Decision` has the maxmum `BitmapIdx`.
Let it scan `max(BitmapIdx)`.
Note that `<=` is used insted of `<`, because `BitmapIdx == 0` is valid
and `MaxBitmapID` is `unsigned`. `BitmapIdx` is unique in the record.
Fixes #78922
Commit: 66237d647ed95d7df92a438f8181c11423addc7d
https://github.com/llvm/llvm-project/commit/66237d647ed95d7df92a438f8181c11423addc7d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/shrd.ll
Log Message:
-----------
[X86][CodeGen] Add entries for NDD SHLD/SHRD to the commuteInstructionImpl
Commit: ccf1e322bd5828c74ac5213dc2e05ab506da25bd
https://github.com/llvm/llvm-project/commit/ccf1e322bd5828c74ac5213dc2e05ab506da25bd
Author: martinboehme <mboehme at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
[clang][dataflow] Process terminator condition within `transferCFGBlock()`. (#78127)
In particular, it's important that we create the "fallback" atomic at
this point
(which we produce if the transfer function didn't produce a value for
the
expression) so that it is placed in the correct environment.
Previously, we processed the terminator condition in the
`TerminatorVisitor`,
which put the fallback atomic in a copy of the environment that is
produced as
input for the _successor_ block, rather than the environment for the
block
containing the expression for which we produce the fallback atomic.
As a result, we produce different fallback atomics every time we process
the
successor block, and hence we don't have a consistent representation of
the
terminator condition in the flow condition.
This patch includes a test (authored by ymand@) that fails without the
fix.
Commit: 60e1c835d326a74ef67bf4b9399d439262d0380e
https://github.com/llvm/llvm-project/commit/60e1c835d326a74ef67bf4b9399d439262d0380e
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/arglist.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/fail-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-1.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Update SROA to handle DPVAssigns (#78475)
SROA needs to update llvm.dbg.assign intrinsics when it migrates debug
info in response to alloca splitting; this patch updates the debug info
migration code to handle DPVAssigns as well, making use of generic code
to avoid duplication as much as possible.
Commit: 47bcc91e06798e8730983b3848cc152a79c7afae
https://github.com/llvm/llvm-project/commit/47bcc91e06798e8730983b3848cc152a79c7afae
Author: harishch4 <harishcse44 at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/threadprivate-default-clause.f90
Log Message:
-----------
[Flang][OpenMP] Fix to variables not inheriting data sharing attributes (#79017)
When a default(none) clause exists and a threadprivate variable is used
inside the construct, the variable does not inherit threadprivate
behavior and throws the below error.
> error: The DEFAULT(NONE) clause requires that 'a' must be listed in a
data-sharing attribute clause
Added a condition to skip the error if it is a threadprivate variable.
Fixes: https://github.com/llvm/llvm-project/issues/49545
Commit: 5a458767dd797cbfa2eeb12b9b8b64f2c63159a5
https://github.com/llvm/llvm-project/commit/5a458767dd797cbfa2eeb12b9b8b64f2c63159a5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][True16] Support source DPP operands. (#79025)
Commit: 376f3be83444901fc4d50570bee492f0f666938f
https://github.com/llvm/llvm-project/commit/376f3be83444901fc4d50570bee492f0f666938f
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
Log Message:
-----------
[DebugInfo] Remove redefinition of 'getDPVAssignmentMarkers' (NFC)
llvm-project/llvm/include/llvm/IR/DebugInfo.h:239:31: error: redefinition of 'getDPVAssignmentMarkers'
inline SmallVector<DPValue *> getDPVAssignmentMarkers(const Instruction *Inst) {
^
llvm-project/llvm/include/llvm/IR/DebugInfo.h:233:31: note: previous definition is here
inline SmallVector<DPValue *> getDPVAssignmentMarkers(const Instruction *Inst) {
^
Commit: 0ed8194256c6c96875ed9dd102d15ee8a9260fec
https://github.com/llvm/llvm-project/commit/0ed8194256c6c96875ed9dd102d15ee8a9260fec
Author: Alexey Lapshin <a.v.lapshin at mail.ru>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/DWARFLinker/AddressesMap.h
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
M llvm/test/tools/dsymutil/absolute_symbol.test
M llvm/test/tools/dsymutil/arch-option.test
M llvm/test/tools/dsymutil/archive-timestamp.test
M llvm/test/tools/dsymutil/basic-linking.test
M llvm/test/tools/dsymutil/debug-map-parsing.test
M llvm/test/tools/dsymutil/dump-symtab.test
M llvm/test/tools/dsymutil/fat-binary-output.test
M llvm/test/tools/dsymutil/fat-header.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
Log Message:
-----------
[dsymutil] Add --linker parallel to more tests. (#78581)
This patch adds check for parallel linker to tests located in the root
of test/tools/dsymutil.
Commit: 1715866a94b30f719f8db58591c9adfda6ff0ef6
https://github.com/llvm/llvm-project/commit/1715866a94b30f719f8db58591c9adfda6ff0ef6
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
Log Message:
-----------
fix optional wait wrongly treated as false (#78149)
Commit: fd9b33754198972b835f05ce58d8bb9f0ac8ff7e
https://github.com/llvm/llvm-project/commit/fd9b33754198972b835f05ce58d8bb9f0ac8ff7e
Author: tltao <tony.le.tao at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
[TLI] Remove leftover assert in TargetLibraryInfoImpl initialize (#79056)
Remove unnecessary assert for a sorted StandardNames after
implementation of getLibFunc is changed from binary search to a DenseMap
Lookup in commit 7d950f040e3da66ec83f91b58d8c2220483d6335.
The original getLibFunc binary search implementation is in commit
c740e3f0d1ca9690100160ed2708d97d3c6562f0.
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: d386c40b23798d6b80de5fea61b541dc8cbae36c
https://github.com/llvm/llvm-project/commit/d386c40b23798d6b80de5fea61b541dc8cbae36c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
M llvm/test/tools/llvm-cov/mcdc-maxbs.test
Log Message:
-----------
test/llvm-cov: Regenerate mcdc-maxbs.o w/o zlib (#78963)
Commit: bb3a515f95513571886bb900d4ddefb9ea5b4bad
https://github.com/llvm/llvm-project/commit/bb3a515f95513571886bb900d4ddefb9ea5b4bad
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
Log Message:
-----------
[AMDGPU][NFC] Refine determining the vdata operand in MUBUF_Load_Pseudo<>.
A follow-up from <https://github.com/llvm/llvm-project/pull/79025>.
Commit: 9629c73aeb4609f58aa9edb0b87d18dd9e8fecc0
https://github.com/llvm/llvm-project/commit/9629c73aeb4609f58aa9edb0b87d18dd9e8fecc0
Author: Dmitri Gribenko <gribozavr at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Remove a duplicated definition of _LIBCPP_NOINLINE (#79114)
I failed to delete the old definition as a part of
https://github.com/llvm/llvm-project/pull/73838.
Commit: 3bc86bf3bf742506818cf4d94c9227e4afed6f19
https://github.com/llvm/llvm-project/commit/3bc86bf3bf742506818cf4d94c9227e4afed6f19
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/common.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.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/log1pf.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/powf.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/tanf.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
M libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc] Remove unnecessary `FPBits` functions and properties (#79113)
This patch reduces the surface of `FPBits`.
Commit: 626d0fa30addc6e8fb9af4a80df853af645733b4
https://github.com/llvm/llvm-project/commit/626d0fa30addc6e8fb9af4a80df853af645733b4
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
Log Message:
-----------
[llvm-jitlink-executor] Fix unused function warning with LLVM_ENABLE_THREADS=0 (NFC)
Commit: 8e09f13d679df6c34dd03d8ad6116c832318cab0
https://github.com/llvm/llvm-project/commit/8e09f13d679df6c34dd03d8ad6116c832318cab0
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/EHFrameSupportTests.cpp
M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Log Message:
-----------
[OrcJITTests] Fix warning: suggest explicit braces to avoid ambiguous 'else' (NFC)
Likely related to platform-specific expansion of gtest macros:
```
llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp:1276:12: warning: suggest explicit
braces to avoid ambiguous 'else' [-Wdangling-else]
```
Commit: b524eed9259e26b5812e2b55cc05e42fda217486
https://github.com/llvm/llvm-project/commit/b524eed9259e26b5812e2b55cc05e42fda217486
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/common.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.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/log1pf.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/powf.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/tanf.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
M libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
Revert "[libc] Remove unnecessary `FPBits` functions and properties" (#79118)
Reverts llvm/llvm-project#79113
It broke aarch64 build bot machines.
Commit: 74cb09ff90bff4b91f6c3527fd2715d5d4e77aea
https://github.com/llvm/llvm-project/commit/74cb09ff90bff4b91f6c3527fd2715d5d4e77aea
Author: Stephen Tozer <Stephen.Tozer at Sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
Log Message:
-----------
[RemoveDIs][NFC] Disable RemoveDIs tests that are not yet enabled
As part of a recent patch landing, some tests that are not yet ready
to support RemoveDIs were turned on; this patch disables those tests
in RemoveDIs mode.
Fixes buildbot failure:
https://lab.llvm.org/buildbot/#/builders/275/builds/3640
Commit: 96adf69ba93965956d1ee507d9f75a453d99b666
https://github.com/llvm/llvm-project/commit/96adf69ba93965956d1ee507d9f75a453d99b666
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/shift-logic.ll
Log Message:
-----------
[InstCombine] Remove one-use check if other logic operand is constant (#77973)
By using `match(W, m_ImmConstant())`, we do not need to worry about
one-time use anymore.
Commit: ea4d22f22568ccce7985032d150e79197694d38f
https://github.com/llvm/llvm-project/commit/ea4d22f22568ccce7985032d150e79197694d38f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
Log Message:
-----------
[Lex] Avoid repeated calls to getIdentifierInfo() (NFC)
We're calling it four times in the same function.
Commit: 1f9de23e94af3ff50f67a3b16be3769919c2e146
https://github.com/llvm/llvm-project/commit/1f9de23e94af3ff50f67a3b16be3769919c2e146
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
Log Message:
-----------
[SCEVExp] Add additional tests for hoisting IVs with NSW flags.
Commit: 13c6f1ea2e7eb15fe492d8fca4fa1857c6f86370
https://github.com/llvm/llvm-project/commit/13c6f1ea2e7eb15fe492d8fca4fa1857c6f86370
Author: OCHyams <orlando.hyams at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
Reapply [hwasan] Update dbg.assign intrinsics in HWAsan pass #78606
llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to update
the second expression.
Fixes #76545
Commit: 3112578597c031e6f00c4b126182bd0d8582c729
https://github.com/llvm/llvm-project/commit/3112578597c031e6f00c4b126182bd0d8582c729
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
M compiler-rt/test/CMakeLists.txt
A compiler-rt/test/builtins/Unit/sme-string-test.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/unittests/lit.common.unit.configured.in
Log Message:
-----------
[AArch64][compiler-rt] Add memcpy, memset, memmove, memchr builtins. (#77496)
Add naive implementation of memcpy, memset, memmove, memchr for SME
targets.
Co-authored-by: David Sherwood <david.sherwood at arm.com>
Commit: a3696196949ad03de2db266eea257d28d1f35905
https://github.com/llvm/llvm-project/commit/a3696196949ad03de2db266eea257d28d1f35905
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" warning. NFC.
Commit: 5c7bbe383bf2de0c1de36c7231bbd7f75bfccb1e
https://github.com/llvm/llvm-project/commit/5c7bbe383bf2de0c1de36c7231bbd7f75bfccb1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/i64-to-float.ll
M llvm/test/CodeGen/X86/packus.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithOp - recognise constant vectors with getTargetConstantFromNode
Allows shuffle to fold constant vectors that have already been lowered to constant pool - shuffle combining can then constant fold this.
Noticed while triaging #79100
Commit: 1652d44d8da83b0a01d5f0b378f10882f5ec8d22
https://github.com/llvm/llvm-project/commit/1652d44d8da83b0a01d5f0b378f10882f5ec8d22
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
Log Message:
-----------
[Clang] Amend SME attributes with support for ZT0. (#77941)
This patch builds on top of #76971 and implements support for:
* __arm_new("zt0")
* __arm_in("zt0")
* __arm_out("zt0")
* __arm_inout("zt0")
* __arm_preserves("zt0")
Commit: f47c4067fd30ef4318f6ff4d4afafd1ef8a2e262
https://github.com/llvm/llvm-project/commit/f47c4067fd30ef4318f6ff4d4afafd1ef8a2e262
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
Log Message:
-----------
[PhaseOrder] Add test where indvars dropping NSW prevents vectorization.
End-to-end test for https://github.com/llvm/llvm-project/issues/71517,
testing IndVars/LoopVectorize interaction
Commit: 082f87c9d418eb7b5a731e16b50e6649e387cb5a
https://github.com/llvm/llvm-project/commit/082f87c9d418eb7b5a731e16b50e6649e387cb5a
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M mlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Change default AMDHSA Code Object version to 5 (#79038)
Also update LIT tests and docs.
For more details, see
https://llvm.org/docs/AMDGPUUsage.html#code-object-v5-metadata
Corresponding llvm-objdump AMDGPU lit tests are updated
in a follow-up PR.
Commit: 33ec6b3de7f72bc5da6351538f713777c1f8a199
https://github.com/llvm/llvm-project/commit/33ec6b3de7f72bc5da6351538f713777c1f8a199
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
Log Message:
-----------
[AMDGPU] Update llvm-objdump lit tests for COV5 (#79039)
Depends on #79038 which makes cov5 as the default code
object version.
Commit: 7ec078ed4b7f6e7f44133a2abbc35c74b67787cc
https://github.com/llvm/llvm-project/commit/7ec078ed4b7f6e7f44133a2abbc35c74b67787cc
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
Log Message:
-----------
[Support] Avoid a VirtualBox shared folders mmap bug (#78597)
In acd8791c2619f2afc0347c1bff073b32fbffb5d6, a call to FlushFileBuffers
was added to work around a rare kernel bug. In
3b9b4d2156673edda50584086fbfb0d66460b4d2, the scope of that workaround
was limited, for performance reasons, as the flushes are quite
expensive.
On VirtualBox shared folders, closing a memory mapping that has been
written to, also needs to be explicitly flushed, if renaming the output
file before it is closed. Contrary to the kernel bug, this always
happens on such mounts. In these cases, the output ends up as a file of
the right size, but the contents are all zeros.
The sequence to trigger the issue on the VirtualBox Shared Folders is
this, summarized:
file = CreateFile()
mapping = CreateFileMapping(file)
mem = MapViewOfFile()
CloseHandle(mapping)
write(mem)
UnmapViewOfFile(mem)
SetFileInformationByHandle(file, FileRenameInfo)
CloseHandle(file)
With this sequence, the output file always ends up with all zeros. See
https://github.com/mstorsjo/llvm-mingw/issues/393 for a full
reproduction example.
To avoid this issue, call FlushFileBuffers() when the file may reside on
a VitualBox shared folder. As the flushes are expensive, only do them
when the output isn't on a local file system.
The issue with VirtualBox shared folders could also be fixed by calling
FlushViewOfFile before UnmapViewOfFile, and doing that could be slightly
less expensive than FlushFileBuffers.
Empirically, the difference between the two is very small though, and as
it's not easy to verify whether switching FlushFileBuffers to
FlushViewOfFile helps with the rare kernel bug, keep using
FlushFileBuffers for both cases, for code simplicity.
This fixes downstream bug
https://github.com/mstorsjo/llvm-mingw/issues/393.
Commit: e3d73ad58c41b945d9fc5d5fb16ea44850ccf652
https://github.com/llvm/llvm-project/commit/e3d73ad58c41b945d9fc5d5fb16ea44850ccf652
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl] Fix CMake errors when cross compiling
These stem from 4821c90c24d52d4a42990fd9371caedb157bc58b.
When cross compiling, CMAKE_SYSTEM_PROCESSOR is empty, if the
target processor hasn't been set when setting up the cross
compilation. Ideally, when setting up cross compilation with
CMake, the user is supposed to set CMAKE_SYSTEM_PROCESSOR, but
so far, compilation has worked just fine even without it.
Quote the string where CMAKE_SYSTEM_PROCESSOR is expanded, to
avoid argument errors when it expands to an empty string.
Commit: 5daf674feba0f57b083113ad7ed486cad433a916
https://github.com/llvm/llvm-project/commit/5daf674feba0f57b083113ad7ed486cad433a916
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/ProfileSummary.h
Log Message:
-----------
ProfileSummary.h - remove unnecessary std::move.
The constructor args are passed by reference since d6790a0a3ce769fc6f37b2577c074d30cb92dbc2
Fixes MSVC static analysis warning
Commit: 82f424f766be00b037a706a835d0a0663a2680f1
https://github.com/llvm/llvm-project/commit/82f424f766be00b037a706a835d0a0663a2680f1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
R clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
Revert "[clang][modules] Print library module manifest path. (#76451)"
This reverts commit a301fb11014f9cfdf4ee8cada173c46a7677d9d3.
The changes caused failures like:
https://lab.llvm.org/buildbot/#/builders/91/builds/22189
Commit: 42b0884238aa3149785ac75fe983e3d6c7715a11
https://github.com/llvm/llvm-project/commit/42b0884238aa3149785ac75fe983e3d6c7715a11
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
Log Message:
-----------
[AMDGPU] Handle V_PERMLANE64_B32 in fixVcmpxPermlaneHazards (#79125)
Fixes #78856
Commit: 52665432842fc187eac6404407df1fa6f37444d6
https://github.com/llvm/llvm-project/commit/52665432842fc187eac6404407df1fa6f37444d6
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[RemoveDIs][DebugInfo] Handle DPVAssigns in AssignmentTrackingLowering (#78980)
Following on from the previous patch 6aeb7a7,
this patch adds the necessary code to process the DPV equivalents of
llvm.dbg.assign intrinsics. Most of the content of this patch is simply
duplicating existing functionality, using generic code for simple
functions and PointerUnions where storage is required. The most complex
changes are in the places that iterate over instructions, as iterating
over DPValues between instructions is different to iterating over
instructions that may or may not be debug intrinsics; this is most
complex in `AssignmentTrackingLowering::process`, where I've added some
comments to explain the state of the program at each key point depending
on whether we are operating on intrinsics or DPValues.
Commit: 4318b033bddc64d5654f3e368fddde859ff4d02e
https://github.com/llvm/llvm-project/commit/4318b033bddc64d5654f3e368fddde859ff4d02e
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/2009-06-12-x86_64-tail-call-conv-out-of-sync-bug.ll
M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
M llvm/test/CodeGen/X86/addsub-constant-folding.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx2-fma-fneg-combine.ll
M llvm/test/CodeGen/X86/avx2-vperm.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/combine-subo.ll
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/fma-fneg-combine-2.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/icmp-abs-C-vec.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/peephole-fold-movsd.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/sink-addsub-of-const.ll
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-mulfix-legalize.ll
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
M llvm/test/CodeGen/X86/widen_arith-2.ll
M llvm/test/CodeGen/X86/widen_arith-4.ll
M llvm/test/CodeGen/X86/widen_arith-5.ll
M llvm/test/CodeGen/X86/widen_arith-6.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[MC][X86] Merge lane/element broadcast comment printers. (#79020)
This is /almost/ NFC - the only annoyance is that for some reason we were using "<C1,C2,..>" for ConstantVector types unlike all other cases - these now use the same "[C1,C2,..]" format as the other constant printers.
Commit: e7b4ff8119403509da3e7941dcb86b1c6a6d61c5
https://github.com/llvm/llvm-project/commit/e7b4ff8119403509da3e7941dcb86b1c6a6d61c5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add vec3 tests with add between load and store.
Extra tests for
https://github.com/llvm/llvm-project/pull/78637
https://github.com/llvm/llvm-project/pull/78632
Commit: e60d780f4a9ac6dc79aebe197d3575e9ea636b7f
https://github.com/llvm/llvm-project/commit/e60d780f4a9ac6dc79aebe197d3575e9ea636b7f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 3ab8d2aac7bc
3ab8d2aac7bc relanded in 3112578597c031, so reland this too.
Might want to set this to True (and add a few source files to
builtins) at some point, but for now heal the bots.
Commit: 6b02d2f86389d68a0cf2162377c5dda05bd4b68a
https://github.com/llvm/llvm-project/commit/6b02d2f86389d68a0cf2162377c5dda05bd4b68a
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/common.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.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/log1pf.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/powf.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/tanf.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
M libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[reland][libc] Remove unnecessary `FPBits` functions and properties (#79128)
- reland #79113
- Fix aarch64 RISC-V build
Commit: d2398cca6f716bb48f11500faf90f087f5b5f5d1
https://github.com/llvm/llvm-project/commit/d2398cca6f716bb48f11500faf90f087f5b5f5d1
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
Restore: [mlir][ROCDL] Stop setting amdgpu-implicitarg-num-bytes (#79129)
This patch restores PR#78498
Commit: 55f12299d890078708eb6d2e069dc117ad244d4d
https://github.com/llvm/llvm-project/commit/55f12299d890078708eb6d2e069dc117ad244d4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
ValueTracking: Recognize fcmp ole/ugt with inf as a class test (#79095)
These were missed and hopefully avoids assertions when
dc3faf0ed0e3f1ea9e435a006167d9649f865da1 is recommitted.
Commit: 10f3296dd7d74c975f208a8569221dc8f96d1db1
https://github.com/llvm/llvm-project/commit/10f3296dd7d74c975f208a8569221dc8f96d1db1
Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_io.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/z_Windows_NT_util.cpp
Log Message:
-----------
[openmp] Fix warnings when building on Windows with latest MSVC or Clang ToT (#77853)
There were quite a few compilation warnings when building openmp on Windows with
the latest Visual Studios 2022 version 17.8.4. Some other warnings were visible
with the latest Clang at tip. This commit fixes all of them.
Commit: 16df714e77e8d31619445e5f6d87d89da962eec4
https://github.com/llvm/llvm-project/commit/16df714e77e8d31619445e5f6d87d89da962eec4
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/CodeGen/Thumb/stack_guard_remat.ll
Log Message:
-----------
[test] Update stack_guard_remat.ll (#79139)
Replace cp with a cat. This allows to create a writable file when the
original one is read-only.
Commit: 94f960925b7f609636fc2ffd83053814d5e45ed1
https://github.com/llvm/llvm-project/commit/94f960925b7f609636fc2ffd83053814d5e45ed1
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_io.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/z_Windows_NT_util.cpp
Log Message:
-----------
Revert 10f3296dd7d74c975f208a8569221dc8f96d1db1 - [openmp] Fix warnings when building on Windows with latest MSVC or Clang ToT (#77853)
It broke the AMDGPU buildbot: https://lab.llvm.org/buildbot/#/builders/193/builds/45378
Commit: e96242b4e4306ba690f9e2e8f12758da8f63805e
https://github.com/llvm/llvm-project/commit/e96242b4e4306ba690f9e2e8f12758da8f63805e
Author: Paul T Robinson <paul.robinson at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/Headers/bmiintrin.h
Log Message:
-----------
[Headers][X86] Add macro descriptions to bmiintrin.h (#79048)
These are largely copy-pasted from the corresponding function
descriptions. Added \see cross-references. Also changed <c> tags to \c.
Commit: d38c61a13d89ec57b80e5174029b63071c6d7290
https://github.com/llvm/llvm-project/commit/d38c61a13d89ec57b80e5174029b63071c6d7290
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
Log Message:
-----------
[clang][Interp][NFC] Move ToVoid casts to the bottom
So we have all the complex casts together.
Commit: 654131fab22e71f156d8fa9d37389622f1652438
https://github.com/llvm/llvm-project/commit/654131fab22e71f156d8fa9d37389622f1652438
Author: OldWorldOrdr <joey.t.reinhart at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/MachO/link-csu-object.s
Log Message:
-----------
fix test (#79018)
Mistake with #78628 that got caught after being merged
Commit: 10bd69a4f72a094f4e157ed3e226da426432ef74
https://github.com/llvm/llvm-project/commit/10bd69a4f72a094f4e157ed3e226da426432ef74
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[MachineOutliner] Refactor iterating over Candidate's instructions (#78972)
Make Candidate's front() and back() functions return references to
MachineInstr and introduce begin() and end() returning iterators, the
same way it is usually done in other container-like classes.
This makes possible to iterate over the instructions contained in
Candidate the same way one can iterate over MachineBasicBlock (note that
begin() and end() return bundled iterators, just like MachineBasicBlock
does, but no instr_begin() and instr_end() are defined yet).
Commit: 818f13fc00bb29df98d730dca6561014db1d4e26
https://github.com/llvm/llvm-project/commit/818f13fc00bb29df98d730dca6561014db1d4e26
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
Log Message:
-----------
[AMDGPU] Remove getWorkGroupIDSGPR, unused since aa6fb4c45e01
Commit: 30845e8ab46c416a2e333eb84239e9ec71e92617
https://github.com/llvm/llvm-project/commit/30845e8ab46c416a2e333eb84239e9ec71e92617
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/DebugInfo/assignment-tracking/AArch64/scalable-vectors.ll
M llvm/test/DebugInfo/assignment-tracking/X86/DSE.ll
M llvm/test/DebugInfo/assignment-tracking/X86/assignment-tracking-not-enabled.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/dbg-phi-produces-undef.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-1.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
M llvm/test/DebugInfo/assignment-tracking/X86/frag-size-zero.ll
M llvm/test/DebugInfo/assignment-tracking/X86/global-storage.ll
M llvm/test/DebugInfo/assignment-tracking/X86/large-type.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-unroll.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
M llvm/test/DebugInfo/assignment-tracking/X86/negative-offset.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-frags.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-sroa.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop.ll
M llvm/test/DebugInfo/assignment-tracking/X86/no-redundant-def-after-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/order-of-defs.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-bwd-scan.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-to-prevent-reordering.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-dangling-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-ir-salvage-assign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-transfer-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
M llvm/test/DebugInfo/assignment-tracking/X86/split-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-extra-checks.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-outside-variable.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Handle DPVAssigns in Assignment Tracking excluding lowering (#78982)
This patch adds support for DPVAssigns across all of
AssignmentTrackingAnalysis except for AssignmentTrackingLowering, which
is implemented in a separate patch. This patch includes handling
DPValues in MemLocFragFill, the removal of redundant DPValues as part of
AssignmentTrackingAnalysis (which is different to the version in
`BasicBlockUtils.cpp`), and preventing the DPVAssigns from being
directly emitted in SelectionDAG (just as we don't emit llvm.dbg.assigns
directly, but receive a set of locations from
AssignmentTrackingAnalysis' output).
Commit: 40bdfd39e394baa08fa67c5943c1b53c66c94bed
https://github.com/llvm/llvm-project/commit/40bdfd39e394baa08fa67c5943c1b53c66c94bed
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDPValues.cpp
A llvm/tools/llvm-reduce/deltas/ReduceDPValues.h
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
[llvm-reduce][DebugInfo] Support reducing non-instruction debug-info (#78995)
LLVM will shortly be able to represent variable locations without
encoding information into intrinsics -- they'll be stored as DPValue
objects instead. We'll still need to be able to llvm-reduce these
variable location assignments just like we can with intrinsics today,
thus, here's an llvm-reduce pass that enumerates and reduces the DPValue
objects.
The test for this is paradoxically written with dbg.value intrinsics:
this is because we're changing all the core parts of LLVM to support
this first, with the textual IR format coming last. Until that arrives,
testing the llvm-reduce'ing of DPValues needs the added test using
intrinsics. We should be able to drop the variable assignment using
%alsoloaded using this method. As with the other llvm-reduce tests, I've
got one set of check lines for making the reduction happen as desired,
and the other set to check the final output.
Commit: 6bbaad1ed402490a648ca184a1f945988789b7a1
https://github.com/llvm/llvm-project/commit/6bbaad1ed402490a648ca184a1f945988789b7a1
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/CodeGen/arm-acle-coproc.c
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/lib/Target/ARM/ARM.td
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM] Introduce the v9.5-A architecture version to Arm targets (#78994)
This introduces the Armv9.5-A architecture version to the Arm backend,
following on from the existing implementation for AArch64 targets.
Mode details about the Armv9.5-A architecture version can be found at:
* https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2023
* https://developer.arm.com/documentation/ddi0602/2023-09/
Commit: f2a2f8082bbb16fadf3583f7ac1b85e3e93a9f4c
https://github.com/llvm/llvm-project/commit/f2a2f8082bbb16fadf3583f7ac1b85e3e93a9f4c
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/cmake/caches/PGO.cmake
Log Message:
-----------
[CMake][PGO] Add libunwind to list of stage1 runtimes (#78869)
This fixes the build since 8f90e6937a1fac80873bb2dab5f382c82ba1ba4e
which made libcxxabi use llvm's libunwind by default.
Fixes #78487
Commit: c173a5bdc422ed457a04b68ec7c136add9eee11c
https://github.com/llvm/llvm-project/commit/c173a5bdc422ed457a04b68ec7c136add9eee11c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
[gn build] Port 40bdfd39e394
Commit: 9edd1c4daeba59b3db3390d449543b71c73f161b
https://github.com/llvm/llvm-project/commit/9edd1c4daeba59b3db3390d449543b71c73f161b
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
Log Message:
-----------
[MLIR][AMDGPU] Switch to code object version 5 (#79144)
As AMDGPU backend has moved to cov5 as default, mlir should also switch
to it.
Commit: 087172258a50d5bcabe43aff072a20701f0808ef
https://github.com/llvm/llvm-project/commit/087172258a50d5bcabe43aff072a20701f0808ef
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-shift-of-shifted-dbg-value-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-cpp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-dilocation.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-extract-used-by-dbg.ll
M llvm/test/CodeGen/X86/GlobalISel/x86-calllowering-dbg-trunc.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Handle non-instr debug-info in GlobalISel (#75228)
The RemoveDIs project is aiming to eliminate debug intrinsics like
dbg.value and dbg.declare from LLVM, and replace them with DPValue objects
attached to instructions. ISel is one of the "terminals" where that
information needs to be converted into MIR format: this patch implements
support for that in GlobalISel. We aim for the output of LLVM to be
identical with/without RemoveDIs debug-info.
This patch should be NFC, as we're handling the same data about variables
stored in a different format -- it now appears in a DPValue object rather
than as an intrinsic. To that end, I've refactored the handling of
dbg.values into a dedicated function, and call it whenever a dbg.value or a
DPValue is encountered. dbg.declare is handled in a similar way.
Testing: adding the --try-experimental-debuginfo-iterators switch to llc
causes it to try and convert to the "new" debug-info format if it's built
in (LLVM_EXPERIMENTAL_DEBUGINFO_ITERATORS=On), and it'll be covered by our
buildbot. One test has a few extra wildcard-regexes added: this is because
there's some extra data printed about attached debug-info, which is safe to
ignore.
Commit: 10a3e9138ec9fd9f3f563bb1b6e014f4e3d4ebc9
https://github.com/llvm/llvm-project/commit/10a3e9138ec9fd9f3f563bb1b6e014f4e3d4ebc9
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/arm/FEnvImpl.h
Log Message:
-----------
[libc] Fix forward arm32 buildbot (#79151)
Fix forward #79128
Commit: 5f47687c82e6a9246f9fd852185fbba43385abe3
https://github.com/llvm/llvm-project/commit/5f47687c82e6a9246f9fd852185fbba43385abe3
Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/unittests/lit.common.unit.configured.in
Log Message:
-----------
Remove config.aarch64_sme from compiler-rt/unittests/lit.common.unit.configured.in
Commit: 291ac25298f797f99d880833c20756d82d779c02
https://github.com/llvm/llvm-project/commit/291ac25298f797f99d880833c20756d82d779c02
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/test/profile/instrprof-api.c
Log Message:
-----------
[PGO] Remove calls to `__llvm_orderfile_dump()` in `instrprof-api.c` test (#79150)
https://github.com/llvm/llvm-project/pull/78285 added a test which calls
`__llvm_orderfile_dump()`, a functionality that is not supported on many
platforms. This PR removes the call to `__llvm_orderfile_dump()` to
avoid it failing on unsupported platforms, and turn on the test for
Windows, so we test the rest of the API that are supported.
Commit: 77e204c7b04f1f516db9a1dd5602e4a853bb0d1c
https://github.com/llvm/llvm-project/commit/77e204c7b04f1f516db9a1dd5602e4a853bb0d1c
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/Arch/ARM64Common.h
M lld/MachO/Arch/ARM64_32.cpp
M lld/MachO/Arch/X86_64.cpp
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Target.h
A lld/test/MachO/arm64-objc-stubs-dyn.s
M lld/test/MachO/arm64-objc-stubs.s
M lld/test/MachO/x86-64-objc-stubs.s
Log Message:
-----------
[lld-macho][arm64] implement -objc_stubs_small (#78665)
This patch implements `-objc_stubs_small` targeting arm64, aiming to
align with ld64's behavior.
1. `-objc_stubs_fast`: As previously implemented, this always uses the
Global Offset Table (GOT) to invoke `objc_msgSend`. The alignment of the
objc stub is 32 bytes.
2. `-objc_stubs_small`: This behavior depends on whether `objc_msgSend`
is defined. If it is, it directly jumps to `objc_msgSend`. If not, it
creates another stub to indirectly jump to `objc_msgSend`, minimizing
the size. The alignment of the objc stub in this case is 4 bytes.
Commit: dffa8039b10823f67347453a0ef445ee785ed4aa
https://github.com/llvm/llvm-project/commit/dffa8039b10823f67347453a0ef445ee785ed4aa
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
Log Message:
-----------
[libc] Remove specific nan payload in math functions (#79133)
Commit: 2cff46f8c0aa88222aba776de094c650aa09a33d
https://github.com/llvm/llvm-project/commit/2cff46f8c0aa88222aba776de094c650aa09a33d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/test/UnitTest/ErrnoSetterMatcher.h
Log Message:
-----------
[libc][NFC] use builder pattern for ErrnoSetterMatcher (#79153)
ErrnoSetterMatcher::returns can be misleading as it does not initialize
the errno. This is made worse as later on there is a switch statement on
the errno comparator using __builtin_unreachable(). This patch make
ErrnoSetterMatcher::returns give back a builder that is nomially
different from ErrnoSetterMatcher.
Commit: 8c41e3fcb18c2bf7c369f50473367e9cdd072ecc
https://github.com/llvm/llvm-project/commit/8c41e3fcb18c2bf7c369f50473367e9cdd072ecc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/pr78897.ll
Log Message:
-----------
[X86] Add test case for Issue #78897
Commit: 179ba129f50aefe6e670800aec7091d958aa6f90
https://github.com/llvm/llvm-project/commit/179ba129f50aefe6e670800aec7091d958aa6f90
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/CodeGen/attr-target-version.c
M clang/test/Sema/attr-target-clones-aarch64.c
M clang/test/SemaCXX/attr-target-version.cpp
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[AArch64][FMV] Support feature MOPS in Function Multi Versioning. (#78788)
The patch adds support for FEAT_MOPS (Memory Copy and Memory Set
instructions) in Function Multi Versioning. The bits [19:16] of the
system register ID_AA64ISAR2_EL1 indicate whether FEAT_MOPS is
implemented in AArch64 state. This information is accessible via ELF
hwcaps.
Commit: 0c02b2e0e0397b5d73dc4c8cc10561f05789ee41
https://github.com/llvm/llvm-project/commit/0c02b2e0e0397b5d73dc4c8cc10561f05789ee41
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/noalias-scope-decl.ll
Log Message:
-----------
[LAA] Add test for #79137 (NFC)
Commit: 6ad4ed5f1dd0a8160cd3c7b75e63a0e2f6061b5b
https://github.com/llvm/llvm-project/commit/6ad4ed5f1dd0a8160cd3c7b75e63a0e2f6061b5b
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp
Log Message:
-----------
[VecLib] Fix: Restore DebugFlag state in ReplaceWithVecLibTest (#78989)
It appears that Google Tests run multiple modules from the same
invocation.
As a result setting `llvm::DebugFlag` in this pass kept it on in
subsequent passes, which is not the expected behavior.
Commit: 632f44e5edee6395ef26953d41a0e681a121aad3
https://github.com/llvm/llvm-project/commit/632f44e5edee6395ef26953d41a0e681a121aad3
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/adce/no-delete.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/shared-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/use-before-def.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/do-not-remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/store-new-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/instruction-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/verify.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
M llvm/test/Transforms/HotColdSplit/invalid-dbg-assign.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Handle DPVAssign in most transforms (#78986)
This patch trivially updates various opt passes to handle DPVAssigns. In
all cases, this means some combination of generifying existing code to
handle DPValues and DbgAssignIntrinsics, iterating over DPValues where
previously we did not, or duplicating code for DbgAssignIntrinsics to
the equivalent DPValue function (in inlining and salvageDebugInfo).
Commit: 6bb7d515c3577afbae9293caa050e02643a19355
https://github.com/llvm/llvm-project/commit/6bb7d515c3577afbae9293caa050e02643a19355
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
Log Message:
-----------
[AMDGPU] Properly check op_sel in GCNDPPCombine (#79122)
Commit: 4782ac8dd3cfa96e14ad4eff1389bbcfda27240f
https://github.com/llvm/llvm-project/commit/4782ac8dd3cfa96e14ad4eff1389bbcfda27240f
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/test/Transforms/IROutliner/legal-debug.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Use splice in Outliner rather than moveBefore (#79124)
This patch replaces a utility in the outliner that moves the contents of
one basic block into another basic block, with a call to splice instead.
I think it's NFC, however I'd like a second pair of eyes to look at it
just in case.
The reason for doing this is an edge case in the handling of DPValue
objects, the replacement for dbg.values. If there's a variable
assignment "dangling" at the end of a block (which happens when we
delete the terminator), inserting instructions at end() doesn't shift
the DPValue up into the block. We could probably fix this; but it's much
easier to use splice at the only call site that does this.
Patch adds --try-experimental-debuginfo-iterators to a test to exercise
this code path.
Commit: e1aa5b1fd12d548863cf73c1ec09f98fe89d117b
https://github.com/llvm/llvm-project/commit/e1aa5b1fd12d548863cf73c1ec09f98fe89d117b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/pr78897.ll
Log Message:
-----------
[DAG] visitSCALAR_TO_VECTOR - don't fold scalar_to_vector(bin(extract(x),extract(y)) -> bin(x,y) if extracts have other uses
Fixes #78897 - although the test case still has a number of poor codegen issues (in particular for i686 triples) that will need addressing (combining the nodes in topological order should help).
Commit: 2856db0d3b691907e055265c10f3ccc9b04f594e
https://github.com/llvm/llvm-project/commit/2856db0d3b691907e055265c10f3ccc9b04f594e
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/str_to_float.h
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/range_reduction_fma.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/hypotf_test.cpp
M libc/test/src/math/exhaustive/sincosf_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][NFC] Remove `FPBits` cast operator (#79142)
The semantics for casting can range from "bitcast" (same representation)
to "different representation", to "type promotion". Here we remove the
cast operator and force usage of `get_val` as the only function to get
the floating point value, making the intent clearer and more consistent.
Commit: 6cf37dd504d0466bd9f34e29712d60759ef8180f
https://github.com/llvm/llvm-project/commit/6cf37dd504d0466bd9f34e29712d60759ef8180f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU] Enable architected SGPRs for GFX12 (#79160)
Commit: d3a6a90ae5e80b074293ebfbcb2f15da9c57acc5
https://github.com/llvm/llvm-project/commit/d3a6a90ae5e80b074293ebfbcb2f15da9c57acc5
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/long-double-x87.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/nullptr-declare.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/scalable-vector.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/set-flag-only-if-modified.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/structured-bindings.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/var-not-alloca-sized.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/vla.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/optnone.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/roundtrip.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-options.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-simple.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-undef-fragment.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-frag.ll
Log Message:
-----------
[RemoveDIs][DebugInfo] Enable creation of DPVAssigns, update outstanding AT tests (#79148)
This is the final patch for DPVAssign support, implementing the actual
creation of DPVAssigns and allowing them to be converted along with
dbg.values and dbg.declares. Numerous tests landed in previous patches
will no longer be rotten after this patch lands (previously they would
trivially pass due to DPVAssigns not actually being used), and a further
batch of tests have been added here that require the changes in this
patch before they pass.
Commit: 1f6f19935c1b4512190f1bc94ebf94f3d2b69911
https://github.com/llvm/llvm-project/commit/1f6f19935c1b4512190f1bc94ebf94f3d2b69911
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[Clang][AArch64] Add diagnostics for builtins that use ZT0. (#79140)
Similar to what we did for ZA, this patch adds diagnostics to flag when
using a ZT0 builtin in a function that does not have ZT0 state.
Commit: 5176df55d3afcbecd6e6c42176fa7175897f0016
https://github.com/llvm/llvm-project/commit/5176df55d3afcbecd6e6c42176fa7175897f0016
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[CompilerRT] Attempt to fix a lit-config issue
This is a follow-up to 3112578597c03 -- it looks like passing the added
cmake flag to pythonize_bool also appends "_PYBOOL" to the flag name, which
this lit config file is missing. This trips up builds such as:
https://lab.llvm.org/buildbot/#/builders/275/builds/3661
https://lab.llvm.org/buildbot/#/builders/184/builds/9811
Where COMPILER_RT_HAS_AARCH64_SME ends up expanding to nothing.
Commit: 55929cd679375d6ee5111edcb881103f57588d0e
https://github.com/llvm/llvm-project/commit/55929cd679375d6ee5111edcb881103f57588d0e
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_arm.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_armv7plus.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
R llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumb.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv6m.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv7a.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv7m.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_arm.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_thumb.s
Log Message:
-----------
[JITLink][AArch32] Implement Armv5 ldr-pc stubs and use them for all pre-v7 targets (#79082)
This stub type loads an absolute address directly into the PC register.
It's the simplest and most compatible way to implement a branch
indirection across the entire address space (and probably the slowest as
well). It's the ideal fallback for all targets for which we did not
(yet) implement a more performant solution.
Commit: 39420279125c8d2fe0a2dae8b8c2e80d0118789c
https://github.com/llvm/llvm-project/commit/39420279125c8d2fe0a2dae8b8c2e80d0118789c
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/IROutliner/legal-debug.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Disable a run-line while investigating a problem
This just reduces coverage for RemoveDIs temporarily, and it's almost
certainly a patch-ordering problem.
Commit: 8a45cec934697747ac3d3a18e75833e0058fe9a1
https://github.com/llvm/llvm-project/commit/8a45cec934697747ac3d3a18e75833e0058fe9a1
Author: James Y Knight <jyknight at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/docs/Atomics.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/TargetLowering.h
Log Message:
-----------
[LangRef] adjust IR atomics specification following C++20 model tweaks. (#77263)
C++20 accepted two papers, [P0668](https://wg21.link/P0668) and
[P0982](https://wg21.link/P0982), which changed the atomics memory model
slightly in order to reflect the realities of the existing
implementations.
The rationale for these changes applies as well to the LLVM IR atomics
model. No code changes are expected to be required from this change: it
is primarily a matter of more-correctly-documenting the existing state
of the world.
There's three changes: two of them weaken guarantees, and one
strengthens them:
1. The memory ordering guaranteed by some backends/CPUs when seq_cst
operations are mixed with acquire/release operations on the same
location was weaker than the spec guaranteed. Therefore, the
specification is changed to remove the requirement that seq_cst ordering
is consistent with happens-before, and replaces it with a slightly
weaker requirement of consistency with a new relation named
strongly-happens-before.
2. The rules for a "release sequence" were weakened. Previously, an
acquire synchronizes with an release even if it observes a later
monotonic store from the same thread as the release store. That has now
been removed: now, only read-modify-write operations can extend a
release sequence.
3. The model for a a seq_cst fence is strengthened, such that placing a
seq_cst between monotonic accesses now _is_ sufficient to guarantee
sequential consistency in the model (as it always has been on existing
implementations.)
Note that I've directly referenced the C++ standard's atomics.order
section for the precise semantics of seq_cst, instead of fully
describing them. They are quite complex, and a lot of work has gone into
refining the words in the standard. I'm afraid if I attempt to reiterate
them, I would only introduce errors.
Commit: 51f9e982ed5c9a1f39c50d0501ab1bcb6ebf5de4
https://github.com/llvm/llvm-project/commit/51f9e982ed5c9a1f39c50d0501ab1bcb6ebf5de4
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Use early return for select shuffle lowering [nfc]
Minor rework of the fallback case for two argument shuffles in lowerVECTOR_SHUFFLE. We had some common code which wasn't actually common, and simplified significantly once specialized for whether we had a select or not.
Commit: 42b28c694ebc8a4ab09ef0b419308d47fc1e21ba
https://github.com/llvm/llvm-project/commit/42b28c694ebc8a4ab09ef0b419308d47fc1e21ba
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
Log Message:
-----------
[clang] Add missing streaming attributes to SVE builtins (#79134)
This patch adds `IsStreamingCompatible` or `IsStreamingOrSVE2p1` to the
SVE builtins that missed them.
Commit: 2531a15dfd4eafda21622e3a828a93fc9a27e3b6
https://github.com/llvm/llvm-project/commit/2531a15dfd4eafda21622e3a828a93fc9a27e3b6
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
Log Message:
-----------
[OpenACC] Implement 'device_type' clause parsing
'device_type' takes either an asterisk or a list of impementation
specific identifiers. This patch implements the parsing for it.
Additionally, 'dtype' is an alias for 'device_type', though we're
implementing it as its own clause kind to improve future diagnostics, as
this will allow us to differentiate the spellings.
Commit: 8ed1291d96eaf230ce289c9e62d28df3851d4372
https://github.com/llvm/llvm-project/commit/8ed1291d96eaf230ce289c9e62d28df3851d4372
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[MachineCopyPropagation] Make a SmallVector larger (NFC) (#79106)
This patch makes a SmallVector slightly larger. We encounter quite a
few instructions with 3 or 4 defs but very few beyond that on X86.
This saves 0.39% of heap allocations during the compilation of a large
preprocessed file, namely X86ISelLowering.cpp, for the X86 target.
Commit: c5a33befcc328339a84c35f6899ff3f3309399fc
https://github.com/llvm/llvm-project/commit/c5a33befcc328339a84c35f6899ff3f3309399fc
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/lib/Basic/CodeGenOptions.cpp
M clang/test/ClangScanDeps/strip-codegen-args.m
Log Message:
-----------
[clang][modules] Fix CodeGen options that can affect the AST. (#78816)
`OptimizationLevel` and `OptimizeSize` can affect the generated AST. They indirectly affect the `Optimize` and `OptimizeSize` frontend options, which in turn set predefined macro definitions.
This fixes rdar://121228252.
Commit: a0f69be26293dfb3b6c65ca65bd68f735f60c5a3
https://github.com/llvm/llvm-project/commit/a0f69be26293dfb3b6c65ca65bd68f735f60c5a3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Continue with early return for shuffle lowering [nfc]
Move two cases where we're not actually going to use any of our computed index vectors or mask values above the computation of the same.
Commit: d360963aaa90710752d684035404db80c3dc1645
https://github.com/llvm/llvm-project/commit/d360963aaa90710752d684035404db80c3dc1645
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
Log Message:
-----------
[RISCV] Add regalloc hints for Zcb instructions. (#78949)
This hints the register allocator to use the same register for source
and destination to enable more compression.
Commit: 03d362db7463f3451692fa6a80204b35dfe95037
https://github.com/llvm/llvm-project/commit/03d362db7463f3451692fa6a80204b35dfe95037
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A libc/docs/gpu/rpc-diagram.svg
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/testing.rst
Log Message:
-----------
[libc][Docs] Update the GPU RPC documentation (#79069)
Summary:
This adds some more concrete information on the RPC interface. Hopefully
this is intelligable and provides some useful examples.
Commit: 3428c28b3d611ac608bb8e22633c65f605a6511e
https://github.com/llvm/llvm-project/commit/3428c28b3d611ac608bb8e22633c65f605a6511e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 5176df55d3a
Commit: edeaf41e22cc7b1ab9ef30954762f2a08a3c3561
https://github.com/llvm/llvm-project/commit/edeaf41e22cc7b1ab9ef30954762f2a08a3c3561
Author: Alina Sbirlea <asbirlea at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[ConstantHoisting] Cache OptForSize. (#79170)
CacheOptForSize to remove quadratic behavior.
For each constant analyzed, ConstantHoising calls
`shouldOptimizeForSize(F)`, which calls `PSI.getTotalCallCount(F)`.
PSI.getTotalCallCount(F) goes through all the instructions in all basic
blocks, and checks if each is a call, to count them up.
This reduces `llc` time for a very large IR from ~10min to under 3min.
Reproducer testcase is much too large to share.
Commit: 6a7abea47418721616c9dd7a16f5cc3e5a67d49c
https://github.com/llvm/llvm-project/commit/6a7abea47418721616c9dd7a16f5cc3e5a67d49c
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/Interpreter/Interpreter.cpp
Log Message:
-----------
Revert "[clang-repl] Enable native CPU detection by default (#77491)" (#79178)
Reverting because `clang-repl -Xcc -mcpu=arm1176jzf-s` isn't overwriting
this as I had expected. We need to check whether a specific CPU flag was
given by the user first.
Reverts llvm/llvm-project#77491
Commit: 15fdc7646ca24506ccb6a59861da8f3b52ab031c
https://github.com/llvm/llvm-project/commit/15fdc7646ca24506ccb6a59861da8f3b52ab031c
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M openmp/cmake/HandleOpenMPOptions.cmake
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_barrier.cpp
M openmp/runtime/src/kmp_io.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_settings.cpp
M openmp/runtime/src/kmp_wait_release.h
M openmp/runtime/src/z_Windows_NT_util.cpp
Log Message:
-----------
Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang ToT (#77853)
The reverts 94f960925b7f609636fc2ffd83053814d5e45ed1 and fixes it.
Commit: e4f0829d80aabe7d0b80d8ba60828dd0c9774300
https://github.com/llvm/llvm-project/commit/e4f0829d80aabe7d0b80d8ba60828dd0c9774300
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
Log Message:
-----------
[Orc] Let LLJIT default to JITLink for ELF-based ARM targets (#77313)
The JITLink AArch32 backend reached feature-parity with RuntimeDyld
on ELF-based systems. This patch changes the default JIT-linker in Orc's
LLJIT for these platforms.
This allows us to run clang-repl with JITLink on ARM and use all the
features we had with RuntimeDyld before. All existing tests for
clang-repl are passing.
Commit: 55a7bb0ff68a97a8ec640f846c40aae19a2d58c0
https://github.com/llvm/llvm-project/commit/55a7bb0ff68a97a8ec640f846c40aae19a2d58c0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Re-format RISCVFeatures.td so it doesn't look like AssemblerPredicate is an operand to Predicate. (#79076)
AssemblerPredicate was almost always indented to the same column as the
first operand to Predicate. But AssemblerPredicate is a separate base
class so should have the same indentation as Predicate.
For the string passed to AssemblePredicate, I aligned it to the other
arguments on the previous if it fit in 80 columns. Otherwise I indented
4 spaces past the start of AssemblerPredicate.
For some vendor extensions I put the 2 classes on new lines instead of
the same line as the def. This gave more room for the strings and was
more consistent with other formatting in that portion of the file.
Commit: 32073b835674a9e7bc3e1ee9708efb7c58e7394f
https://github.com/llvm/llvm-project/commit/32073b835674a9e7bc3e1ee9708efb7c58e7394f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
Log Message:
-----------
AMDGPU: Do not generate non-temporal hint when Load_Tr intrinsic did not specify it (#79104)
int_amdgcn_global_load_tr did not specify non-temporal load transpose,
thus we should
not genetrate the non-temporal hint for the load. We need to implement
getTgtMemIntrinsic
to create the corresponding MemSDNode. And we don't set the non-temporal
flag because
the intrinsic did not specify it.
NOTE: We need to implement getTgtMemIntrinsic for any memory intrinsics.
Commit: 7fe951ad8af24d9b7072cbad58d22f2e6cb5da7e
https://github.com/llvm/llvm-project/commit/7fe951ad8af24d9b7072cbad58d22f2e6cb5da7e
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
R llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
R llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
Log Message:
-----------
Revert "Reapply [hwasan] Update dbg.assign intrinsics in HWAsan pass … (#79186)
…#78606"
This reverts commit 13c6f1ea2e7eb15fe492d8fca4fa1857c6f86370 because it
causes an assertion in DebugInfoMetadata.cpp:1968 in Clang Linux
builders for Fuchsia.
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8758111613576762817/+/u/clang/build/stdout
Commit: 51a11f1c44b7bd7655687471d8c8912afb637efc
https://github.com/llvm/llvm-project/commit/51a11f1c44b7bd7655687471d8c8912afb637efc
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/ADT/FunctionExtras.h
Log Message:
-----------
[ASan][ADT] Don't scribble with ASan (#79066)
With this commit, scribbling under AddressSanitizer (ASan) is disabled to prevent overwriting poisoned objects (e.g., annotated short strings).
Needed by https://github.com/llvm/llvm-project/pull/79049
Commit: 5a7d68c8c4b13aea9922c860e56f6c6cdc223d87
https://github.com/llvm/llvm-project/commit/5a7d68c8c4b13aea9922c860e56f6c6cdc223d87
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
Log Message:
-----------
[test] Avoid libc dep in Update warn-unsafe-buffer-usage-warning-data… (#79183)
Avoid libc dep in warn-unsafe-buffer-usage-warning-data-invocation.
To keep the test hermetic. This is in line with other existing
declarations in the file that avoid includes.
Commit: 80fcc9247a166ca056f049fc4662417b2ae157ce
https://github.com/llvm/llvm-project/commit/80fcc9247a166ca056f049fc4662417b2ae157ce
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[mlir][AMDGPU] Actually update the default ABI version, add comments (#79185)
Much confusion occurred earlier today when updating the fallback `int
abi;` in addControlVariables() didn't do anything. THis was because that
that value is the fallback for if the ABI version fails to parse ...
which it always should, because it has a default value that comes from
multiple different places.
This commit updates all the places said default variable can come from,
namely:
1. The ROCDL target attribute definition
2. The ROCDL target attribute's builders
3. The rocdl-attach-target pass's default option values.
With this, the printf test is passing.
Commit: c416b2efe89c11db593fe8041c366e0cb63d4eeb
https://github.com/llvm/llvm-project/commit/c416b2efe89c11db593fe8041c366e0cb63d4eeb
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/JSON.h
Log Message:
-----------
[ASan][JSON] Unpoison memory before its reuse (#79065)
This commit unpoisons memory before its reuse (with reinterpret_cast).
Required by https://github.com/llvm/llvm-project/pull/79049
Notice that it's a temporary solution to prevent buildbots from failing.
Read FIXME for details.
Commit: cb528ec5e6331ce207c7b835d7ab963bd5e13af7
https://github.com/llvm/llvm-project/commit/cb528ec5e6331ce207c7b835d7ab963bd5e13af7
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/include/string
A libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
A libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/support/asan_testing.h
Log Message:
-----------
[ASan][libc++] Turn on ASan annotations for short strings (#79049)
Originally merged here: https://github.com/llvm/llvm-project/pull/75882
Reverted here: https://github.com/llvm/llvm-project/pull/78627
Reverted due to failing buildbots. The problem was not caused by the
annotations code, but by code in the `UniqueFunctionBase` class and in
the `JSON.h` file. That code caused the program to write to memory that
was already being used by string objects, which resulted in an ASan
error.
Fixes are implemented in:
- https://github.com/llvm/llvm-project/pull/79065
- https://github.com/llvm/llvm-project/pull/79066
Problematic code from `UniqueFunctionBase` for example:
```cpp
#ifndef NDEBUG
// In debug builds, we also scribble across the rest of the storage.
memset(RHS.getInlineStorage(), 0xAD, InlineStorageSize);
#endif
```
---
Original description:
This commit turns on ASan annotations in `std::basic_string` for short
stings (SSO case).
Originally suggested here: https://reviews.llvm.org/D147680
String annotations added here:
https://github.com/llvm/llvm-project/pull/72677
Requires to pass CI without fails:
- https://github.com/llvm/llvm-project/pull/75845
- https://github.com/llvm/llvm-project/pull/75858
Annotating `std::basic_string` with default allocator is implemented in
https://github.com/llvm/llvm-project/pull/72677 but annotations for
short strings (SSO - Short String Optimization) are turned off there.
This commit turns them on. This also removes
`_LIBCPP_SHORT_STRING_ANNOTATIONS_ALLOWED`, because we do not plan to
support turning on and off short string annotations.
Support in ASan API exists since
https://github.com/llvm/llvm-project/commit/dd1b7b797a116eed588fd752fbe61d34deeb24e4.
You can turn off annotations for a specific allocator based on changes
from
https://github.com/llvm/llvm-project/commit/2fa1bec7a20bb23f2e6620085adb257dafaa3be0.
This PR is a part of a series of patches extending AddressSanitizer C++
container overflow detection capabilities by adding annotations, similar
to those existing in `std::vector` and `std::deque` collections. These
enhancements empower ASan to effectively detect instances where the
instrumented program attempts to access memory within a collection's
internal allocation that remains unused. This includes cases where
access occurs before or after the stored elements in `std::deque`, or
between the `std::basic_string`'s size (including the null terminator)
and capacity bounds.
The introduction of these annotations was spurred by a real-world
software bug discovered by Trail of Bits, involving an out-of-bounds
memory access during the comparison of two strings using the
`std::equals` function. This function was taking iterators
(`iter1_begin`, `iter1_end`, `iter2_begin`) to perform the comparison,
using a custom comparison function. When the `iter1` object exceeded the
length of `iter2`, an out-of-bounds read could occur on the `iter2`
object. Container sanitization, upon enabling these annotations, would
effectively identify and flag this potential vulnerability.
If you have any questions, please email:
advenam.tacet at trailofbits.com
disconnect3d at trailofbits.com
Commit: 0cf20c2971375ea200035f2e99bd81bd00f5f27d
https://github.com/llvm/llvm-project/commit/0cf20c2971375ea200035f2e99bd81bd00f5f27d
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/sysconf.cpp
Log Message:
-----------
[libc] fix sysconf (#79159)
Apply previously discussed fix for `sysconf`
Commit: bb8a8770e203ba027d141cd1200e93809ea66c8f
https://github.com/llvm/llvm-project/commit/bb8a8770e203ba027d141cd1200e93809ea66c8f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV] Exploit register boundaries when lowering shuffle with exact vlen (#79072)
If we have a shuffle which is larger than m1, we may be able to split it
into a series of individual m1 shuffles. This patch starts with the
subcase where the mask allows a 1-to-1 mapping from source register to
destination register - each with a possible permutation of their own. We
can potentially extend this later, thought in practice this seems to
already catch a number of the most interesting cases.
Commit: 50d33c62ad8786400a712b01150f6decaf070782
https://github.com/llvm/llvm-project/commit/50d33c62ad8786400a712b01150f6decaf070782
Author: Martin Storsjö <martin at martin.st>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/cfguard-weak-undef.s
Log Message:
-----------
[LLD] [COFF] Fix crashes for cfguard with undefined weak symbols (#79063)
When marking symbols as having their address taken, we can have the
sitaution where we have the address taken of a weak symbol. If there's
no strong definition of the symbol, the symbol ends up as an absolute
symbol with the value null. In those cases, we don't have any Chunk.
Skip such symbols from the cfguard tables.
This fixes https://github.com/llvm/llvm-project/issues/78619.
Commit: bdc41106ee48dce59c500c9a3957af947f30c8c3
https://github.com/llvm/llvm-project/commit/bdc41106ee48dce59c500c9a3957af947f30c8c3
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
Log Message:
-----------
[RISCV] Recurse on first operand of two operand shuffles (#79180)
This is the first step towards an alternate shuffle lowering design for
the general two vector argument case. The goal is to leverage the
existing lowering for single vector permutes to avoid as many of the
vrgathers as required - even if we do need the other.
This patch handles only the first argument, and is arguably a slightly
weird half-step. However, the test changes from the full two argument
recurse patch are a lot harder to reason about. Taking this half step
gives much more easily reviewable changes, and is thus worthwhile. I
intend to post the patch for the second argument once this has landed.
Commit: f05dd29ceea29080d18ec31414a7ae2edf86c39d
https://github.com/llvm/llvm-project/commit/f05dd29ceea29080d18ec31414a7ae2edf86c39d
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
Log Message:
-----------
[RISCV] Regenerate autogen test to remove spurious diff
Commit: 3c20e25b0c51c67e35d028ba0d1d5f1dd5e206bb
https://github.com/llvm/llvm-project/commit/3c20e25b0c51c67e35d028ba0d1d5f1dd5e206bb
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/uninit-vals.m
M clang/test/CodeGen/alloc-size.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/test/tsan/java_finalizer2.cpp
Log Message:
-----------
[NFC] Size and element numbers are often swapped when calling calloc (#79081)
gcc-14 will now throw a warning if size and elements are swapped.
Commit: 17bc4497847eb0388bedc5c8483bf8a1cbdd3a42
https://github.com/llvm/llvm-project/commit/17bc4497847eb0388bedc5c8483bf8a1cbdd3a42
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/ELF/lto/thin-archivecollision.ll
Log Message:
-----------
[ELF] Improve thin-archivecollision.ll
Commit: f6ced3579a8c7fe1ef93e25ecf521629afa928dd
https://github.com/llvm/llvm-project/commit/f6ced3579a8c7fe1ef93e25ecf521629afa928dd
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/cmake/caches/Release.cmake
M llvm/utils/release/test-release.sh
Log Message:
-----------
[CMake][Release] Add option for enabling PGO to release cache file. (#78823)
The option is LLVM_RELEASE_ENABLE_PGO and it's turned on by default.
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: f7669ba3d9443bc95dd63fa25beea13e6265fdc5
https://github.com/llvm/llvm-project/commit/f7669ba3d9443bc95dd63fa25beea13e6265fdc5
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/ELF/LTO.cpp
M lld/ELF/LTO.h
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/lto/cache.ll
M lld/test/ELF/lto/comdat-mixed-archive.test
M lld/test/ELF/lto/emit-asm.ll
M lld/test/ELF/lto/exclude-libs-libcall.ll
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel-internalize.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/lto/pseudo-probe-lto.ll
M lld/test/ELF/lto/save-temps-eq.ll
M lld/test/ELF/lto/thin-archivecollision.ll
M lld/test/ELF/lto/thinlto.ll
Log Message:
-----------
[ELF] --save-temps --lto-emit-asm: derive ELF/asm file names from bitcode file names
Port COFF's https://reviews.llvm.org/D78221 and
https://reviews.llvm.org/D137217 to ELF. For the in-process ThinLTO
link, `ld.lld --save-temps a.o d/b.o -o out` will create
ELF relocatable files `out.lto.a.o`/`d/out.lto.b.o` instead of
`out1.lto.o`/`out2.lto.o`. Deriving the LTO-generated relocatable file
name from bitcode file names helps debugging.
The relocatable file name from the first regular LTO partition does not
change: `out.lto.o`. The second, if present due to `--lto-partition=`,
changes from `out1.lto.o` to `lto.1.o`.
For an archive member, e.g. `d/a.a(coll.o at 8)`,
the relocatable file is `d/out.lto.a.a(coll.o at 8).o`.
`--lto-emit-asm` file names are changed similarly. `--lto-emit-asm -o
out` now creates `out.lto.s` instead of `out`, therefore the
`--lto-emit-asm -o -` idiom no longer works. However, I think this new
behavior (which matches COFF) is better since keeping or removing
`--lto-emit-asm` will dump different files, instead of overwriting the
`-o` output file from an executable/shared object to an assembly file.
Reviewers: rnk, igorkudrin, xur-llvm, teresajohnson, ZequanWu
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/78835
Commit: 7ca8feb1b89dfe62c9c3a06aa0585adbcd019eff
https://github.com/llvm/llvm-project/commit/7ca8feb1b89dfe62c9c3a06aa0585adbcd019eff
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lldb/include/lldb/API/LLDB.h
Log Message:
-----------
[lldb] Include SBFormat.h in LLDB.h (#79194)
This was likely overlooked when SBFormat was added.
Commit: 9122d19de4a237ededfd25c120bcb6e5efb22b1c
https://github.com/llvm/llvm-project/commit/9122d19de4a237ededfd25c120bcb6e5efb22b1c
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/arm/FEnvImpl.h
Log Message:
-----------
Revert "[libc] Fix forward arm32 buildbot" (#79201)
Reverts llvm/llvm-project#79151, necessary to revert #79128, which broke
all production builds and landed without review.
Commit: f1abe78e6b6adadb9fd9d6a239f40317c5d56f94
https://github.com/llvm/llvm-project/commit/f1abe78e6b6adadb9fd9d6a239f40317c5d56f94
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Move FeatureStdExtH in RISCVFeatures.td. NFC
It was accidentally in the middle of the floating point extensions
after the recent reordering.
Commit: d86a6eacf661f2bf05ea486b7a04b0cc1f97919c
https://github.com/llvm/llvm-project/commit/d86a6eacf661f2bf05ea486b7a04b0cc1f97919c
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/common.h
Log Message:
-----------
[libc] Fix aliasing function name got accidentally deleted in #79128. (#79203)
Commit: eabddf22e20bc5fd62edda677056e1d635f8e7f4
https://github.com/llvm/llvm-project/commit/eabddf22e20bc5fd62edda677056e1d635f8e7f4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Run the nightly libc++ build at 03:00 Eastern for real (#79184)
The nightly libc++ build was incorrectly set up to build at 22:00
Eastern when it intended to run at 03:00 Eastern. This patch fixes that.
Commit: d813af73f70f6b2fd41621d640cc35e595b9da4c
https://github.com/llvm/llvm-project/commit/d813af73f70f6b2fd41621d640cc35e595b9da4c
Author: Ben Hamilton (Ben Gertzfield) <benhamilton at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A clang/test/Format/dump-config-objc-stdin.m
M clang/tools/clang-format/ClangFormat.cpp
M clang/unittests/Format/FormatTestObjC.cpp
Log Message:
-----------
[Format] Fix detection of languages when reading from stdin (#79051)
The code cleanup in #74794 accidentally broke detection of languages by
reading file content from stdin, e.g. via `clang-format -dump-config - <
/path/to/filename`.
This PR adds unit and integration tests to reproduce the issue and adds
a fix.
Fixes: #79023
Commit: b504e97d921d72cc4407ab909ec371d1af957ab7
https://github.com/llvm/llvm-project/commit/b504e97d921d72cc4407ab909ec371d1af957ab7
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
Log Message:
-----------
[IndVars] Add NUW variants to iv-poison.ll and variants with extra uses.
Commit: bb3e0d7fc34899f22cbaea311982098bae3de061
https://github.com/llvm/llvm-project/commit/bb3e0d7fc34899f22cbaea311982098bae3de061
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-non-vector-root.ll
Log Message:
-----------
[SLP]Fix PR79193: skip analysis of gather nodes for minbitwidth.
No need in trying to analyze small graphs with gather node only to avoid
crash.
Commit: 16343f0db286a5d2aaf9494dd402cda0d088d0a1
https://github.com/llvm/llvm-project/commit/16343f0db286a5d2aaf9494dd402cda0d088d0a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/ELF/lto/defsym.ll
Log Message:
-----------
[ELF,test] Fix defsym.ll
Commit: 4fcd7cf22deff4a63d2bac12c909be7266f8b353
https://github.com/llvm/llvm-project/commit/4fcd7cf22deff4a63d2bac12c909be7266f8b353
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/ELF/lto/defsym.ll
Log Message:
-----------
[ELF,test] Actually fix defsym.ll
Commit: 4beea6b195585e4d9e196a9a2b0bb79a9c040788
https://github.com/llvm/llvm-project/commit/4beea6b195585e4d9e196a9a2b0bb79a9c040788
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/PowerPC/load_store.ll
Log Message:
-----------
[PowerPC] lower partial vector store cost (#78358)
There are matching store opcodes (stfd, stxsiwx) for the load opcodes
that make 32-bit and 64-bit vector operations cheap with VSX, so stores
should also be cheap.
Commit: 4ad4c8e90e120687e768475fecb8cc03d422b3a1
https://github.com/llvm/llvm-project/commit/4ad4c8e90e120687e768475fecb8cc03d422b3a1
Author: Juergen Ributzka <juergen at ributzka.de>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
Log Message:
-----------
[clang] Use LazyDetector for all toolchains. (#79073)
Use the LazyDetector also for the remaining toolchains to avoid unnecessarily checking for the Cuda and Rocm installations.
This fixes rdar://121397534.
Commit: 3a9ff32354a95305c523ab3b13bf3684854d1327
https://github.com/llvm/llvm-project/commit/3a9ff32354a95305c523ab3b13bf3684854d1327
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/arm/FEnvImpl.h
Log Message:
-----------
[libc] Fix implicit conversion in FEnvImpl for arm32 targets. (#79210)
Commit: 2b8649fbecdc300cde1032d739484690f75a27ba
https://github.com/llvm/llvm-project/commit/2b8649fbecdc300cde1032d739484690f75a27ba
Author: William Junda Huang <williamjhuang at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/include/llvm/ProfileData/SampleProf.h
A llvm/test/tools/llvm-profdata/merge-filter.test
M llvm/tools/llvm-profdata/llvm-profdata.cpp
Log Message:
-----------
Added feature in llvm-profdata merge to filter functions from the profile (#78378)
`--function=<regex>` Include functions matching regex in the output
`--no-function=<regex>` Exclude functions matching regex from the output
If both are specified, `--no-function` has a higher precedence if a
function name matches both filters
Commit: 9261ab708e37c2d6499ac063045f816d25a5919c
https://github.com/llvm/llvm-project/commit/9261ab708e37c2d6499ac063045f816d25a5919c
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][Target] Teach dense_resource conversion to LLVMIR Target (#78958)
This patch adds support for translating dense_resource attributes to
LLVMIR Target.
The support added is similar to how DenseElementsAttr is handled, except
we
don't need to handle splats.
Another possible way of doing this is adding iteration on
dense_resource, but that is
non-trivial as DenseResourceAttr is not meant to be something you should
directly
access. It has subclasses which you are supposed to use to iterate on
it.
Commit: 6c98c5bd99b4c71a7895337cd4e437e023c2ec7a
https://github.com/llvm/llvm-project/commit/6c98c5bd99b4c71a7895337cd4e437e023c2ec7a
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
Log Message:
-----------
[lldb][NFCI] Remove unused method BreakpointIDList::AddBreakpointID(const char *) (#79189)
This overload is completely unused.
Commit: 2227e50c618ecc6f83e8c69286a418ee04750361
https://github.com/llvm/llvm-project/commit/2227e50c618ecc6f83e8c69286a418ee04750361
Author: Billy Laws <blaws05 at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/Preprocessor/init-aarch64.c
Log Message:
-----------
[Preprocessor][test] Test ARM64EC definitions (#78916)
Commit: a829f109ffd518230df5191c64aa427603cf10d9
https://github.com/llvm/llvm-project/commit/a829f109ffd518230df5191c64aa427603cf10d9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseProcedure.rst
Log Message:
-----------
[libc++] Fix outdated release procedure for release notes
Commit: 9d476e1e1a18af390e3455a6622ee67a69c64103
https://github.com/llvm/llvm-project/commit/9d476e1e1a18af390e3455a6622ee67a69c64103
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/Driver/fat-lto-objects.c
M llvm/docs/FatLTO.rst
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
Log Message:
-----------
[clang][FatLTO] Avoid UnifiedLTO until it can support WPD/CFI (#79061)
Currently, the UnifiedLTO pipeline seems to have trouble with several
LTO features, like SplitLTO units, which means we cannot use important
optimizations like Whole Program Devirtualization or security hardening
instrumentation like CFI.
This patch reverts FatLTO to using distinct pipelines for Full LTO and
ThinLTO. It still avoids module cloning, since that was error prone.
Commit: 729657d6e15d0455557f35485deb87313ccdde10
https://github.com/llvm/llvm-project/commit/729657d6e15d0455557f35485deb87313ccdde10
Author: Utkarsh Saxena <usx at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
Log Message:
-----------
[misc-coroutine-hostile-raii] Use getOperand instead of getCommonExpr. (#79206)
We were previously allowlisting awaitable types returned by
`await_transform` instead of the type of the operand of the `co_await`
expression.
This previously used to give false positives and not respect the
`AllowedAwaitablesList` flag when `await_transform` is used. See added
test cases for such examples.
Commit: dc410f94f602390a65c832cf348b9ee6556b1809
https://github.com/llvm/llvm-project/commit/dc410f94f602390a65c832cf348b9ee6556b1809
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/include/clang/Driver/Types.def
M clang/lib/Driver/Types.cpp
A clang/test/Driver/opencl_aot_save_temps.cl
Log Message:
-----------
[Clang][Driver] Fix `--save-temps` for OpenCL AoT compilation (#78333)
We can directly call `clang -c -x cl -target amdgcn -mcpu=gfx90a test.cl
-o test.o`
to compile an OpenCL kernel file. However, when `--save-temps` is
enabled, it doesn't
work because the preprocessed file (`.i` file) is taken as C source file
when it
is fed to the front end, thus causing compilation error because those
OpenCL keywords
can't be recognized. This patch fixes the issue.
Commit: 1a300d6da3f3d10e02d9580f8f3f2080bba8adf9
https://github.com/llvm/llvm-project/commit/1a300d6da3f3d10e02d9580f8f3f2080bba8adf9
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
Log Message:
-----------
AMDGPU: Add SourceOfDivergence for int_amdgcn_global_load_tr (#79218)
Commit: c28ab6274322da693ea41a49e301c15b551c974a
https://github.com/llvm/llvm-project/commit/c28ab6274322da693ea41a49e301c15b551c974a
Author: Chris Apple <14171107+cjappl at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/tsan/rtl/tsan_dispatch_defs.h
Log Message:
-----------
[NFCI] Move SANITIZER_WEAK_IMPORT to sanitizer_common (#79208)
SANITIZER_WEAK_IMPORT is useful for any call that needs to be
conditionally linked in. This is currently used for the
tsan_dispatch_interceptors, but can be used for other calls introduced
in newer versions of MacOS. (such as `aligned_alloc` in this PR
https://github.com/llvm/llvm-project/pull/79198).
This PR moves the definition to a higher level so it can be used in
other sanitizers.
Commit: 575568de4166bf69e0a5bc68978580afbe936878
https://github.com/llvm/llvm-project/commit/575568de4166bf69e0a5bc68978580afbe936878
Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block3d.mlir
Log Message:
-----------
[mlir][sparse] adjust compression scheme for example (#79212)
Commit: 750e90e4403df23d6b271afb90e6b4d463739965
https://github.com/llvm/llvm-project/commit/750e90e4403df23d6b271afb90e6b4d463739965
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/include/mlir/Conversion/ArithToAMDGPU/ArithToAMDGPU.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToAMDGPU/CMakeLists.txt
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
A mlir/test/Conversion/ArithToAMDGPU/8-bit-float-saturation.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
Log Message:
-----------
[mlir][ArithToAMDGPU] Add option for saturating truncation to fp8 (#74153)
Many machine-learning applications (and most software written at AMD)
expect the operation that truncates floats to 8-bit floats to be
saturatinng. That is, they expect `truncf 256.0 : f32 to f8E4M3FNUZ` to
yield `240.0`, not `NaN`, and similarly for negative numbers. However,
the underlying hardware instruction that can be used for this truncation
implements overflow-to-NaN semantics.
To enable handling this usecase, we add the saturate-fp8-truncf option
to ArithToAMDGPU (off by default), which causes the requisite clamping
code to be emitted. Said clamping code ensures that Inf and NaN are
passed through exactly (and thus trancate to NaN).
Per review feedback, this commit efactors
createScalarOrSplatConstant() to the Arith dialect utilities and uses
it in this code. It also fixes naming of existing patterns and
switches from vector.extractelement/insertelement to
vector.extract/insert.
Commit: 7fc25928233c133a4af1dadf0e060fb5d42ebd4e
https://github.com/llvm/llvm-project/commit/7fc25928233c133a4af1dadf0e060fb5d42ebd4e
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/Function.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/test/DebugInfo/salvage-limit-expr-size.ll
M llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-localvars.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] "Final" cleanup for non-instr debug-info (#79121)
Here's a raft of minor fixes for the RemoveDIs project that's replacing
dbg.value intrinsics with DPValue objects, all IMO trivial:
* When inserting functions or blocks and calling setIsNewDbgInfoFormat,
do that after setting the Parent pointer, just in case conversion from
(or to) dbg.value mode is triggered.
* When transferring DPValues from an empty range in a splice call, don't
transfer if there are no DPValues attached to the source block at all.
* stripNonLineTableDebugInfo should drop DPValues.
* In insertBefore, don't try to transfer DPValues if there aren't any.
Commit: a16f81f5e3313e88f96de35e5edfe8bee463d308
https://github.com/llvm/llvm-project/commit/a16f81f5e3313e88f96de35e5edfe8bee463d308
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M libcxx/include/string
R libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp
R libcxx/test/libcxx/containers/strings/basic.string/asan_short.pass.cpp
R libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp
M libcxx/test/support/asan_testing.h
Log Message:
-----------
Revert "[ASan][libc++] Turn on ASan annotations for short strings (#79049)"
This reverts commit cb528ec5e6331ce207c7b835d7ab963bd5e13af7.
Reason: buildbot breakage (https://lab.llvm.org/buildbot/#/builders/5/builds/40364):
SUMMARY: AddressSanitizer: container-overflow /b/sanitizer-x86_64-linux-fast/build/libcxx_build_asan_ubsan/include/c++/v1/string:1870:29 in __get_long_pointer
Commit: 22da8096020fcf54bae2f885882bbd088a4dcd9b
https://github.com/llvm/llvm-project/commit/22da8096020fcf54bae2f885882bbd088a4dcd9b
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
A llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/UserGuides.rst
Log Message:
-----------
[Docs][DebugInfo][RemoveDIs] Document some debug-info transition info (#79167)
This is a high level description and FAQ for what we're doing in
RemoveDIs, and how old code should be behave with new debug-info
(exactly the same 99% of the time).
Commit: 6a3ace20c80191159009668fff82fc3feeeca0a6
https://github.com/llvm/llvm-project/commit/6a3ace20c80191159009668fff82fc3feeeca0a6
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
R libc/src/threads/linux/call_once.cpp
R libc/src/threads/linux/thread_start_args.h.def
Log Message:
-----------
[libc] remove redundant call_once (#79226)
Missed cleanup from https://reviews.llvm.org/D134716.
Fixes: #79220
Commit: 2a61be4e4ca481016516403f634b475197221991
https://github.com/llvm/llvm-project/commit/2a61be4e4ca481016516403f634b475197221991
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA] NFC: Extract code to checkVectorTypesForPromotion
Change-Id: Ib6f237cc791a097f8f2411bc1d6502f11d4a748e
Commit: 25e1916d88ebeef786956b678a4eb9a757e219d9
https://github.com/llvm/llvm-project/commit/25e1916d88ebeef786956b678a4eb9a757e219d9
Author: Alan Zhao <alanzhao1 at users.noreply.github.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/CodeGenCXX/new-array-init.cpp
Log Message:
-----------
[nfc][clang] Fix test in new-array-init.cpp (#79225)
This test was originally introduced in
https://github.com/llvm/llvm-project/pull/76976, but it incorrectly
tests braced-list initialization instead of parenthesized
initialization.
Commit: d657519838e4b2310e13ec5ff52599e041860825
https://github.com/llvm/llvm-project/commit/d657519838e4b2310e13ec5ff52599e041860825
Author: Pete Lawrence <plawrence at apple.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
Log Message:
-----------
[lldb] Improve maintainability and readability for ValueObject methods (#75865)
As I worked through changes to another PR
(https://github.com/llvm/llvm-project/pull/74912), I couldn't help but
rewrite a few methods for readability, maintainability, and possibly
some behavior correctness too.
1. Exiting early instead of nested `if`-statements, which:
- Reduces indentation levels for all subsequent lines
- Treats missing pre-conditions similar to an error
- Clearly indicates that the full length of the method is the "happy
path".
2. Explicitly return empty Value Object shared pointers for those error
(like) situations, which
- Reduces the time it takes a maintainer to figure out what the method
actually returns based on those conditions.
3. Converting a mix of `if` and `if`-`else`-statements around an enum
into one `switch` statement, which:
- Consolidates the former branching logic
- Lets the compiler warn you of a (future) missing enum case
- This one may actually change behavior slightly, because what was an
early test for one enum case, now happens later on in the `switch`.
4. Consolidating near-identical, "copy-pasta" logic into one place,
which:
- Separates the common code to the diverging paths.
- Highlights the differences between the code paths.
rdar://119833526
Commit: 03a61d34ebf4f8eeaa6861bec3ab39c75bb41778
https://github.com/llvm/llvm-project/commit/03a61d34ebf4f8eeaa6861bec3ab39c75bb41778
Author: Paul Kirth <paulkirth at google.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/RISCV/tls-models.ll
M llvm/test/MC/RISCV/relocations.s
A llvm/test/MC/RISCV/tlsdesc.s
Log Message:
-----------
[RISCV] Support TLSDESC in the RISC-V backend (#66915)
This patch adds basic TLSDESC support in the RISC-V backend.
Specifically, we add new relocation types for TLSDESC, as prescribed in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373, and add a
new pseudo instruction to simplify code generation.
This patch does not try to optimize the local dynamic case, which can be
improved in separate patches.
Linker side changes will also be handled separately.
The current implementation is only enabled when passing the new
`-enable-tlsdesc` codegen flag.
Commit: df1e01b316b174b5aa10727bd2ee0ec1082a9f65
https://github.com/llvm/llvm-project/commit/df1e01b316b174b5aa10727bd2ee0ec1082a9f65
Author: Jeff Niu <jeff at modular.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M mlir/test/IR/print-attr-type-aliases.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir] Add example of `printAlias` to test dialect (NFC) (#79232)
Follow-up from previous pull request. Motivate the API change with an
attribute that decides between sugaring a sub-attribute or using an
alias
Commit: 766e645d8d1e9e999386b90e3e19554d72324a66
https://github.com/llvm/llvm-project/commit/766e645d8d1e9e999386b90e3e19554d72324a66
Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/Transforms/SROA/vector-promotion.ll
Log Message:
-----------
[SROA] NFC: Precommit test for pull/77678
Change-Id: I6b2346301f9bd840a0adceba4a0d03e9932af245
Commit: b1778c7d7b9ec07c075118546b85a7cc9741e1f1
https://github.com/llvm/llvm-project/commit/b1778c7d7b9ec07c075118546b85a7cc9741e1f1
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
R llvm/test/CodeGen/Generic/bb-profile-dump.ll
Log Message:
-----------
[AsmPrinter] Remove mbb-profile-dump flag (#76595)
Now that the work embedding PGO information in SHT_LLVM_BB_ADDR_MAP ELF
sections has landed, there is no longer a need to keep around the
mbb-profile-dump flag.
Commit: c41472dbafd0dcacd943a95a9a099c1942d50394
https://github.com/llvm/llvm-project/commit/c41472dbafd0dcacd943a95a9a099c1942d50394
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M .github/workflows/libclang-python-tests.yml
Log Message:
-----------
[Github] Only run libclang-python-tests on monorepo main
The libclang python binding test CI job currently doesn't have any
restrictions on what branches it will run on when something is pushed
and also isn't restricted to the monorepo. This patch adds a branch
restriction for the push event, only running the CI job when something
is pushed to the main branch (and the path filter is met), and also adds
a filter to ensure that the job comes from a PR against the monorepo or
a push to a branch in the monorepo.
Commit: c51ab483e6c2d991a01179584705b83fbea1940d
https://github.com/llvm/llvm-project/commit/c51ab483e6c2d991a01179584705b83fbea1940d
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
A llvm/test/MC/LoongArch/Relocations/align-non-executable.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
A llvm/test/MC/LoongArch/Relocations/relax-align.s
Log Message:
-----------
[LoongArch] Insert nops and emit align reloc when handle alignment directive (#72962)
Refer to RISCV, we will fix up the alignment if linker relaxation
changes code size and breaks alignment. Insert enough Nops and emit
R_LARCH_ALIGN relocation type so that linker could satisfy the alignment
by removing Nops.
It does so only in sections with the SHF_EXECINSTR flag.
In LoongArch psABI v2.30, R_LARCH_ALIGN requires symbol index. The
lowest 8 bits of addend represent alignment and the other bits of addend
represent the maximum number of bytes to emit.
Commit: f709fbb1bb5e6240aad4edeb2f0e417df74cfa27
https://github.com/llvm/llvm-project/commit/f709fbb1bb5e6240aad4edeb2f0e417df74cfa27
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/vector-promotion.ll
Log Message:
-----------
[SROA] Only try additional vector type candidates when needed (#77678)
https://github.com/llvm/llvm-project/commit/f9c2a341b94ca71508dcefa109ece843459f7f13
causes regressions when we have a slice with integer vector type that is
the same size as the partition, and a ptr load/store slice that is not
the size of the element type.
Ref `vector-promotion.ll:ptrLoadStoreTys`.
Before the patch, we would only consider `<4 x i32>` as a candidate type
for vector promotion, and would find that it is a viable type for all
the slices.
After the patch, we now add `<2 x ptr>` as a candidate type due to slice
with user `store ptr %val0, ptr %obj, align 8` -- and flag that we
`HaveVecPtrTy`. The pre-existing behavior of this flag results in
removing the viable `<4 x i32>` and keeping only the unviable `<2 x
ptr>`, which results in a failure to promote.
The end result is failing to promote an alloca that was previously
promoted -- this does not appear to be the intent of that patch, which
has the goal of increasing promotions by providing more promotion
opportunities.
This PR preserves this behavior via a simple reorganization of the
implemention: try first the slice types with same size as the partition,
then, if there is no promotable type, try the `LoadStoreTys.`
Commit: c663c8b8839e8a3e780426c1ab4d0005df90a116
https://github.com/llvm/llvm-project/commit/c663c8b8839e8a3e780426c1ab4d0005df90a116
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M lld/test/ELF/dead-reloc-in-nonalloc.s
Log Message:
-----------
[ELF,test] Improve dead-reloc-in-nonalloc.s
Test an absolute relocation referencing a DSO symbol, relocating a
non-SHF_ALLOC section. Also test --gc-sections.
Commit: 7e50f006f7f652b9a5ac5ddd64deba5f1c9388a8
https://github.com/llvm/llvm-project/commit/7e50f006f7f652b9a5ac5ddd64deba5f1c9388a8
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Target/X86/CMakeLists.txt
A llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86TargetMachine.h
A llvm/test/tools/llc/new-pm/lit.local.cfg
A llvm/test/tools/llc/new-pm/option-conflict.ll
A llvm/test/tools/llc/new-pm/pipeline.ll
A llvm/test/tools/llc/new-pm/start-stop.ll
M llvm/tools/llc/CMakeLists.txt
A llvm/tools/llc/NewPMDriver.cpp
A llvm/tools/llc/NewPMDriver.h
M llvm/tools/llc/llc.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/CodeGenPassBuilderTest.cpp
Log Message:
-----------
[NewPM][CodeGen][llc] Add NPM support (#70922)
Add new pass manager support to `llc`. Users can use
`--passes=pass1,pass2...` to run mir passes, and use `--enable-new-pm`
to run default codegen pipeline.
This patch is taken from [D83612](https://reviews.llvm.org/D83612), the
original author is @yuanfang-chen.
---------
Co-authored-by: Yuanfang Chen <455423+yuanfang-chen at users.noreply.github.com>
Commit: 230c13d59d0843c3b738920b85c341cc78a61fa9
https://github.com/llvm/llvm-project/commit/230c13d59d0843c3b738920b85c341cc78a61fa9
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
Log Message:
-----------
[AMDGPU] Pick available high VGPR for CSR SGPR spilling (#78669)
CSR SGPR spilling currently uses the early available physical VGPRs. It
currently imposes a high register pressure while trying to allocate
large VGPR tuples within the default register budget.
This patch changes the spilling strategy by picking the VGPRs in the
reverse order, the highest available VGPR first and later after regalloc
shift them back to the lowest available range. With that, the initial
VGPRs would be available for allocation and possibility
of finding large number of contiguous registers will be more.
Commit: 3dea0aa8f4607888d0c32cd7a691d8090b1b73c7
https://github.com/llvm/llvm-project/commit/3dea0aa8f4607888d0c32cd7a691d8090b1b73c7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[LSR] Fix incorrect comment. NFC (#79207)
Commit: ecde13b1a861696dec5c4ccae792abe25df07db9
https://github.com/llvm/llvm-project/commit/ecde13b1a861696dec5c4ccae792abe25df07db9
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llc/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] port 7e50f006f7f6
Commit: f0c387038854d61a632520a4073d1b6ebf4997ed
https://github.com/llvm/llvm-project/commit/f0c387038854d61a632520a4073d1b6ebf4997ed
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
A clang/test/Modules/pr73023.cpp
Log Message:
-----------
[Modules] [HeaderSearch] Don't reenter headers if it is pragma once (#76119)
Close https://github.com/llvm/llvm-project/issues/73023
The direct issue of https://github.com/llvm/llvm-project/issues/73023 is
that we entered a header which is marked as pragma once since the
compiler think it is OK if there is controlling macro.
It doesn't make sense. I feel like it should be sufficient to skip it
after we see the '#pragma once'.
>From the context, it looks like the workaround is primarily for
ObjectiveC. So we might need reviewers from OC.
Commit: 7bda0ce15a2874ad74fb1a451a174084094ccc34
https://github.com/llvm/llvm-project/commit/7bda0ce15a2874ad74fb1a451a174084094ccc34
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[llc] Remove C backend support (#79237)
C backend is removed in 3.1.
Commit: 63f742c15f01a25c60f0090a3aceb15bb8985e5e
https://github.com/llvm/llvm-project/commit/63f742c15f01a25c60f0090a3aceb15bb8985e5e
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-cpus.c
M clang/test/Misc/target-invalid-cpu-note.c
M llvm/docs/ReleaseNotes.rst
M llvm/lib/Target/RISCV/RISCVProcessors.td
Log Message:
-----------
[RISCV] Add sifive-p670 processor (#79015)
This is an OOO core that has a vector unit. For more information see
https://www.sifive.com/cores/performance-p650-670.
Scheduler model and other tuning will come in separate patches.
Commit: 93248729cfae82a5ca2323d4a8e15aa3b9b9c707
https://github.com/llvm/llvm-project/commit/93248729cfae82a5ca2323d4a8e15aa3b9b9c707
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R llvm/test/MC/RISCV/rv32a-invalid.s
R llvm/test/MC/RISCV/rv32a-valid.s
A llvm/test/MC/RISCV/rv32zaamo-invalid.s
A llvm/test/MC/RISCV/rv32zaamo-valid.s
A llvm/test/MC/RISCV/rv32zalrsc-invalid.s
A llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv64a-invalid.s
R llvm/test/MC/RISCV/rv64a-valid.s
A llvm/test/MC/RISCV/rv64zaamo-invalid.s
A llvm/test/MC/RISCV/rv64zaamo-valid.s
A llvm/test/MC/RISCV/rv64zalrsc-invalid.s
A llvm/test/MC/RISCV/rv64zalrsc-valid.s
Log Message:
-----------
[RISCV][MC] Split tests for A into Zaamo and Zalrsc parts
So that we don't duplicate tests in later patch.
Reviewers: topperc, dtcxzyw, asb
Reviewed By: asb
Pull Request: https://github.com/llvm/llvm-project/pull/79111
Commit: 987087df90026605fc8d03ebda5a1cd31b71e609
https://github.com/llvm/llvm-project/commit/987087df90026605fc8d03ebda5a1cd31b71e609
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang/docs/ReleaseNotes.rst
M libcxx/include/__config
M lld/docs/ReleaseNotes.rst
M llvm/CMakeLists.txt
M llvm/docs/ReleaseNotes.rst
M llvm/utils/gn/secondary/llvm/version.gni
M llvm/utils/lit/lit/__init__.py
M openmp/docs/ReleaseNotes.rst
M pstl/docs/ReleaseNotes.rst
Log Message:
-----------
Bump trunk version to 19.0.0git
Commit: baba7e4175b6ca21e83b1cf8229f29dbba02e979
https://github.com/llvm/llvm-project/commit/baba7e4175b6ca21e83b1cf8229f29dbba02e979
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
Log Message:
-----------
[test] Update dwarf-loongarch-relocs.ll
Address buildbot faiures:
http://45.33.8.238/macm1/77360/step_11.txt
http://45.33.8.238/linux/128902/step_12.txt
Commit: 7251243315ef66f9b3f32e6f8e9536f701aa0d0a
https://github.com/llvm/llvm-project/commit/7251243315ef66f9b3f32e6f8e9536f701aa0d0a
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
R llvm/include/llvm/CodeGen/MachinePassRegistry.def
A llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/module.modulemap
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/CodeGenPassBuilder.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen][Passes] Move `CodeGenPassBuilder.h` to Passes (#79242)
`CodeGenPassBuilder` is not very tightly coupled to CodeGen, it may need
to reference some method in pass builder in future, so move
`CodeGenPassBuilder.h` to Passes.
Commit: 33d804c6c2786cbbbc13743060f08d679941e0a4
https://github.com/llvm/llvm-project/commit/33d804c6c2786cbbbc13743060f08d679941e0a4
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/pr69586.ll
Log Message:
-----------
[RISCV] Allow VCIX with SE to reorder (#77049)
This patch allows VCIX instructions that have side effect to be
reordered
with memory and other side effecting instructions. However we don't want
VCIX instructions to be reordered with each other, so we propose a dummy
register called VCIX_STATE and make these instructions implicitly define
and use
it.
Commit: 502ec2e5a0e5922e09e69b7da08f3e7a8c7aacac
https://github.com/llvm/llvm-project/commit/502ec2e5a0e5922e09e69b7da08f3e7a8c7aacac
Author: Weining Lu <luweining at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
Log Message:
-----------
[test] Make dwarf-loongarch-relocs.ll non-sensitive of function alignment
Commit: 4c3de45ecf9eea6b4ad850a042706f7865a2aab2
https://github.com/llvm/llvm-project/commit/4c3de45ecf9eea6b4ad850a042706f7865a2aab2
Author: leecheechen <chenli at loongson.cn>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGen/LoongArch/lasx/builtin-error.c
M clang/test/CodeGen/LoongArch/lsx/builtin-error.c
Log Message:
-----------
[LoongArch][test] Add tests reporting error if lsx/lasx feature is missing when lsx/lasx builtins are called (#79250)
Commit: 218bb21eaa2f3c08ec24de1f5d88f4d5265068bf
https://github.com/llvm/llvm-project/commit/218bb21eaa2f3c08ec24de1f5d88f4d5265068bf
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Update performCombineVMergeAndVOps comments. NFC (#78472)
The current comment was written whenever we had separate TU/TA variants
for
each pseudo, and hasn't been accurate for a while.
This method has grown rather complicated over time so rather than
enumerate all
the different possible cases now (which must be a lot), this updates the
comment to list the different rules that are required for us to be able
to fold
a vmerge.
Commit: f7b61f81b5c4710fe089c357ef57ac0afcaf4b56
https://github.com/llvm/llvm-project/commit/f7b61f81b5c4710fe089c357ef57ac0afcaf4b56
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/sub.ll
Log Message:
-----------
[X86][CodeGen] Transform NDD SUB to CMP if dest reg is dead (#79135)
Commit: a01195ff5cc3d7fd084743b1f47007645bb385f4
https://github.com/llvm/llvm-project/commit/a01195ff5cc3d7fd084743b1f47007645bb385f4
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-23 (Tue, 23 Jan 2024)
Changed paths:
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
Log Message:
-----------
Update compiler version expected that seems to be embedded in CHECK line of test at llvm/test/CodeGen/SystemZ/zos-ppa2.ll.
The test contains a CHECK line which verifies an .ascii line which originally checks
for 18001970010100000000. After the bump of the compiler version to 19, the test
started to fail with the string now being 19001970010100000000.
This should fix this failing test on bots.
Commit: b4785cebfb0a756e19ff4ae3e41d2563f10cd292
https://github.com/llvm/llvm-project/commit/b4785cebfb0a756e19ff4ae3e41d2563f10cd292
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
M mlir/include/mlir/Dialect/Affine/LoopFusionUtils.h
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
Log Message:
-----------
[MLIR] NFC. Clean up stale TODO comments and style deviations in affine utils (#79079)
NFC. Clean up stale TODO comments and style deviations in affine utils
and
affine fusion utils.
Commit: bc182ea7c2e86aea27268a08311438f8093a6a45
https://github.com/llvm/llvm-project/commit/bc182ea7c2e86aea27268a08311438f8093a6a45
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 7251243315ef
Commit: 7e3fb372b0e8899958ec7e9241797e7e136a7a23
https://github.com/llvm/llvm-project/commit/7e3fb372b0e8899958ec7e9241797e7e136a7a23
Author: kadir çetinkaya <kadircet at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Check emptiness instead of occurences (#79154)
Our internal integration relies on injecting some default values to
ignore/keep lists.
That means we can have filters, despite of not having occurences
for the flag.
Commit: d119ecb958ebc0a82e7bca01a21115ced8e0b13d
https://github.com/llvm/llvm-project/commit/d119ecb958ebc0a82e7bca01a21115ced8e0b13d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
Log Message:
-----------
[X86][NFC] Pre-commit test for RA hints for APX NDD instructions
Commit: 5355857038cf6f9e3831504804e973508ffc2d01
https://github.com/llvm/llvm-project/commit/5355857038cf6f9e3831504804e973508ffc2d01
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/CharInfo.h
Log Message:
-----------
[Clang][NFC] Optimize isAsciiIdentifierContinue (#78699)
Precompute the isAsciiIdentifierContinue table which is on the hot path.
https://llvm-compile-time-tracker.com/compare.php?from=30da0f5a359ab4a684c5fdf0f4dbed20bae10f99&to=cb0e48db2b8193d2ee59c2a6e998317cb220d513&stat=instructions:u
Commit: 7a6c2628e99f70edf6ee46a6b4b4d3d7301353c6
https://github.com/llvm/llvm-project/commit/7a6c2628e99f70edf6ee46a6b4b4d3d7301353c6
Author: martinboehme <mboehme at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
Log Message:
-----------
[clang][dataflow] Eliminate two uses of `RecordValue::getLoc()`. (#79163)
This is a small step towards eventually eliminating `RecordValue`
entirely.
Commit: 78b00c116be8b3b53ff13552e31eb305b11cb169
https://github.com/llvm/llvm-project/commit/78b00c116be8b3b53ff13552e31eb305b11cb169
Author: Pavel Labath <pavel at labath.sk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lldb/source/Core/ValueObject.cpp
Log Message:
-----------
Revert "[lldb] Improve maintainability and readability for ValueObject methods (#75865)"
This reverts commit d657519838e4b2310e13ec5ff52599e041860825 as it
breaks two dozen tests. The breakages are related to variable path
expression parsing and summary string parsing (possibly the same code).
Commit: dd3e6c87f3f4affd17d05a4d25fa77d224a98d94
https://github.com/llvm/llvm-project/commit/dd3e6c87f3f4affd17d05a4d25fa77d224a98d94
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/LangOptions.def
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
Support C++20 Modules in clang-repl (#79261)
This comes from when I playing around clang-repl with moduels : )
I succeeded to import std with https://libcxx.llvm.org/Modules.html and
calling `std::printf` after this patch.
I want to put the documentation part to
https://clang.llvm.org/docs/StandardCPlusPlusModules.html in a separate
commit.
Commit: 71d64ed80f8b7556be6954b2c4d663c7d89f476d
https://github.com/llvm/llvm-project/commit/71d64ed80f8b7556be6954b2c4d663c7d89f476d
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/optimize-compare.mir
A llvm/test/CodeGen/X86/apx/shift-eflags.ll
Log Message:
-----------
[X86][Peephole] Add NDD entries for EFLAGS optimization
Commit: c1259650e742e7b3053f6520729b4c1f44c27814
https://github.com/llvm/llvm-project/commit/c1259650e742e7b3053f6520729b4c1f44c27814
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Interpreter/cxx20-modules.cppm
Log Message:
-----------
[NFC] Add more requirement to clang/test/Interpreter/cxx20-modules.cppm
The previous test can't work on other platforms like PS4.
Address the comments in
https://github.com/llvm/llvm-project/pull/79261#issuecomment-1907589030
Commit: 11ca56eaf1aaf4f7fba5d94562c6b6c0d4444bc3
https://github.com/llvm/llvm-project/commit/11ca56eaf1aaf4f7fba5d94562c6b6c0d4444bc3
Author: Felix Kellenbenz <107758057+felixkellenbenz at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/test/tools/llvm-objcopy/ELF/strip-all.test
Log Message:
-----------
[llvm-objcopy] Don't remove .gnu_debuglink section when using --strip-all (#78919)
This fixes the issue mentioned here:
https://github.com/llvm/llvm-project/issues/57407
It prevents `llvm-objcopy` from removing the `.gnu _debuglink` section
when used with the `--strip-all` flag. Since `--strip-all` is the
default of `llvm-strip` the patch also prevents `llvm-strip` from
removing the `.gnu_debuglink` section.
Commit: bae1adae1c7cdf3b0bd618fc9cd5af251dc901ed
https://github.com/llvm/llvm-project/commit/bae1adae1c7cdf3b0bd618fc9cd5af251dc901ed
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[docs] [C++20] [Modules] Document how to import modules in clang-repl
We support to import C++20 named modules now in in clang-repl in
https://github.com/llvm/llvm-project/commit/dd3e6c87f3f4affd17d05a4d25fa77d224a98d94.
Then we should document how can we do that.
Commit: d50705ed5d482ccd9b9afabea2b6358d056b7543
https://github.com/llvm/llvm-project/commit/d50705ed5d482ccd9b9afabea2b6358d056b7543
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Support scalable vec in `TransferReadAfterWriteToBroadcast` (#79162)
Makes `TransferReadAfterWriteToBroadcast` correctly propagate
scalability flags.
Commit: f3b495f5842bd3c8a5433ba4b784d49c663f84af
https://github.com/llvm/llvm-project/commit/f3b495f5842bd3c8a5433ba4b784d49c663f84af
Author: Luke Lau <luke at igalia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
Log Message:
-----------
[RISCV] Add tests for reverse shuffles of i1 vectors. NFC
This is to add test coverage for a change in #73342
Commit: 34466019e74fe455f6c67bab1d48222a08bede4d
https://github.com/llvm/llvm-project/commit/34466019e74fe455f6c67bab1d48222a08bede4d
Author: Adrian Kuegel <akuegel at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][Bazel] Add missing dependency after 750e90e4403df23d6b271afb90e6b4d463739965
Commit: 5404a3792ed58b94b938bbf5cfe6eeb23c664efc
https://github.com/llvm/llvm-project/commit/5404a3792ed58b94b938bbf5cfe6eeb23c664efc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
Log Message:
-----------
[Driver] Use StringRef::consume_front (NFC)
Commit: 873a7bb12949709ea406c8adc82cd69fc372527d
https://github.com/llvm/llvm-project/commit/873a7bb12949709ea406c8adc82cd69fc372527d
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[Transforms] Use llvm::pred_size and llvm::predecessors (NFC)
Commit: 18a3c7a01ed983d19e47a03e664200ffff53689c
https://github.com/llvm/llvm-project/commit/18a3c7a01ed983d19e47a03e664200ffff53689c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
Log Message:
-----------
[AMDGPU] Use llvm::none_of (NFC)
Commit: b0763a1ae940d60d8f558f85216382bc6695a1e3
https://github.com/llvm/llvm-project/commit/b0763a1ae940d60d8f558f85216382bc6695a1e3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
Log Message:
-----------
[DebugInfo] Use std::size (NFC)
Commit: 33ecef9812e2c9bfadef035b8e34a949acae2abc
https://github.com/llvm/llvm-project/commit/33ecef9812e2c9bfadef035b8e34a949acae2abc
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/commute-blend-avx2.ll
Log Message:
-----------
[X86][CodeGen] Fix crash when commute operands of Instruction for code size (#79245)
Reported in 134fcc62786d31ab73439201dce2d73808d1785a
Incorrect opcode is used b/c there is a `[[fallthrough]]` at line 2386.
Commit: a7a1b8b17e264fb0f2d2b4165cf9a7f5094b08b3
https://github.com/llvm/llvm-project/commit/a7a1b8b17e264fb0f2d2b4165cf9a7f5094b08b3
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/test/Transforms/SimpleLoopUnswitch/memssa-readnone-access.ll
Log Message:
-----------
[MSSAUpdater] Handle simplified accesses when updating phis (#78272)
This is a followup to #76819. After those changes, we can still run into
an assertion failure for a slight variation of the test case: When
fixing up MemoryPhis, we map the incoming access to the access of the
cloned instruction -- which may now no longer exist.
Fix this by reusing the getNewDefiningAccessForClone() helper, which
will look upwards for a new defining access in that case.
Commit: 303e64826b79af0c0e67ba06d5d8e1385adc32b5
https://github.com/llvm/llvm-project/commit/303e64826b79af0c0e67ba06d5d8e1385adc32b5
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
Log Message:
-----------
[X86][NFC] Remove dead code for "_REV" instructions
ADC/SBB with reverse encoding is never emitted by compiler before
encoding optimization, which is called after flag-copy lowering.
This is a partial reland for 8bbf100799a97f8342bf1a8409c6fb48f03e837f
Commit: 543cf08636f3a3bb55dddba2e8cad787601647ba
https://github.com/llvm/llvm-project/commit/543cf08636f3a3bb55dddba2e8cad787601647ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
Log Message:
-----------
[PhaseOrdering] Add additional test for #79161 (NFC)
Commit: cd7ea4ea657ea41b42fcbd0e6b33faa46608d18e
https://github.com/llvm/llvm-project/commit/cd7ea4ea657ea41b42fcbd0e6b33faa46608d18e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/noalias-scope-decl.ll
M llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
Log Message:
-----------
[LAA] Drop alias scope metadata that is not valid across iterations (#79161)
LAA currently adds memory locations with their original AATags to AST.
However, scoped alias AATags may be valid only within one loop
iteration, while LAA reasons across iterations.
Fix this by determining which alias scopes are defined inside the loop,
and drop AATags that reference these scopes.
Fixes https://github.com/llvm/llvm-project/issues/79137.
Commit: 4a582845597e97d245e8ffdc14281f922b835e56
https://github.com/llvm/llvm-project/commit/4a582845597e97d245e8ffdc14281f922b835e56
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
A clang/include/clang/Basic/Builtins.td
R clang/include/clang/Basic/BuiltinsBPF.def
A clang/include/clang/Basic/BuiltinsBPF.td
A clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/module.modulemap
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Analysis/bstring.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/utils/TableGen/CMakeLists.txt
A clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[clang] Refactor Builtins.def to be a tablegen file (#68324)
This makes the builtins list quite a bit more verbose, but IMO this is a
huge win in terms of readability.
Commit: 416b079336c6d6e48858f951cd494a7a3577deb8
https://github.com/llvm/llvm-project/commit/416b079336c6d6e48858f951cd494a7a3577deb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M llvm/utils/git/github-automation.py
Log Message:
-----------
Fix release issue workflow (#79268)
Remove the `--phab-token` argument (which currently eats the subsequent
"auto" as the token no longer exists) and related code.
I think this will fix the workflow failure in
https://github.com/llvm/llvm-project/issues/79253#issuecomment-1907679229.
Commit: fe0e632b00e63bda75155a8d1aa16d271d4af728
https://github.com/llvm/llvm-project/commit/fe0e632b00e63bda75155a8d1aa16d271d4af728
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Support DPValues in HWAsan (#78731)
This patch extends HWASAN to support maintenance of debug-info that
isn't stored as intrinsics, but is instead in a DPValue object. This is
straight-forwards: we collect any such objects in StackInfoBuilder, and
apply the same operations to them as we would to dbg.value and similar
intrinsics.
I've also replaced some calls to getNextNode with debug-info skipping
next calls, and use iterators for instruction insertion rather than
instruction pointers. This avoids any difference in output between
intrinsic / non-intrinsic debug-info, but also means that any debug-info
comes before code inserted by HWAsan, rather than afterwards. See the
test modifications, where the variable assignment (presented as a
dbg.value) jumps up over all the code inserted by HWAsan. Seeing how the
code inserted by HWAsan is always (AFAIUI) given the source-location of
the instruction being instrumented, I don't believe this will have any
effect on which lines variable assignments become visible on; it may
extend the number of instructions covered by the assignments though.
Commit: fb9a82b0235713782c1cf9d1eba20ce8d95766f7
https://github.com/llvm/llvm-project/commit/fb9a82b0235713782c1cf9d1eba20ce8d95766f7
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/tools/clang-repl/CMakeLists.txt
Log Message:
-----------
[clang-repl] Refine fix for linker error: PLT offset too large
This is a follow-up improvement after the discussion in #78959
Commit: 383d488b0bd68f1abd58c2d0114f82c54ee286d1
https://github.com/llvm/llvm-project/commit/383d488b0bd68f1abd58c2d0114f82c54ee286d1
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
Log Message:
-----------
[openmp][flang][offloading] Do not use fixed device IDs in checks (#78973)
Fixes a small issues in an offloading test where the test dependec on
the host and device being assigned certains numeric IDs. This however is
not stable and fails in situations where any of the devices is assigned
an ID different from the expected value. The fix just checks that
offloading succeeded by making sure the IDs are different.
The test was failing locally for me.
Commit: 91ddcba83ae4385fe771e918c096e6074b411de3
https://github.com/llvm/llvm-project/commit/91ddcba83ae4385fe771e918c096e6074b411de3
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
Log Message:
-----------
AMDGPU/GlobalISelDivergenceLowering: select divergent i1 phis (#78482)
Implement PhiLoweringHelper for GlobalISel in DivergenceLoweringHelper.
Use machine uniformity analysis to find divergent i1 phis and select
them as lane mask phis in same way SILowerI1Copies select VReg_1 phis.
Note that divergent i1 phis include phis created by LCSSA and all cases
of uses outside of cycle are actually covered by "lowering LCSSA phis".
GlobalISel lane masks are registers with sgpr register class and S1 LLT.
TODO: General goal is that instructions created in this pass are fully
instruction-selected so that selection of lane mask phis is not split
across multiple passes.
patch 3 from: https://github.com/llvm/llvm-project/pull/73337
Commit: 149ed9d2c58095f87745f8696ef96b5076c91fca
https://github.com/llvm/llvm-project/commit/149ed9d2c58095f87745f8696ef96b5076c91fca
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/test/CodeGen/AMDGPU/wmma-hazards.mir
Log Message:
-----------
AMDGPU: update GFX11 wmma hazards (#76143)
One V_NOP or unrelated VALU instruction in between is required for
correctness when matrix A or B of current WMMA instruction overlaps with
matrix D of previous WMMA instruction.
Remaining cases of WMMA operand overlaps are handled by the hardware and
do not require handling in hazard recognizer.
Hardware may stall in cases where:
- matrix C of current WMMA instruction overlaps with matrix D of
previous WMMA instruction
- VALU instruction reads matrix D of previous WMMA instruction
- matrix A,B or C of WMMA instruction reads result of previous VALU
instruction
Commit: 9dddb3d5f3bf323b7b7f8281bb848731f69fddfa
https://github.com/llvm/llvm-project/commit/9dddb3d5f3bf323b7b7f8281bb848731f69fddfa
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaCoroutine.cpp
M clang/test/AST/ast-dump-coroutine.cpp
Log Message:
-----------
[AST] Mark the fallthrough coreturn statement implicit. (#77465)
This is a followup of #77311.
Commit: c46109d0d78863ff5e4e23c8f9fd85eb1220a42e
https://github.com/llvm/llvm-project/commit/c46109d0d78863ff5e4e23c8f9fd85eb1220a42e
Author: Petar Avramovic <Petar.Avramovic at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/MachineUniformityAnalysis.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SILowerI1Copies.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-reg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-phi.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
Log Message:
-----------
Revert "AMDGPU/GlobalISelDivergenceLowering: select divergent i1 phis" (#79274)
Reverts llvm/llvm-project#78482
Commit: cfddb59be2124f7ec615f48a2d0395c6fdb1bb56
https://github.com/llvm/llvm-project/commit/cfddb59be2124f7ec615f48a2d0395c6fdb1bb56
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU][GFX12] VOP encoding and codegen - add support for v_cvt fp8/… (#78414)
…bf8 instructions
Add VOP1, VOP1_DPP8, VOP1_DPP16, VOP3, VOP3_DPP8, VOP3_DPP16
instructions that were supported on GFX940 (MI300):
- V_CVT_F32_FP8
- V_CVT_F32_BF8
- V_CVT_PK_F32_FP8
- V_CVT_PK_F32_BF8
- V_CVT_PK_FP8_F32
- V_CVT_PK_BF8_F32
- V_CVT_SR_FP8_F32
- V_CVT_SR_BF8_F32
---------
Co-authored-by: Mateja Marjanovic <mateja.marjanovic at amd.com>
Co-authored-by: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Commit: 78d8ce316ff6f06f58a7f3eb7f633c4bf3bf3285
https://github.com/llvm/llvm-project/commit/78d8ce316ff6f06f58a7f3eb7f633c4bf3bf3285
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
Log Message:
-----------
[AMDGPU] Require explicit immediate offsets for SGPR+IMM SMEM instructions. (#79131)
As otherwise SGPR+IMM instructions are not distinguishable to SGPR-only
ones in AsmParser, leading to ambiguities.
GFX12 doesn't have special SGPR-only variants, so we still allow
optional immediate offsets for the subtarget.
Also rename the offset operand classes while there.
Part of <https://github.com/llvm/llvm-project/issues/69256>.
Commit: c83180c1248615cf6ea8842eb4e0cebebba4ab57
https://github.com/llvm/llvm-project/commit/c83180c1248615cf6ea8842eb4e0cebebba4ab57
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/ConstraintElimination/umin-result-may-be-poison.ll
Log Message:
-----------
[ConstraintElim] Add tests for #78621.
Tests with umin where the result may be poison for
https://github.com/llvm/llvm-project/issues/78621.
Commit: dee02ee9f8ffc74fea6c54f4c00df16e7ca4c8a1
https://github.com/llvm/llvm-project/commit/dee02ee9f8ffc74fea6c54f4c00df16e7ca4c8a1
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
Log Message:
-----------
[clang][Interp][NFC] Complex elements can only be primitives
So, return a PrimType directly from classifyComplexElementType().
Commit: 17cfc15d6b9b3773db8353937aac9878d7777b21
https://github.com/llvm/llvm-project/commit/17cfc15d6b9b3773db8353937aac9878d7777b21
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Fix spelling typo. NFC
commutatvity -> commutativity
Commit: 6255bae6c9afe89470f264f903051f64bc15135f
https://github.com/llvm/llvm-project/commit/6255bae6c9afe89470f264f903051f64bc15135f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
[X86] Add test coverage based on #78888
Commit: 72f10f7eb536da58cb79e13974895cd97d4e1a5f
https://github.com/llvm/llvm-project/commit/72f10f7eb536da58cb79e13974895cd97d4e1a5f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
[X86] Fold not(pcmpeq(and(X,CstPow2),0)) -> pcmpeq(and(X,CstPow2),CstPow2)
Fixes #78888
Commit: 27cfe7a07fc858bd890f2e0980f530a8573748b0
https://github.com/llvm/llvm-project/commit/27cfe7a07fc858bd890f2e0980f530a8573748b0
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R flang/include/flang/Optimizer/Builder/Array.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
A flang/test/Lower/HLFIR/assumed-size-cray-pointee.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/cray-pointer.f90
Log Message:
-----------
[flang] Set assumed-size last extent to -1 (#79156)
Currently lowering sets the extents of assumed-size array to "undef"
which was OK as long as the value was not expected to be read.
But when interfacing with the runtime and when passing assumed-size to
assumed-rank, this last extent may be read and must be -1 as specified
in the BIND(C) case in 18.5.3 point 5.
Set this value to -1, and update all the lowering code that was looking
for an undef defining op to identify assumed-size: much safer to
propagate and use semantic info here, the previous check actually did
not work if the array was used in an internal procedure (defining op not
visible anymore).
@clementval and @agozillon, I left assumed-size extent to zero in the
acc/omp bounds op as it was, please double check that is what you want
(I can imagine -1 may create troubles here, and 0 makes some sense as it
would lead to no data transfer).
This also allows removing special cases in UBOUND/LBOUND lowering.
Also disable allocation of cray pointee. This was never intended and
would now lead to crashes with the -1 value for assumed-size cray
pointee.
Commit: 7fdf608cefa0d9051eb3146ee19c3750e237c799
https://github.com/llvm/llvm-project/commit/7fdf608cefa0d9051eb3146ee19c3750e237c799
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w64.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w32.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w64.mir
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w64.s
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w64.txt
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Add GFX12 WMMA and SWMMAC instructions (#77795)
Co-authored-by: Petar Avramovic <Petar.Avramovic at amd.com>
Co-authored-by: Piotr Sobczak <piotr.sobczak at amd.com>
Commit: 89dae798cc77789a43e9a60173f647dae03a65fe
https://github.com/llvm/llvm-project/commit/89dae798cc77789a43e9a60173f647dae03a65fe
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/Loads.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[Loads] Use BatchAAResults for available value APIs (NFCI)
This allows caching AA queries both within and across the calls,
and enables us to use a custom AAQI configuration.
Commit: d1b473c7956c080fe4d784bb89f720fbd28024a6
https://github.com/llvm/llvm-project/commit/d1b473c7956c080fe4d784bb89f720fbd28024a6
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build past 7251243315ef66f9b3f32e6f8e9536f701aa0d0a (#79282)
Fix bazel build past 7251243315ef66f9b3f32e6f8e9536f701aa0d0a
Commit: 5469010ba73701d47498576a433aea5c6e16ba2c
https://github.com/llvm/llvm-project/commit/5469010ba73701d47498576a433aea5c6e16ba2c
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/test/MC/AArch64/armv8.1a-rdma.s
M llvm/test/MC/AArch64/armv8.2a-dotprod-errors.s
M llvm/test/MC/AArch64/armv8.2a-dotprod.s
M llvm/test/MC/AArch64/armv8r-sysreg.s
M llvm/test/MC/Disassembler/AArch64/armv8.3a-complex.txt
M llvm/test/MC/Disassembler/AArch64/armv8.3a-js.txt
Log Message:
-----------
[AArch64] FP/SIMD is not mandatory for v8-R (#79004)
The FP/SIMD instructions are optional for v8-R, so they should not be
marked as a dependency of HasV8_0rOps. This had the effect of disabling
some v8R-specific system registers when any of these features was
disabled.
I've moved these features to be enabled by default for Cortex-R82
(currently the only v8-R AArch64 core), matching the previous behavior,
and clang's default.
Based on a patch by Simi Pallipurath <simi.pallipurath at arm.com>
Commit: 182ab1c7034b951433fb8831b67e7758fe61d4e8
https://github.com/llvm/llvm-project/commit/182ab1c7034b951433fb8831b67e7758fe61d4e8
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S
Log Message:
-----------
[Support] Adjust .note.GNU-stack guard in Support/BLAKE3/blake3_*_x86-64_unix.S (#76229)
When using GNU ld 2.41 on FreeBSD 14.0/amd64, there are linker warnings
like
```
/vol/gcc/bin/gld-2.41: warning: blake3_avx512_x86-64_unix.S.o: missing .note.GNU-stack section implies executable stack
/vol/gcc/bin/gld-2.41: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
```
This can be fixed by adjusting the guard of the `.note.GNU-stack`
sections in `blake3_*_x86-64_unix.S` to match `llvm/lib/MC/MCAsmInfoELF.cpp:MCAsmInfoELF::getNonexecutableStackSection` which emits the section on all ELF targets
but Solaris.
Tested on `amd64-pc-freebsd14.0`.
Commit: 8b43c1be23119c1024bed0a8ce392bc73727e2e2
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/test/CodeGen/X86/2011-20-21-zext-ui2fp.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx-load-store.ll
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/combine-srl.ll
M llvm/test/CodeGen/X86/combine-subo.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
M llvm/test/CodeGen/X86/fcmp-constant.ll
M llvm/test/CodeGen/X86/fold-vector-sext-zext.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/pmaddubsw.ll
M llvm/test/CodeGen/X86/pr46532.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/pr74736.ll
M llvm/test/CodeGen/X86/prefer-avx256-lzcnt.ll
M llvm/test/CodeGen/X86/pshufb-mask-comments.ll
M llvm/test/CodeGen/X86/ret-mmx.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86.ll
M llvm/test/CodeGen/X86/vec_anyext.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vec_set-A.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-mulfix-legalize.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
M llvm/test/CodeGen/X86/vselect-constants.ll
M llvm/test/CodeGen/X86/vselect-post-combine.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] X86FixupVectorConstants - shrink vector load to movsd/movsd/movd/movq 'zero upper' instructions (#79000)
If we're loading a vector constant that is known to be zero in the upper elements, then attempt to shrink the constant and just scalar load the lower 32/64 bits.
Always chose the vzload/broadcast with the smallest constant load, and prefer vzload over broadcasts for same bitwidth to avoid domain flips (mainly a AVX1 issue).
Fixes #73783
Commit: 7143b451d71fe314730f7610d7908e3b9611815c
https://github.com/llvm/llvm-project/commit/7143b451d71fe314730f7610d7908e3b9611815c
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/Transforms/JumpThreading/pr79175.ll
Log Message:
-----------
[JumpThreading] Add test for #79175 (NFC)
Commit: c3e77070489979788788ef479f8932ac460b675b
https://github.com/llvm/llvm-project/commit/c3e77070489979788788ef479f8932ac460b675b
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/ExprCXX.cpp
Log Message:
-----------
[clang][AST][NFC] Turn a isa<> + cast<> into dynamic_cast<>
Commit: 98509c7f9792c79b05a41b95c24607f6dd489c5a
https://github.com/llvm/llvm-project/commit/98509c7f9792c79b05a41b95c24607f6dd489c5a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add vec3 tests with different load/store alignments.
Add extra tests with different load/store alignments for
https://github.com/llvm/llvm-project/pull/78637.
Commit: 90ba33099cbb17e7c159e9ebc5a512037db99d6d
https://github.com/llvm/llvm-project/commit/90ba33099cbb17e7c159e9ebc5a512037db99d6d
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/cleanup-destslot-simple.c
M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenObjC/arc-foreach.m
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
M clang/test/Headers/__clang_hip_math.hip
M clang/test/OpenMP/bug57757.cpp
M flang/test/HLFIR/no-block-merging.fir
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Analysis/BasicAA/featuretest.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll
M llvm/test/Transforms/InstCombine/2009-01-08-AlignAlloca.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
M llvm/test/Transforms/InstCombine/add3.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
M llvm/test/Transforms/InstCombine/compare-alloca.ll
M llvm/test/Transforms/InstCombine/extractvalue.ll
M llvm/test/Transforms/InstCombine/gep-addrspace.ll
M llvm/test/Transforms/InstCombine/gep-canonicalize-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/intptr1.ll
M llvm/test/Transforms/InstCombine/intptr2.ll
M llvm/test/Transforms/InstCombine/intptr3.ll
M llvm/test/Transforms/InstCombine/intptr4.ll
M llvm/test/Transforms/InstCombine/intptr5.ll
M llvm/test/Transforms/InstCombine/intptr7.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/memchr-5.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memcmp-3.ll
M llvm/test/Transforms/InstCombine/memcmp-4.ll
M llvm/test/Transforms/InstCombine/memcmp-5.ll
M llvm/test/Transforms/InstCombine/memcmp-6.ll
M llvm/test/Transforms/InstCombine/memcmp-7.ll
M llvm/test/Transforms/InstCombine/memcpy_alloca.ll
M llvm/test/Transforms/InstCombine/memrchr-5.ll
M llvm/test/Transforms/InstCombine/memset2.ll
M llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/non-integral-pointers.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll
M llvm/test/Transforms/InstCombine/phi-timeout.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr39908.ll
M llvm/test/Transforms/InstCombine/pr44242.ll
M llvm/test/Transforms/InstCombine/pr58901.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/select-cmp-br.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_sideeffecting_instruction.ll
M llvm/test/Transforms/InstCombine/sprintf-2.ll
M llvm/test/Transforms/InstCombine/statepoint-cleanup.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strlen-7.ll
M llvm/test/Transforms/InstCombine/strlen-9.ll
M llvm/test/Transforms/InstCombine/strncmp-4.ll
M llvm/test/Transforms/InstCombine/strncmp-5.ll
M llvm/test/Transforms/InstCombine/strncmp-6.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/unpack-fca.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50555.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-shift.ll
M llvm/test/Transforms/PhaseOrdering/basic.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/pr39282.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
M llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/opt.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-instcombine.ll
M llvm/test/Transforms/Util/strip-gc-relocates.ll
Log Message:
-----------
[InstCombine] Canonicalize constant GEPs to i8 source element type (#68882)
This patch canonicalizes getelementptr instructions with constant
indices to use the `i8` source element type. This makes it easier for
optimizations to recognize that two GEPs are identical, because they
don't need to see past many different ways to express the same offset.
This is a first step towards
https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699.
This is limited to constant GEPs only for now, as they have a clear
canonical form, while we're not yet sure how exactly to deal with
variable indices.
The test llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll gives
two representative examples of the kind of optimization improvement we
expect from this change. In the first test SimplifyCFG can now realize
that all switch branches are actually the same. In the second test it
can convert it into simple arithmetic. These are representative of
common optimization failures we see in Rust.
Fixes https://github.com/llvm/llvm-project/issues/69841.
Commit: 3d91d9613e294b242d853039209b40a0cb7853f2
https://github.com/llvm/llvm-project/commit/3d91d9613e294b242d853039209b40a0cb7853f2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/minmax.ll
M llvm/test/Transforms/ConstraintElimination/umin-result-may-be-poison.ll
Log Message:
-----------
[ConstraintElim] Make sure min/max intrinsic results are not poison.
The result of umin may be poison and in that case the added constraints
are not be valid in contexts where poison doesn't cause UB. Only queue
facts for min/max intrinsics if the result is guaranteed to not be
poison.
This could be improved in the future, by only adding the fact when
solving conditions using the result value.
Fixes https://github.com/llvm/llvm-project/issues/78621.
Commit: 382f70a877f00ab71f3cb5ba461b52e1b59cd292
https://github.com/llvm/llvm-project/commit/382f70a877f00ab71f3cb5ba461b52e1b59cd292
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Rewrite function call on two lines for clarity (#79141)
Previously, there was a ternary conditional with a less-than comparison
appearing inside a template argument, which was really confusing because
of the <...> of the function template. This patch rewrites the same
statement on two lines for clarity.
Commit: 03a9f07e189db792b001c4001981d6e2da880221
https://github.com/llvm/llvm-project/commit/03a9f07e189db792b001c4001981d6e2da880221
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_min.h
Log Message:
-----------
[libc++][NFC] Fix leftover && in comment
Commit: 5db2e5801dfec79bad3c804da0f53871a2664373
https://github.com/llvm/llvm-project/commit/5db2e5801dfec79bad3c804da0f53871a2664373
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
Add necessary permissions to release issue workflow (#79272)
The `/cherry-pick` command needs `issues: write` to post a comment on
the issue. The `/branch` command also posts a comment, and also needs
`pull-requests: write` to open a PR.
This should fix the failure encountered at
https://github.com/llvm/llvm-project/issues/79253#issuecomment-1907850027.
Commit: 380ac53dfa05792c6f9fd0a4aba542f8c7e5e17c
https://github.com/llvm/llvm-project/commit/380ac53dfa05792c6f9fd0a4aba542f8c7e5e17c
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
A llvm/test/CodeGen/X86/dwarf-headers.o
M llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
M llvm/test/DebugInfo/X86/debug-names-parents-same-offset.ll
M llvm/test/DebugInfo/X86/debug-names-types.ll
M llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
Log Message:
-----------
[DebugNames] Implement Entry::GetParentEntry query (#78760)
This commit introduces a helper function to DWARFAcceleratorTable::Entry
which follows DW_IDX_Parent attributes to returns the corresponding
parent Entry in the table.
It is tested by enhancing dwarfdump so that it now prints:
1. When data is corrupt.
2. When parent information is present, but the parent is not indexed.
3. The parent entry offset, when the parent is present and indexed. This
is printed in terms a real entry offset (the same that gets printed at
the start of each entry: "Entry @ 0x..."), instead of the encoded number
in the table (which is an offset from the start off the Entry list).
This makes it easy to visually inspect the dwarfdump and check what the
parent is.
Commit: f03a60d4d2fc687059c8bb667d1de37713a5a64b
https://github.com/llvm/llvm-project/commit/f03a60d4d2fc687059c8bb667d1de37713a5a64b
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
Use correct tokens in release issue workflow (#79300)
We should use the normal github.token for interacting with issues/PRs on
the repo, and separately pass the `--branch-repo-token` for creating the
branch in the llvmbot repo.
Commit: 70fc9703788e8965813c5b677a85cb84b66671b6
https://github.com/llvm/llvm-project/commit/70fc9703788e8965813c5b677a85cb84b66671b6
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
R llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
Log Message:
-----------
[AMDGPU] Move architected SGPR implementation into isel (#79120)
Commit: aaa93ce7323332d8290b8f563d4d71689c1094c5
https://github.com/llvm/llvm-project/commit/aaa93ce7323332d8290b8f563d4d71689c1094c5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
compiler-rt: Fix FLOAT16 feature detection
CMAKE_TRY_COMPILE_TARGET_TYPE defaults to EXECUTABLE, which causes
any feature detection code snippet without a main function to fail,
so we need to make sure it gets explicitly set to STATIC_LIBRARY.
Bug: https://github.com/ROCm/rocFFT/issues/439
Bug: https://github.com/ROCm/rocBLAS/issues/1350
Bug: https://bugs.gentoo.org/916069
Closes: https://github.com/llvm/llvm-project/pull/69842
Reviewed by: thesamesam, mgorny
Commit: 777eb35614eff30f8fe8ca7729b9c04846a09476
https://github.com/llvm/llvm-project/commit/777eb35614eff30f8fe8ca7729b9c04846a09476
Author: felixh5678 <157516335+felixh5678 at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/sqrtf128.cpp
A libc/src/math/sqrtf128.h
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/generic_sqrtf128_test.cpp
A libc/test/src/math/smoke/sqrtf128_test.cpp
Log Message:
-----------
[libc] Add sqrtf128 implementation for Linux x86_64. (#79195)
Co-authored-by: Tue Ly <lntue at google.com>
Co-authored-by: Felix <felix at Dirks-MacBook-Pro.local>
Commit: 9fc890b5a06c5e4a014951a1dd7ad7ba592ceaaf
https://github.com/llvm/llvm-project/commit/9fc890b5a06c5e4a014951a1dd7ad7ba592ceaaf
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[clang][Parse][NFC] Make a local variable const
Commit: 0065d06760c0fba786b7b5ff061b3b3efa08bfbc
https://github.com/llvm/llvm-project/commit/0065d06760c0fba786b7b5ff061b3b3efa08bfbc
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
Log Message:
-----------
[NFC][DebugInfo] Maintain RemoveDIs flag when attributor creates functions (#79143)
We're using this flag (IsNewDbgInfoFormat) to detect the boundaries in
LLVM of what's treating debug-info as intrinsics (i.e. dbg.value), and
what's using DPValue objects (the non-intrinsic replacement). The
attributor tends to create new wrapper functions and doesn't insert them
into Modules in the usual way, thus we have to manually update that flag
to signal what debug-info mode it's using.
I've added some --try-experimental-debuginfo-iterators RUN lines to
tests that would otherwise crash because of this, so that they're
exercised by our new-debuginfo-iterators buildbot.
NB: there's an attributor test with a dbg.value in it, however
attributes re-order themselves in RemoveDIs mode for various reasons, so
we're going to address that in a different patch.
Commit: dc5b4daae7077b644753e53f175d0f5785fede49
https://github.com/llvm/llvm-project/commit/dc5b4daae7077b644753e53f175d0f5785fede49
Author: quic-asaravan <156995626+quic-asaravan at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
A llvm/test/CodeGen/Hexagon/inline-division-space.ll
A llvm/test/CodeGen/Hexagon/inline-division.ll
Log Message:
-----------
[HEXAGON] Inlining Division (#79021)
This patch inlines float division function calls for hexagon.
Co-authored-by: Awanish Pandey <awanpand at codeaurora.org>
Commit: 31f41f0984303655acf4eaa8d09643a624b1ccb0
https://github.com/llvm/llvm-project/commit/31f41f0984303655acf4eaa8d09643a624b1ccb0
Author: Christian Sigg <csigg at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after 4a582845597e97d245e8ffdc14281f922b835e56.
Commit: 2e81ac25b4e2bfdc71aac19a911525a7f35680be
https://github.com/llvm/llvm-project/commit/2e81ac25b4e2bfdc71aac19a911525a7f35680be
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Simplify AGPR/VGPR load/store operand definitions. (#79289)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: ca8605a78b8dd531c164f6a48a180ccf2770d042
https://github.com/llvm/llvm-project/commit/ca8605a78b8dd531c164f6a48a180ccf2770d042
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Remove bits that are unused since we stopped using Phabricator
Commit: 17db9efe9274e72f42e7e68103dab920ee494ac8
https://github.com/llvm/llvm-project/commit/17db9efe9274e72f42e7e68103dab920ee494ac8
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[OpenMP][MLIR] Add omp.distribute op to the OMP dialect (#67720)
This patch adds the omp.distribute operation to the OMP dialect. The
purpose is to be able to represent the distribute construct in OpenMP
with the associated clauses. The effect of the operation is to
distributes the loop iterations of the loop(s) contained inside the
region across multiple teams.
Commit: 8d43dad9b86ad0f72100b6f75450f2982f2663b9
https://github.com/llvm/llvm-project/commit/8d43dad9b86ad0f72100b6f75450f2982f2663b9
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Fix BUILD after 4a582845597e97d245e8ffdc14281f922b835e56.
Commit: 6a0118cec079f5963dc5a7a3d9423c55f08b6dad
https://github.com/llvm/llvm-project/commit/6a0118cec079f5963dc5a7a3d9423c55f08b6dad
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/docs/index.rst
Log Message:
-----------
[libc++][docs] Remove mention of Phabricator on the landing page
Commit: fc364e26845ce5529caf9f88abcc5a5531d1f59f
https://github.com/llvm/llvm-project/commit/fc364e26845ce5529caf9f88abcc5a5531d1f59f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libunwind/docs/index.rst
Log Message:
-----------
[libunwind][doc] Remove reference to Phabricator from the landing page
Commit: 56aa77e1193b7abe65bf3ec16e0f37972345b9f2
https://github.com/llvm/llvm-project/commit/56aa77e1193b7abe65bf3ec16e0f37972345b9f2
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
Fix bazel build past 4a582845597e97d245e8ffdc14281f922b835e56 (#79318)
and keep things sorted.
Commit: 396b6bbc5ecef93fce09d6463f47b44dc501d2aa
https://github.com/llvm/llvm-project/commit/396b6bbc5ecef93fce09d6463f47b44dc501d2aa
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recurse on second operand of two operand shuffles (#79197)
This builds on bdc41106ee48dce59c500c9a3957af947f30c8c3.
This change completes the migration to a recursive shuffle lowering
strategy where when we encounter an unknown two argument shuffle, we
lower each operand as a single source permute, and then use a vselect
(i.e. a vmerge) to combine the results. This relies for code quality on
the post-isel combine which will aggressively fold that vmerge back into
the materialization of the second operand if possible.
Note: The change includes only the most immediately obvious of the
stylistic cleanup. There's a bunch of code movement that this enables
that I'll do as a separate patch as rolling it into this creates an
unreadable diff.
Commit: 611843d24bd1cfa8b6bf62b48635dbd3a6281759
https://github.com/llvm/llvm-project/commit/611843d24bd1cfa8b6bf62b48635dbd3a6281759
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD.
Commit: 4079aab8d80233586a9cd3f7be27bece4c21ea16
https://github.com/llvm/llvm-project/commit/4079aab8d80233586a9cd3f7be27bece4c21ea16
Author: Christian Sigg <chsigg at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[llvm][bazel] Fix BUILD
Commit: 56444d5687818938a6ce798e7221aa920c54098e
https://github.com/llvm/llvm-project/commit/56444d5687818938a6ce798e7221aa920c54098e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/git/github-automation.py
Log Message:
-----------
Remove fork handling from release issue workflow (#79310)
This is currently broken, because the check is performed on the wrong
repository. repo here is llvm/llvm-project, which is not a fork (so this
will always trigger), then we'll push a new branch to
llvmbot/llvm-project, and then again set the wrong owner, so we'll look
for the branch in llvm/llvm-project rather than llvmbot/llvm-project.
Rather than fixing this, I'm removing the code entirely, as it shouldn't
be needed anymore (llvmbot/llvm-project is a fork of llvm/llvm-project).
Commit: 6c1dbd5359c4336d03b11faeaea8459b421f2c5c
https://github.com/llvm/llvm-project/commit/6c1dbd5359c4336d03b11faeaea8459b421f2c5c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/FileEntry.h
M clang/lib/Basic/FileManager.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/unittests/Support/VirtualFileSystemTest.cpp
Log Message:
-----------
[clang] NFC: Remove `{File,Directory}Entry::getName()` (#74910)
The files and directories that Clang accesses are uniqued by their
inode. For each inode `FileManager` will create exactly one `FileEntry`
or `DirectoryEntry` object, which makes answering the question _"Are
these two files/directories the same?"_ a simple pointer equality check.
However, since the same inode can be accessed through multiple different
paths, asking the `FileEntry` or `DirectoryEntry` object _"What is your
name?"_ doesn't have clear semantics. In c0ff9908 we started reporting
the most recent name used to access the entry, which turned out to be
necessary for Clang modules. However, the long-term solution has always
been to explicitly track the as-requested name. This has been
implemented in 4dc5573a as `FileEntryRef` and `DirectoryEntryRef`.
The `DirectoryEntry::getName()` interface has been deprecated since the
Clang 17 release and `FileEntry::getName()` since Clang 18. We have
replaced uses of these deprecated APIs in `main` with
`DirectoryEntryRef::getName()` and `FileEntryRef::getName()`
respectively.
This makes it possible to remove `{File,Directory}Entry::getName()` for
good along with the `FileManager` code that implements them.
Commit: fd817249f4d50caa7a8986a37cdf712dfdf5ad70
https://github.com/llvm/llvm-project/commit/fd817249f4d50caa7a8986a37cdf712dfdf5ad70
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Sink code into using branch in shuffle lowering [nfc]
Follow up to 396b6bbc, sink code into consuming branch, and fix one
comment I realized used the misleading wording. (Permute is a specific
sub-type of single source shuffle.)
Commit: 8abf8d124ae346016c56209de7f57b85671d4367
https://github.com/llvm/llvm-project/commit/8abf8d124ae346016c56209de7f57b85671d4367
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lld/ELF/InputSection.cpp
M lld/test/ELF/dead-reloc-in-nonalloc.s
Log Message:
-----------
[ELF] Don't resolve relocations referencing SHN_ABS to tombstone in non-SHF_ALLOC sections (#79238)
A SHN_ABS symbol has never been considered for
InputSection::relocateNonAlloc.
Before #74686, the code did made it work in the absence of `-z
dead-reloc-in-nonalloc=`.
There is now a report about such SHN_ABS uses
(https://github.com/llvm/llvm-project/pull/74686#issuecomment-1904101711)
and I think it makes sense for non-SHF_ALLOC to support SHN_ABS, like
SHF_ALLOC sections do.
```
// clang -g
__attribute__((weak)) int symbol;
int *foo() { return &symbol; }
0x00000023: DW_TAG_variable [2] (0x0000000c)
...
DW_AT_location [DW_FORM_exprloc] (DW_OP_addrx 0x0)
```
.debug_addr references `symbol`, which can be redefined by a symbol
assignment or --defsym to become a SHN_ABS symbol.
The problem is that `!sym.getOutputSection()` cannot discern SHN_ABS
from a symbol whose section has been discarded. Since commit
1981b1b6b92f7579a30c9ed32dbdf3bc749c1b40, a symbol relative to a
discarded section is changed to `Undefined`, so the `SHN_ABS` check
become trivial.
We currently apply tombstone for a relocation referencing
`SharedSymbol`. This patch does not change the behavior.
Commit: e99c8aef5d618f5fe0baf643e3a31ee911e909f1
https://github.com/llvm/llvm-project/commit/e99c8aef5d618f5fe0baf643e3a31ee911e909f1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-loop.f90
Log Message:
-----------
[flang][openacc] Lower DO CONCURRENT with acc loop (#79223)
Lower basic DO CONCURRENT with acc loop construct. The DO CONCURRENT is
lowered to an acc.loop operation.
This does not currently cover the DO CONCURRENT with locality specs.
Commit: 5e894771d9517a0cec3bc12480c1549080aaf5b2
https://github.com/llvm/llvm-project/commit/5e894771d9517a0cec3bc12480c1549080aaf5b2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R .ci/generate-buildkite-pipeline-scheduled
Log Message:
-----------
[ci] Remove unused generate-buildkite-pipeline-scheduled script (#79320)
The "scheduled build" pipeline on BuildKite had been disabled for months
and doesn't exist anymore, so this script is effectively dead code. When
we set up a cron-activated build again, we should do it using Github
actions (which could trigger a BK pipeline if needed).
Keeping this script around just creates additional confusion about
what's used and what's not used for doing CI.
Commit: 56602a48c735a1c906a9ec4e03a64fd9c937def3
https://github.com/llvm/llvm-project/commit/56602a48c735a1c906a9ec4e03a64fd9c937def3
Author: ostannard <oliver.stannard at arm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
M llvm/lib/TableGen/JSONBackend.cpp
A llvm/test/TableGen/JSON-locs.td
M llvm/test/TableGen/JSON.td
Log Message:
-----------
[TableGen] Include source location in JSON dump (#79028)
This adds a '!loc' field to each record containing the file name and
line number of the record declaration.
Commit: b801b607e38ca9113394a918f475e5a521b7ec13
https://github.com/llvm/llvm-project/commit/b801b607e38ca9113394a918f475e5a521b7ec13
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
Log Message:
-----------
[clangd] Make sure ninja can clean "ClangdXPC.framework" (#75669)
After building the ClangdXPC target, `ninja clean` fails with the
following error:
```
ninja: error: remove(lib/ClangdXPC.framework): Directory not empty
ninja: error: remove(<build>/lib/ClangdXPC.framework): Directory not empty
```
I did not find better way to make this work. I guess we could list all
generated files (and directories) in `OUTPUT` of the custom command, but
that seems fairly tedious/fragile.
Commit: e9311f9c5acd3d9f282c351721bb911e5b519531
https://github.com/llvm/llvm-project/commit/e9311f9c5acd3d9f282c351721bb911e5b519531
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Separate single source and dual source lowering code [nfc]
The two single source cases aren't effected by the swap or select matching
as those are dual operand specific. Similarly, a two source shuffle can't
be a rotate.
We can extend this idea for some of the shuffle types above, but some of
them are validly either single or dual source. We don't want to loose that
and the code complexity of versioning early and having to repeat some shuffle
kinds doesn't (currently) seem worth it.
Commit: 1605bf58151bc357780fee5553beee2b404772a7
https://github.com/llvm/llvm-project/commit/1605bf58151bc357780fee5553beee2b404772a7
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintElimination] Use std::move in the constructor (NFC) (#79259)
Moving the contents of Coefficients saves 0.43% of heap allocations
during the compilation of a large preprocessed file, namely
X86ISelLowering.cpp, for the X86 target.
Commit: 3b8539c9dc0bc38ebea903e038257ed4328f290b
https://github.com/llvm/llvm-project/commit/3b8539c9dc0bc38ebea903e038257ed4328f290b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
A llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
M llvm/test/CodeGen/NVPTX/i128-global.ll
Log Message:
-----------
[NVPTX] use incomplete aggregate initializers (#79062)
The PTX ISA specifies that initializers may be incomplete ([5.4.4.
Initializers](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#initializers))
> As in C, array initializers may be incomplete, i.e., the number of
initializer elements may be less than the extent of the corresponding
array dimension, with remaining array locations initialized to the
default value for the specified array type.
Emitting initializers in this form is preferable because it reduces the
size of the PTX, in some cases significantly, and can improve compile
time of ptxas as a result.
Commit: ca654acc16c43191228eadfec8f7241dca10b0c3
https://github.com/llvm/llvm-project/commit/ca654acc16c43191228eadfec8f7241dca10b0c3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
Log Message:
-----------
[SLP]Fix PR79321: SLPVectorizer's PHICompare doesn't provide a strict
weak ordering.
Compared NumUses to meet the reaquirements of the strict weak ordering.
Commit: 2a77d92e2e942fb1c7e23b046581531ec464cce5
https://github.com/llvm/llvm-project/commit/2a77d92e2e942fb1c7e23b046581531ec464cce5
Author: Vojislav Tomasevic <vojislav.tomasevic at syrmia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins.c
Log Message:
-----------
[clang] Incorrect IR involving the use of bcopy (#79298)
This patch addresses the issue regarding the call of bcopy function in a
conditional expression.
It is analogous to the already accepted patch which deals with the same
problem, just regarding the bzero function [0].
Here is the testcase which illustrates the issue:
```
void bcopy(const void *, void *, unsigned long);
void foo(void);
void test_bcopy() {
char dst[20];
char src[20];
int _sz = 20, len = 20;
return (_sz
? ((_sz >= len)
? bcopy(src, dst, len)
: foo())
: bcopy(src, dst, len));
}
```
When processing it with clang, following issue occurs:
Instruction does not dominate all uses!
%arraydecay2 = getelementptr inbounds [20 x i8], ptr %dst, i64 0, i64 0,
!dbg !38
%cond = phi ptr [ %arraydecay2, %cond.end ], [ %arraydecay5,
%cond.false3 ], !dbg !33
fatal error: error in backend: Broken module found, compilation aborted!
This happens because an incorrect phi node is created. It is created
because bcopy function call is lowered to the call of llvm.memmove
intrinsic and function memmove returns void *. Since llvm.memmove is
called in two places in the same return statement, clang creates a phi
node in the final basic block for the return value and that phi node is
incorrect. However, bcopy function should return void in the first
place, so this phi node is unnecessary. This is what this patch
addresses. An appropriate test is also added and no existing tests fail
when applying this patch.
Also, this crash only happens when LLVM is configured with
-DLLVM_ENABLE_ASSERTIONS=On option.
[0] https://reviews.llvm.org/D39746
Commit: 4a9a1d83bee91418c649eccc9537dcbf6a745a65
https://github.com/llvm/llvm-project/commit/4a9a1d83bee91418c649eccc9537dcbf6a745a65
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/utils/TableGen/BUILD.gn
Log Message:
-----------
[gn build] port 4a582845597e (tablegen'd clang builtins)
Commit: 604a6c409e8473b212952b8633d92bbdb22a45c9
https://github.com/llvm/llvm-project/commit/604a6c409e8473b212952b8633d92bbdb22a45c9
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
Log Message:
-----------
[BPI] Transfer value-handles when assign/move constructing BPI (#77774)
Background: BPI stores a collection of edge branch-probabilities, and
also a set of Callback value-handles for the blocks in the
edge-collection. When a block is deleted, BPI's eraseBlock method is
called to clear the edge-collection of references to that block, to
avoid dangling pointers.
However, when move-constructing or assigning a BPI object, the
edge-collection gets moved, but the value-handles are discarded. This
can lead to to stale entries in the edge-collection when blocks are
deleted without the callback -- not normally a problem, but if a new
block is allocated with the same address as an old block, spurious
branch probabilities will be recorded about it. The fix is to transfer
the handles from the source BPI object.
This was exposed by an unrelated debug-info change, it probably just
shifted around allocation orders to expose this. Detected as
nondeterminism and reduced by Zequan Wu:
https://github.com/llvm/llvm-project/commit/f1b0a544514f3d343f32a41de9d6fb0b6cbb6021#commitcomment-136737090
(No test because IMHO testing for a behaviour that varies with memory
allocators is likely futile; I can add the reproducer with a CHECK for
the relevant branch weights if it's desired though)
Commit: ed7cee90f7849594ba9a3ebc2271cb9b5d172004
https://github.com/llvm/llvm-project/commit/ed7cee90f7849594ba9a3ebc2271cb9b5d172004
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[Driver] Test ignored target-specific options for AMDGPU/NVPTX (#79222)
Fix missing test coverage after #70740 #70760
When compiling for CUDA/HIP, the driver creates a cc1 job to compile for
amdgcn/nvptx triple using most options.
Certain target-specific options should be ignored, not lead to an error
(`err_drv_unsupported_opt_for_target`).
Commit: e099e7b278c774338c7019e38fbbca9ef2c8dd74
https://github.com/llvm/llvm-project/commit/e099e7b278c774338c7019e38fbbca9ef2c8dd74
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
Log Message:
-----------
[Clang] Fix the signature of __builtin___stpncpy_chk
Commit: c1cb0b80f00888920050068a8c6b4f78ca40dd43
https://github.com/llvm/llvm-project/commit/c1cb0b80f00888920050068a8c6b4f78ca40dd43
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc][NFC] Fix `-DSHOW_INTERMEDIATE_OBJECTS=DEPS` to work properly for entry points and unit tests. (#79254)
Commit: 32f7922646d5903f63d16c9fbfe3d508b0f8cda7
https://github.com/llvm/llvm-project/commit/32f7922646d5903f63d16c9fbfe3d508b0f8cda7
Author: William Moses <gh at wsmoses.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
A llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[CMake/Bazel] Support usage of opt driver as a library (#79205)
In Bazel, Clang current separates the clang executable into a
clang-driver library, and the actual clang executable. This allows
downstream users to make their own variations of clang, without having
to redo/maintain separate build pipelines.
This adds the same for opt for both CMake and Bazel.
Commit: 7e09239e24b339f45f63a670e2e831150826bf70
https://github.com/llvm/llvm-project/commit/7e09239e24b339f45f63a670e2e831150826bf70
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/unittests/CodeGen/SchedBoundary.cpp
Log Message:
-----------
[CodeGen][MISched] Handle empty sized resource usage. (#75951)
TargetSchedule.td explicitly allows the usage of a ProcResource for zero
cycles, in order to represent that the ProcResource must be available
but is not consumed by the instruction. On the other hand,
ResourceSegments explicitly does not allow for a zero sized interval. In
order to remedy this, this patch handles the special case of when there
is an empty interval usage of a resource by not adding an empty
interval.
We ran into this issue downstream, but it makes sense to have
this upstream since it is explicitly allowed by TargetSchedule.td.
Commit: 048041f19719758976f454cb02b662f7d5ded1dd
https://github.com/llvm/llvm-project/commit/048041f19719758976f454cb02b662f7d5ded1dd
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/spec/linux.td
M libc/spec/spec.td
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/mincore.cpp
A libc/src/sys/mman/mincore.h
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] reland mincore (#79309)
Commit: be08be5d5de97cd593fb99affa1fa994d104eb70
https://github.com/llvm/llvm-project/commit/be08be5d5de97cd593fb99affa1fa994d104eb70
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
R llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "[CMake/Bazel] Support usage of opt driver as a library (#79205)"
This reverts commit 32f7922646d5903f63d16c9fbfe3d508b0f8cda7.
Doesn't build, see
https://github.com/llvm/llvm-project/pull/79205#issuecomment-1908730527
Commit: d2d42dcfde7e9bf58e49b376ae7488ffac97f4c8
https://github.com/llvm/llvm-project/commit/d2d42dcfde7e9bf58e49b376ae7488ffac97f4c8
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/MachineScheduler.cpp
Log Message:
-----------
[CodeGen][MISched] Rename instance of Cycle -> ReleaseAtCycle
b1ae461a5358932851de42b66ffde8748da51a83 renamed Cycle ->
ReleaseAtCycle.
7e09239e24b339f45f63a670e2e831150826bf70 was committed without rebasing
but used the old Cycle syntax.
This caused a build failure when
7e09239e24b339f45f63a670e2e831150826bf70 was squash-and-merged. This
patch fixes this problem.
Commit: 31359840247b7d458ea8104373eea3f0cef95e16
https://github.com/llvm/llvm-project/commit/31359840247b7d458ea8104373eea3f0cef95e16
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/opt.cpp
A llvm/tools/opt/optdriver.cpp
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Reland "[CMake/Bazel] Support usage of opt driver as a library (#79205)"
This reverts commit be08be5d5de97cd593fb99affa1fa994d104eb70.
The build error was due to a different change, apologies!
Commit: 609695b23e1cba538f90969afbb1b80367f2d5da
https://github.com/llvm/llvm-project/commit/609695b23e1cba538f90969afbb1b80367f2d5da
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/opt/BUILD.gn
Log Message:
-----------
[gn] port 32f7922646d5 (LLVMOptDriver)
Commit: 123c83ddc71048fb0a682218e6961d71ec08c2ea
https://github.com/llvm/llvm-project/commit/123c83ddc71048fb0a682218e6961d71ec08c2ea
Author: Mircea Trofin <mtrofin at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[mlgo] bazel rules for mlgo-utils (#79217)
Akin the `py_binary` rules for `lit`, these are scoped to binaries,
rather than exposing the library - binary split. The latter is available
to the package (pip package) users.
Tested:
```
cd utils/bazel
bazel build @llvm-project//llvm:extract_ir
bazel-bin/external/llvm-project/llvm/extract_ir --help
```
...and observed expected output (rather than import not found errors)
(Same for the other 2 targets).
Commit: 2e52e13c1e7e9a41d47b808fc5d668b7b738b94c
https://github.com/llvm/llvm-project/commit/2e52e13c1e7e9a41d47b808fc5d668b7b738b94c
Author: Wei Wang <apollo.mobility at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/test/AST/ast-dump-using.cpp
Log Message:
-----------
[clang] Make sure the same UsingType is searched and inserted (#79182)
When creating a new UsingType, the underlying type may change if it is a
declaration. This creates an inconsistency between the type searched and
type created. Update member and non-member Profile functions so that
they return the same ID.
Commit: d8a34c25bcfe67243b4347e169a2a57a6da95321
https://github.com/llvm/llvm-project/commit/d8a34c25bcfe67243b4347e169a2a57a6da95321
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/tools/opt/CMakeLists.txt
Log Message:
-----------
[opt] Remove trailing space that accidentally got added
Commit: 4b4763ffebaed9f1fee94b8ad5a1a450a9726683
https://github.com/llvm/llvm-project/commit/4b4763ffebaed9f1fee94b8ad5a1a450a9726683
Author: Reid Kleckner <rnk at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lld/test/wasm/signature-mismatch.s
Log Message:
-----------
[lld][WebAssembly] Fix test on Windows, use llvm-ar instead of ar
Commit: 7b11c08c664863fbcd7a3058179b0af3de5d28e4
https://github.com/llvm/llvm-project/commit/7b11c08c664863fbcd7a3058179b0af3de5d28e4
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/test/src/sys/mman/linux/mincore_test.cpp
Log Message:
-----------
[libc] remove unstable mincore test for invalid vec (#79348)
The faults on invalid vec range in mincore seems to be handled
differently by the OS (it is an erroneous edge case after all). Remove
the tests for now.
Commit: 84dcf3d35b6ea8d8b6c34bc9cf21135863c47b8c
https://github.com/llvm/llvm-project/commit/84dcf3d35b6ea8d8b6c34bc9cf21135863c47b8c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/test/CodeGen/SystemZ/loop-01.ll
Log Message:
-----------
[SystemZ] Require D12 for i128 accesses in isLegalAddressingMode() (#79221)
Machines with vector support handle i128 in vector registers and
therefore only have the small displacement available for memory
accesses. Update isLegalAddressingMode() to reflect this.
Commit: bb65f5a5d95736cf08b282c1ded7f5cceed5fd7e
https://github.com/llvm/llvm-project/commit/bb65f5a5d95736cf08b282c1ded7f5cceed5fd7e
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Support/raw_socket_stream.cpp
Log Message:
-----------
Move raw_string_ostream back to raw_ostream.cpp (#79224)
The implementation of raw_string_ostream::write_impl() was moved to
raw_socket_stream.cpp when the raw_socket_ostream support was separated.
This patch moves it back to facilitate disabling socket support in
downstream projects.
Commit: 48bbd7658710ef1699bf2a6532ff5830230aacc5
https://github.com/llvm/llvm-project/commit/48bbd7658710ef1699bf2a6532ff5830230aacc5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
Log Message:
-----------
[SLP]Fix PR79229: Check that extractelement is used only in a single node
before erasing.
Before trying to erase the extractelement instruction, not enough to
check for single use, need to check that it is not used in several nodes
because of the preliminary nodes reordering.
Commit: 298412b5786cf9d65f01d90bf38402b11bf87b4f
https://github.com/llvm/llvm-project/commit/298412b5786cf9d65f01d90bf38402b11bf87b4f
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/test/Dialect/SparseTensor/dense.mlir
M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
M mlir/test/Dialect/SparseTensor/sparse_foreach.mlir
M mlir/test/Dialect/SparseTensor/sparse_index.mlir
M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_mv.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
Log Message:
-----------
[mlir][sparse] setup `SparseIterator` to help generating code to traverse a sparse tensor level. (#78345)
Commit: 0f8b52955c219e42e87162fd8c99c3cea6e35d21
https://github.com/llvm/llvm-project/commit/0f8b52955c219e42e87162fd8c99c3cea6e35d21
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
Log Message:
-----------
[LinkerWrapper] Do not link device code under a relocatable link (#79314)
Summary:
A relocatable link through `clang -r` can go through the
clang-linker-wrapper if offloading is enabled. This will have the effect
of linking the device code and creating the wrapper module. It will then
be merged into the final file. This is useful behavior on its own, but
is likely not what is expected for a `-r` job.
This patch makes the linker wrapper ignore the device code when doing a
reloctable link. This has the effect of the linker merging the
`.llvm.offloading` sections in the output object. These will then be
parsed as normal when the executable is finally created.
Even though this doesn't actually perform a reloctable link on the
device code itself, it has a similar effect of combining multiple files
into a single one.
Commit: a551703cb5d171d24303de9d20bfdedfe46d49cf
https://github.com/llvm/llvm-project/commit/a551703cb5d171d24303de9d20bfdedfe46d49cf
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/linker-wrapper-image.c
M llvm/lib/Frontend/Offloading/Utility.cpp
Log Message:
-----------
[Offload] Fix the offloading wrapper when merged multiple times. (#79231)
Summary:
The offloading wrapper is a object file that contains code necessary to
register offloading entries for the given runtime. Currently, we
expected only one of these to be present when we make the final
executable. However, in the case of redistributable linking with `-r` we
can end up with multiple of these being generated before finally
creating the executable.
This patch simply changes the defintiions of these globals to be
mergable. This allows multiples of these to participate in a single link
job. For ELF, we just make the dummy variable internal and used so it
sets up the section as expected. For COFF we make the entries weak_odr
so they merge to a single symbol
Commit: 04ce0baf015ced39e994b8839e30bd5cef6c995e
https://github.com/llvm/llvm-project/commit/04ce0baf015ced39e994b8839e30bd5cef6c995e
Author: Eric <eric at efcs.ca>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/18.rst
M libcxx/include/__config
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
Log Message:
-----------
Unconditionally lower std::string's alignment requirement from 16 to 8. (#68925)
Unconditionally change std::string's alignment to 8.
This change saves memory by providing the allocator more freedom to
allocate the most
efficient size class by dropping the alignment requirements for
std::string's
pointer from 16 to 8. This changes the output of std::string::max_size,
which makes it ABI breaking.
That said, the discussion concluded that we don't care about this ABI
break. and would like this change enabled universally.
The ABI break isn't one of layout or "class size", but rather the value
of "max_size()" changes, which in turn changes whether `std::bad_alloc`
or `std::length_error` is thrown for large allocations.
This change is the child of PR #68807, which enabled the change behind
an ABI flag.
Commit: e6f576b0c3fdddcd5916dcce24d17e36d2dbe2e6
https://github.com/llvm/llvm-project/commit/e6f576b0c3fdddcd5916dcce24d17e36d2dbe2e6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/docs/ShadowCallStack.rst
Log Message:
-----------
[Docs] Mention RISC-V in the introductory paragraph in ShadowCallStack.rst. (#79241)
RISC-V is mentioned elsewhere in the document it seems like it should be
mentioned in the introduction.
Commit: e3ee3762304aa81e4a240500844bfdd003401b36
https://github.com/llvm/llvm-project/commit/e3ee3762304aa81e4a240500844bfdd003401b36
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/AST/TemplateBase.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
Fix comparison of Structural Values
Fixes a regression from #78041 as reported in the review. The original
patch failed to compare the canonical type, which this adds. A slightly
modified test of the original report is added.
Commit: 260e45cff0c3b2e95eea9752d64f7a3a31432c0a
https://github.com/llvm/llvm-project/commit/260e45cff0c3b2e95eea9752d64f7a3a31432c0a
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
Log Message:
-----------
[mlir][sparse] fix stack UAF (#79353)
Commit: 4a9b5aa1164c1eff68c98c1513cab3ac0c52b4af
https://github.com/llvm/llvm-project/commit/4a9b5aa1164c1eff68c98c1513cab3ac0c52b4af
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/startup/linux/do_start.cpp
Log Message:
-----------
[libc][NFC] remove TODO about AppProperties (#79356)
```
AppProperties app;
```
is marked as a weak symbol in header now. One can just use `&app !=
nullptr` to check if `app` is defined. There is no need to define it for
overlay mode.
Commit: 22c22d6182e0ee456ff1141be8e178ede6df47bb
https://github.com/llvm/llvm-project/commit/22c22d6182e0ee456ff1141be8e178ede6df47bb
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/src/__support/HashTable/table.h
Log Message:
-----------
[libc][NFC] mark hashtable as resizable (#79354)
It is not fix-sized anymore.
Commit: 48570a6feb62c897dc4cdcd1dab3e99a0aa46d48
https://github.com/llvm/llvm-project/commit/48570a6feb62c897dc4cdcd1dab3e99a0aa46d48
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Driver/unsupported-option-gpu.c
Log Message:
-----------
[Driver,test] Add --target= to unsupported-option-gpu.c
Commit: f6ca6ed528b4ab0507f5099efd8902e0c076a327
https://github.com/llvm/llvm-project/commit/f6ca6ed528b4ab0507f5099efd8902e0c076a327
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
Revert "compiler-rt: Fix FLOAT16 feature detection"
This reverts commit aaa93ce7323332d8290b8f563d4d71689c1094c5.
This commit was not properly reviewed.
Commit: 6e4930c67508a90bdfd756f6e45417b5253cd741
https://github.com/llvm/llvm-project/commit/6e4930c67508a90bdfd756f6e45417b5253cd741
Author: Alexander Kornienko <alexfh at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/test/CXX/drs/dr14xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/www/cxx_dr_status.html
M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp
Log Message:
-----------
Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"
This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
errors on valid code, see
https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472.
Commit: 3967510032bc50062128e9ec078d930d7d5151ce
https://github.com/llvm/llvm-project/commit/3967510032bc50062128e9ec078d930d7d5151ce
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ret.ll
Log Message:
-----------
[RISCV][GISel] First mask argument placed in v0 according to RISCV Ve… (#79343)
…ctor CC.
Commit: fe9f3903f2d61bc67bfee66b44872339c8c767bb
https://github.com/llvm/llvm-project/commit/fe9f3903f2d61bc67bfee66b44872339c8c767bb
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Update isLegalAddressingMode for GFX12 SMEM loads (#78728)
Commit: 72ce6294157964042b7ed5576ce2c99257eeea9d
https://github.com/llvm/llvm-project/commit/72ce6294157964042b7ed5576ce2c99257eeea9d
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/config/darwin/arm/headers.txt
M libc/config/darwin/x86_64/headers.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
A libc/include/limits.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/float-macros.h
A libc/include/llvm-libc-macros/limits-macros.h
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/math_extras.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/time/CMakeLists.txt
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/stdlib/AtoiTest.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/clock_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/test/src/time/time_test.cpp
Log Message:
-----------
[libc] Add C23 limits.h header. (#78887)
Commit: 62a384ca66993b449c5accedbebf7af191fbe52c
https://github.com/llvm/llvm-project/commit/62a384ca66993b449c5accedbebf7af191fbe52c
Author: erichkeane <ekeane at nvidia.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
Log Message:
-----------
[OpenACC} Implement 'async' parsing.
async just takes an integral value, but it has a little bit of special
rules in sema, so it is implemented slightly differently than int-expr.
This patch implements async parsing.
Commit: 36e4a7ecca8a79fe8960a1e2afa78fbbd643dc7f
https://github.com/llvm/llvm-project/commit/36e4a7ecca8a79fe8960a1e2afa78fbbd643dc7f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix PR79321: SLPVectorizer's PHICompare doesn't provide a strict
weak ordering.
Try to make PHICompare to meat strict weak ordering criteria.
Commit: ce21721d1dd0f11c3ff38d16050e65861908a395
https://github.com/llvm/llvm-project/commit/ce21721d1dd0f11c3ff38d16050e65861908a395
Author: arthurqiu <qiurenjie at msn.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/test/IR/properties.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR] Fix tblgen properties printing to filter them out of discardable attrs dict (#79243)
This is to fix the bug reported in
https://discourse.llvm.org/t/whats-the-recommended-way-to-use-prop-dict/75921
When `prop-dict` is used in the assembly format, `attr-dict` should
print discardable attributes only.
Co-authored-by: Arthurq Qiu <arthurq at nvidia.com>
Commit: 3a92b20cb0e61bec886d07c3f7280b8b2a4b8d49
https://github.com/llvm/llvm-project/commit/3a92b20cb0e61bec886d07c3f7280b8b2a4b8d49
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Add backup definition for LONG_WIDTH in limits-macros.h. (#79375)
Commit: 23faa81d3f0b701aec3731a7fce4d65c57a752b9
https://github.com/llvm/llvm-project/commit/23faa81d3f0b701aec3731a7fce4d65c57a752b9
Author: Micah Weston <micahsweston at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-disassemble-symbolize-operands.yaml
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-symbolize-relocatable.yaml
M llvm/test/tools/llvm-objdump/X86/elf-pgoanalysismap.yaml
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-relocatable.test
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map.test
M llvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml
M llvm/test/tools/yaml2obj/ELF/bb-addr-map.yaml
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[SHT_LLVM_BB_ADDR_MAP] Avoids side-effects in addition since order is unspecified. (#79168)
Turns out the problem with
https://github.com/llvm/llvm-project/issues/60013 is due to the fact
that order of operation is unspecified in C++:
https://en.cppreference.com/w/cpp/language/eval_order. A small example
of where this manifests with MSVC can be seen here
https://ooo.godbolt.org/z/bxqKeqzqn.
This patch does the following:
* Removes the addition operations where we sequence more than one
side-effect based expression.
* Removes test guards to now run on Windows
Commit: 6384b6239b45f67aa6591d911376cc224b256c8d
https://github.com/llvm/llvm-project/commit/6384b6239b45f67aa6591d911376cc224b256c8d
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
Log Message:
-----------
[AMDGPU] Simplify VOP3PWMMA_Profile. NFC. (#79377)
Commit: a0c1b5bdda91920a66f58b0a891c551acff2d2a1
https://github.com/llvm/llvm-project/commit/a0c1b5bdda91920a66f58b0a891c551acff2d2a1
Author: DianQK <dianqk at dianqk.net>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
A llvm/test/Transforms/SimplifyCFG/unreachable-eliminate-on-ret.ll
Log Message:
-----------
Reland "[SimplifyCFG] Check if the return instruction causes undefined behavior"
This relands commit b6a0be8ce3114d0c57e7a7d6c3c222986ca506ad.
Return undefined to a noundef return value is undefined.
Example:
```
define noundef i32 @test_ret_noundef(i1 %cond) {
entry:
br i1 %cond, label %bb1, label %bb2
bb1:
br label %bb2
bb2:
%r = phi i32 [ undef, %entry ], [ 1, %bb1 ]
ret i32 %r
}
```
Commit: a58dcc5e08665f2d58a28c9d4510cf94de6ed3bf
https://github.com/llvm/llvm-project/commit/a58dcc5e08665f2d58a28c9d4510cf94de6ed3bf
Author: DianQK <dianqk at dianqk.net>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
M llvm/test/Transforms/SimplifyCFG/unreachable-eliminate-on-ret.ll
Log Message:
-----------
Reland "[SimplifyCFG] Improve the precision of `PtrValueMayBeModified`"
This relands commit f890f010f6a70addbd885acd0c8d1b9578b6246f.
The result value of `getelementptr inbounds (TY, null, not zero)` is a poison value.
We can think of it as undefined behavior.
Commit: 16a1ef86cbc5e6c829919ec6c73325413b0cd21b
https://github.com/llvm/llvm-project/commit/16a1ef86cbc5e6c829919ec6c73325413b0cd21b
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc
Log Message:
-----------
[compiler-rt] remove hexdump interception. (#79378)
a freebsd dev member reported a symbol conflict and intercepting this
had little value anyway.
Commit: bddeef54cb66609ad0a32d840051713cd8487adb
https://github.com/llvm/llvm-project/commit/bddeef54cb66609ad0a32d840051713cd8487adb
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/source/Breakpoint/CMakeLists.txt
R lldb/source/Breakpoint/WatchpointResourceList.cpp
Log Message:
-----------
[lldb] [NFC] Remove unused WatchpointResourceList class (#79385)
In `[lldb] [mostly NFC] Large WP foundation: WatchpointResources
(#68845)` I added a new template StopPointSiteList to combine
WatchpointResourceList and BreakpointSiteList. But I didn't remove the
now-unused WatchpointResourceList class. This patch fixes that.
Commit: 56da7991ead442b7c0ef9ec47d625253ed6b926e
https://github.com/llvm/llvm-project/commit/56da7991ead442b7c0ef9ec47d625253ed6b926e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/source/Breakpoint/WatchpointResource.cpp
Log Message:
-----------
[lldb] [NFC] Remove unused WatchpointResource::SetID method (#79389)
I originally thought to try to guesstimate the hardware watchpoint index
number that a Resource was associated with, but gdb remote serial
protocol doesn't give us the hardware register index used so it was only
a guess. I changed my mind and simply use ever-incrementing ID numbers
for the WatchpointResources, but forgot to remove the SetID method.
Commit: 45950f6e27efaba0aa5ab67d5ea7d6df5e8edc5f
https://github.com/llvm/llvm-project/commit/45950f6e27efaba0aa5ab67d5ea7d6df5e8edc5f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Breakpoint/BUILD.gn
Log Message:
-----------
[gn build] Port bddeef54cb66
Commit: 1ae0448ed37654529b7172aa643ce7ba5735fb3a
https://github.com/llvm/llvm-project/commit/1ae0448ed37654529b7172aa643ce7ba5735fb3a
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
Log Message:
-----------
[msan] Enable msan-handle-asm-conservative for userspace by default (#79251)
msan-handle-asm-conservative is enabled by KMSAN by default.
Enable the userspace by default as well after #77393.
Commit: bb6a4850553dd4140a5bd63187ec1b14d0b731f9
https://github.com/llvm/llvm-project/commit/bb6a4850553dd4140a5bd63187ec1b14d0b731f9
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
Log Message:
-----------
[BOLT] Fix updating DW_AT_stmt_list for DWARF5 TUs (#79374)
Changed so that we also update DW_AT_stmt_list for DWARF5 TUs. BOLT was
doing it for DWARF4, but it wasn't doing it for DWARF5.
Commit: e9355b1b3e36616bb86575270ff3a4664d2cf4f7
https://github.com/llvm/llvm-project/commit/e9355b1b3e36616bb86575270ff3a4664d2cf4f7
Author: lntue <35648136+lntue at users.noreply.github.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/limits-macros.h
Log Message:
-----------
[libc] Use __SIZEOF_LONG__ to define LONG_WIDTH instead of sizeof(long). (#79391)
The standard requires `limits.h` constants to be used in preprocessors.
So we use `__SIZEOF_LONG__` instead of `sizeof(long)` to define
`LONG_WIDTH`. The macro `__SIZEOF_LONG__` seems to be available on both
clang and gcc since at least version 9.
Commit: 7386aa02efafc260ad8b2d0c9ca19d39e16cfd07
https://github.com/llvm/llvm-project/commit/7386aa02efafc260ad8b2d0c9ca19d39e16cfd07
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Add test coverage for shuffle index > i8 cornercase
Triggered by discussion on https://github.com/llvm/llvm-project/pull/79330. In the process of writing this, realized one of my recent refactorings appears to have broken the legalization for the single source case here. Fix to follow in separate patch.
Commit: 795090739cf3b295be750dfba0af2ba993e60cdd
https://github.com/llvm/llvm-project/commit/795090739cf3b295be750dfba0af2ba993e60cdd
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
Log Message:
-----------
[RISCV] Fix a bug accidentally introduced in e9311f9
If we're lowering an e8 m8 shuffle and we have an index value greater than
255, we have no available space to generate an e16 index vector. The
code had originally handled this correctly, but in a recent refactoring
I had moved the single source code above the check, and thus broke the
single source by accident.
I have a change on review to rework this (https://github.com/llvm/llvm-project/pull/79330), but for now, go with the most obvious fix.
Commit: b7f986d987edd50f8b16ae90d38358b01f0272ac
https://github.com/llvm/llvm-project/commit/b7f986d987edd50f8b16ae90d38358b01f0272ac
Author: Ben Shi <2283975856 at qq.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
Log Message:
-----------
[clang][analyzer] Improve modeling of 'execv' and 'execvp' in StdLibraryFunctionsChecker (#78930)
These functions always return -1 and set 'errno'.
Commit: 549bee8a55b0abb1232411d1c23d595f605ae1ee
https://github.com/llvm/llvm-project/commit/549bee8a55b0abb1232411d1c23d595f605ae1ee
Author: gulfemsavrun <gulfem at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
R clang/test/Modules/pr73023.cpp
Log Message:
-----------
Revert "[Modules] [HeaderSearch] Don't reenter headers if it is pragm… (#79396)
…a once (#76119)"
This reverts commit f0c387038854d61a632520a4073d1b6ebf4997ed because it
causes an lldb test to fail on a missing import on Mac.
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8758053465398947297/+/u/lldb/test/stdout
Commit: 28db4017b0b12eb9cf9bbe85afe46a9cf783d2c2
https://github.com/llvm/llvm-project/commit/28db4017b0b12eb9cf9bbe85afe46a9cf783d2c2
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Add test coverage for bad interaction of exact vlen and rotate shuffles
Commit: a7395891a797b3cf61a136aea9a82c4c2325b2b3
https://github.com/llvm/llvm-project/commit/a7395891a797b3cf61a136aea9a82c4c2325b2b3
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] remove unneeded TypeSize in InterestingMemoryAccess (#79244)
Unlike ASan, MemProf uses the same memory access callback(inline
sequence) for different size memory access, remove unneeded TypeSize
stored in InterestingMemoryAccess.
Commit: f8262cae69a616b98774d4c669e11246fe3a9a05
https://github.com/llvm/llvm-project/commit/f8262cae69a616b98774d4c669e11246fe3a9a05
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] remove unneeded sized memory access callback (#79260)
As discussed in https://github.com/llvm/llvm-project/pull/79244, the
sized memory access callback is leftover stuff carried over from Asan,
can removed from the instrumentation.
Commit: a6161a2524c5146a982abc4d580a61f95344edbf
https://github.com/llvm/llvm-project/commit/a6161a2524c5146a982abc4d580a61f95344edbf
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[Instrumentation] Remove unused variable 'DL' in MemProfiler.cpp (NFC)
llvm-project/llvm/lib/Transforms/Instrumentation/MemProfiler.cpp:375:21:
error: unused variable 'DL' [-Werror,-Wunused-variable]
const DataLayout &DL = I->getModule()->getDataLayout();
^
1 error generated.
Commit: 816cc9d24b8716367e85d582c7afdfb1cdfcdbf3
https://github.com/llvm/llvm-project/commit/816cc9d24b8716367e85d582c7afdfb1cdfcdbf3
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/test/MC/Disassembler/X86/apx/andn.txt
M llvm/test/MC/Disassembler/X86/apx/bextr.txt
M llvm/test/MC/Disassembler/X86/apx/blsi.txt
M llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
M llvm/test/MC/Disassembler/X86/apx/blsr.txt
M llvm/test/MC/Disassembler/X86/apx/bzhi.txt
M llvm/test/MC/X86/apx/andn-att.s
M llvm/test/MC/X86/apx/andn-intel.s
M llvm/test/MC/X86/apx/bextr-att.s
M llvm/test/MC/X86/apx/bextr-intel.s
M llvm/test/MC/X86/apx/blsi-att.s
M llvm/test/MC/X86/apx/blsi-intel.s
M llvm/test/MC/X86/apx/blsmsk-att.s
M llvm/test/MC/X86/apx/blsmsk-intel.s
M llvm/test/MC/X86/apx/blsr-att.s
M llvm/test/MC/X86/apx/blsr-intel.s
M llvm/test/MC/X86/apx/bzhi-att.s
M llvm/test/MC/X86/apx/bzhi-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][MC] Support Enc/Dec for NF BMI instructions (#76709)
Promoted BMI instructions were supported in #73899
Commit: f59eef6515433577d757cf64d2d2f402d95a689e
https://github.com/llvm/llvm-project/commit/f59eef6515433577d757cf64d2d2f402d95a689e
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Enhance SimplifyPackToExpandShape for unit dim cases. (#79247)
Progress on https://github.com/openxla/iree/issues/16181
Commit: 84be954cb26ebde58d4ddd2255dfd99904d9ae1b
https://github.com/llvm/llvm-project/commit/84be954cb26ebde58d4ddd2255dfd99904d9ae1b
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
Log Message:
-----------
[RISCV][CostModel] Refine Arithmetic reduction costs (#79103)
This patch is split off from #77342
- Correct for CodeSize cost that 1 instruction is not included. 3 is
from {VMV.S, ReductionOp, VMV.X}
- Add SplitCost
Unordered reduction chain a series of VADD/VFADD/... which scales with
LMUL.
Ordered reductions chain a series of VFREDOSUMs.
- Use MVT to estimate VL.
Commit: 65e0dc68f5add3579b4a582ca03755cd28d38d09
https://github.com/llvm/llvm-project/commit/65e0dc68f5add3579b4a582ca03755cd28d38d09
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add test cases showing missed opportunity to remove sext.w after amocas.w. NFC
Commit: 5446902cf2cda4fb17078d04207d2544518a49be
https://github.com/llvm/llvm-project/commit/5446902cf2cda4fb17078d04207d2544518a49be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/test/CodeGen/RISCV/atomic-signext.ll
Log Message:
-----------
[RISCV] Add IsSignExtendingOpW to amocas.w. (#79351)
Commit: aa64a8277366973705b748e532bfae694b4262aa
https://github.com/llvm/llvm-project/commit/aa64a8277366973705b748e532bfae694b4262aa
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[AMDGPU] Rename AMDGPULoadTr intrinsic class. NFC. (#79394)
This class is not specific to "Tr"(Transpose). It is
just for a normal load.
Commit: 96ec447a6ae39edff92674e9849de2bf21bfd430
https://github.com/llvm/llvm-project/commit/96ec447a6ae39edff92674e9849de2bf21bfd430
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_hash.h
M llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h
Log Message:
-----------
[NFC] Fix various unintentional `//namespace` formatting
Commit: 29c9009d23de1a2a395995d559c08c102fa46f48
https://github.com/llvm/llvm-project/commit/29c9009d23de1a2a395995d559c08c102fa46f48
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/docs/RISCVUsage.rst
Log Message:
-----------
[Docs] Capitalize the first letter of Zi* extensions in RISCVUsage.rst. NFC
Commit: c52a8dcdc88eaf066ca269fc851da1558467f24c
https://github.com/llvm/llvm-project/commit/c52a8dcdc88eaf066ca269fc851da1558467f24c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/Analysis/MemorySSA.cpp
Log Message:
-----------
[Analysis] Use llvm::pred_size (NFC)
Commit: 196a71ec4bc9176ae9ac2d0475a074336e1b736b
https://github.com/llvm/llvm-project/commit/196a71ec4bc9176ae9ac2d0475a074336e1b736b
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
Log Message:
-----------
[Sema] Use StringRef::consume_front (NFC)
Commit: 5b2772e1fad3fc8b44400b91de4d5bd0724bba75
https://github.com/llvm/llvm-project/commit/5b2772e1fad3fc8b44400b91de4d5bd0724bba75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
Log Message:
-----------
[clangd] Use SmallString::operator std::string (NFC)
Commit: a13b7df7f2d19f0798dbb6c1c7aeac8c84002338
https://github.com/llvm/llvm-project/commit/a13b7df7f2d19f0798dbb6c1c7aeac8c84002338
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGen] Use llvm::successors (NFC)
Commit: df08350dcfc515c5a7c08e1e08047467263cb701
https://github.com/llvm/llvm-project/commit/df08350dcfc515c5a7c08e1e08047467263cb701
Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
A llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
Log Message:
-----------
[RISCV] Implement foward inserting save/restore FRM instructions. (#77744)
Previously, RISCVInsertReadWriteCSR inserted an FRM swap for any value
other than 7 and restored the original value right after the vector
instruction. This is inefficient if multiple vector instructions use the
same rounding mode if the next vector instruction uses a different
explicit rounding mode.
This patch implements a local optimization to solve the above problem.
We assume the starting rounding mode of the basic block is "dynamic."
When iterating through a basic block and encountering an instruction
whose rounding mode is not the same as the current rounding mode, we
change the current rounding mode and save the current rounding mode if
needed. And we may need to restore FRM when encountering function call,
inline asm and some uses of FRM.
The advanced version of this is to perform cross basic block analysis
for the starting rounding mode of each basic block.
Commit: 90c326b198080c5c208f62f6755d54d7b69b291d
https://github.com/llvm/llvm-project/commit/90c326b198080c5c208f62f6755d54d7b69b291d
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Fix gcc warning about mix of enumeral and non-enumeral types [NFC]
Change the return type of
findScratchNonCalleeSaveRegister
to Register instead of unsigned.
Every place the function is called we already put the returned value in a
Register variable or compare it with another Register.
This fixes some gcc warnings:
../lib/Target/AArch64/AArch64FrameLowering.cpp:744: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
743 | Register TargetReg = RealignmentPadding
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ? findScratchNonCalleeSaveRegister(&MBB)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
745 | : AArch64::SP;
|
../lib/Target/AArch64/AArch64FrameLowering.cpp:803: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
802 | Register ScratchReg = RealignmentPadding
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
803 | ? findScratchNonCalleeSaveRegister(&MBB)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
804 | : AArch64::SP;
|
Commit: 664a0faac464708fc061d12e5cd492fcbfea979a
https://github.com/llvm/llvm-project/commit/664a0faac464708fc061d12e5cd492fcbfea979a
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Target/TargetInstrPredicate.td
M llvm/utils/TableGen/PredicateExpander.cpp
M llvm/utils/TableGen/PredicateExpander.h
Log Message:
-----------
[TableGen] Add predicates for immediates comparison (#76004)
These predicates can be used to represent `<`, `<=`, `>`, `>=`.
And a predicate for `in range` is added.
Commit: 7cedbfc31c332fa022bf2e1b0d72e5a9b6669ad3
https://github.com/llvm/llvm-project/commit/7cedbfc31c332fa022bf2e1b0d72e5a9b6669ad3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-24 (Wed, 24 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Reformat riscv-target-features.c. NFC (#79409)
Indent line continuations by 2 spaces.
Drop -x c
Commit: f7a615a7d5a3a01d7d0ca46f8481248ef587cfe2
https://github.com/llvm/llvm-project/commit/f7a615a7d5a3a01d7d0ca46f8481248ef587cfe2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
Log Message:
-----------
ValueTracking: Use correct compare type in test
Commit: 122ed552fc5d5807f2a96b8456b42f5114cd1a79
https://github.com/llvm/llvm-project/commit/122ed552fc5d5807f2a96b8456b42f5114cd1a79
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePassManager.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/unittests/MIR/PassBuilderCallbacksTest.cpp
Log Message:
-----------
[CodeGen] Remove MachinePassKey (#79406)
We now use PassT::name to distinguish Passes.
Commit: 45d2d7757feb386186f69af6ef57bde7b5adc2db
https://github.com/llvm/llvm-project/commit/45d2d7757feb386186f69af6ef57bde7b5adc2db
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
Log Message:
-----------
[AMDGPU] New llvm.amdgcn.wave.id intrinsic (#79325)
This is only valid on targets with architected SGPRs.
Commit: e390c229a438ed1eb3396df8fbeeda89c49474e6
https://github.com/llvm/llvm-project/commit/e390c229a438ed1eb3396df8fbeeda89c49474e6
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/test/ELF/lto/ltopasses-custom.ll
M llvm/docs/Passes.rst
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CallBrPrepare.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp
M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/Feature/optnone-opt.ll
M llvm/test/Other/new-pass-manager.ll
M llvm/test/ThinLTO/X86/cache-config.ll
M llvm/test/Transforms/FixIrreducible/switch.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
M llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
M llvm/test/Transforms/LICM/argmemonly-call.ll
M llvm/test/Transforms/LICM/assume.ll
M llvm/test/Transforms/LICM/basictest.ll
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/crash.ll
M llvm/test/Transforms/LICM/dbg-value-sink.ll
M llvm/test/Transforms/LICM/debug-value.ll
M llvm/test/Transforms/LICM/extra-copies.ll
M llvm/test/Transforms/LICM/fence.ll
M llvm/test/Transforms/LICM/funclet.ll
M llvm/test/Transforms/LICM/guards.ll
M llvm/test/Transforms/LICM/hoist-round.ll
M llvm/test/Transforms/LICM/invariant.start.ll
M llvm/test/Transforms/LICM/lcssa-ssa-promoter.ll
M llvm/test/Transforms/LICM/no-preheader-test.ll
M llvm/test/Transforms/LICM/opt-remarks-conditional-load.ll
M llvm/test/Transforms/LICM/opt-remarks-intervening-store.ll
M llvm/test/Transforms/LICM/opt-remarks.ll
M llvm/test/Transforms/LICM/preheader-safe.ll
M llvm/test/Transforms/LICM/promote-order.ll
M llvm/test/Transforms/LICM/read-only-calls.ll
M llvm/test/Transforms/LICM/scalar-promote-memmodel.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LICM/scalar-promote.ll
M llvm/test/Transforms/LICM/speculate.ll
M llvm/test/Transforms/LICM/store-hoisting.ll
M llvm/test/Transforms/LICM/volatile-alias.ll
M llvm/test/Transforms/LoopIdiom/nontemporal_store.ll
M llvm/test/Transforms/LoopRotate/RISCV/invalid-cost.ll
M llvm/test/Transforms/LoopRotate/basic.ll
M llvm/test/Transforms/LoopRotate/call-prepare-for-lto.ll
M llvm/test/Transforms/LoopRotate/noalias.ll
M llvm/test/Transforms/LoopStrengthReduce/ivchain.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
M llvm/test/Transforms/LowerAtomic/atomic-swap.ll
M llvm/test/Transforms/LowerAtomic/barrier.ll
M llvm/test/Transforms/LowerInvoke/2003-12-10-Crash.ll
M llvm/test/Transforms/LowerInvoke/lowerinvoke.ll
M llvm/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
M llvm/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll
M llvm/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll
M llvm/test/Transforms/LowerSwitch/2014-06-10-SwitchContiguousOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-11-SwitchDefaultUnreachableOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-23-PHIlowering.ll
M llvm/test/Transforms/LowerSwitch/condition-phi-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/delete-default-block-crash.ll
M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
M llvm/test/Transforms/LowerSwitch/feature.ll
M llvm/test/Transforms/LowerSwitch/fold-popular-case-to-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/phi-in-dead-block.ll
M llvm/test/Transforms/LowerSwitch/pr59316.ll
M llvm/test/Transforms/StructurizeCFG/switch.ll
M llvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks-status.ll
M llvm/test/Transforms/UnifyLoopExits/basic.ll
M llvm/test/Transforms/UnifyLoopExits/nested.ll
M llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
M llvm/test/Transforms/UnifyLoopExits/switch.ll
A llvm/test/Transforms/Util/flatten-cfg.ll
R llvm/test/Transforms/Util/flattencfg.ll
M llvm/test/Transforms/Util/lowerinvoke-funclet.ll
M llvm/test/Transforms/Util/lowerswitch.ll
M llvm/test/tools/llvm-lto2/X86/pipeline.ll
Log Message:
-----------
[Pass] Add hyphen to some pass names (#74287)
Here is the list of the renamed passes:
- `callbrprepare` -> `callbr-prepare`
- `dwarfehprepare` -> `dwarf-eh-prepare`
- `flattencfg` -> `flatten-cfg`
- `loweratomic` -> `lower-atomic`
- `lowerinvoke` -> `lower-invoke`
- `lowerswitch` -> `lower-switch`
- `winehprepare` -> `win-eh-prepare`
- `targetir` -> `target-ir`
- `targetlibinfo` -> `target-lib-info`
Legacy passes are not affected.
Commit: a46422a77668be6ce10d229480c720035056f4b3
https://github.com/llvm/llvm-project/commit/a46422a77668be6ce10d229480c720035056f4b3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll
Log Message:
-----------
Reapply "ValueTracking: Identify implied fp classes by general fcmp (#66505)"
This reverts commit 0d0c2298552222b049fa3b8db5efef4b161e51e9.
Includes a bug fix for fcmp one handling, as well as for positive constants.
Commit: 2c49586e1b9ab917877a6af8e1669854899687d3
https://github.com/llvm/llvm-project/commit/2c49586e1b9ab917877a6af8e1669854899687d3
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Log Message:
-----------
[ARM] Fix MVEFloatOps check on creating VCVTN (#79291)
In the past PerformSplittingToNarrowingStores handled both int and float
ops, but since the introduction of MVETRUNC now only operates on float
operations, creating VCVTN nodes. It should be guarded by hasMVEFloatOps
to prevent a failure to select.
Commit: 41fe98a6e7e5cdcab4a4e9e0d09339231f480c01
https://github.com/llvm/llvm-project/commit/41fe98a6e7e5cdcab4a4e9e0d09339231f480c01
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Use MapVector to remove non-determinism
This fixes found non-determinism when `LLVM_REVERSE_ITERATION`
option is `ON`.
Fixes #79420.
Reviewers: ilovepi, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/79411
Commit: fa13c3eea7fbc34310f2fb602aa7f0983d5a0ea4
https://github.com/llvm/llvm-project/commit/fa13c3eea7fbc34310f2fb602aa7f0983d5a0ea4
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[mlir][nvgpu] Fix `transposeB` in `nvgpu.warpgroup.mma` (#79271)
The #76150 fixed meaning of `transposeB` in NVVM dialect which was
initially implemented with opposite meaning.
This PR fixes the lowering of `nvgpu.warpgroup.mma` to NVVM dialect.
This will fix two integration tests:
gemm_f32_f16_f16_128x128x128.mlir
gemm_pred_f32_f16_f16_128x128x128.mlir
Commit: d5c9d402f07e7448cd46870a59d981f582682548
https://github.com/llvm/llvm-project/commit/d5c9d402f07e7448cd46870a59d981f582682548
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Log Message:
-----------
[AMDGPU] Fix warnings about unused variables [NFC]
Without this gcc warned like
../lib/Target/AMDGPU/GCNDPPCombine.cpp:371: warning: unused variable 'OpSelOpr' [-Wunused-variable]
371 | if (auto *OpSelOpr =
|
../lib/Target/AMDGPU/GCNDPPCombine.cpp:388: warning: unused variable 'OpSelHiOpr' [-Wunused-variable]
388 | if (auto *OpSelHiOpr =
|
Remove the unused variables.
Commit: a15ebe0246c75faedfe9cb2fbc6ea7b62e265026
https://github.com/llvm/llvm-project/commit/a15ebe0246c75faedfe9cb2fbc6ea7b62e265026
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc-2.fir
Log Message:
-----------
[flang] fix procedure fir.box_addr identification in boxed-procedure (#79290)
The pass was mistakenly identifying a fir.box_addr on a
fir.box/fir.class of a derived type with procedure pointer components as
being a fir.box_addr on a procedure.
Simply check if the input type is a fir.box_proc or function type (if
input already rewritten) and insert convert only in this case.
This caused "invalid fir.convert" internal error.
Commit: 1a14c446dd800b1d79fed1735c48e392d06e495d
https://github.com/llvm/llvm-project/commit/1a14c446dd800b1d79fed1735c48e392d06e495d
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32zaamo-invalid.s
M llvm/test/MC/RISCV/rv32zaamo-valid.s
M llvm/test/MC/RISCV/rv32zalrsc-invalid.s
M llvm/test/MC/RISCV/rv32zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zaamo-invalid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-invalid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV][MC] Add experimental support of Zaamo and Zalrsc
`A` extension has been split into two parts: Zaamo (Atomic Memory
Operations) and Zalrsc (Load-Reserved/Store-Conditional). See also
https://github.com/riscv/riscv-zaamo-zalrsc.
This patch adds the MC support.
Reviewers: dtcxzyw, topperc, kito-cheng
Reviewed By: topperc
Pull Request: https://github.com/llvm/llvm-project/pull/78970
Commit: 3fdb431b636975f2062b1931158aa4dfce6a3ff1
https://github.com/llvm/llvm-project/commit/3fdb431b636975f2062b1931158aa4dfce6a3ff1
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
R llvm/lib/Target/RISCV/RISCVMacroFusion.cpp
R llvm/lib/Target/RISCV/RISCVMacroFusion.h
A llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[RISCV] Use TableGen-based macro fusion (#72224)
We convert existed macro fusions to TableGen.
Bacause `Fusion` depend on `Instruction` definitions which is defined
below `RISCVFeatures.td`, so we recommend user to add fusion features
when defining new processor.
Commit: 50cc07f1bc3e4527a51b0aed6cf0479e87d61f37
https://github.com/llvm/llvm-project/commit/50cc07f1bc3e4527a51b0aed6cf0479e87d61f37
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
Log Message:
-----------
Fix bazel build past 72ce6294157964042b7ed5576ce2c99257eeea9d (#79424)
Commit: 12a8bc09ca4fa975d3e79a05e1fb14f03b23e3d5
https://github.com/llvm/llvm-project/commit/12a8bc09ca4fa975d3e79a05e1fb14f03b23e3d5
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen] Port FreeMachineFunction to new pass manager (#79421)
This pass should be the last machine function pass in pipeline, also
ignore `PI.runAfterPass(*P, MF, PassPA);` to avoid accessing a dangling
reference.
Commit: 03cf0e9354e7e56ff794e9efb682ed2971bc91ec
https://github.com/llvm/llvm-project/commit/03cf0e9354e7e56ff794e9efb682ed2971bc91ec
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
Log Message:
-----------
[LTO] Fix Veclib flags correctly pass to LTO flags (#78749)
Flags `-fveclib=name` were not passed to LTO flags.
This pass fixes that by converting the `-fveclib` flags to their
relevant names for opt's `-vector-lib=name` flags.
For example:
`-fveclib=SLEEF` would become `-vector-library=sleefgnuabi` and passed
through the `-plugin-opt` flag.
Commit: f9dc0b6c8a6804a78e88c44018d6148bdf4c64c3
https://github.com/llvm/llvm-project/commit/f9dc0b6c8a6804a78e88c44018d6148bdf4c64c3
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build past 3fdb431b636975f2062b1931158aa4dfce6a3ff1 (#79429)
Commit: 45fec0c110cccd5e0c9b60d51bc2ffc1645c9a40
https://github.com/llvm/llvm-project/commit/45fec0c110cccd5e0c9b60d51bc2ffc1645c9a40
Author: Daniil Dudkin <unterumarmung at yandex.ru>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
Log Message:
-----------
[clang-apply-replacements] Add support for the `.yml` file extension (#78842)
The `.yml` file extension is a valid extension for the YAML files, but
it was not previously supported by the Clang Apply Replacements tool.
This commit adds support for processing `.yml` files. Without this
change, running the tool on a folder containing `.yml` files generated
by clang-tidy would have no effect.
Commit: 5cc0f76d34c7d00fa3e4ff01efe24d5de592e82c
https://github.com/llvm/llvm-project/commit/5cc0f76d34c7d00fa3e4ff01efe24d5de592e82c
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/IR/TestClone.cpp
M mlir/test/lib/Transforms/TestConstantFold.cpp
Log Message:
-----------
[mlir][IR] Add rewriter API for moving operations (#78988)
The pattern rewriter documentation states that "*all* IR mutations [...]
are required to be performed via the `PatternRewriter`." This commit
adds two functions that were missing from the rewriter API:
`moveOpBefore` and `moveOpAfter`.
After an operation was moved, the `notifyOperationInserted` callback is
triggered. This allows listeners such as the greedy pattern rewrite
driver to react to IR changes.
This commit narrows the discrepancy between the kind of IR modification
that can be performed and the kind of IR modifications that can be
listened to.
Commit: bcd14b099dd3d0b9c9336e5cdf7e35279c5cc33b
https://github.com/llvm/llvm-project/commit/bcd14b099dd3d0b9c9336e5cdf7e35279c5cc33b
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][bufferization] Fix SimplifyClones with dealloc before cloneOp (#79098)
The SimplifyClones pass relies on the assumption that the deallocOp
follows the cloneOp. However, a crash occurs when there is a
redundantDealloc preceding the cloneOp. This PR addresses the issue by
ensuring the presence of deallocOp after cloneOp. The verification is
performed by checking if the loop of the sub sequent node of cloneOp
reaches the tail of the list.
Fix #74306
Commit: e4375bf47fafb0cfcb2288ecfad94dfe63ca994c
https://github.com/llvm/llvm-project/commit/e4375bf47fafb0cfcb2288ecfad94dfe63ca994c
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] Fix warning about unused variable [NFC]
Without this gcc complains like
../lib/Target/X86/X86FixupVectorConstants.cpp:70:13: warning: unused variable 'CUndef' [-Wunused-variable]
70 | if (auto *CUndef = dyn_cast<UndefValue>(C))
| ^~~~~~
Remove the unused variable and change dyn_cast to isa.
Commit: 2aa8945d5957b25473c42e9edc6788ae54bb1f2f
https://github.com/llvm/llvm-project/commit/2aa8945d5957b25473c42e9edc6788ae54bb1f2f
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Use templates to decode AV operands. (#79313)
Eliminates the need to define them manually.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 4b8e55cb04e68053a80f4ee26f4efbf08fe30b02
https://github.com/llvm/llvm-project/commit/4b8e55cb04e68053a80f4ee26f4efbf08fe30b02
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
Log Message:
-----------
[AMDGPU][AsmParser][NFC] Rename integer modifier operands to follow the convention. (#79284)
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 223d3dabc8b75a75276ef0544132ba0df4498fb3
https://github.com/llvm/llvm-project/commit/223d3dabc8b75a75276ef0544132ba0df4498fb3
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
A flang/test/HLFIR/minloc-elemental.fir
M flang/test/Transforms/simplifyintrinsics.fir
Log Message:
-----------
[Flang] Minloc elemental intrinsic lowering (#74828)
Currently the lowering of a minloc intrinsic with a mask will look something
like:
%e = hlfir.elemental %shape ({
...
})
%m = hlfir.minloc %array mask %e
hlfir.assign %m to %result
hlfir.destroy %m
The elemental will be expanded into a temporary+loop, the minloc into a
FortranAMinloc call (which hopefully gets simplified to a specialized call that
can be inlined at the call site), and the assign might get expanded to a
FortranAAssign. It would be better to generate the entire construct as single
loop if we can - one that performs the minloc calculation with the mask
elemental computed inline.
This patch attempt to do that, adding a hlfir version of the expansion code
from SimplifyIntrinsics that turns an minloc+elemental into a single combined
loop nest. It attempts to reuse the methods in genMinlocReductionLoop for
constructing the loop with a modified loop body. The declaration for the
function is currently in Optimizer/Support/Utils.h, but there might be a better
place for it.
It is added as part of the OptimizedBufferizationPass, like the
similar count/any/all that have been added recently.
Commit: f4ed7f8d0a3830d05e53476fc64966e871bf9454
https://github.com/llvm/llvm-project/commit/f4ed7f8d0a3830d05e53476fc64966e871bf9454
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Parse/ParseDeclCXX.cpp
Log Message:
-----------
[clang][Parse][NFC] Make a local variable const
Commit: a04f6152914ea21f3068aaba9d8fc21d2e703d3e
https://github.com/llvm/llvm-project/commit/a04f6152914ea21f3068aaba9d8fc21d2e703d3e
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/vplan-native-inner-loop-only.ll
Log Message:
-----------
[LV] Check for innermost loop instead of EnableVPlanNativePath in CM.
Replace EnableVPlanNativePath checks in the cost-model by assertions
that the code is only called for innermost loops. This ensures that the
cost model isn't used in the VPlanNativePath, which is only used for
outer-loop vectorization.
Even with EnableVPlanNativePath, inner loops are processed by the
inner loop vectorization path, not the native path, so checking for
EnableVPlanNativePath may impact decisions for inner loops and can
cause crashes, like in the attached test case.
Commit: e5e1a8931044fe384f222fe0af4a1de595b941a3
https://github.com/llvm/llvm-project/commit/e5e1a8931044fe384f222fe0af4a1de595b941a3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn] port 12a8bc09ca4f
Commit: 8252137b9a6b909c308123f64a41d1fff6fdcbca
https://github.com/llvm/llvm-project/commit/8252137b9a6b909c308123f64a41d1fff6fdcbca
Author: jeanPerier <jperier at nvidia.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang] Lower struct ctor with character allocatable components (#79179)
There is no need to gather the length parameters from the parameter
symbols when facing a deferred length allocatable components in a
structure constructor, the length is set as part of the assignment given
the value.
Remove the checks for derived type runtime info symbols, this is not
relevant for what is being tested here.
Commit: 3490f037c3c750416ad224147b32c92bf6c7db0f
https://github.com/llvm/llvm-project/commit/3490f037c3c750416ad224147b32c92bf6c7db0f
Author: Danial Klimkin <dklimkin at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
More bazel fixes past 72ce6294157964042b7ed5576ce2c99257eeea9d (#79442)
Commit: 47a2e732100c4102a1a5f3243123638f157c9a2a
https://github.com/llvm/llvm-project/commit/47a2e732100c4102a1a5f3243123638f157c9a2a
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Make getDbgValueRange inlineable (#79331)
`getDbgValueRange` is the replacement of a common LLVM idiom of:
1) Am I currently looking at a `DbgVariableIntrinsic` instruction?
2) Let's do something special with it!
We instead iterate over the range of DPValues attached to an instruction
and do special things with those. Unfortunately in the common case of
"there is no debug-info", this generates a spurious function call that's
paid by non-debug builds.
To get around this, make `getDbgValueRange` inlineable so that the "`if
(DbgMarker)`" test can be inlined and guard the more expensive call. The
false path should be optimisable-awayable to skipping the loop. However,
due to header inclusion order we can't just make
`Instruction::getDbgValueRange` inline because `DPMarker` hasn't been
declared yet. So, define an inlinable function in the llvm:: namespace
and pre-declare it -- the eventual code should be inlineable almost 100%
of the time.
Commit: cd0b0055a730e55f2f14f35172e05dc27642f8ce
https://github.com/llvm/llvm-project/commit/cd0b0055a730e55f2f14f35172e05dc27642f8ce
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/AST/Interp/complex.cpp
Log Message:
-----------
[clang][Interp][NFC] Add some working _Complex tests
Commit: 215b8f1e252b4f30cf1b734faa370c0ac4b88659
https://github.com/llvm/llvm-project/commit/215b8f1e252b4f30cf1b734faa370c0ac4b88659
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)
As part of eliminating debug-intrinsics in LLVM, we'll shortly be
pushing the conversion from "old" dbg.value mode to "new" DPValue mode
out from when the pass manager runs, to when modules are loaded. This
patch adds that conversion process and some (temporary) options to
llvm-lto{,2} to help test it.
Specifically: now whenever we load a bitcode module, consider a flag of
whether to "upgrade" it into the new debug-info mode, and if we're
lazily materializing functions then do that lazily too. Doing this
exposes an error in the IRLinker/materializer handling of DPValues,
where we need to transfer the debug-info format flag correctly, and in
ValueMapper we need to remap the Values that DPValues point at.
I've added some test coverage in the modified tests; these will be
exercised by our llvm-new-debug-iterators buildbot.
This upgrading of debug-info won't be happening for the llvm18 release,
instead we'll turn it on after the branch date, thenbe push the boundary
of where "new" debug-info starts and ends down into the existing
debug-info upgrade path over the course of the next release.
Commit: b0b7be2701845484f92295daa95b80a13e24f9b2
https://github.com/llvm/llvm-project/commit/b0b7be2701845484f92295daa95b80a13e24f9b2
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Rename the reg-or-imm operand predicates to match their class names. (#79439)
No need to have two names for the same thing. Also simplifies operand
definitions.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 202917f86ebcbed5c8bc10e0cc7cce820747e3cb
https://github.com/llvm/llvm-project/commit/202917f86ebcbed5c8bc10e0cc7cce820747e3cb
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Optimizer/Support/Utils.h
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
Log Message:
-----------
[Flang] Move genMinMaxlocReductionLoop to a common location.
The shared library build doesn't like references of genMinMaxlocReductionLoop,
in Optimizer/Transforms, from HLFIR/Optimizer/Transforms. For the moment I've
moved the code to the header file where it can be shared, like other methods in
Utils.h
Commit: 71c52e4236a9eb586a9271240442c5dbfce17488
https://github.com/llvm/llvm-project/commit/71c52e4236a9eb586a9271240442c5dbfce17488
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 3fdb431b6369
Commit: 45cc2a19cad7c3b180da67a27199fb5a1e17a71f
https://github.com/llvm/llvm-project/commit/45cc2a19cad7c3b180da67a27199fb5a1e17a71f
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn] port 12a8bc0 more
The test reaches into internal headers. Make sure generated files
are ready for that.
(This is the only place. If there were more, we should use public_deps
instead.)
Commit: a04d4a03f7737202b5cd05687e08ed8748ef7352
https://github.com/llvm/llvm-project/commit/a04d4a03f7737202b5cd05687e08ed8748ef7352
Author: John Brawn <john.brawn at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
A llvm/test/Transforms/LoopFlatten/loop-flatten-version.ll
M llvm/test/Transforms/LoopFlatten/widen-iv.ll
Log Message:
-----------
[LoopFlatten] Use loop versioning when overflow can't be disproven (#78576)
Implement the TODO in loop flattening to version the loop when we can't
prove that the trip count calculation won't overflow.
Commit: c3f7fb1421e1dbf2fb1d5594bfa801489bdab421
https://github.com/llvm/llvm-project/commit/c3f7fb1421e1dbf2fb1d5594bfa801489bdab421
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Revert "[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)"
This reverts commit 215b8f1e252b4f30cf1b734faa370c0ac4b88659.
Numerous builders exploded from this X_X, for example
https://lab.llvm.org/buildbot/#/builders/46/builds/62657
Commit: 6fe21bc1dac883efa0dfa807f327048ae9969b81
https://github.com/llvm/llvm-project/commit/6fe21bc1dac883efa0dfa807f327048ae9969b81
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
Log Message:
-----------
[SLP]Fix PR79229: Do not erase extractelement, if it used in
multiregister node.
If the node can be span between several registers and same
extractelement instruction is used in several parts, it may be required
to keep such extractelement instruction to avoid compiler crash.
Commit: ee15e2bd32a4677c40d927c732b26d33f88d7865
https://github.com/llvm/llvm-project/commit/ee15e2bd32a4677c40d927c732b26d33f88d7865
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/AST/AttrDocTable.cpp
Log Message:
-----------
[clang] Silence warning when building with MSVC targetting x86
This fixes:
```
[3786/6996] Building CXX object tools\clang\lib\AST\CMakeFiles\obj.clangAST.dir\AttrDocTable.cpp.obj
C:\git\llvm-project\clang\lib\AST\AttrDocTable.cpp(24): warning C4018: '<': signed/unsigned mismatch
```
Commit: 419d6ea135dd205e1eaab368a58ae14f9f52f699
https://github.com/llvm/llvm-project/commit/419d6ea135dd205e1eaab368a58ae14f9f52f699
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[3963/6996] Building CXX object tools\clang\lib\CodeGen\CMakeFiles\obj.clangCodeGen.dir\CGExpr.cpp.obj
C:\git\llvm-project\clang\lib\CodeGen\CGExpr.cpp(3808): warning C4018: '<=': signed/unsigned mismatch
```
Commit: f33f5a04e9feeb9b473694825d84da8322f87df9
https://github.com/llvm/llvm-project/commit/f33f5a04e9feeb9b473694825d84da8322f87df9
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang-tools-extra/clangd/InlayHints.cpp
Log Message:
-----------
[clangd] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[5240/6995] Building CXX object tools\clang\tools\extra\clangd\CMakeFiles\obj.clangDaemon.dir\InlayHints.cpp.obj
C:\git\llvm-project\clang-tools-extra\clangd\InlayHints.cpp(1098): warning C4018: '<': signed/unsigned mismatch
```
Commit: 3fec25c55f1890c138e64548dc074b4593e0a26c
https://github.com/llvm/llvm-project/commit/3fec25c55f1890c138e64548dc074b4593e0a26c
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/COFF/PDB.cpp
Log Message:
-----------
[LLD] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[5383/6995] Building CXX object tools\lld\COFF\CMakeFiles\lldCOFF.dir\PDB.cpp.obj
C:\git\llvm-project\lld\COFF\PDB.cpp(835): warning C4018: '>=': signed/unsigned mismatch
```
Commit: 452a2c6e3575d56a34c34472b9f829cb17e2b564
https://github.com/llvm/llvm-project/commit/452a2c6e3575d56a34c34472b9f829cb17e2b564
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1614/6998] Building CXX object lib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\MachOPlatform.cpp.obj
C:\git\llvm-project\llvm\include\llvm/ExecutionEngine/Orc/MachOBuilder.h(367): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
```
Commit: 3db3e2cea321aba58fcf1905e06a92567e892588
https://github.com/llvm/llvm-project/commit/3db3e2cea321aba58fcf1905e06a92567e892588
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Object/DXContainer.cpp
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1265/6998] Building CXX object lib\Object\CMakeFiles\LLVMObject.dir\DXContainer.cpp.obj
C:\git\llvm-project\llvm\lib\Object\DXContainer.cpp(344): warning C4018: '<': signed/unsigned mismatch
```
Commit: f42f551d12466c5f17f91cb44592e8dcb4118f07
https://github.com/llvm/llvm-project/commit/f42f551d12466c5f17f91cb44592e8dcb4118f07
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/ObjectYAML/COFFYAML.cpp
Log Message:
-----------
[llvm] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[1304/6998] Building CXX object lib\ObjectYAML\CMakeFiles\LLVMObjectYAML.dir\COFFYAML.cpp.obj
C:\git\llvm-project\llvm\lib\ObjectYAML\COFFYAML.cpp(561): warning C4018: '<': signed/unsigned mismatch
```
Commit: 03e4070ce1f834eb426aa8f8622838c40ff5c710
https://github.com/llvm/llvm-project/commit/03e4070ce1f834eb426aa8f8622838c40ff5c710
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Silence warning when building with Clang ToT
This fixes:
```
[6331/7452] Building CXX object tools\lldb\source\Plugins\Language\CPlusPlus\CMakeFiles\lldbPluginCPlusPlusLanguage.dir\LibCxx.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Language\CPlusPlus\LibCxx.cpp(1108,38): warning: format specifies type 'long' but the argument has type 'std::time_t' (aka 'long long') [-Wformat]
1108 | stream.Printf("timestamp=%ld s", seconds);
| ~~~ ^~~~~~~
| %lld
C:\git\llvm-project\lldb\source\Plugins\Language\CPlusPlus\LibCxx.cpp(1116,63): warning: format specifies type 'long' but the argument has type 'std::time_t' (aka 'long long') [-Wformat]
1116 | stream.Printf("date/time=%s timestamp=%ld s", str.data(), seconds);
| ~~~ ^~~~~~~
| %lld
2 warnings generated.
```
Commit: 40dcf24522af91ab22af2e69f28d1f1d2a860f5c
https://github.com/llvm/llvm-project/commit/40dcf24522af91ab22af2e69f28d1f1d2a860f5c
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
Log Message:
-----------
[compiler-rt] Silence warning when building with Clang ToT
This fixes:
```
[24/47] Generating SANITIZER_TEST_OBJECTS.sanitizer_bitvector_test.cpp.i386.o
C:/git/llvm-project/compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp:74:29: warning: format specifies type 'size_t' (aka 'unsigned int') but the argument has type 'value_type' (aka 'unsigned long') [-Wformat]
74 | fprintf(stderr, "%zu ", *it);
| ~~~ ^~~
| %lu
1 warning generated.
```
Commit: af263ceb90b9fe39ae1d3458c9f35b6b199d3951
https://github.com/llvm/llvm-project/commit/af263ceb90b9fe39ae1d3458c9f35b6b199d3951
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/MapFile.cpp
Log Message:
-----------
[LLD][ELF] Silence warning when building with Clang ToT
This fixes:
```
[5839/7452] Building CXX object tools\lld\ELF\CMakeFiles\lldELF.dir\MapFile.cpp.obj
C:\git\llvm-project\lld\ELF\MapFile.cpp(124,38): warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'const ssize_t' (aka 'const int') [-Wsign-compare]
124 | last.outputOff + last.size == p.outputOff) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
1 warning generated.
```
Commit: 43ab40a5baba4945efa6d6050ae34817c8044ebf
https://github.com/llvm/llvm-project/commit/43ab40a5baba4945efa6d6050ae34817c8044ebf
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Object/ELFObjectFile.cpp
Log Message:
-----------
[llvm] Silence warning when building with Clang ToT
This fixes:
```
[1343/7452] Building CXX object lib\Object\CMakeFiles\LLVMObject.dir\ELFObjectFile.cpp.obj
C:\git\llvm-project\llvm\lib\Object\ELFObjectFile.cpp(808,27): warning: comparison of integers of different signs: 'unsigned int' and '_Iter_diff_t<const Elf_Shdr_Impl<ELFType<llvm::endianness::little, false>> *>' (aka 'int') [-Wsign-compare]
808 | if (*TextSectionIndex != std::distance(Sections.begin(), *TextSecOrErr))
| ~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\git\llvm-project\llvm\lib\Object\ELFObjectFile.cpp(913,12): note: in instantiation of function template specialization 'readBBAddrMapImpl<llvm::object::ELFType<llvm::endianness::little, false>>' requested here
913 | return readBBAddrMapImpl(Obj->getELFFile(), TextSectionIndex, PGOAnalyses);
| ^
```
Commit: ca0e2417912d8dea49c053186402aafe1ac8995a
https://github.com/llvm/llvm-project/commit/ca0e2417912d8dea49c053186402aafe1ac8995a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[openmp] Silence warning when compiling with MSVC targetting x86
This fixes:
```
[3593/7449] Building CXX object projects\openmp\runtime\src\CMakeFiles\omp.dir\kmp_debug.cpp.obj
C:\git\llvm-project\openmp\runtime\src\kmp_os.h(471): warning C4163: '_InlineInterlockedExchange64': not available as an intrinsic function
```
Commit: ad3cda7a04d4858816cbf38df63dc86d370c2587
https://github.com/llvm/llvm-project/commit/ad3cda7a04d4858816cbf38df63dc86d370c2587
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
Log Message:
-----------
[mlir][tensor] Enhance SimplifyUnPackToCollapseShape for unit dim cases. (#79262)
Commit: 43e46c546a1f0c7c3e436104a974560c6a2e5188
https://github.com/llvm/llvm-project/commit/43e46c546a1f0c7c3e436104a974560c6a2e5188
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/test/CXX/drs/dr4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG472 (#67948)
https://cplusplus.github.io/CWG/issues/472.html
It has drafting status, but I think CWG has reached consesus on the
behavior.
Related: #16602
Commit: 1f8c3c3ab1321c3e3fb10a5f75851165dfc8c5a5
https://github.com/llvm/llvm-project/commit/1f8c3c3ab1321c3e3fb10a5f75851165dfc8c5a5
Author: Ivan Kosarev <ivan.kosarev at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU][NFC] Eliminate unnecessary operand classes. (#79450)
These do not seem to remove many repetitions or add clarity; many of
them are only used once.
Not having them also helps further work getting rid of the decoding
functions defined using macros.
Part of <https://github.com/llvm/llvm-project/issues/62629>.
Commit: 8ff16f646f84c20a298374c7fd3d2b7f9fefe776
https://github.com/llvm/llvm-project/commit/8ff16f646f84c20a298374c7fd3d2b7f9fefe776
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
Log Message:
-----------
[mlir][ArmSME] Refactor ArmSMEToSCF to used shared loop-building helper (NFC) (#79172)
This will make fixing a bug (next patch) a change to one place, rather
than fixing three separate rewrites.
Note: `TileLoadOpWithMaskAndPadZeroConversion` has been merged into
`TileLoadOpConversion`, since after this change those two rewrites were
pretty much identical.
Commit: 66c710ec9dcdbdec6cadd89b972d8945983dc92f
https://github.com/llvm/llvm-project/commit/66c710ec9dcdbdec6cadd89b972d8945983dc92f
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Do not bother adding reserved registers to liveins (#79436)
Tweak the implementation of llvm.amdgcn.wave.id to not add TTMP8 to the
function liveins.
Commit: 3f37df5b711773bfd962b703b6d4178e6d16c076
https://github.com/llvm/llvm-project/commit/3f37df5b711773bfd962b703b6d4178e6d16c076
Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
A mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
A mlir/include/mlir/Dialect/AMDGPU/Transforms/Utils.h
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
A mlir/lib/Dialect/AMDGPU/Transforms/Utils.cpp
A mlir/test/Dialect/AMDGPU/optimize_shmem_reads_writes.mlir
Log Message:
-----------
[reland][mlir][amdgpu] Shared memory access optimization pass (#79164)
- Reland: https://github.com/llvm/llvm-project/pull/75627
- Reproduced then fixed the build issue
Commit: f1b1611148fa533fe198fec3fa4ef8139224dc80
https://github.com/llvm/llvm-project/commit/f1b1611148fa533fe198fec3fa4ef8139224dc80
Author: Sean Fertile <35576261+mandlebug at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[LTO] Fix fat-lto output for -c -emit-llvm. (#79404)
Fix and add a test case for combining '-ffat-lto-objects -c -emit-llvm'
options and fix a spelling mistake in same test.
Commit: 9b71393569ae4508d78b8a21993c21530bfdccc5
https://github.com/llvm/llvm-project/commit/9b71393569ae4508d78b8a21993c21530bfdccc5
Author: NagyDonat <donat.nagy at ericsson.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
Log Message:
-----------
[analyzer] Avoid a crash in a debug printout function (#79446)
Previously the function `RangeConstraintManager::printValue()` crashed
when it encountered an empty rangeset (because `RangeSet::getBitwidth()`
and `RangeSet::isUnsigned()` assert that the rangeset is not empty).
This commit adds a special case that avoids this behavior.
As `printValue()` is only used by the checker debug.ExprInspection (and
during manual debugging), the impacts of this commit are very limited.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: c5d59fe1b27414387b598e11b9e33d2f13dff87e
https://github.com/llvm/llvm-project/commit/c5d59fe1b27414387b598e11b9e33d2f13dff87e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
Log Message:
-----------
[AMDGPU] Disable V_MAD_U64_U32/V_MAD_I64_I32 workaround for GFX11.5 (#79460)
The hardware bug only affects GFX11.0.x.
Commit: 1f454ede4660477c3782595975def90c26c19881
https://github.com/llvm/llvm-project/commit/1f454ede4660477c3782595975def90c26c19881
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix TLSDESC comment. NFC (#79403)
Fix comment typos in #66915, and relocation type names related to the
example in the psABI
(https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/420).
Commit: 184ca39529a93e69eb175861d7fff5fc79988e53
https://github.com/llvm/llvm-project/commit/184ca39529a93e69eb175861d7fff5fc79988e53
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CostTable.h
M llvm/include/llvm/CodeGen/FastISel.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
R llvm/include/llvm/CodeGen/LowLevelType.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
R llvm/include/llvm/CodeGen/MachineValueType.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/ValueTypes.h
A llvm/include/llvm/CodeGenTypes/LowLevelType.h
A llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/module.modulemap
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
R llvm/lib/CodeGen/LowLevelType.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
A llvm/lib/CodeGenTypes/CMakeLists.txt
A llvm/lib/CodeGenTypes/LowLevelType.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/M68k/M68kMachineFunction.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/unittests/CodeGen/MachineOperandTest.cpp
M llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
M llvm/utils/TableGen/CodeGenInstruction.h
M llvm/utils/TableGen/CodeGenTarget.h
M llvm/utils/TableGen/DAGISelMatcher.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelMatchTable.h
M llvm/utils/TableGen/InfoByHwMode.h
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
M mlir/tools/mlir-tblgen/LLVMIRIntrinsicGen.cpp
Log Message:
-----------
[llvm] Move CodeGenTypes library to its own directory (#79444)
Finally addresses https://reviews.llvm.org/D148769#4311232 :)
No behavior change.
Commit: 016b7e8bf4df839f4bf84ee615cbe422e75f7868
https://github.com/llvm/llvm-project/commit/016b7e8bf4df839f4bf84ee615cbe422e75f7868
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/CodeGenTypes/BUILD.gn
Log Message:
-----------
[gn] port 184ca39529a9
Commit: 4a91206359e2f2572e14b754a75c0f7f1aab7346
https://github.com/llvm/llvm-project/commit/4a91206359e2f2572e14b754a75c0f7f1aab7346
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
R llvm/test/Transforms/LoopVectorize/vplan-native-inner-loop-only.ll
Log Message:
-----------
[llvm][LV] Move new test into X86 subfolder
Added in a04f6152914ea21f3068aaba9d8fc21d2e703d3e.
Failing on our Arm only bots:
https://lab.llvm.org/buildbot/#/builders/245/builds/19684
Commit: b0511419b3fd71fa8f8c3618b7e849aabd2ccf65
https://github.com/llvm/llvm-project/commit/b0511419b3fd71fa8f8c3618b7e849aabd2ccf65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)
This adopts a similar behavior to AArch64 SVE, where bool vectors are
represented as a vector of chars with 1/8 the number of elements. This
ensures the vector always occupies a power of 2 number of bytes.
A consequence of this is that vbool64_t, vbool32_t, and vool16_t can
only be used with a vector length that guarantees at least 8 bits.
Commit: a621198a035cdc700f08507879db902f22f8a5e2
https://github.com/llvm/llvm-project/commit/a621198a035cdc700f08507879db902f22f8a5e2
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/config/config.json
M libc/docs/dev/printf_behavior.rst
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/test/src/stdio/sprintf_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Move printf long double to simple calc (#75414)
The Ryu algorithm is very fast with its table, but that table grows too
large for long doubles. This patch adds a method of calculating the
digits of long doubles using just wide integers and fast modulo
operations. This results in significant performance improvements vs the
previous int calc mode, while taking up a similar amound of peak memory.
It will be slow in some %e/%g cases, but reasonable fast for %f with no
loss of accuracy.
Commit: 51b25bad5e53d5be07b5162e4cebcb7d49a422e7
https://github.com/llvm/llvm-project/commit/51b25bad5e53d5be07b5162e4cebcb7d49a422e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
Revert "[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)"
This reverts commit b0511419b3fd71fa8f8c3618b7e849aabd2ccf65.
Test failure was reported.
Commit: b9483d30a7d7a0650a0e83c75fcb9ab4932f475a
https://github.com/llvm/llvm-project/commit/b9483d30a7d7a0650a0e83c75fcb9ab4932f475a
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/icmp-pow2-mask.ll
Log Message:
-----------
Revert "[X86] Fold not(pcmpeq(and(X,CstPow2),0)) -> pcmpeq(and(X,CstPow2),CstPow2)"
This reverts commit 72f10f7eb536da58cb79e13974895cd97d4e1a5f.
This change was causing a miscompile on an internal test and is being reverted at the author's request until it can be fixed.
Commit: 7fdb932c4e78706cec3468a1f149e5a54a865d36
https://github.com/llvm/llvm-project/commit/7fdb932c4e78706cec3468a1f149e5a54a865d36
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/LiveInterval.h
Log Message:
-----------
[CodeGen] Add standard traits for LiveInterval::SingleLinkedListIterator (#79473)
For example this will allow LiveInterval::subranges() to be used in
any_of/all_of/none_of.
Commit: 7f409cd82b322038f08a984a07377758e76b0e4c
https://github.com/llvm/llvm-project/commit/7f409cd82b322038f08a984a07377758e76b0e4c
Author: Derek Schuff <dschuff at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/WriterUtils.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/Object/Wasm.h
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
A llvm/test/Object/Inputs/WASM/multi-table.wasm
A llvm/test/Object/wasm-obj2yaml-tables.test
Log Message:
-----------
[Object][Wasm] Allow parsing of GC types in type and table sections (#79235)
This change allows a WasmObjectFile to be created from a wasm file even
if it uses typed funcrefs and GC types. It does not significantly change how
lib/Object models its various internal types (e.g. WasmSignature,
WasmElemSegment), so LLVM does not really "support" or understand such
files, but it is sufficient to parse the type, global and element sections, discarding
types that are not understood. This is useful for low-level binary tools such as
nm and objcopy, which use only limited aspects of the binary (such as function
definitions) or deal with sections as opaque blobs.
This is done by allowing `WasmValType` to have a value of `OTHERREF`
(representing any unmodeled reference type), and adding a field to
`WasmSignature` indicating it's a placeholder for an unmodeled reference
type (since there is a 1:1 correspondence between WasmSignature objects
and types in the type section).
Then the object file parsers for the type and element sections are expanded
to parse encoded reference types and discard any unmodeled fields.
Commit: 5aa5a2f1b77d93a9f9ed158172277ee41ac224a9
https://github.com/llvm/llvm-project/commit/5aa5a2f1b77d93a9f9ed158172277ee41ac224a9
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
Log Message:
-----------
[RISCV] Disable exact VLEN splitting for bitrotate shuffles (#79468)
If we have a bitrotate shuffle, this is also by definition a vreg
splitable shuffle when exact VLEN is known. However, there's no profit
to be had from splitting the wider bitrotate lowering into individual m1
pieces. We'd rather leave it the higher lmul to reduce code size.
This is a general problem for any linear-in-LMUL shuffle expansions when
the vreg splitting still has to do linear work per piece. On first
reflection it seems like element rotation might have the same
interaction, but in that case, splitting can be done via a set of whole
register moves (which may get folded into the consumer depending) which
at least as good as a pair of slideup/slidedown. I think that bitrotate
is the only shuffle expansion we have that actually needs handled here.
Commit: 97ace00a564ac9d2424a9885c2117e475260ac1b
https://github.com/llvm/llvm-project/commit/97ace00a564ac9d2424a9885c2117e475260ac1b
Author: Augie Fackler <augie at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
bazel: fix build past 184ca39529a93e69eb175861d7fff5fc79988e53
Commit: ccb99f221422b8de5e1ae04d3427f15878f7cd93
https://github.com/llvm/llvm-project/commit/ccb99f221422b8de5e1ae04d3427f15878f7cd93
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
Log Message:
-----------
[ELF] Clean up R_RISCV_RELAX code. NFC
Commit: 5377fa72ceff28593cdeec16bfa97c31aa145623
https://github.com/llvm/llvm-project/commit/5377fa72ceff28593cdeec16bfa97c31aa145623
Author: AdityaK <1894981+hiraditya at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/docs/TestingGuide.rst
Log Message:
-----------
[doc] Add special case for unsupported test (#78858)
That helps disable the test for all the targets
Commit: 30279dcf5181c6683ca48bfb169ac9f80e1eb897
https://github.com/llvm/llvm-project/commit/30279dcf5181c6683ca48bfb169ac9f80e1eb897
Author: David Green <david.green at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/pr79100.ll
Log Message:
-----------
[AArch64] Add a test from #79100, showing extra unnecessary movs. NFC
Commit: 849951f8759171cb6c74d3ccbcf154506fc1f0ae
https://github.com/llvm/llvm-project/commit/849951f8759171cb6c74d3ccbcf154506fc1f0ae
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
[ELF] Fix terminology: TLS optimizations instead of TLS relaxation. NFC
Commit: c92ad411f2f94d8521cd18abcb37285f9a390ecb
https://github.com/llvm/llvm-project/commit/c92ad411f2f94d8521cd18abcb37285f9a390ecb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
Log Message:
-----------
Recommit "[RISCV] Support __riscv_v_fixed_vlen for vbool types. (#76551)"
Test updated to expect i8 gep.
Original message:
This adopts a similar behavior to AArch64 SVE, where bool vectors are
represented as a vector of chars with 1/8 the number of elements. This
ensures the vector always occupies a power of 2 number of bytes.
A consequence of this is that vbool64_t, vbool32_t, and vool16_t can
only be used with a vector length that guarantees at least 8 bits.
Commit: eb678d89933684627ee2c5da47e53751f3fdbaa2
https://github.com/llvm/llvm-project/commit/eb678d89933684627ee2c5da47e53751f3fdbaa2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Combine store (trunc X to <3 x i8>) to sequence of ST1.b. (#78637)
Improve codegen for (trunc X to <3 x i8>) by converting it to a sequence
of 3 ST1.b, but first converting the truncate operand to either v8i8 or
v16i8, extracting the lanes for the truncate results and storing them.
At the moment, there are almost no cases in which such vector operations
will be generated automatically. The motivating case is non-power-of-2
SLP vectorization: https://github.com/llvm/llvm-project/pull/77790
PR: https://github.com/llvm/llvm-project/pull/78637
Commit: 2550ce4d496e54fe929f2242833b73003f36e387
https://github.com/llvm/llvm-project/commit/2550ce4d496e54fe929f2242833b73003f36e387
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
A libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++] Add base for LLVM 19 release notes (#78990)
This will make it easier for folks who have patches that are not
targeting LLVM 18 -- they can write the release notes in the LLVM 19
release notes immediately.
Commit: a19629dae70c9f7e7936eba7aa1e0a3a99742288
https://github.com/llvm/llvm-project/commit/a19629dae70c9f7e7936eba7aa1e0a3a99742288
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
Reapply 215b8f1e252, reverted in c3f7fb1421e
Turns out I was using DbgMarker::getDbgValueRange rather than the helper
utility in Instruction::getDbgValueRange, which checks for null-ness.
Original commit message follows.
[DebugInfo][RemoveDIs] Convert debug-info modes when loading bitcode (#78967)
As part of eliminating debug-intrinsics in LLVM, we'll shortly be
pushing the conversion from "old" dbg.value mode to "new" DPValue mode
out from when the pass manager runs, to when modules are loaded. This
patch adds that conversion process and some (temporary) options to
llvm-lto{,2} to help test it.
Specifically: now whenever we load a bitcode module, consider a flag of
whether to "upgrade" it into the new debug-info mode, and if we're
lazily materializing functions then do that lazily too. Doing this
exposes an error in the IRLinker/materializer handling of DPValues,
where we need to transfer the debug-info format flag correctly, and in
ValueMapper we need to remap the Values that DPValues point at.
I've added some test coverage in the modified tests; these will be
exercised by our llvm-new-debug-iterators buildbot.
This upgrading of debug-info won't be happening for the llvm18 release,
instead we'll turn it on after the branch date, thenbe push the boundary
of where "new" debug-info starts and ends down into the existing
debug-info upgrade path over the course of the next release.
Commit: 8a0ff194e3f9441d35c87d565e093335371a9578
https://github.com/llvm/llvm-project/commit/8a0ff194e3f9441d35c87d565e093335371a9578
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc] Fix type warning on gcc in float to str (#79482)
Minor cast warning that was missed in previous patch. Fixed with
explicit cast.
Commit: 89dc7063f6c81d468a61b71b4ca612e22cb87a46
https://github.com/llvm/llvm-project/commit/89dc7063f6c81d468a61b71b4ca612e22cb87a46
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
Log Message:
-----------
[lldb] Fix printf format errors
This patch fixes:
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1108:39: error:
format specifies type 'long long' but the argument has type
'std::time_t' (aka 'long') [-Werror,-Wformat]
lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp:1116:64: error:
format specifies type 'long long' but the argument has type
'std::time_t' (aka 'long') [-Werror,-Wformat]
Commit: 28a2b85602a583496fa06ebf1e64239a6399d60c
https://github.com/llvm/llvm-project/commit/28a2b85602a583496fa06ebf1e64239a6399d60c
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DeadStoreElimination] Use SmallSetVector (NFC) (#79410)
The use of SmallSetVector saves 0.58% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, the final size of ToCheck
was 8 or less 88% of the time.
Commit: 9ddbcee25ea4b436ab478874221553f4a7bc2289
https://github.com/llvm/llvm-project/commit/9ddbcee25ea4b436ab478874221553f4a7bc2289
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Extend vector.{insert|extract}_strided_slice (#79052)
Extends `vector.insert_strided_slice` and `vector.insert_strided_slice`
to allow scalable input and output vectors. For scalable sizes, the
corresponding slice size has to match the corresponding dimension in the
output/input vector (insert/extract, respectively).
This is supported:
```mlir
vector.extract_strided_slice %1 {
offsets = [0, 3, 0],
sizes = [1, 1, 4],
strides = [1, 1, 1] } : vector<1x4x[4]xi32> to vector<1x1x[4]xi32>
```
This is not supported:
```mlir
vector.extract_strided_slice %1 {
offsets = [0, 3, 0],
sizes = [1, 1, 2],
strides = [1, 1, 1] } : vector<1x4x[4]xi32> to vector<1x1x[2]xi32>
```
Commit: 59a6525a4b9d46b931021f727b3235415bc82ea5
https://github.com/llvm/llvm-project/commit/59a6525a4b9d46b931021f727b3235415bc82ea5
Author: Alex Langford <alangford at apple.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
Log Message:
-----------
[lldb][NFCI] Remove unused method BreakpointIDList::FindBreakpointID(const char *, size_t *) (#79215)
Commit: 143f71e03ac39b9b3ba3c757454b2c65800b61a3
https://github.com/llvm/llvm-project/commit/143f71e03ac39b9b3ba3c757454b2c65800b61a3
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
Log Message:
-----------
[sanitizer_common] Fix type in format specifier by casting
40dcf24522af91ab22af2e69f28d1f1d2a860f5c had changed the format
specifier to fix the build for their local system. Unfortunately,
that disagrees with some other systems, such as this buildbot:
https://lab.llvm.org/buildbot/#/builders/37/builds/30440
This patch fixes the issue for all systems by casting.
Commit: b9f73714359a2839b651ee094cad481fb6a636ce
https://github.com/llvm/llvm-project/commit/b9f73714359a2839b651ee094cad481fb6a636ce
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/IR/MLProgramOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in MLProgramOps.cpp (NFC)
Commit: 9cebb2857695ed4b7c79db7f31830eaf4d2f3ba4
https://github.com/llvm/llvm-project/commit/9cebb2857695ed4b7c79db7f31830eaf4d2f3ba4
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for llvm-qualified-auto in PipelineGlobalOps.cpp (NFC)
Commit: 4e71335790e93a18c3dccdfda2e38dd152c4d045
https://github.com/llvm/llvm-project/commit/4e71335790e93a18c3dccdfda2e38dd152c4d045
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for readability-identifier-naming in PipelineGlobalOps.cpp (NFC)
Commit: 70fdaefe1fdd35c8b5633724a2ddc9ba0a8a5435
https://github.com/llvm/llvm-project/commit/70fdaefe1fdd35c8b5633724a2ddc9ba0a8a5435
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for bugprone-macro-parentheses in NVGPUTransformOps.cpp (NFC)
Commit: a7759fb0f8ce28a53a38a6e0ba6b7105f3d6781a
https://github.com/llvm/llvm-project/commit/a7759fb0f8ce28a53a38a6e0ba6b7105f3d6781a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
Log Message:
-----------
Apply clang-tidy fixes for performance-unnecessary-value-param in NVGPUTransformOps.cpp (NFC)
Commit: a315fb1c577a40a40968daa9d346435458d7e06e
https://github.com/llvm/llvm-project/commit/a315fb1c577a40a40968daa9d346435458d7e06e
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/include/string
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
Log Message:
-----------
[ASan][libc++] Correct (explicit) annotation size (#79292)
A quick examination suggests that the current code in the codebase does
not lead to incorrect annotations. However, the intention is for the
object after the function to be annotated in a way that only its
contents are unpoisoned and the rest is poisoned. This commit makes it
explicit and avoids potential issues in future.
In addition, I have implemented a few tests for a function that helped
me identify the specific argument value.
Notice: there is no known scenario where old code results in incorrect
annotation.
Commit: 594b92a7b987b839af10bd1035a816f233033826
https://github.com/llvm/llvm-project/commit/594b92a7b987b839af10bd1035a816f233033826
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
Log Message:
-----------
[RISCV] Add Tune to DontSinkSplatOperands (#79199)
A CPU may prefer to not sink splat operands, one reason being that it
could require a S2V transfer buffer to move scalars into buffers.
Commit: 0b0cce8978eefce4b9b4eb1727f1f210a6b2a2d9
https://github.com/llvm/llvm-project/commit/0b0cce8978eefce4b9b4eb1727f1f210a6b2a2d9
Author: felixh5678 <157516335+felixh5678 at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/math/index.rst
M libc/spec/stdc.td
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaxf128.h
A libc/src/math/fminf128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaxf128.cpp
A libc/src/math/generic/fminf128.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
A libc/test/src/math/smoke/fmaxf128_test.cpp
A libc/test/src/math/smoke/fminf128_test.cpp
Log Message:
-----------
[libc] Add fminf128 and fmaxf128 implementations for Linux x86_64. (#79307)
Co-authored-by: Felix <felix at Dirks-MacBook-Pro.local>
Commit: 720769de9f7531a79013b7e14ca808bdfc8fc258
https://github.com/llvm/llvm-project/commit/720769de9f7531a79013b7e14ca808bdfc8fc258
Author: Thurston Dang <thurston at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
Log Message:
-----------
[tsan] Lazily call 'personality' to minimize sandbox violations (#79334)
My previous patch, "Re-exec TSan with no ASLR if memory layout is incompatible on Linux (#78351)" (0784b1eefa36d4acbb0dacd2d18796e26313b6c5) hoisted the 'personality' call, to share the code between Android and non-Android Linux. Unfortunately, this eager call to 'personality' may trigger sandbox violations on non-Android Linux.
This patch fixes the issue by only calling 'personality' on non-Android Linux if the memory mapping is incompatible. This may still cause a sandbox violation, but only if it was going to abort anyway due to an incompatible memory mapping.
(The behavior on Android Linux is unchanged by this patch or the previous patch.)
Commit: 982c815aad97686fdb20e4599efbcc064599747b
https://github.com/llvm/llvm-project/commit/982c815aad97686fdb20e4599efbcc064599747b
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/test/Integration/Dialect/SparseTensor/CPU/reshape_dot.mlir
Log Message:
-----------
[mlir][sparse] fix mismatch between `enter/exitWhileLoop` (#79493)
Commit: 97b61aeadc58097b80902b600a9a6c95ad36baca
https://github.com/llvm/llvm-project/commit/97b61aeadc58097b80902b600a9a6c95ad36baca
Author: Maryam Moghadas <34670902+maryammo at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
Log Message:
-----------
[libc++] Update XFAIL for layout_stride/assert.conversion.pass.cpp in debug mode on PowerPC (#79169)
Adding the debug hardening modes into PowerPC target to check the
assertion messages, to fix the PPC rehl bot [1]. This is needed as
58780b811c23 changed the assertion to trap in production hardening modes.
Properly fixing these assertions is tracked by #79216.
[1]: https://lab.llvm.org/buildbot/#/builders/57/builds/32354
Co-authored-by: Maryam Moghadas <maryammo at ca.ibm.com>
Commit: 7b4622514d232ce5f7110dd8b20d90e81127c467
https://github.com/llvm/llvm-project/commit/7b4622514d232ce5f7110dd8b20d90e81127c467
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/in_found_result.h
M libcxx/include/__algorithm/in_fun_result.h
M libcxx/include/__algorithm/in_in_out_result.h
M libcxx/include/__algorithm/in_in_result.h
M libcxx/include/__algorithm/in_out_out_result.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/nth_element.h
M libcxx/include/__algorithm/partial_sort.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_backward.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__algorithm/ranges_fill_n.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_make_heap.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_merge.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_move.h
M libcxx/include/__algorithm/ranges_move_backward.h
M libcxx/include/__algorithm/ranges_next_permutation.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_nth_element.h
M libcxx/include/__algorithm/ranges_partial_sort.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/ranges_partition_copy.h
M libcxx/include/__algorithm/ranges_partition_point.h
M libcxx/include/__algorithm/ranges_pop_heap.h
M libcxx/include/__algorithm/ranges_prev_permutation.h
M libcxx/include/__algorithm/ranges_push_heap.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__algorithm/ranges_replace_if.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__algorithm/ranges_rotate.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/ranges_sample.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/ranges_shuffle.h
M libcxx/include/__algorithm/ranges_sort.h
M libcxx/include/__algorithm/ranges_sort_heap.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/ranges_transform.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/set_symmetric_difference.h
M libcxx/include/__algorithm/set_union.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/sort_heap.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/unique_copy.h
M libcxx/include/__algorithm/unwrap_iter.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__config
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/function.h
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/iterator_with_data.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__numeric/reduce.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_while_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/thread.h
M libcxx/include/array
M libcxx/include/condition_variable
M libcxx/include/experimental/iterator
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/map
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/set
M libcxx/include/stack
M libcxx/include/strstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Fix missing and incorrect push/pop macros (#79204)
We recently noticed that the unwrap_iter.h file was pushing macros, but
it was pushing them again instead of popping them at the end of the
file. This led to libc++ basically swallowing any custom definition of
these macros in user code:
#define min HELLO
#include <algorithm>
// min is not HELLO anymore, it's not defined
While investigating this issue, I noticed that our push/pop pragmas were
actually entirely wrong too. Indeed, instead of pushing macros like
`move`, we'd push `move(int, int)` in the pragma, which is not a valid
macro name. As a result, we would not actually push macros like `move`
-- instead we'd simply undefine them. This led to the following code not
working:
#define move HELLO
#include <algorithm>
// move is not HELLO anymore
Fixing the pragma push/pop incantations led to a cascade of issues
because we use identifiers like `move` in a large number of places, and
all of these headers would now need to do the push/pop dance.
This patch fixes all these issues. First, it adds a check that we don't
swallow important names like min, max, move or refresh as explained
above. This is done by augmenting the existing
system_reserved_names.gen.py test to also check that the macros are what
we expect after including each header.
Second, it fixes the push/pop pragmas to work properly and adds missing
pragmas to all the files I could detect a failure in via the newly added
test.
rdar://121365472
Commit: 313d33e33c7d379beb96cbf773ec3b98d1d2c6ed
https://github.com/llvm/llvm-project/commit/313d33e33c7d379beb96cbf773ec3b98d1d2c6ed
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump,SHT_LLVM_BB_ADDR_MAP,NFC] Use auto && instead of const auto & to allow moving from BBAddrMap objects. (#79456)
std::move on `const auto &` references is essentially a noop. Changing
to `auto &&` to actually allow moving.
Commit: 92ae2ca12be58dd581084f6d952c2158b6fd42aa
https://github.com/llvm/llvm-project/commit/92ae2ca12be58dd581084f6d952c2158b6fd42aa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Improve BottomTopTop reordering of orders for multi-iterations
attempts, NFC.
If several iterations of reodering of orders is required, need to use
different algorithm.
Commit: e99edf6bcb20169e153110426f840a2dfeeec66d
https://github.com/llvm/llvm-project/commit/e99edf6bcb20169e153110426f840a2dfeeec66d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M llvm/docs/GitHub.rst
M llvm/utils/git/github-automation.py
Log Message:
-----------
[workflows] Drop the intermediate /branch comment for release workflow (#79481)
We used to support a /branch comment to specify a branch with commits to
backport to the release branch. However, now that we can use pull
requests this is not needed.
This also simplifies the process, because now the cherry-pick job can
create the pull request directly instead of having it split across two
separate jobs.
Commit: d5e69147b9d261bd53b4dd027f17131677be8613
https://github.com/llvm/llvm-project/commit/d5e69147b9d261bd53b4dd027f17131677be8613
Author: Tom Stellard <tstellar at redhat.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .github/workflows/version-check.py
Log Message:
-----------
[workflows] Fix version-check.yml to work with the new minor release bump
Commit: 3b762891826192ded07286852d326f9c9060f52e
https://github.com/llvm/llvm-project/commit/3b762891826192ded07286852d326f9c9060f52e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Fix the base branch we use to determine changes (#79503)
We should diff against the base branch, not always against `main`. This
allows the BuildKite pre-commit CI to work properly when we target other
branches, such as `release/18.x`.
Commit: d88e3658cebbfa1533619de514495a67c81df7c0
https://github.com/llvm/llvm-project/commit/d88e3658cebbfa1533619de514495a67c81df7c0
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[SCEVExp] Move logic to replace congruent IV increments to helper (NFC).
Move logic to replace congruent IV increments to helper function, to
reduce the indentation by using early returns. This is in preparation
for a follow-up patch.
Commit: 1117fdd7c16873eb389e988c6a39ad922bae0fd0
https://github.com/llvm/llvm-project/commit/1117fdd7c16873eb389e988c6a39ad922bae0fd0
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Relocations.cpp
A lld/test/ELF/riscv-tlsdesc-gd-mixed.s
A lld/test/ELF/riscv-tlsdesc-relax.s
A lld/test/ELF/riscv-tlsdesc.s
Log Message:
-----------
[ELF] Implement R_RISCV_TLSDESC for RISC-V
Support
R_RISCV_TLSDESC_HI20/R_RISCV_TLSDESC_LOAD_LO12/R_RISCV_TLSDESC_ADD_LO12/R_RISCV_TLSDESC_CALL.
LOAD_LO12/ADD_LO12/CALL relocations reference a label at the HI20
location, which requires special handling. We save the value of HI20 to
be reused. Two interleaved TLSDESC code sequences, which compilers do
not generate, are unsupported.
For -no-pie/-pie links, TLSDESC to initial-exec or local-exec
optimizations are eligible. Implement the relevant hooks
(R_RELAX_TLS_GD_TO_LE, R_RELAX_TLS_GD_TO_IE): the first two instructions
are converted to NOP while the latter two are converted to a GOT load or
a lui+addi.
The first two instructions, which would be converted to NOP, are removed
instead in the presence of relaxation. Relaxation is eligible as long as
the R_RISCV_TLSDESC_HI20 relocation has a pairing R_RISCV_RELAX,
regardless of whether the following instructions have a R_RISCV_RELAX.
In addition, for the TLSDESC to LE optimization (`lui a0,<hi20>; addi a0,a0,<lo12>`),
`lui` can be removed (i.e. use the short form) if hi20 is 0.
```
// TLSDESC to LE/IE optimization
.Ltlsdesc_hi2:
auipc a4, %tlsdesc_hi(c) # if relax: remove; otherwise, NOP
load a5, %tlsdesc_load_lo(.Ltlsdesc_hi2)(a4) # if relax: remove; otherwise, NOP
addi a0, a4, %tlsdesc_add_lo(.Ltlsdesc_hi2) # if LE && !hi20 {if relax: remove; otherwise, NOP}
jalr t0, 0(a5), %tlsdesc_call(.Ltlsdesc_hi2)
add a0, a0, tp
```
The implementation carefully ensures that an instruction unrelated to
the current TLSDESC code sequence, if immediately follows a removable
instruction (HI20 or LOAD_LO12 OR (LE-specific) ADD_LO12), is not
converted to NOP.
* `riscv64-tlsdesc.s` is inspired by `i386-tlsdesc-gd.s` (https://reviews.llvm.org/D112582).
* `riscv64-tlsdesc-relax.s` tests linker relaxation.
* `riscv-tlsdesc-gd-mixed.s` is inspired by `x86-64-tlsdesc-gd-mixed.s` (https://reviews.llvm.org/D116900).
Link: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/373
Reviewed By: ilovepi
Pull Request: https://github.com/llvm/llvm-project/pull/79239
Commit: 5aad7894812a53b69e989a61a567f5617df4a057
https://github.com/llvm/llvm-project/commit/5aad7894812a53b69e989a61a567f5617df4a057
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
Log Message:
-----------
[ci] Diff against origin/BASE-BRANCH
Otherwise, when the base branch is not something that the CI runner
has checked out, that reference to e.g. release/18.x is ambiguous.
Commit: c2e5f4d3a14ae5b5c1c7e335a6336774f456e656
https://github.com/llvm/llvm-project/commit/c2e5f4d3a14ae5b5c1c7e335a6336774f456e656
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Semantics/c_f_pointer.f90
Log Message:
-----------
[flang] Add warnings for non-standard C_F_POINTER() usage (#78332)
There's a few restrictions in the standard on the Fortran pointer
argument (FPTR=) to the intrinsic subroutine C_F_POINTER() that almost
no compilers enforce. Enforce them here with warnings.
Commit: 82d335e70f91c03d01a5acfbd0c905abc1cc5b79
https://github.com/llvm/llvm-project/commit/82d335e70f91c03d01a5acfbd0c905abc1cc5b79
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cuda.h
A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_89_sm_80
M clang/test/Driver/nvptx-cuda-system-arch.c
Log Message:
-----------
[NVPTX] Add support for -march=native in standalone NVPTX (#79373)
Summary:
We support `--target=nvptx64-nvidia-cuda` as a way to target the NVPTX
architecture from standard CPU. This patch simply uses the existing
support for handling `--offload-arch=native` to also apply to the
standalone toolchain.
Commit: 78ef032862bbe2891cfdfdd7b5b893512573530c
https://github.com/llvm/llvm-project/commit/78ef032862bbe2891cfdfdd7b5b893512573530c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-update.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/test/Dialect/OpenACC/invalid.mlir
M mlir/test/Dialect/OpenACC/ops.mlir
Log Message:
-----------
[mlir][flang][openacc] Add device_type support for update op (#78764)
Add support for device_type information on the acc.update operation and
update lowering from Flang.
Commit: 887783e0caab3983f3e32077a7eb137831e1e2e7
https://github.com/llvm/llvm-project/commit/887783e0caab3983f3e32077a7eb137831e1e2e7
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/assign.cpp
Log Message:
-----------
[flang][runtime] Invert component/element loops in assignment (#78341)
The general implementation of intrinsic assignment of derived types in
the runtime support library has a doubly-nested loop: an outer loop that
traverses the components and inner loops than traverse the array
elements. It's done this way to amortize the per-component overhead.
However, this turns out to be wrong when the program cares about the
order in which defined assignment subroutines are called; the Fortran
standard allows less latitude here than we need to invert the ordering
in this way when any component is itself an array. So invert the two
loops: traverse the array elements, and for each element, traverse its
components.
Commit: e9309b27d7bd50ee98fd7813214ac37716bd6978
https://github.com/llvm/llvm-project/commit/e9309b27d7bd50ee98fd7813214ac37716bd6978
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/test/X86/reader-stale-yaml.test
Log Message:
-----------
[BOLT] Report input staleness (#79496)
It's beneficial to have uniform reporting in both `infer-stale-profile`
on and off cases, primarily for logging purposes.
Without this change, BOLT would report "input" staleness in
`infer-stale-profile=0` case (without matching), and "output" staleness
in `infer-stale-profile=1` case (after matching).
This change makes BOLT report "input" staleness in both cases. "Output"
staleness information is printed separately with "BOLT-INFO: inferred
profile..."
Commit: 3bca8506ab65c66e32695ba50571c4384be8e4d1
https://github.com/llvm/llvm-project/commit/3bca8506ab65c66e32695ba50571c4384be8e4d1
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/present01.f90
Log Message:
-----------
[flang] Correct checking of PRESENT() (#78364)
The argument to the PRESENT() intrinsic function must be the name of a a
whole OPTIONAL dummy argument.
Fixes llvm-test-suite/Fortran/gfortran/regression/present_1.f90.
Commit: 033b491c756f58bceaa26f1c96ec645c8d3e5e45
https://github.com/llvm/llvm-project/commit/033b491c756f58bceaa26f1c96ec645c8d3e5e45
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/edit-output.cpp
M flang/runtime/format.h
M flang/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Catch error on Ew.0 output editing (#78522)
An Ew.0(Ee) or Ew.0(Ee) output edit descriptor with a scale factor of
zero is an error condition, unless the output edit descriptor was
originally Gw.0(Ee), list-directed, or just E0/D0 with no .d part.
Fixes https://github.com/llvm/llvm-project/issues/78390.
Commit: a3bbe627d2d8d3a64c60dbec57c885d5303f4398
https://github.com/llvm/llvm-project/commit/a3bbe627d2d8d3a64c60dbec57c885d5303f4398
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/lib/Lower/Allocatable.cpp
M flang/runtime/descriptor.cpp
M flang/runtime/pointer.cpp
M flang/runtime/stat.cpp
M flang/runtime/stat.h
M flang/test/Lower/Intrinsics/c_loc.f90
Log Message:
-----------
[flang][runtime] Validate pointer DEALLOCATE (#78612)
The standard requires a compiler to diagnose an incorrect use of a
pointer in a DEALLOCATE statement. The pointer must be associated with
an entire object that was allocated as a pointer (not allocatable) by an
ALLOCATE statement.
Implement by appending a validation footer to pointer allocations. This
is an extra allocated word that encodes the base address of the
allocation. If it is not found after the data payload when the pointer
is deallocated, signal an error. There is a chance of a false positive
result, but that should be vanishingly unlikely.
This change requires all pointer allocations (not allocatables) to take
place in the runtime in PointerAllocate(), which might be slower in
cases that could otherwise be handled with a native memory allocation
operation. I believe that memory allocation of pointers is less common
than with allocatables, which are not affected. If this turns out to
become a performance problem, we can inline the creation and
initialization of the footer word.
Fixes https://github.com/llvm/llvm-project/issues/78391.
Commit: 7f542662ce3edc9fbc43e1f04698ebbb47516d48
https://github.com/llvm/llvm-project/commit/7f542662ce3edc9fbc43e1f04698ebbb47516d48
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile62.f90
Log Message:
-----------
[flang] Fix module file generation when generic shadows derived type (#78618)
Fortran allows the name of a generic interface to be the same as the
name of a derived type or specific procedure. When this happens, it
causes the code in module file generation to miss the symbol of a
derived type when scanning for symbols in initialization expressions
that need to be imported. Fix.
Commit: 7d272722fb971d9a8788cf1d75f26b314bca928a
https://github.com/llvm/llvm-project/commit/7d272722fb971d9a8788cf1d75f26b314bca928a
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/dwarf4-override-comp-dir.test
A bolt/test/X86/dwarf5-override-comp-dir.test
Log Message:
-----------
[BOLT][DWARF] Add option to specify DW_AT_comp_dir (#79395)
Added an --comp-dir-override option that overrides DW_AT_comp_dir in the
unit die. This allows for llvm-bolt to be invoked from any category and
still find .dwo files.
Commit: b788d6283d160f0fcff9ca9109ea97960185dc71
https://github.com/llvm/llvm-project/commit/b788d6283d160f0fcff9ca9109ea97960185dc71
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
A flang/test/Semantics/declarations08.f90
Log Message:
-----------
[flang] More Cray pointee checks (#78624)
Cray pointees may not appear in COMMON blocks or EQUIVALENCE groups.
Fixes llvm-test-suite/Fortran/gfortran/regression/cray_pointers_4.f90.
Commit: 15e4a3c1fb12f09d4f87b9e8bf68cb31de3d0944
https://github.com/llvm/llvm-project/commit/15e4a3c1fb12f09d4f87b9e8bf68cb31de3d0944
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/namelist.cpp
Log Message:
-----------
[flang][runtime] Fix namelist substring checking (#78649)
An || operator in namelist substring bounds checking really needs to be
an && operator so that the substring is viewed as correct only when both
its bounds are valid.
Fixes llvm-test-suite/Fortran/gfortran/regression/namelist_40.f90.
Commit: e8a5010c0338357c08c740de121b660aa933d5f4
https://github.com/llvm/llvm-project/commit/e8a5010c0338357c08c740de121b660aa933d5f4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Use std::fmod for most MOD/MODULO (#78745)
The new accurate algorithm for real MOD and MODULO in the runtime is not
as fast as std::fmod(), which is also accurate. So use std::fmod() for
those floating-point types that it supports.
Fixes https://github.com/llvm/llvm-project/issues/78641.
Commit: 19b65a9c0284c12556512e8136352a7e1eb8dfa3
https://github.com/llvm/llvm-project/commit/19b65a9c0284c12556512e8136352a7e1eb8dfa3
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
A llvm/test/DebugInfo/instcombine-sink-latest-assignment.ll
Log Message:
-----------
[DebugInfo][RemoveDIs] Add a DPValue implementation for instcombine sinking (#77930)
In instcombine, when we sink an instruction into a successor block, we try
to clone and salvage all the variable assignments that use that Value. This
is a behaviour that's (IMO) flawed, but there are important use cases where
we want to avoid regressions, thus we're implementing this for the
non-instruction debug-info representation.
This patch refactors the dbg.value sinking code into it's own function, and
installs a parallel implementation for DPValues, the non-instruction
debug-info container. This is mostly identical to the dbg.value
implementation, except that we don't have an easy-to-access ordering
between DPValues, and have to jump through extra hoops to establish one in
the (rare) cases where that ordering is required.
The test added represents a common use-case in LLVM where these behaviours
are important: a loop has been completely optimised away, leaving several
dbg.values in a row referring to an instruction that's going to sink. The
dbg.values should sink in both dbg.value and RemoveDIs mode, and
additionally only the last assignment should sink.
Commit: 5bd87e65d6a3f985471058ee071320c1def718c4
https://github.com/llvm/llvm-project/commit/5bd87e65d6a3f985471058ee071320c1def718c4
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve107.f90
Log Message:
-----------
[flang] Silence spurious errors about SAVE (#78765)
When an attribute specification statement follows a declaration that
applies the SAVE attribute to a symbol, name resolution can produce a
spurious error message about redundant SAVEs.
Fixes llvm-test-suite/Fortran/gfortran/regression/proc_ptr_9.f90.
Commit: df7d2b2f9085b4ae749ce5a221417b53185aa253
https://github.com/llvm/llvm-project/commit/df7d2b2f9085b4ae749ce5a221417b53185aa253
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/test/X86/bolt-address-translation.test
Log Message:
-----------
[BOLT] Deduplicate equal offsets in BAT (#76905)
Encode BRANCHENTRY bits as bitmask for deduplicated entries.
Reduces BAT section size:
- large binary: to 11834216 bytes (0.31x original),
- medium binary: to 1565584 bytes (0.26x original),
- small binary: to 336 bytes (0.23x original).
Test Plan: Updated bolt/test/X86/bolt-address-translation.test
Commit: 6ac392b9cbeba2bc098ae3f48b8c6f7db218905b
https://github.com/llvm/llvm-project/commit/6ac392b9cbeba2bc098ae3f48b8c6f7db218905b
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/definable.cpp
M flang/test/Semantics/definable01.f90
Log Message:
-----------
[flang] Get base objects right in definability checker (#78854)
The utility function GetRelevantObject() seems to be just wrong for
definability checks for the "base object" of a designator, and that's
all for which it is (now?) used. This leads to some false error messages
in Whizard when data-refs with multiple pointer components are defined.
Simplify, and add more test cases.
Commit: 4299d9b1af45843fd3230dc429fcf9cc19460303
https://github.com/llvm/llvm-project/commit/4299d9b1af45843fd3230dc429fcf9cc19460303
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/pp133.F90
Log Message:
-----------
[flang] Accomodate historic preprocessing usage (#78868)
Some Fortran codes use line continuation as a form of token pasting; see
https://github.com/llvm/llvm-project/issues/78797. This works in
compilers that run a C-like preprocessor and then apply line
continuation to its output; f18 implements line continuation during
tokenization and preprocessing, but can still handle this case.
In the rare case when an identifier is split across two or more
continuation lines, this patch allows its parts to be distinct
preprocessing tokens for the purpose of macro replacemnt. They (or their
replacement texts) can be effectively rejoined later as a single
identifier when the cooked character stream is tokenized in parsing.
Fixes https://github.com/llvm/llvm-project/issues/78797.
Commit: 776e25af6d927bc6be026070181c834069fbf742
https://github.com/llvm/llvm-project/commit/776e25af6d927bc6be026070181c834069fbf742
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Parser/prescan.cpp
Log Message:
-----------
[flang] Inhibit case of false tokenization of Hollerith (#79029)
https://github.com/llvm/llvm-project/issues/78927 contains a case of
fixed-form source in which a Hollerith literal is mistakenly tokenized,
leading to grief later due to apparently unbalanced parentheses.
The source looks like "REAL*8 R8HEAP(SCRSIZE)" and the Hollerith literal
is misrecognized as such because it follows "8R". In order to properly
tokenize Hollerith literals in old comma-free FORMAT statements like "1
FORMAT(3I5HFLANG)", the tokenizer in the prescanner treats a letter
after an integer token ("3I") as a special case. The fix is to do this
only when the characters involved are nested in parentheses and
Hollerith is a possibility.
Fixes https://github.com/llvm/llvm-project/issues/78927.
Commit: b1938b716a3ef75a518bdebec12c240415bf0fef
https://github.com/llvm/llvm-project/commit/b1938b716a3ef75a518bdebec12c240415bf0fef
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M openmp/libomptarget/CMakeLists.txt
Log Message:
-----------
[OpenMP] Disable LTO build of libomptarget and plugins by default. (#79387)
CheckIPOSupported is used to test for working LTO since #74520. However, before CMake 3.24 this will test the default linker and ignore options such as LLVM_ENABLE_LLD. As a result, CMake would test whether LTO works with the default linker but builds with another one. In a typical scenario, libomptarget is compiled with the in-tree Clang, but linked with ld.gold, which requires the LLVMgold plugin, when it actually would work with the lld linker (or also fail because the system lld is too old to understand opaque pointers). Using gcc as the compiler would pass the test, but fail when linking with lld since does not understand gcc's LTO format.
Disable LTO by default for now since automatic detection causes too many problems. It causes the openmp-offload-cuda-project buildbot (https://lab.llvm.org/staging/#/builders/151) to fail and LLVM_ENABLE_RUNTIMES=openmp builds will have it implicitly disabled in the vast majority of system configurations anyway.
Commit: d0f44ed062d911953de157ee4d7db91003b9bd52
https://github.com/llvm/llvm-project/commit/d0f44ed062d911953de157ee4d7db91003b9bd52
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Evaluate/bug78932.f90
Log Message:
-----------
[flang] Don't create impossible conversions in intrinsic extension (#79042)
We support specific intrinsic calls like `AMAX0(1.0,2)` that have
heterogeneous argument types as an optional extension in cases where the
specific intrinsic has a related generic intrinsic function capable of
handling the argument types. This feature can't be allowed to apply to
calls where the result of the related generic intrinsic function is not
convertible to the type of the specific intrinsic, as in `AMAX0('a',
'b')`.
Fixes https://github.com/llvm/llvm-project/issues/78932.
Commit: 320a5197a6d3a0929d0ade3b621769eaf120b203
https://github.com/llvm/llvm-project/commit/320a5197a6d3a0929d0ade3b621769eaf120b203
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Semantics/check-io.cpp
Log Message:
-----------
[flang] Accept OPEN(...,CONVERT="SWAP") in semantics (#79050)
The runtime implements CONVERT="SWAP", but semantics doesn't like it.
Add it to the relevant table.
Fixes llvm-test-suite/Fortran/gfortran/regression/record_marker_1.f90,
.../unf_io_convert_1.f90, .../unf_io_convert_2.f90, and
.../unf_io_convert_3.f90.
Commit: ba45ad160e3f329aeb02c19eaf18af27fa423d85
https://github.com/llvm/llvm-project/commit/ba45ad160e3f329aeb02c19eaf18af27fa423d85
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
Log Message:
-----------
Temporarily disable two libcxx chrono formatter tests
On macOS, the formatter is printing signed values as
unsigned, it seems, and the tests are expecting correctly
signed values. These tests were added in
https://github.com/llvm/llvm-project/pull/78609
Commit: 71e01d9fd757b7330958f9ee4ef4b797b7d17a7e
https://github.com/llvm/llvm-project/commit/71e01d9fd757b7330958f9ee4ef4b797b7d17a7e
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Evaluate/folding02.f90
Log Message:
-----------
[flang] Support KNINT and KIDNNT legacy intrinsic functions (#79190)
These specific intrinsic functions are legacy names that map to the
standard generic NINT(..., KIND=8).
Commit: 378c4d4a93deeba96d8f9cd5d010a2d377d73998
https://github.com/llvm/llvm-project/commit/378c4d4a93deeba96d8f9cd5d010a2d377d73998
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
R flang/test/Preprocessing/pp133.F90
A flang/test/Preprocessing/pp134.F90
Log Message:
-----------
[flang] Rename new test to avoid a conflict on case-insensitive files… (#79531)
…ystems
flang/test/Preprocessing/pp133.F90 -> pp134.F90 to avoid pp133.f90.
Commit: 2b7a928dd97476aac86fbae25a7a8e26b4ced738
https://github.com/llvm/llvm-project/commit/2b7a928dd97476aac86fbae25a7a8e26b4ced738
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/symbol27.f90
Log Message:
-----------
[flang] Improve USE merging of homonymous types, interfaces, and proc… (#79364)
…edures
Fortran allows a generic interface to have the same name as a derived
type in the same scope. It also allows a generic interface to have the
same name as one of its specific procedures.
When two modules define the same name, possibly more than once each,
things get exciting. The standard is not clear, and other compilers do
variously different things. We are currently emitting some errors
prematurely for some usage in pfUnit due to how it combines two versions
of a package together via USE association.
This patch handles combinations of derived types and generic interfaces
and their specific procedures in a more principled way. Errors due to
ambiguity are deferred to actual usage of derived types and specific
procedures -- and when they're not used, the program is unambiguous and
no error issues.
Commit: 32334b91922b2c48665d04369b7858324820baa5
https://github.com/llvm/llvm-project/commit/32334b91922b2c48665d04369b7858324820baa5
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/runtime/format-implementation.h
Log Message:
-----------
[flang][runtime] Fix integer overflow check for FORMATs (#79471)
The code that parses repeat counts, field widths, &c. from FORMAT
strings has an incorrect overflow check, so the maximum integer value is
not accepted. Fix.
Fixes https://github.com/llvm/llvm-project/issues/79255.
Commit: edb720666fd8dba3a96b71314e2cb854e966c8db
https://github.com/llvm/llvm-project/commit/edb720666fd8dba3a96b71314e2cb854e966c8db
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/syscall_numbers.h.inc
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_epoll_data.h
A libc/include/llvm-libc-types/struct_epoll_event.h
A libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
A libc/src/sys/epoll/CMakeLists.txt
A libc/src/sys/epoll/epoll_pwait.h
A libc/src/sys/epoll/epoll_pwait2.h
A libc/src/sys/epoll/epoll_wait.h
A libc/src/sys/epoll/linux/CMakeLists.txt
A libc/src/sys/epoll/linux/epoll_pwait.cpp
A libc/src/sys/epoll/linux/epoll_pwait2.cpp
A libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/epoll/CMakeLists.txt
A libc/test/src/sys/epoll/linux/CMakeLists.txt
A libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
A libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
A libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
A utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[libc] add epoll_wait functions (#79515)
The epoll_wait functions are syscall wrappers that were requested by
upstream users. This patch adds them, as well as their header and types.
The tests are currently incomplete since they require epoll_create to
properly test epoll_wait. That will be added in a followup patch since
this one is already very large.
Commit: 67f9c35ffee1aea3fa8a18b57a7b27400a03435a
https://github.com/llvm/llvm-project/commit/67f9c35ffee1aea3fa8a18b57a7b27400a03435a
Author: Tacet <advenam.tacet at trailofbits.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
Log Message:
-----------
Make two texts static in `ReplayInlineAdvisor` (#79489)
This commit makes two variables static.
That makes two buildbot tests pass with short string annotations.
I suspect that there may be use after end of life bug and it's fixed by
this change, but it requires confirmation.
Short string annotations PR (reverted):
- https://github.com/llvm/llvm-project/pull/79049
Tests fixed with this PR:
```
LLVM :: Transforms/Inline/cgscc-inline-replay.ll
LLVM :: Transforms/SampleProfile/inline-replay.ll
```
Buildbot output:
https://lab.llvm.org/buildbot/#/builders/5/builds/40364/steps/9/logs/stdio
This PR does not resolve a problem with `Clang :: SemaCXX/builtins.cpp`,
related PR is:
- https://github.com/llvm/llvm-project/pull/79522
Commit: 59e90609d265a4f797005f78c5c566bbf87fda40
https://github.com/llvm/llvm-project/commit/59e90609d265a4f797005f78c5c566bbf87fda40
Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/api.td
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/arm/headers.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/syscall_numbers.h.inc
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/struct_epoll_data.h
R libc/include/llvm-libc-types/struct_epoll_event.h
R libc/include/sys/epoll.h.def
M libc/spec/gnu_ext.td
M libc/spec/linux.td
M libc/src/sys/CMakeLists.txt
R libc/src/sys/epoll/CMakeLists.txt
R libc/src/sys/epoll/epoll_pwait.h
R libc/src/sys/epoll/epoll_pwait2.h
R libc/src/sys/epoll/epoll_wait.h
R libc/src/sys/epoll/linux/CMakeLists.txt
R libc/src/sys/epoll/linux/epoll_pwait.cpp
R libc/src/sys/epoll/linux/epoll_pwait2.cpp
R libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/test/src/sys/CMakeLists.txt
R libc/test/src/sys/epoll/CMakeLists.txt
R libc/test/src/sys/epoll/linux/CMakeLists.txt
R libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
R libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
R libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
R utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
Revert "[libc] add epoll_wait functions" (#79534)
Reverts llvm/llvm-project#79515
Some minor breakages. Will fix tomorrow.
Commit: de5e4d7c69549cc8e7e0daee56502e61b9c3cad5
https://github.com/llvm/llvm-project/commit/de5e4d7c69549cc8e7e0daee56502e61b9c3cad5
Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_strided_conv_2d_nhwc_hwcf.mlir
Log Message:
-----------
[mlir][sparse] fix error when convolution stride is applied on a dens… (#79521)
…e level.
Commit: 0a3b5ece0e51b85e4674388f46a0205c4361f76e
https://github.com/llvm/llvm-project/commit/0a3b5ece0e51b85e4674388f46a0205c4361f76e
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
[MemProf] Add missing header to list of installed headers. (#79413)
There were buildbot failures when running memprof tests:
Failed Tests (12):
MemProfiler-x86_64-linux :: TestCases/interface_test.cpp
MemProfiler-x86_64-linux :: TestCases/log_path_test.cpp
MemProfiler-x86_64-linux :: TestCases/memprof_merge_mib.cpp
MemProfiler-x86_64-linux :: TestCases/memprof_profile_dump.cpp
MemProfiler-x86_64-linux :: TestCases/profile_reset.cpp
MemProfiler-x86_64-linux :: TestCases/unaligned_loads_and_stores.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/interface_test.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/log_path_test.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/memprof_merge_mib.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/memprof_profile_dump.cpp
MemProfiler-x86_64-linux-dynamic :: TestCases/profile_reset.cpp
MemProfiler-x86_64-linux-dynamic ::
TestCases/unaligned_loads_and_stores.cpp
See
- https://lab.llvm.org/buildbot/#/builders/258/builds/8852
- https://lab.llvm.org/buildbot/#/builders/258/builds/12876
I suspect the failure is because when build with
-DLLVM_ENABLE_RUNTIMES=compiler-rt -DCOMPILER_RT_BUILD_SANITIZERS=OFF,
the headers sanitizer/allocator_interface.h and
sanitizer/common_interface_defs.h
are not copied to the build tree, and not installed.
But in the failed memprof tests,
sanitizer/allocator_interface.h or sanitizer/memprof_interface.h is
included.
This patch adds sanitizer/allocator_interface.h and
sanitizer/memprof_interface.h to memprof headers if
COMPILER_RT_BUILD_SANITIZERS is false.
Commit: 4792f912b232141ecba4cbae538873be3c28556c
https://github.com/llvm/llvm-project/commit/4792f912b232141ecba4cbae538873be3c28556c
Author: Chen Zheng <czhengsz at cn.ibm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGen/PowerPC/attr-target-ppc.c
M clang/test/Driver/ppc-dependent-options.cpp
Log Message:
-----------
[PowerPC] Diagnose invalid combination with Altivec, VSX and soft-float (#79109)
Moved from https://reviews.llvm.org/D126302
The current behaviour with these three options is quite undesirable:
-mno-altivec -mvsx allows VSX to override no Altivec, thereby turning on
both
-msoft-float -maltivec causes a crash if an actual Altivec instruction
is required because soft float turns of Altivec
-msoft-float -mvsx is also accepted with both Altivec and VSX turned off
(potentially causing crashes as above)
This patch diagnoses these impossible combinations in the driver so the
user does not end up with surprises in terms of their options being
ignored or silently overridden.
Fixes https://github.com/llvm/llvm-project/issues/55556
---------
Co-authored-by: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Commit: e0ade459917e22f9930559453155537ad2b5e0d8
https://github.com/llvm/llvm-project/commit/e0ade459917e22f9930559453155537ad2b5e0d8
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
Log Message:
-----------
[MemProf][NFC] Rename DefaultShadowGranularity to DefaultMemGranulari… (#79412)
…ty in instrumentation code, be consistent with runtime
In runtime code, the size of memory block mapped to a single shadow
location is called MEM_GRANULARITY.
In instrumentation code, the size of memory block mapped to a single
shadow location is called DefaultShadowGranularity.
Actually, the SHADOW_GRANULARITY is 8 (1 << SHADOW_SCALE), and the
MEM_GRANULARITY is 64.
The wording of DefaultShadowGranularity in instrumentation code is a bit
misleading, this patch renames DefaultShadowGranularity to
DefaultMemGranularity, be consistent with runtime.
Commit: f0346a5862cc2f177e102d96f9f88da55fe82fd3
https://github.com/llvm/llvm-project/commit/f0346a5862cc2f177e102d96f9f88da55fe82fd3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/TextDiagnosticBuffer.cpp
Log Message:
-----------
[Frontend] Use SmallString::operator std::string (NFC)
Commit: d7ff7c3d182450b5fea2018a4b427ab04ed7b158
https://github.com/llvm/llvm-project/commit/d7ff7c3d182450b5fea2018a4b427ab04ed7b158
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
[Transforms] Use llvm::pred_size and llvm::pred_successors (NFC)
Commit: eeb0e9f82e26421ad9f9499a9cb0108f53495bdb
https://github.com/llvm/llvm-project/commit/eeb0e9f82e26421ad9f9499a9cb0108f53495bdb
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Use llvm::successors (NFC)
Commit: e6bafbe72623b3f6fd974bd7f59f38c59f1e9df3
https://github.com/llvm/llvm-project/commit/e6bafbe72623b3f6fd974bd7f59f38c59f1e9df3
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[TableGen] Use StringRef::consume_{front,back} (NFC)
Commit: 1e9924c1f248bbddcb95d82a59708d617297dad3
https://github.com/llvm/llvm-project/commit/1e9924c1f248bbddcb95d82a59708d617297dad3
Author: wanglei <wanglei at loongson.cn>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
Log Message:
-----------
[LoongArch] Fixing the incorrect return value of LoongArchTTIImpl::getRegisterBitWidth (#79441)
When we do not enable vector features, we should return the default
value (`TargetTransformInfoImplBase::getRegisterBitWidth`) instead of
zero.
This should fix the LoongArch [buildbot
breakage](https://lab.llvm.org/staging/#/builders/5/builds/486) from
#78943.
Commit: b75cad44136e06222e054998b2337952fed4642f
https://github.com/llvm/llvm-project/commit/b75cad44136e06222e054998b2337952fed4642f
Author: Philip Reames <preames at rivosinc.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Minor whitespace as a test change [nfc]
Commit: fd0637cfe835d6d4d0d3ebde3663f94a7bb3cd76
https://github.com/llvm/llvm-project/commit/fd0637cfe835d6d4d0d3ebde3663f94a7bb3cd76
Author: Nico Weber <thakis at chromium.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[ItaniumDemangle] reapply 0e754e114a6 (#79488)
It got lost in 50b58e89a122.
Commit: 8e01042da9d385d5ecd41e3ff3b60763995f253f
https://github.com/llvm/llvm-project/commit/8e01042da9d385d5ecd41e3ff3b60763995f253f
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
M llvm/lib/Support/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Add missing dependency check for Zvkb (#79467)
Commit: fb94c6491a114ebd5815b1d42665a8f6bcd9d639
https://github.com/llvm/llvm-project/commit/fb94c6491a114ebd5815b1d42665a8f6bcd9d639
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/lib/Headers/sifive_vector.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/xsfvcp-index-out-of-range.c
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-x.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-x.ll
Log Message:
-----------
[RISCV][SiFive] Reduce intrinsics of SiFive VCIX extension (#79407)
This patch models LMUL and SEW as inputs in sf_vc_x_se and sf_vc_i_se,
it reduces 42 intrinsics in the lookup table.
Commit: e0092eae431956a2fd17f7ea88e7ba26d5e44f7e
https://github.com/llvm/llvm-project/commit/e0092eae431956a2fd17f7ea88e7ba26d5e44f7e
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
Log Message:
-----------
[RISCV][clang] Optimize memory usage of intrinsic lookup table (#77487)
This patch optimize:
1. Reduce string size of RVVIntrinsicDef.
2. Reduce the type size of the index of intrinsics.
I use valgrind --tool=massif to analyze a simple program:
```
#include <riscv_vector.h>
vint32m1_t test(vint32m1_t v1, vint32m1_t v2, size_t vl) {
return __riscv_vadd(v1, v2, vl);
}
```
and before optimization, the peak memory usage is 15.68MB,
after optimization, the peak memory usage is 13.69MB.
Commit: eeddfec8c9dc91e3d723a3d8ec3fb108972e031d
https://github.com/llvm/llvm-project/commit/eeddfec8c9dc91e3d723a3d8ec3fb108972e031d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Docs] Fix documentation build.
Missing ending `` after c92ad411f2f94d8521cd18abcb37285f9a390ecb
Commit: 3c9f34c12450345c6eb524e47cf79664271e4260
https://github.com/llvm/llvm-project/commit/3c9f34c12450345c6eb524e47cf79664271e4260
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
[llvm] [cmake] Include httplib in LLVMConfig.cmake (#79305)
Include LLVM_ENABLE_HTTPLIB along with httplib package finding in
LLVMConfig.cmake, as this dependency is needed by LLVMDebuginfod that is
now used by LLDB. Without it, building LLDB standalone fails with:
```
CMake Error at /usr/lib/llvm/19/lib64/cmake/llvm/LLVMExports.cmake:90 (set_target_properties):
The link interface of target "LLVMDebuginfod" contains:
httplib::httplib
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Call Stack (most recent call first):
/usr/lib/llvm/19/lib64/cmake/llvm/LLVMConfig.cmake:357 (include)
cmake/modules/LLDBStandalone.cmake:9 (find_package)
CMakeLists.txt:34 (include)
```
Commit: 76ead96c1d06ee0d828238bce96d0107e650b5fa
https://github.com/llvm/llvm-project/commit/76ead96c1d06ee0d828238bce96d0107e650b5fa
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Interfaces/LoopLikeInterface.cpp
M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
M mlir/test/Dialect/Linalg/generalize-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/tile-conv.mlir
M mlir/test/Dialect/Linalg/tile-tensors.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad-build-packing-loop-nest.mlir
M mlir/test/Dialect/Linalg/transform-op-hoist-pad.mlir
M mlir/test/Dialect/Linalg/transform-op-peel-and-vectorize.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
A mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-scfforall.mlir
M mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-interface.mlir
A mlir/test/Interfaces/TilingInterface/tile-fuse-and-yield-using-scfforall.mlir
M mlir/test/Interfaces/TilingInterface/tile-pad-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-scfforall.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][TilingInterface] Use `LoopLikeOpInterface` in tiling using SCF to unify tiling with `scf.for` and `scf.forall`. (#77874)
Using `LoopLikeOpInterface` as the basis for the implementation unifies
all the tiling logic for both `scf.for` and `scf.forall`. The only
difference is the actual loop generation. This is a follow up to
https://github.com/llvm/llvm-project/pull/72178
Instead of many entry points for each loop type, the loop type is now
passed as part of the options passed to the tiling method.
This is a breaking change with the following changes
1) The `scf::tileUsingSCFForOp` is renamed to `scf::tileUsingSCF`
2) The `scf::tileUsingSCFForallOp` is deprecated. The same
functionality is obtained by using `scf::tileUsingSCF` and setting
the loop type in `scf::SCFTilingOptions` passed into this method to
`scf::SCFTilingOptions::LoopType::ForallOp` (using the
`setLoopType` method).
3) The `scf::tileConsumerAndFusedProducerGreedilyUsingSCFForOp` is
renamed to `scf::tileConsumerAndFuseProducerUsingSCF`. The use of
the `controlFn` in `scf::SCFTileAndFuseOptions` allows implementing
any strategy with the default callback implemeting the greedy fusion.
4) The `scf::SCFTilingResult` and `scf::SCFTileAndFuseResult` now use
`SmallVector<LoopLikeOpInterface>`.
5) To make `scf::ForallOp` implement the parts of
`LoopLikeOpInterface` needed, the `getOutputBlockArguments()`
method is replaced with `getRegionIterArgs()`
These changes now bring the tiling and fusion capabilities using
`scf.forall` on par with what was already supported by `scf.for`
Commit: df5e431e8dcb555320be7f7ae4d499a11e0b17db
https://github.com/llvm/llvm-project/commit/df5e431e8dcb555320be7f7ae4d499a11e0b17db
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
Log Message:
-----------
[Target][AMDGPU] Fix TSan error on AMDGPU Target. (#79529)
Updating the value of the global flag within the code was flagged as a
TSAN error. Fixing that.
Commit: 6d0080b5de26d8a8682ec6169851af3d04e30ccb
https://github.com/llvm/llvm-project/commit/6d0080b5de26d8a8682ec6169851af3d04e30ccb
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86InstrKL.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/test/CodeGen/X86/enqcmd-intrinsics.ll
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/usermsr-intrinsics.ll
A llvm/test/MC/Disassembler/X86/apx/enqcmd.txt
A llvm/test/MC/Disassembler/X86/apx/keylocker.txt
A llvm/test/MC/Disassembler/X86/apx/user-msr.txt
A llvm/test/MC/X86/apx/enqcmd-att.s
A llvm/test/MC/X86/apx/enqcmd-intel.s
A llvm/test/MC/X86/apx/keylocker-att.s
A llvm/test/MC/X86/apx/keylocker-intel.s
A llvm/test/MC/X86/apx/user-msr-att.s
A llvm/test/MC/X86/apx/user-msr-intel.s
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
Log Message:
-----------
[X86] Support promoted ENQCMD, KEYLOCKER and USERMSR (#77293)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the promoted ENQCMD, KEYLOCKER and USER-MSR
instructions in EVEX space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: d9d1ae6400a7f8a12068bdd37ecda62f07e52bce
https://github.com/llvm/llvm-project/commit/d9d1ae6400a7f8a12068bdd37ecda62f07e52bce
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/TypeLoc.h
M clang/lib/Sema/TreeTransform.h
A clang/test/Sema/attr-lifetimebound-no-crash.cpp
Log Message:
-----------
[Clang][Sema] fix crash of attribute transform (#78088)
Try to fix [issue](https://github.com/llvm/llvm-project/issues/73619)
1. During transforming `FunctionProtoType`, if `ThisContext` is
`nullptr` and `CurrentContext` is `ClassTemplateSpecializationDecl`,
Constructor of `CXXThisScopeRAII` and `Sema::getCurrentThisType` won't
set `CXXThisTypeOverride` of Sema. This will lead to building `this` in
`RebuildCXXThisExpr` with a invalid type(NULL type) and cause crash.
2. During transforming attribute type, if `modifiedType` of attribute
type is changed, `EquivalentType` need to be transformed. If
`EquivalentType` is `FunctionProtoType`, its `ParamVarDecl` will not be
copyed(but parameter num does) and will not be instanced in
`TransformFunctionTypeParams` since `ParamVarDecl` is `nullptr`. This
will lead to crash in `findInstantiationOf`(can't find the instance of
`ParamVarDecl`).
This patch tries to fix these issues above.
1. If `CurrentContext` is `ClassTemplateSpecializationDecl`, Use it.
2. Use `EquivalentTypeLoc` instead of `EquivalentType` since it has
parameter info. But, if use current `TypeLocBuilder`, it will crash in
`TypeLocBuilder::push` since `LastType` is mismatch. Use an auxiliary
`TypeLocBuilder` instead and get transformed `EquivalentType`.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: 02d56801ee8e4fcce303a47e5fac1967f5660d38
https://github.com/llvm/llvm-project/commit/02d56801ee8e4fcce303a47e5fac1967f5660d38
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrRAOINT.td
M llvm/test/CodeGen/X86/movbe.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-32.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-64.ll
A llvm/test/MC/Disassembler/X86/apx/movbe.txt
A llvm/test/MC/Disassembler/X86/apx/rao-int.txt
M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
A llvm/test/MC/X86/apx/movbe-att.s
A llvm/test/MC/X86/apx/movbe-intel.s
A llvm/test/MC/X86/apx/rao-int-att.s
A llvm/test/MC/X86/apx/rao-int-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86] Support APX promoted RAO-INT and MOVBE instructions (#77431)
R16-R31 was added into GPRs in
https://github.com/llvm/llvm-project/pull/70958,
This patch supports the promoted RAO-INT and MOVBE instructions in EVEX
space.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 7b3389980ddbd84f72ccc4776889c67519cc2c14
https://github.com/llvm/llvm-project/commit/7b3389980ddbd84f72ccc4776889c67519cc2c14
Author: Qizhi Hu <836744285 at qq.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
A clang/test/SemaTemplate/default-parm-init.cpp
Log Message:
-----------
[Clang][Sema] fix outline member function template with default align crash (#78400)
Try to fix [issue](https://github.com/llvm/llvm-project/issues/68490)
and some extented problem. Root cause of current issue is that error
handling in instantiation of function parameter with default
initialization on sizeof or align expression. When instance an
out-of-line template member function, depth of `TemplateTypeParmDecl` in
default initialization doesn't change while depth of other template
parameter does and this will lead to some template parameter
uninstanced. Also, sometime it will leader to wrong instantiation when
it uses the template parameter of class.
Fix it by add template args of context when it's out-of-line. This will
make `MultiLevelTemplateArgumentList::getNumLevels` matching the depth
of template parameter. Testcase with some `static_assert` demonstrates
the template parameter has been instanced correctly.
Co-authored-by: huqizhi <836744285 at qq.com>
Commit: f174648b6cabb20f368b31fdef091295c5512338
https://github.com/llvm/llvm-project/commit/f174648b6cabb20f368b31fdef091295c5512338
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
Revert "[MemProf] Add missing header to list of installed headers. (#79413)"
This reverts commit 0a3b5ece0e51b85e4674388f46a0205c4361f76e.
Commit: ac6f9a785c8adb39bbd9f4aeb20e73b46855ea5b
https://github.com/llvm/llvm-project/commit/ac6f9a785c8adb39bbd9f4aeb20e73b46855ea5b
Author: Enna1 <xumingjie.enna1 at bytedance.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M compiler-rt/include/CMakeLists.txt
Log Message:
-----------
Reland "[MemProf] Add missing header to list of installed headers. (#79413)"
This reland commit 0a3b5ece0e51b85e4674388f46a0205c4361f76e with fix.
Commit: d9dd5f049f16a866dcfa74d0207dd376543c1ec4
https://github.com/llvm/llvm-project/commit/d9dd5f049f16a866dcfa74d0207dd376543c1ec4
Author: 袁銓嶽 <84860242+circYuan at users.noreply.github.com>
Date: 2024-01-25 (Thu, 25 Jan 2024)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
Log Message:
-----------
[Clang][RISCV][RVV Intrinsic] Fix codegen redundant intrinsic names (#77889)
This patch avoids adding redundant vcreate_v intrinsics to the RISCV
IntrinsicList.
Since vcreate_v uses LFixedLog2LMUL, I believe we can simply set
Log2LMUL to the smallest value (-3) to prevent the creation of redundant
vcreate_v instances with the same intrinsic name and prototype in the
IntrinsicList when clang creates it.
Commit: af91b42a3524576de95027f800baa0c7670cfd3d
https://github.com/llvm/llvm-project/commit/af91b42a3524576de95027f800baa0c7670cfd3d
Author: AtariDreams <83477269+AtariDreams at users.noreply.github.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Log Message:
-----------
[AMDGPU][NFC] Remove FIXME that has been resolved (#79047)
As of 5aea839ab3edeb58bb0eea833ad9427d0ae7ef67, this FIXME has been
resolved.
So we can remove this comment.
Commit: 0f4e9e718b4e79d3f760fd7ea399c23fc97a7716
https://github.com/llvm/llvm-project/commit/0f4e9e718b4e79d3f760fd7ea399c23fc97a7716
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
Log Message:
-----------
[CodeGen] Add no-op machine function pass for test purpose (#79541)
Commit: f0012dcce4c08d0e4a16b65f2a15f7dc7fb7e533
https://github.com/llvm/llvm-project/commit/f0012dcce4c08d0e4a16b65f2a15f7dc7fb7e533
Author: David Green <david.green at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-csel.ll
Log Message:
-----------
[AArch64] Add a couple more csinc tests with disjoint ors. NFC
Commit: 14a027b2b79b85f15dfa259c6b113bcf681d06a2
https://github.com/llvm/llvm-project/commit/14a027b2b79b85f15dfa259c6b113bcf681d06a2
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
A llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
Log Message:
-----------
[X86][CodeGen] Support flags copy lowering for NDD ADC/SBB/RCL/RCR (#79280)
Commit: 8a4cb7b6077e51adfa87209869ab0ae83dc531a7
https://github.com/llvm/llvm-project/commit/8a4cb7b6077e51adfa87209869ab0ae83dc531a7
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
Log Message:
-----------
[X86][test] Add MRM7r/MRM7m entries in evex format enc/dec tests
Commit: f6290e0daf5aff7132cab097fb13aad8a20ad070
https://github.com/llvm/llvm-project/commit/f6290e0daf5aff7132cab097fb13aad8a20ad070
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M clang/test/CodeGen/attr-target-version.c
Log Message:
-----------
[NFC][FMV] Add tests to demonstrate feature priorities. (#79455)
Adds tests showing that we select function version according to the
highest feature priority. This will make the changes introduced by
#79316 more evident.
Commit: fb8eb4251ac0ac27ab0125caf1abe3dbb93732f4
https://github.com/llvm/llvm-project/commit/fb8eb4251ac0ac27ab0125caf1abe3dbb93732f4
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Conversion/ArmSMEToSCF/arm-sme-to-scf.mlir
Log Message:
-----------
[mlir][ArmSME] Fix loop bounds of masked loads/stores (#78983)
Previously, for masked tile loads/stores we directly used the dimension
size from the `vector.create_mask` operation as the upper bound of the
`scf.for` over the tile slices. This was not correct, as `create_mask`
allows operands to be greater than the size of the vector dimension, in
which case the for loop bounds should be clamped to the number of tile
slices.
Commit: 3ed98cb3de303c316c943da7d60b48472f7efdec
https://github.com/llvm/llvm-project/commit/3ed98cb3de303c316c943da7d60b48472f7efdec
Author: Matthias Springer <me at m-sp.org>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir][IR] Change `notifyBlockCreated` to `notifyBlockInserted` (#79472)
This change makes the callback consistent with
`notifyOperationInserted`: both now notify about IR insertion, not IR
creation. See also #78988.
This change also simplifies the dialect conversion: it is no longer
necessary to override the `inlineRegionBefore` method. All information
that is necessary for rollback is provided with the
`notifyBlockInserted` callback.
Commit: c23608b8d58bdeb0134d99168e6d0335da2c8366
https://github.com/llvm/llvm-project/commit/c23608b8d58bdeb0134d99168e6d0335da2c8366
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Function.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Don't pointlessly scan funcs for debug-info (#79327)
The utility functions this patch modifies are part of cleanly
transitioning from a context where we use dbg.value intrinsics to one
where we use DPValue objects to record debug-info, and back again.
However, this is a waste of time in non-debug builds (i.e. no -g on the
command line). We still have to call the function on all blocks though
to set the IsNewDbgInfoFormat flag.
To reduce the overhead of this, test whether there's any debug-info in
the function by checking whether the function has a DISubprogram, and
pass a flag down to the utility functions indicating whether they can
skip the scan.
It feels a bit dumb to me now that we're scanning and setting a flag in
a load of blocks when we don't have to -- however it's been really
valuable during development for working out where spurious dbg.value
intrinsics leak into a RemoveDIs context. Happily we'll be able to just
delete this flag entirely when RemoveDIs lands and sticks, and the
conversion routines will eventually be pushed down into the debug-info
autoupgrade path.
Commit: 402c84af05860f8f12f8571f74bd29053b791d64
https://github.com/llvm/llvm-project/commit/402c84af05860f8f12f8571f74bd29053b791d64
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-01-26 (Fri, 26 Jan 2024)
Changed paths:
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate-buildkite-pipeline-scheduled
M .github/new-prs-labeler.yml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/new-prs.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/version-check.py
M bolt/docs/BAT.md
M bolt/include/bolt/Profile/BoltAddressTranslation.h
M bolt/include/bolt/Rewrite/DWARFRewriter.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Profile/BoltAddressTranslation.cpp
M bolt/lib/Rewrite/DWARFRewriter.cpp
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-helper.s
A bolt/test/X86/Inputs/dwarf4-debug-line-offset-change-after-bolt-main.s
A bolt/test/X86/Inputs/dwarf5-debug-line-offset-change-after-bolt-main.s
M bolt/test/X86/bolt-address-translation.test
A bolt/test/X86/dwarf-debug-line-stmt-list-offset-change.test
A bolt/test/X86/dwarf4-override-comp-dir.test
A bolt/test/X86/dwarf5-override-comp-dir.test
M bolt/test/X86/reader-stale-yaml.test
M clang-tools-extra/clang-apply-replacements/lib/Tooling/ApplyReplacements.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.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/ChainedComparisonCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.h
M clang-tools-extra/clang-tidy/bugprone/EmptyCatchCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.h
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/misc/CoroutineHostileRAIICheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantCastingCheck.h
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
A clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.h
M clang-tools-extra/clang-tidy/utils/FixItHintUtils.h
M clang-tools-extra/clangd/CompileCommands.cpp
M clang-tools-extra/clangd/Diagnostics.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/ExpectedTypes.cpp
M clang-tools-extra/clangd/FS.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/BackgroundIndexStorage.cpp
M clang-tools-extra/clangd/xpc/cmake/modules/CreateClangdXPCFramework.cmake
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/chained-comparison.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-casting.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/include-cleaner/test/tool.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/basic.h
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file1.yml
A clang-tools-extra/test/clang-apply-replacements/Inputs/yml-basic/file2.yml
A clang-tools-extra/test/clang-apply-replacements/yml-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/external-file.h
M clang-tools-extra/test/clang-tidy/checkers/abseil/faster-strsplit-delimiter.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
A clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/readability-casting.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/coroutine-hostile-raii.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-casting.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
M clang/cmake/caches/PGO.cmake
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/ShadowCallStack.rst
M clang/docs/SourceBasedCodeCoverage.rst
M clang/docs/StandardCPlusPlusModules.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateArgumentVisitor.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
M clang/include/clang/Analysis/FlowSensitive/Transfer.h
M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.def
M clang/include/clang/Basic/Builtins.h
A clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
R clang/include/clang/Basic/BuiltinsBPF.def
A clang/include/clang/Basic/BuiltinsBPF.td
A clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsLoongArchBase.def
M clang/include/clang/Basic/BuiltinsLoongArchLASX.def
M clang/include/clang/Basic/BuiltinsLoongArchLSX.def
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CharInfo.h
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticCommonKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DirectoryEntry.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/ObjCRuntime.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/Types.def
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/ExtractAPI/DeclarationFragments.h
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/ExtractAPI/Serialization/SerializerBase.h
M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ScopeInfo.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/module.modulemap
M clang/lib/ARCMigrate/FileRemapper.cpp
M clang/lib/ARCMigrate/ObjCMT.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/AttrDocTable.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.cpp
M clang/lib/AST/Interp/ByteCodeExprGen.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
M clang/lib/Analysis/RetainSummaryManager.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/BPF.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CrossTU/CrossTranslationUnit.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.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/Cuda.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MinGW.h
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/API.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Format/WhitespaceManager.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/LogDiagnosticPrinter.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Frontend/TextDiagnosticBuffer.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/ia32intrin.h
M clang/lib/Headers/larchintrin.h
M clang/lib/Headers/lasxintrin.h
M clang/lib/Headers/lsxintrin.h
M clang/lib/Headers/sifive_vector.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCVVectorLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DebugIteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/ASTDiff/ASTDiff.cpp
M clang/lib/Tooling/CompilationDatabase.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/AST/Interp/complex.cpp
M clang/test/AST/ast-dump-coroutine.cpp
M clang/test/AST/ast-dump-using.cpp
M clang/test/Analysis/Inputs/system-header-simulator.h
M clang/test/Analysis/bstring.c
M clang/test/Analysis/call-invalidation.cpp
M clang/test/Analysis/errno-stdlibraryfunctions.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/stream-errno.c
M clang/test/Analysis/stream-error.c
M clang/test/Analysis/stream-note.c
M clang/test/Analysis/stream.c
M clang/test/Analysis/taint-tester.c
M clang/test/Analysis/uninit-vals.m
A clang/test/C/C2x/n2940.c
M clang/test/C/drs/dr3xx.c
M clang/test/CXX/drs/dr14xx.cpp
M clang/test/CXX/drs/dr18xx.cpp
M clang/test/CXX/drs/dr21xx.cpp
M clang/test/CXX/drs/dr23xx.cpp
M clang/test/CXX/drs/dr4xx.cpp
M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.res/temp.local/p6.cpp
M clang/test/ClangScanDeps/strip-codegen-args.m
A clang/test/CodeGen/LoongArch/builtin-dbl-approximate.c
A clang/test/CodeGen/LoongArch/builtin-flt-approximate.c
M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lasx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lasx/builtin-error.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate-alias.c
A clang/test/CodeGen/LoongArch/lsx/builtin-approximate.c
M clang/test/CodeGen/LoongArch/lsx/builtin-error.c
M clang/test/CodeGen/PowerPC/attr-target-ppc.c
M clang/test/CodeGen/PowerPC/builtins-ppc-pair-mma.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x-rv64.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/xsfvcp-x.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/xsfvcp-index-out-of-range.c
M clang/test/CodeGen/aarch64-ls64-inline-asm.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_cnt.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/aarch64-sme2-attrs.cpp
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_bmop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_clamp.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_cvtn.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_fp_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_frint.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_int_dots.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_ldr_str_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti2_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_luti4_lane_zt_x4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_max.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_maxnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_min.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_minnm.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mla.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlal.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlall.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mls.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mlsl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_mop.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_read.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_reinterpret_svcount_svbool.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sqdmulh.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_unpkx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vdot.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_qrshr.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_rshl.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_selx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_write.c
M clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_zero_zt.c
M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
M clang/test/CodeGen/alloc-size.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-acle-coproc.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
M clang/test/CodeGen/attr-riscv-rvv-vector-bits-types.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtins.c
M clang/test/CodeGen/callback_pthread_create.c
M clang/test/CodeGen/cleanup-destslot-simple.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/fat-lto-objects.c
M clang/test/CodeGen/function-attributes.c
M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
M clang/test/CodeGen/memtag-globals-asm.cpp
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/nofpclass.c
M clang/test/CodeGen/pragma-weak.c
A clang/test/CodeGen/smiths-complex-div.c
M clang/test/CodeGen/union-tbaa1.c
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenCXX/attr-target-clones-aarch64.cpp
M clang/test/CodeGenCXX/attr-target-version.cpp
M clang/test/CodeGenCXX/mangle-ms-templates.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp
M clang/test/CodeGenCXX/microsoft-abi-typeid.cpp
M clang/test/CodeGenCXX/new-array-init.cpp
M clang/test/CodeGenCXX/riscv-mangle-rvv-fixed-vectors.cpp
A clang/test/CodeGenCXX/template-arguments.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
A clang/test/CodeGenCXX/visibility-global-new-delete.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenObjC/arc-foreach.m
A clang/test/CodeGenObjC/gnustep2-direct-method.m
M clang/test/CodeGenObjCXX/arc-cxx11-init-list.mm
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12-wmma-w64.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w32.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-swmmac-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32-gfx10-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w32.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-wmma-w64.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn.cl
M clang/test/CoverageMapping/branch-constfolded.cpp
M clang/test/CoverageMapping/if.cpp
A clang/test/Driver/Inputs/nvptx-arch/nvptx_arch_sm_89_sm_80
M clang/test/Driver/arm-cortex-cpus-1.c
M clang/test/Driver/dxc_spirv.hlsl
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hipstdpar.c
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/nvptx-cuda-system-arch.c
A clang/test/Driver/opencl_aot_save_temps.cl
M clang/test/Driver/ppc-dependent-options.cpp
M clang/test/Driver/range.c
M clang/test/Driver/riscv-cpus.c
M clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c
A clang/test/Driver/unsupported-option-gpu.c
A clang/test/Driver/visibility-global-new-delete.cl
M clang/test/Driver/x86-target-features.c
M clang/test/ExtractAPI/typedef.c
A clang/test/ExtractAPI/union.c
A clang/test/Format/dump-config-objc-stdin.m
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Import/attr/Inputs/S.cpp
M clang/test/Import/attr/test.cpp
M clang/test/Index/Core/designated-inits.c
M clang/test/Index/Core/external-source-symbol-attr-cxx.cpp
M clang/test/Index/Core/external-source-symbol-attr.m
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/Core/index-instantiated-source.cpp
M clang/test/Index/Core/index-source-invalid-name.cpp
M clang/test/Index/Core/index-source.cpp
M clang/test/Index/Core/index-source.m
M clang/test/Index/Core/index-source.mm
M clang/test/Index/Core/index-subkinds.m
M clang/test/Index/Core/index-with-module.m
A clang/test/Index/USR/structural-value-tpl-arg.cpp
M clang/test/Index/attributes.c
M clang/test/Index/ms-property.cpp
M clang/test/Index/using_if_exists.cpp
A clang/test/Interpreter/cxx20-modules.cppm
M clang/test/Interpreter/disambiguate-decl-stmt.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/test/Lexer/has_extension_cxx.cpp
M clang/test/Misc/target-invalid-cpu-note.c
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/pr60085.cppm
A clang/test/Modules/pr78830.cppm
M clang/test/OpenMP/bug57757.cpp
A clang/test/OpenMP/force-usm.c
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/ucn-pp-identifier.c
M clang/test/Preprocessor/x86_target_features.c
M clang/test/Profile/c-general.c
A clang/test/Profile/c-mcdc-logicalop-ternary.c
M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
M clang/test/Sema/aarch64-sme-func-attrs-without-target-feature.cpp
M clang/test/Sema/aarch64-sme-func-attrs.c
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
A clang/test/Sema/attr-lifetimebound-no-crash.cpp
M clang/test/Sema/attr-print.c
M clang/test/Sema/attr-riscv-rvv-vector-bits.c
M clang/test/Sema/attr-target-clones-aarch64.c
A clang/test/Sema/incorrect_pure.cpp
A clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
A clang/test/Sema/warn-infinity-nan-disabled-win.cpp
M clang/test/SemaCXX/attr-print.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/cxx0x-cursory-default-delete.cpp
M clang/test/SemaCXX/cxx11-attr-print.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
M clang/test/SemaCXX/overloaded-operator.cpp
M clang/test/SemaCXX/warn-bool-conversion.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-warning-data-invocation.cpp
M clang/test/SemaCXX/warn-unused-value-cxx11.cpp
A clang/test/SemaTemplate/default-parm-init.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx1z.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-repl/CMakeLists.txt
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CMakeLists.txt
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
M clang/unittests/Analysis/FlowSensitive/LoggerTest.cpp
M clang/unittests/Analysis/FlowSensitive/SignAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.cpp
M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Basic/FileManagerTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/utils/TableGen/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
A clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/MveEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/CMakeLists.txt
A compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/sme-libc-routines.c
M compiler-rt/lib/builtins/cpu_model/aarch64.c
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/apple.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M compiler-rt/lib/hwasan/hwasan_report.cpp
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_hash.h
M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_bitvector_test.cpp
M compiler-rt/lib/tsan/rtl/tsan_dispatch_defs.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/alloca_loop_unpoisoning.cpp
A compiler-rt/test/builtins/Unit/sme-string-test.cpp
M compiler-rt/test/fuzzer/lit.cfg.py
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/profile/Linux/instrprof-weak-symbol.c
A compiler-rt/test/profile/instrprof-api.c
R compiler-rt/test/sanitizer_common/TestCases/FreeBSD/hexdump.cc
A compiler-rt/test/sanitizer_common/TestCases/Linux/allocator_returns_null_std.cpp
M compiler-rt/test/tsan/java_finalizer2.cpp
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-gfx12-wmma-w64.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w32.cl
A cross-project-tests/amdgpu/builtins-amdgcn-swmmac-w64.cl
M flang/docs/Directives.md
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/OpenMP.h
R flang/include/flang/Optimizer/Builder/Array.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Support/Utils.h
M flang/include/flang/Runtime/descriptor.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/TextDiagnosticBuffer.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/DirectivesCommon.h
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP.cpp
M flang/lib/Optimizer/Builder/BoxValue.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/iso_c_binding.f90
M flang/module/iso_fortran_env.f90
M flang/runtime/assign.cpp
M flang/runtime/descriptor.cpp
M flang/runtime/edit-output.cpp
M flang/runtime/format-implementation.h
M flang/runtime/format.h
M flang/runtime/namelist.cpp
M flang/runtime/numeric.cpp
M flang/runtime/pointer.cpp
M flang/runtime/stat.cpp
M flang/runtime/stat.h
M flang/test/Driver/driver-help-hidden.f90
M flang/test/Driver/driver-help.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Evaluate/bug78932.f90
M flang/test/Evaluate/folding02.f90
M flang/test/Fir/boxproc-2.fir
A flang/test/HLFIR/minloc-elemental.fir
M flang/test/HLFIR/no-block-merging.fir
A flang/test/Lower/HLFIR/assumed-size-cray-pointee.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/Intrinsics/c_loc.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/lbound.f90
M flang/test/Lower/Intrinsics/ubound.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop-exit.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-reduction.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Lower/OpenACC/locations.f90
M flang/test/Lower/OpenMP/FIR/sections.f90
A flang/test/Lower/OpenMP/infinite-loop-in-construct.f90
M flang/test/Lower/OpenMP/sections.f90
A flang/test/Lower/OpenMP/threadprivate-default-clause.f90
A flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/array-expression-assumed-size.f90
M flang/test/Lower/cray-pointer.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
A flang/test/Preprocessing/pp134.F90
M flang/test/Semantics/c_f_pointer.f90
A flang/test/Semantics/declarations08.f90
M flang/test/Semantics/definable01.f90
M flang/test/Semantics/ignore_tkr01.f90
A flang/test/Semantics/ignore_tkr03.f90
A flang/test/Semantics/modfile62.f90
A flang/test/Semantics/present01.f90
M flang/test/Semantics/resolve107.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
M flang/test/Semantics/symbol27.f90
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/tools/f18/flang-to-external-fc.in
M flang/unittests/Runtime/NumericalFormatTest.cpp
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/headers.txt
M libc/config/darwin/x86_64/headers.txt
M libc/config/gpu/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/app.h
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/riscv/headers.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/docs/dev/printf_behavior.rst
A libc/docs/gpu/rpc-diagram.svg
M libc/docs/gpu/rpc.rst
M libc/docs/gpu/testing.rst
M libc/docs/math/index.rst
M libc/fuzzing/stdlib/strtofloat_fuzz.cpp
M libc/include/CMakeLists.txt
A libc/include/limits.h.def
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/float-macros.h
A libc/include/llvm-libc-macros/limits-macros.h
M libc/include/llvm-libc-macros/sys-queue-macros.h
M libc/lib/CMakeLists.txt
M libc/spec/linux.td
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/CMakeLists.txt
M libc/src/__support/CPP/limits.h
M libc/src/__support/FPUtil/BasicOperations.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/ManipulationFunctions.h
M libc/src/__support/FPUtil/NearestIntegerOperations.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/arm/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/except_value_utils.h
M libc/src/__support/FPUtil/generic/FMA.h
M libc/src/__support/FPUtil/generic/FMod.h
M libc/src/__support/FPUtil/generic/sqrt.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/riscv/FMA.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/UInt.h
M libc/src/__support/float_to_string.h
M libc/src/__support/math_extras.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/__support/threads/linux/CMakeLists.txt
M libc/src/__support/threads/linux/callonce.cpp
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaxf128.h
A libc/src/math/fminf128.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acoshf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/coshf.cpp
M libc/src/math/generic/exp.cpp
M libc/src/math/generic/exp10.cpp
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expm1.cpp
M libc/src/math/generic/expm1f.cpp
A libc/src/math/generic/fmaxf128.cpp
A libc/src/math/generic/fminf128.cpp
M libc/src/math/generic/hypotf.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/log1pf.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/powf.cpp
M libc/src/math/generic/range_reduction_fma.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinhf.cpp
A libc/src/math/generic/sqrtf128.cpp
M libc/src/math/generic/tanf.cpp
A libc/src/math/sqrtf128.h
M libc/src/sched/linux/CMakeLists.txt
M libc/src/spawn/linux/CMakeLists.txt
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/auxv/CMakeLists.txt
A libc/src/sys/auxv/getauxval.h
A libc/src/sys/auxv/linux/CMakeLists.txt
A libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/mman/CMakeLists.txt
M libc/src/sys/mman/linux/CMakeLists.txt
A libc/src/sys/mman/linux/mincore.cpp
A libc/src/sys/mman/mincore.h
R libc/src/threads/linux/call_once.cpp
R libc/src/threads/linux/thread_start_args.h.def
M libc/src/time/CMakeLists.txt
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.cpp
M libc/src/unistd/linux/CMakeLists.txt
M libc/src/unistd/linux/sysconf.cpp
M libc/startup/linux/do_start.cpp
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/src/__support/FPUtil/fpbits_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CeilTest.h
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FAbsTest.h
M libc/test/src/math/FDimTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FloorTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/ILogbTest.h
M libc/test/src/math/LdExpTest.h
M libc/test/src/math/LogbTest.h
M libc/test/src/math/ModfTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/RIntTest.h
M libc/test/src/math/RemQuoTest.h
M libc/test/src/math/RoundTest.h
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/TruncTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cos_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/differential_testing/BinaryOpSingleOutputDiff.h
M libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
M libc/test/src/math/erff_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/hypotf_test.cpp
M libc/test/src/math/exhaustive/sincosf_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log10f_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/logf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FDimTest.h
M libc/test/src/math/smoke/FMaxTest.h
M libc/test/src/math/smoke/FMinTest.h
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/HypotTest.h
M libc/test/src/math/smoke/ILogbTest.h
M libc/test/src/math/smoke/LdExpTest.h
M libc/test/src/math/smoke/LogbTest.h
M libc/test/src/math/smoke/ModfTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/RIntTest.h
M libc/test/src/math/smoke/RemQuoTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
A libc/test/src/math/smoke/fmaxf128_test.cpp
A libc/test/src/math/smoke/fminf128_test.cpp
A libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
A libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/tan_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdlib/AtoiTest.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/auxv/CMakeLists.txt
A libc/test/src/sys/auxv/linux/CMakeLists.txt
A libc/test/src/sys/auxv/linux/getauxval_test.cpp
M libc/test/src/sys/mman/linux/CMakeLists.txt
A libc/test/src/sys/mman/linux/mincore_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/clock_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libc/test/src/time/time_test.cpp
M libc/utils/MPFRWrapper/CMakeLists.txt
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libclc/CMakeLists.txt
M libcxx/.clang-format
M libcxx/.clang-tidy
M libcxx/CMakeLists.txt
M libcxx/benchmarks/CMakeLists.txt
A libcxx/benchmarks/exception_ptr.bench.cpp
M libcxx/cmake/caches/Generic-cxx20.cmake
M libcxx/cmake/caches/Generic-cxx23.cmake
M libcxx/cmake/caches/Generic-cxx26.cmake
M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
M libcxx/cmake/caches/Generic-no-exceptions.cmake
M libcxx/cmake/caches/Generic-no-experimental.cmake
M libcxx/cmake/caches/Generic-no-filesystem.cmake
M libcxx/cmake/caches/Generic-no-localization.cmake
M libcxx/cmake/caches/Generic-no-random_device.cmake
M libcxx/cmake/caches/Generic-no-threads.cmake
M libcxx/cmake/caches/Generic-no-tzdb.cmake
M libcxx/cmake/caches/Generic-no-unicode.cmake
M libcxx/cmake/caches/Generic-no-wide-characters.cmake
M libcxx/docs/BuildingLibcxx.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Hardening.rst
M libcxx/docs/Modules.rst
A libcxx/docs/ReleaseNotes.rst
M libcxx/docs/ReleaseNotes/18.rst
A libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseProcedure.rst
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/Parallelism.rst
M libcxx/docs/Status/ParallelismProjects.csv
M libcxx/docs/Status/Ranges.rst
M libcxx/docs/Status/SpaceshipPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/clamp.h
M libcxx/include/__algorithm/comp_ref_type.h
M libcxx/include/__algorithm/copy_move_common.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/equal_range.h
M libcxx/include/__algorithm/fold.h
M libcxx/include/__algorithm/in_found_result.h
M libcxx/include/__algorithm/in_fun_result.h
M libcxx/include/__algorithm/in_in_out_result.h
M libcxx/include/__algorithm/in_in_result.h
M libcxx/include/__algorithm/in_out_out_result.h
M libcxx/include/__algorithm/includes.h
M libcxx/include/__algorithm/next_permutation.h
M libcxx/include/__algorithm/nth_element.h
M libcxx/include/__algorithm/partial_sort.h
M libcxx/include/__algorithm/partial_sort_copy.h
M libcxx/include/__algorithm/partition.h
M libcxx/include/__algorithm/prev_permutation.h
M libcxx/include/__algorithm/pstl_any_all_none_of.h
M libcxx/include/__algorithm/pstl_backends/cpu_backends/transform_reduce.h
M libcxx/include/__algorithm/pstl_copy.h
M libcxx/include/__algorithm/pstl_count.h
M libcxx/include/__algorithm/pstl_equal.h
M libcxx/include/__algorithm/pstl_fill.h
M libcxx/include/__algorithm/pstl_find.h
M libcxx/include/__algorithm/pstl_for_each.h
M libcxx/include/__algorithm/pstl_generate.h
M libcxx/include/__algorithm/pstl_is_partitioned.h
M libcxx/include/__algorithm/pstl_merge.h
M libcxx/include/__algorithm/pstl_move.h
M libcxx/include/__algorithm/pstl_replace.h
M libcxx/include/__algorithm/pstl_rotate_copy.h
M libcxx/include/__algorithm/pstl_sort.h
M libcxx/include/__algorithm/pstl_stable_sort.h
M libcxx/include/__algorithm/pstl_transform.h
M libcxx/include/__algorithm/ranges_all_of.h
M libcxx/include/__algorithm/ranges_any_of.h
M libcxx/include/__algorithm/ranges_binary_search.h
M libcxx/include/__algorithm/ranges_clamp.h
M libcxx/include/__algorithm/ranges_contains.h
M libcxx/include/__algorithm/ranges_copy.h
M libcxx/include/__algorithm/ranges_copy_backward.h
M libcxx/include/__algorithm/ranges_copy_if.h
M libcxx/include/__algorithm/ranges_copy_n.h
M libcxx/include/__algorithm/ranges_count.h
M libcxx/include/__algorithm/ranges_count_if.h
M libcxx/include/__algorithm/ranges_ends_with.h
M libcxx/include/__algorithm/ranges_equal.h
M libcxx/include/__algorithm/ranges_equal_range.h
M libcxx/include/__algorithm/ranges_fill.h
M libcxx/include/__algorithm/ranges_fill_n.h
M libcxx/include/__algorithm/ranges_find.h
M libcxx/include/__algorithm/ranges_find_end.h
M libcxx/include/__algorithm/ranges_find_first_of.h
M libcxx/include/__algorithm/ranges_find_if.h
M libcxx/include/__algorithm/ranges_find_if_not.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__algorithm/ranges_generate.h
M libcxx/include/__algorithm/ranges_generate_n.h
M libcxx/include/__algorithm/ranges_includes.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_is_heap.h
M libcxx/include/__algorithm/ranges_is_heap_until.h
M libcxx/include/__algorithm/ranges_is_partitioned.h
M libcxx/include/__algorithm/ranges_is_permutation.h
M libcxx/include/__algorithm/ranges_is_sorted.h
M libcxx/include/__algorithm/ranges_is_sorted_until.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/ranges_lexicographical_compare.h
M libcxx/include/__algorithm/ranges_lower_bound.h
M libcxx/include/__algorithm/ranges_make_heap.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_merge.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__algorithm/ranges_minmax_element.h
M libcxx/include/__algorithm/ranges_mismatch.h
M libcxx/include/__algorithm/ranges_move.h
M libcxx/include/__algorithm/ranges_move_backward.h
M libcxx/include/__algorithm/ranges_next_permutation.h
M libcxx/include/__algorithm/ranges_none_of.h
M libcxx/include/__algorithm/ranges_nth_element.h
M libcxx/include/__algorithm/ranges_partial_sort.h
M libcxx/include/__algorithm/ranges_partial_sort_copy.h
M libcxx/include/__algorithm/ranges_partition.h
M libcxx/include/__algorithm/ranges_partition_copy.h
M libcxx/include/__algorithm/ranges_partition_point.h
M libcxx/include/__algorithm/ranges_pop_heap.h
M libcxx/include/__algorithm/ranges_prev_permutation.h
M libcxx/include/__algorithm/ranges_push_heap.h
M libcxx/include/__algorithm/ranges_remove.h
M libcxx/include/__algorithm/ranges_remove_copy.h
M libcxx/include/__algorithm/ranges_remove_copy_if.h
M libcxx/include/__algorithm/ranges_remove_if.h
M libcxx/include/__algorithm/ranges_replace.h
M libcxx/include/__algorithm/ranges_replace_copy.h
M libcxx/include/__algorithm/ranges_replace_copy_if.h
M libcxx/include/__algorithm/ranges_replace_if.h
M libcxx/include/__algorithm/ranges_reverse_copy.h
M libcxx/include/__algorithm/ranges_rotate.h
M libcxx/include/__algorithm/ranges_rotate_copy.h
M libcxx/include/__algorithm/ranges_sample.h
M libcxx/include/__algorithm/ranges_search_n.h
M libcxx/include/__algorithm/ranges_set_difference.h
M libcxx/include/__algorithm/ranges_set_intersection.h
M libcxx/include/__algorithm/ranges_set_symmetric_difference.h
M libcxx/include/__algorithm/ranges_set_union.h
M libcxx/include/__algorithm/ranges_shuffle.h
M libcxx/include/__algorithm/ranges_sort.h
M libcxx/include/__algorithm/ranges_sort_heap.h
M libcxx/include/__algorithm/ranges_stable_partition.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/ranges_starts_with.h
M libcxx/include/__algorithm/ranges_swap_ranges.h
M libcxx/include/__algorithm/ranges_transform.h
M libcxx/include/__algorithm/ranges_unique.h
M libcxx/include/__algorithm/ranges_unique_copy.h
M libcxx/include/__algorithm/remove.h
M libcxx/include/__algorithm/remove_if.h
M libcxx/include/__algorithm/reverse.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__algorithm/set_difference.h
M libcxx/include/__algorithm/set_intersection.h
M libcxx/include/__algorithm/set_symmetric_difference.h
M libcxx/include/__algorithm/set_union.h
M libcxx/include/__algorithm/shift_left.h
M libcxx/include/__algorithm/shift_right.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/sort_heap.h
M libcxx/include/__algorithm/stable_partition.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__algorithm/swap_ranges.h
M libcxx/include/__algorithm/three_way_comp_ref_type.h
M libcxx/include/__algorithm/unique.h
M libcxx/include/__algorithm/unique_copy.h
M libcxx/include/__algorithm/unwrap_iter.h
M libcxx/include/__algorithm/unwrap_range.h
M libcxx/include/__atomic/is_always_lock_free.h
M libcxx/include/__availability
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__expected/expected.h
M libcxx/include/__filesystem/directory_iterator.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__filesystem/recursive_directory_iterator.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/write_escaped.h
M libcxx/include/__functional/function.h
M libcxx/include/__hash_table
M libcxx/include/__iterator/cpp17_iterator_concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/iterator_with_data.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/assume_aligned.h
M libcxx/include/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/pstl_reduce.h
M libcxx/include/__numeric/pstl_transform_reduce.h
M libcxx/include/__numeric/reduce.h
A libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__numeric/transform_reduce.h
M libcxx/include/__ranges/counted.h
M libcxx/include/__ranges/drop_while_view.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/filter_view.h
M libcxx/include/__ranges/iota_view.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__ranges/lazy_split_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/single_view.h
M libcxx/include/__ranges/split_view.h
M libcxx/include/__ranges/take_while_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__thread/jthread.h
M libcxx/include/__thread/thread.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/chrono
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/experimental/__simd/scalar.h
M libcxx/include/experimental/__simd/simd.h
M libcxx/include/experimental/__simd/simd_mask.h
M libcxx/include/experimental/__simd/vec_ext.h
M libcxx/include/experimental/iterator
M libcxx/include/future
M libcxx/include/ios
M libcxx/include/latch
M libcxx/include/libcxx.imp
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/memory
M libcxx/include/module.modulemap.in
M libcxx/include/new
M libcxx/include/numeric
M libcxx/include/ostream
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/typeinfo
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/CMakeLists.txt
R libcxx/modules/CMakeLists.txt.in
A libcxx/modules/modules.json.in
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.compat/cstdlib.inc
M libcxx/modules/std.compat/ctime.inc
M libcxx/modules/std.cppm.in
M libcxx/modules/std/ctime.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/CMakeLists.txt
M libcxx/src/filesystem/operations.cpp
A libcxx/src/include/overridable_function.h
M libcxx/src/include/to_chars_floating_point.h
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/new.cpp
M libcxx/src/support/runtime/exception_pointer_cxxabi.ipp
M libcxx/src/support/runtime/exception_pointer_glibcxx.ipp
M libcxx/src/support/runtime/exception_pointer_unimplemented.ipp
M libcxx/test/CMakeLists.txt
M libcxx/test/configs/cmake-bridge.cfg.in
R libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.oob.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/assert.sort.invalid_comparator.pass.cpp
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/bad_comparator_values.h
A libcxx/test/libcxx/algorithms/alg.sorting/assert.sort.invalid_comparator/invalid_comparator_utilities.h
R libcxx/test/libcxx/algorithms/alg.sorting/bad_comparator_values.h
M libcxx/test/libcxx/assertions/modes/enabling_assertions_enables_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_extensive_mode.pass.cpp
M libcxx/test/libcxx/assertions/modes/override_with_fast_mode.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
A libcxx/test/libcxx/language.support/support.dynamic/assert.nothrow_new_not_overridden_fno_exceptions.pass.cpp
A libcxx/test/libcxx/language.support/support.dynamic/new_dont_return_nullptr.pass.cpp
M libcxx/test/libcxx/module_std.gen.py
M libcxx/test/libcxx/module_std_compat.gen.py
A libcxx/test/libcxx/selftest/modules/no-modules.sh.cpp
A libcxx/test/libcxx/selftest/modules/std-and-std.compat-module.sh.cpp
A libcxx/test/libcxx/selftest/modules/std-module.sh.cpp
A libcxx/test/libcxx/selftest/modules/std.compat-module.sh.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
A libcxx/test/libcxx/utilities/memory/ptr.align/assume_aligned.const_eval.verify.cpp
A libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/assert.deallocate.pass.cpp
R libcxx/test/libcxx/utilities/utility/mem.res/mem.poly.allocator.class/mem.poly.allocator.mem/debug.deallocate.pass.cpp
R libcxx/test/lit.local.cfg
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/array.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.assert.pass.cpp
M libcxx/test/std/containers/views/views.span/span.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/views/views.span/span.cons/initializer_list.verify.cpp
M libcxx/test/std/containers/views/views.span/span.cons/iterator_len.verify.cpp
M libcxx/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
M libcxx/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
A libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp
A libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_load.pass.cpp
M libcxx/test/std/experimental/simd/test_utils.h
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.replace.indirect.pass.cpp
A libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_nothrow.replace.indirect.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/modules/std.compat.pass.cpp
M libcxx/test/std/modules/std.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/re/re.const/re.matchflag/match_not_eol.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
A libcxx/test/std/thread/thread.condition/thread.condition.condvarany/helpers.h
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_token_pred.pass.cpp
M libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_token_pred.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.local/ostream.verify.cpp
R libcxx/test/std/time/time.clock/time.clock.system/ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_date.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
A libcxx/test/std/utilities/any/any.nonmembers/any.cast/void.verify.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.U.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/assign/emplace.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.copy.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/assign/assign.unexpected.move.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/swap/member.swap.pass.cpp
M libcxx/test/std/utilities/expected/types.h
A libcxx/test/std/utilities/memory/default.allocator/allocator_types.deprecated_in_cxx23.verify.cpp
M libcxx/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
A libcxx/test/std/utilities/memory/default.allocator/allocator_types.removed_in_cxx26.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/robust_against_adl.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit.pass.cpp
A libcxx/test/std/utilities/variant/variant.visit.member/visit_return_type.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/count_new.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/generate_libcxx_cppm_in.py
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/config.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/format.py
M libcxx/utils/libcxx/test/modules.py
M libcxxabi/include/cxxabi.h
M libcxxabi/lib/exceptions.exp
M libcxxabi/src/cxa_exception.cpp
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/src/stdlib_new_delete.cpp
M libunwind/docs/index.rst
M lld/COFF/Driver.cpp
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/PDB.cpp
M lld/COFF/Writer.cpp
M lld/Common/Args.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/Mips.cpp
M lld/ELF/Arch/PPC64.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Arch/X86_64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/DriverUtils.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/InputSection.cpp
M lld/ELF/InputSection.h
M lld/ELF/LTO.cpp
M lld/ELF/LTO.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/MapFile.cpp
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptLexer.h
M lld/ELF/ScriptParser.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Target.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/Arch/ARM64Common.h
M lld/MachO/Arch/ARM64_32.cpp
M lld/MachO/Arch/X86_64.cpp
M lld/MachO/Driver.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Target.h
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/Inputs/lto-directives.obj
A lld/test/COFF/cfguard-weak-undef.s
A lld/test/COFF/lto-directives.test
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/common-page.s
M lld/test/ELF/cref.s
M lld/test/ELF/dead-reloc-in-nonalloc.s
M lld/test/ELF/driver.test
M lld/test/ELF/linkerscript/symbol-ordering-file2.s
M lld/test/ELF/lto/amdgcn-oses.ll
M lld/test/ELF/lto/cache.ll
M lld/test/ELF/lto/comdat-mixed-archive.test
M lld/test/ELF/lto/defsym.ll
M lld/test/ELF/lto/emit-asm.ll
M lld/test/ELF/lto/exclude-libs-libcall.ll
M lld/test/ELF/lto/ltopasses-custom.ll
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel-internalize.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/lto/pseudo-probe-lto.ll
M lld/test/ELF/lto/save-temps-eq.ll
M lld/test/ELF/lto/thin-archivecollision.ll
M lld/test/ELF/lto/thinlto-emit-imports.ll
M lld/test/ELF/lto/thinlto-emit-index.ll
R lld/test/ELF/lto/thinlto-index-file.ll
M lld/test/ELF/lto/thinlto-index-only.ll
R lld/test/ELF/lto/thinlto-obj-path.ll
M lld/test/ELF/lto/thinlto.ll
A lld/test/ELF/riscv-tlsdesc-gd-mixed.s
A lld/test/ELF/riscv-tlsdesc-relax.s
A lld/test/ELF/riscv-tlsdesc.s
M lld/test/ELF/x86-64-gotpc-no-relax-err.s
M lld/test/ELF/x86-64-zrel-zrela.s
A lld/test/MachO/arm64-objc-stubs-dyn.s
M lld/test/MachO/arm64-objc-stubs.s
A lld/test/MachO/link-csu-object.s
M lld/test/MachO/x86-64-objc-stubs.s
A lld/test/wasm/Inputs/start-lib1.s
A lld/test/wasm/Inputs/start-lib2.s
M lld/test/wasm/signature-mismatch.s
A lld/test/wasm/start-lib.s
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/Options.td
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.h
M lld/wasm/WriterUtils.cpp
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/Breakpoint/BreakpointIDList.h
M lldb/include/lldb/Breakpoint/Watchpoint.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
R lldb/include/lldb/Breakpoint/WatchpointResourceList.h
M lldb/include/lldb/Core/Address.h
M lldb/include/lldb/Symbol/Symbol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Utility/Broadcaster.h
M lldb/include/lldb/Utility/Stream.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Breakpoint/BreakpointIDList.cpp
M lldb/source/Breakpoint/BreakpointList.cpp
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/Watchpoint.cpp
M lldb/source/Breakpoint/WatchpointList.cpp
M lldb/source/Breakpoint/WatchpointResource.cpp
R lldb/source/Breakpoint/WatchpointResourceList.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfodProperties.td
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Symbol.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Utility/Broadcaster.cpp
M lldb/source/Utility/Stream.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSDate.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/main.cpp
M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
M llvm/CMakeLists.txt
M llvm/cmake/modules/FindFFI.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/Atomics.rst
M llvm/docs/CommandGuide/llvm-profdata.rst
M llvm/docs/CoverageMappingFormat.rst
M llvm/docs/FatLTO.rst
M llvm/docs/GitHub.rst
M llvm/docs/LangRef.rst
M llvm/docs/Passes.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.rst
A llvm/docs/RemoveDIsDebugInfo.md
M llvm/docs/TableGen/BackEnds.rst
M llvm/docs/TestingGuide.rst
M llvm/docs/UserGuides.rst
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/FunctionExtras.h
M llvm/include/llvm/ADT/SetVector.h
M llvm/include/llvm/ADT/SmallVector.h
M llvm/include/llvm/ADT/StringExtras.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
M llvm/include/llvm/Analysis/Loads.h
M llvm/include/llvm/Analysis/RegionInfoImpl.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/Bitcode/BitcodeWriterPass.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
R llvm/include/llvm/CodeGen/CodeGenPassBuilder.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/CostTable.h
M llvm/include/llvm/CodeGen/FastISel.h
A llvm/include/llvm/CodeGen/FreeMachineFunction.h
M llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
M llvm/include/llvm/CodeGen/GlobalISel/LegacyLegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/LiveInterval.h
R llvm/include/llvm/CodeGen/LowLevelType.h
M llvm/include/llvm/CodeGen/LowLevelTypeUtils.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineOutliner.h
M llvm/include/llvm/CodeGen/MachinePassManager.h
R llvm/include/llvm/CodeGen/MachinePassRegistry.def
M llvm/include/llvm/CodeGen/MachinePipeliner.h
R llvm/include/llvm/CodeGen/MachineValueType.h
M llvm/include/llvm/CodeGen/RegisterBankInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetCallingConv.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetPassConfig.h
M llvm/include/llvm/CodeGen/ValueTypes.h
A llvm/include/llvm/CodeGenTypes/LowLevelType.h
A llvm/include/llvm/CodeGenTypes/MachineValueType.h
M llvm/include/llvm/DWARFLinker/AddressesMap.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch32.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/ExecutionEngine/RuntimeDyldChecker.h
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/CallingConv.h
M llvm/include/llvm/IR/DebugInfo.h
M llvm/include/llvm/IR/DebugProgramInstruction.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsLoongArch.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/IR/IntrinsicsRISCVXsf.td
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/include/llvm/IR/ProfileSummary.h
M llvm/include/llvm/IR/VPIntrinsics.def
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/Object/MachO.h
M llvm/include/llvm/Object/Wasm.h
A llvm/include/llvm/Passes/CodeGenPassBuilder.h
A llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/SampleProf.h
M llvm/include/llvm/Support/AMDGPUMetadata.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/JSON.h
M llvm/include/llvm/Support/TargetOpcodes.def
M llvm/include/llvm/Support/VirtualFileSystem.h
M llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/TargetInstrPredicate.td
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetPfmCounters.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/EmbedBitcodePass.h
M llvm/include/llvm/Transforms/Instrumentation/CGProfile.h
M llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
M llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InlineOrder.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ReplayInlineAdvisor.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CMakeLists.txt
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CallBrPrepare.cpp
R llvm/lib/CodeGen/CodeGenPassBuilder.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
A llvm/lib/CodeGen/FreeMachineFunction.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
R llvm/lib/CodeGen/LowLevelType.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePassManager.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PatchableFunction.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
A llvm/lib/CodeGenTypes/CMakeLists.txt
A llvm/lib/CodeGenTypes/LowLevelType.cpp
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
M llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/ExecutionEngine.cpp
M llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventsWrapper.h
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch32.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch32.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h
M llvm/lib/Frontend/Offloading/Utility.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugProgramInstruction.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/LineEditor/LineEditor.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/ObjCopy/CommonConfig.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/COFFYAML.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/CodeGenPassBuilder.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Passes/StandardInstrumentations.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S
M llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/lib/Support/SmallVector.cpp
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/Support/raw_socket_stream.cpp
M llvm/lib/TableGen/JSONBackend.cpp
M llvm/lib/Target/AArch64/AArch64.h
M llvm/lib/Target/AArch64/AArch64.td
A llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CallingConvention.h
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64GlobalsTagging.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.h
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/SMEABIPass.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUImageIntrinsicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.h
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
M llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VINTERPInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARM/ARM.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMCallLowering.cpp
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArch.td
M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
M llvm/lib/Target/M68k/M68kMachineFunction.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsFastISel.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsOptimizePICCall.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoA.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
R llvm/lib/Target/RISCV/RISCVMacroFusion.cpp
R llvm/lib/Target/RISCV/RISCVMacroFusion.h
A llvm/lib/Target/RISCV/RISCVMacroFusion.td
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h
M llvm/lib/Target/WebAssembly/Utils/WebAssemblyTypeUtilities.h
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/GISel/X86CallLowering.cpp
M llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/lib/Target/X86/X86CodeGenPassBuilder.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/lib/Target/X86/X86InstrCompiler.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86InstrKL.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86InstrPredicates.td
M llvm/lib/Target/X86/X86InstrRAOINT.td
M llvm/lib/Target/X86/X86InstrShiftRotate.td
M llvm/lib/Target/X86/X86InstrSystem.td
M llvm/lib/Target/X86/X86InstrUtils.td
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86LowerTileCopy.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86PfmCounters.td
M llvm/lib/Target/X86/X86TargetMachine.h
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/EmbedBitcodePass.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/CGProfile.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/FlattenCFG.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerInvoke.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Utils/NameAnonGlobals.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/WindowsDriver/MSVCPaths.cpp
M llvm/test/Analysis/BasicAA/featuretest.ll
M llvm/test/Analysis/CostModel/PowerPC/insert_extract.ll
M llvm/test/Analysis/CostModel/PowerPC/load_store.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-add.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-and.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-fadd.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-or.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-xor.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
A llvm/test/Analysis/LoopAccessAnalysis/noalias-scope-decl.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/CodeGen/AArch64/GlobalISel/combine-shift-of-shifted-dbg-value-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-cpp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-dilocation.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-extract-used-by-dbg.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
A llvm/test/CodeGen/AArch64/aarch64-combine-add-zext.ll
M llvm/test/CodeGen/AArch64/arm64-csel.ll
M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
M llvm/test/CodeGen/AArch64/arm64-vadd.ll
M llvm/test/CodeGen/AArch64/arm64ec-dllimport.ll
A llvm/test/CodeGen/AArch64/arm64ec-entry-thunks-local-linkage.ll
A llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
A llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-reservedregs.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/avoid-pre-trunc.ll
A llvm/test/CodeGen/AArch64/blr-bti-preserves-operands.mir
R llvm/test/CodeGen/AArch64/blr-bti-preserves-regmask.mir
M llvm/test/CodeGen/AArch64/callbr-prepare.ll
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
M llvm/test/CodeGen/AArch64/dp1.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/icmp.ll
M llvm/test/CodeGen/AArch64/neon-addlv.ll
M llvm/test/CodeGen/AArch64/nonlazybind.ll
M llvm/test/CodeGen/AArch64/popcount.ll
A llvm/test/CodeGen/AArch64/pr79100.ll
M llvm/test/CodeGen/AArch64/selectopt.ll
M llvm/test/CodeGen/AArch64/sext.ll
A llvm/test/CodeGen/AArch64/shift.ll
A llvm/test/CodeGen/AArch64/sme-zt0-state.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-cvt.ll
M llvm/test/CodeGen/AArch64/stack-protector-target.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/win-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-mad_64_32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/wmma-gfx12-w64.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
M llvm/test/CodeGen/AMDGPU/codegen-internal-only-func.ll
M llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
M llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i32_system.ll
M llvm/test/CodeGen/AMDGPU/global_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.tr-w64.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.gfx12.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-hsa.ll
A llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
R llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-syncscope.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-store-infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
M llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
M llvm/test/CodeGen/AMDGPU/s-getpc-b64-remat.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
M llvm/test/CodeGen/AMDGPU/sibling-call.ll
M llvm/test/CodeGen/AMDGPU/spill-sgpr-csr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
M llvm/test/CodeGen/AMDGPU/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-any.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-off.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-all-on.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-off-2.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-1.ll
M llvm/test/CodeGen/AMDGPU/tid-mul-func-xnack-any-on-2.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-not-supported.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-one-func-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
M llvm/test/CodeGen/AMDGPU/vcmpx-permlane-hazard.mir
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-large-tuple-alloc-error.ll
M llvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-f16-f32-matrix-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-imm.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-iu-modifiers.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64-swmmac-index_key.ll
A llvm/test/CodeGen/AMDGPU/wmma-gfx12-w64.ll
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w32.mir
A llvm/test/CodeGen/AMDGPU/wmma-hazards-gfx12-w64.mir
M llvm/test/CodeGen/AMDGPU/wmma-hazards.mir
M llvm/test/CodeGen/AMDGPU/workgroup-id-in-arch-sgprs.ll
M llvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll-inline.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/load-unroll.ll
M llvm/test/CodeGen/BPF/preserve-static-offset/store-unroll-inline.ll
R llvm/test/CodeGen/Generic/bb-profile-dump.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
A llvm/test/CodeGen/Hexagon/inline-division-space.ll
A llvm/test/CodeGen/Hexagon/inline-division.ll
A llvm/test/CodeGen/LoongArch/intrinsic-frecipe-dbl.ll
A llvm/test/CodeGen/LoongArch/intrinsic-frecipe-flt.ll
A llvm/test/CodeGen/LoongArch/lasx/intrinsic-frecipe.ll
A llvm/test/CodeGen/LoongArch/lasx/intrinsic-frsqrte.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptosi.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptoui.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
A llvm/test/CodeGen/LoongArch/lsx/intrinsic-frecipe.ll
A llvm/test/CodeGen/LoongArch/lsx/intrinsic-frsqrte.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptosi.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/fptoui.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/uitofp.ll
A llvm/test/CodeGen/NVPTX/global-incomplete-init.ll
M llvm/test/CodeGen/NVPTX/globals_init.ll
M llvm/test/CodeGen/NVPTX/i128-global.ll
A llvm/test/CodeGen/PowerPC/sms-regpress.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-args.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/vec-ret.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
A llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-xsfvcp-x.ll
A llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
A llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/xsfvcp-x.ll
M llvm/test/CodeGen/RISCV/tls-models.ll
A llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
M llvm/test/CodeGen/SystemZ/loop-01.ll
M llvm/test/CodeGen/SystemZ/zos-ppa2.ll
M llvm/test/CodeGen/Thumb/stack_guard_remat.ll
M llvm/test/CodeGen/Thumb2/mve-vcvt16.ll
M llvm/test/CodeGen/X86/2009-06-12-x86_64-tail-call-conv-out-of-sync-bug.ll
M llvm/test/CodeGen/X86/2011-10-19-widen_vselect.ll
M llvm/test/CodeGen/X86/2011-20-21-zext-ui2fp.ll
M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
M llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
M llvm/test/CodeGen/X86/AMX/amx-tile-intrinsics.ll
M llvm/test/CodeGen/X86/GlobalISel/x86-calllowering-dbg-trunc.ll
M llvm/test/CodeGen/X86/addsub-constant-folding.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
A llvm/test/CodeGen/X86/apx/flags-copy-lowering.mir
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
A llvm/test/CodeGen/X86/apx/optimize-compare.mir
A llvm/test/CodeGen/X86/apx/rol.ll
A llvm/test/CodeGen/X86/apx/ror.ll
A llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
A llvm/test/CodeGen/X86/apx/shift-eflags.ll
A llvm/test/CodeGen/X86/apx/shl.ll
A llvm/test/CodeGen/X86/apx/shld.ll
A llvm/test/CodeGen/X86/apx/shr.ll
A llvm/test/CodeGen/X86/apx/shrd.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/avx-load-store.ll
M llvm/test/CodeGen/X86/avx2-arith.ll
M llvm/test/CodeGen/X86/avx2-fma-fneg-combine.ll
M llvm/test/CodeGen/X86/avx2-vperm.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-chained-bf16.ll
M llvm/test/CodeGen/X86/bitreverse.ll
M llvm/test/CodeGen/X86/cmpccxadd-intrinsics.ll
M llvm/test/CodeGen/X86/combine-concatvectors.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/combine-srl.ll
M llvm/test/CodeGen/X86/combine-subo.ll
M llvm/test/CodeGen/X86/combine-udiv.ll
M llvm/test/CodeGen/X86/commute-blend-avx2.ll
M llvm/test/CodeGen/X86/constant-pool-sharing.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
A llvm/test/CodeGen/X86/dwarf-headers.o
M llvm/test/CodeGen/X86/enqcmd-intrinsics.ll
M llvm/test/CodeGen/X86/expand-vp-cast-intrinsics.ll
M llvm/test/CodeGen/X86/fat-lto-section.ll
M llvm/test/CodeGen/X86/fcmp-constant.ll
M llvm/test/CodeGen/X86/fma-fneg-combine-2.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fold-vector-sext-zext.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/hoist-and-by-const-from-lshr-in-eqcmp-zero.ll
M llvm/test/CodeGen/X86/i64-to-float.ll
M llvm/test/CodeGen/X86/icmp-abs-C-vec.ll
A llvm/test/CodeGen/X86/icmp-pow2-mask.ll
M llvm/test/CodeGen/X86/insert-into-constant-vector.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
M llvm/test/CodeGen/X86/keylocker-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
M llvm/test/CodeGen/X86/masked_store_trunc.ll
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/movbe.ll
M llvm/test/CodeGen/X86/nontemporal-4.ll
M llvm/test/CodeGen/X86/oddshuffles.ll
M llvm/test/CodeGen/X86/omit-urem-of-power-of-two-or-zero-when-comparing-with-zero.ll
M llvm/test/CodeGen/X86/packus.ll
A llvm/test/CodeGen/X86/patchable-prologue-tailcall.ll
M llvm/test/CodeGen/X86/patchable-prologue.ll
M llvm/test/CodeGen/X86/peephole-fold-movsd.ll
M llvm/test/CodeGen/X86/pmaddubsw.ll
M llvm/test/CodeGen/X86/pr13577.ll
M llvm/test/CodeGen/X86/pr46532.ll
M llvm/test/CodeGen/X86/pr63108.ll
M llvm/test/CodeGen/X86/pr74736.ll
A llvm/test/CodeGen/X86/pr78897.ll
M llvm/test/CodeGen/X86/prefer-avx256-lzcnt.ll
M llvm/test/CodeGen/X86/pshufb-mask-comments.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-32.ll
M llvm/test/CodeGen/X86/raoint-intrinsics-64.ll
M llvm/test/CodeGen/X86/ret-mmx.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/select-optimize.ll
M llvm/test/CodeGen/X86/sext-vsetcc.ll
M llvm/test/CodeGen/X86/shrink_vmul.ll
M llvm/test/CodeGen/X86/shuffle-half.ll
M llvm/test/CodeGen/X86/shuffle-strided-with-offset-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/sink-addsub-of-const.ll
M llvm/test/CodeGen/X86/slow-pmulld.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/test-shrink-bug.ll
M llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/usermsr-intrinsics.ll
M llvm/test/CodeGen/X86/vec_anyext.ll
M llvm/test/CodeGen/X86/vec_fp_to_int.ll
M llvm/test/CodeGen/X86/vec_set-A.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-128.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-2.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-lzcnt-128.ll
M llvm/test/CodeGen/X86/vector-lzcnt-256.ll
M llvm/test/CodeGen/X86/vector-mulfix-legalize.ll
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-128.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-512.ll
M llvm/test/CodeGen/X86/vector-shift-lshr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-sub128.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
M llvm/test/CodeGen/X86/vector-tzcnt-128.ll
M llvm/test/CodeGen/X86/vselect-constants.ll
M llvm/test/CodeGen/X86/vselect-post-combine.ll
M llvm/test/CodeGen/X86/widen_arith-2.ll
M llvm/test/CodeGen/X86/widen_arith-4.ll
M llvm/test/CodeGen/X86/widen_arith-5.ll
M llvm/test/CodeGen/X86/widen_arith-6.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
M llvm/test/CodeGen/X86/widen_shuffle-1.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/adce/no-delete.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/long-double-x87.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/nullptr-declare.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/scalable-vector.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/set-flag-only-if-modified.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/structured-bindings.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/var-not-alloca-sized.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/vla.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/shared-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/use-before-def.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/do-not-remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/store-new-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/optnone.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/instruction-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/roundtrip.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/verify.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/arglist.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/fail-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-1.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/debug-names-one-cu.ll
M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
M llvm/test/DebugInfo/X86/debug-names-parents-same-offset.ll
M llvm/test/DebugInfo/X86/debug-names-types.ll
M llvm/test/DebugInfo/assignment-tracking/AArch64/scalable-vectors.ll
M llvm/test/DebugInfo/assignment-tracking/X86/DSE.ll
M llvm/test/DebugInfo/assignment-tracking/X86/assignment-tracking-not-enabled.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-options.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-simple.ll
M llvm/test/DebugInfo/assignment-tracking/X86/dbg-phi-produces-undef.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-1.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
M llvm/test/DebugInfo/assignment-tracking/X86/frag-size-zero.ll
M llvm/test/DebugInfo/assignment-tracking/X86/global-storage.ll
M llvm/test/DebugInfo/assignment-tracking/X86/large-type.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-unroll.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
M llvm/test/DebugInfo/assignment-tracking/X86/negative-offset.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-frags.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-sroa.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop.ll
M llvm/test/DebugInfo/assignment-tracking/X86/no-redundant-def-after-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/order-of-defs.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-bwd-scan.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-to-prevent-reordering.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-undef-fragment.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-dangling-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-ir-salvage-assign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-transfer-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
M llvm/test/DebugInfo/assignment-tracking/X86/split-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-extra-checks.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-outside-variable.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-frag.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def.ll
A llvm/test/DebugInfo/instcombine-sink-latest-assignment.ll
M llvm/test/DebugInfo/salvage-limit-expr-size.ll
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_arm.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_armv7plus.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_data.s
R llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumb.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv6m.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv7a.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_relocations_thumbv7m.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_arm.s
A llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_multi.s
M llvm/test/ExecutionEngine/JITLink/AArch32/ELF_stubs_thumb.s
R llvm/test/ExecutionEngine/OrcLazy/debug-descriptor-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-descriptor.ll
R llvm/test/ExecutionEngine/OrcLazy/debug-objects-elf-minimal.ll
A llvm/test/ExecutionEngine/OrcLazy/debug-objects.ll
M llvm/test/Feature/optnone-opt.ll
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
M llvm/test/Instrumentation/MemorySanitizer/msan_asm_conservative.ll
M llvm/test/Instrumentation/cgprofile.ll
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/MC/AArch64/armv8.1a-rdma.s
M llvm/test/MC/AArch64/armv8.2a-dotprod-errors.s
M llvm/test/MC/AArch64/armv8.2a-dotprod.s
M llvm/test/MC/AArch64/armv8r-sysreg.s
A llvm/test/MC/AMDGPU/elf-header-cov.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w32.s
A llvm/test/MC/AMDGPU/gfx12_asm_wmma_w64.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
R llvm/test/MC/AMDGPU/hsa_isa_version_attrs.s
M llvm/test/MC/Disassembler/AArch64/armv8.3a-complex.txt
M llvm/test/MC/Disassembler/AArch64/armv8.3a-js.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w32.txt
A llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_wmma_w64.txt
M llvm/test/MC/Disassembler/X86/apx/andn.txt
M llvm/test/MC/Disassembler/X86/apx/bextr.txt
M llvm/test/MC/Disassembler/X86/apx/blsi.txt
M llvm/test/MC/Disassembler/X86/apx/blsmsk.txt
M llvm/test/MC/Disassembler/X86/apx/blsr.txt
M llvm/test/MC/Disassembler/X86/apx/bzhi.txt
M llvm/test/MC/Disassembler/X86/apx/cmpccxadd.txt
A llvm/test/MC/Disassembler/X86/apx/enqcmd.txt
M llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/keylocker.txt
A llvm/test/MC/Disassembler/X86/apx/movbe.txt
A llvm/test/MC/Disassembler/X86/apx/rao-int.txt
A llvm/test/MC/Disassembler/X86/apx/rcl.txt
A llvm/test/MC/Disassembler/X86/apx/rcr.txt
M llvm/test/MC/Disassembler/X86/apx/reverse-encoding.txt
A llvm/test/MC/Disassembler/X86/apx/rol.txt
A llvm/test/MC/Disassembler/X86/apx/ror.txt
A llvm/test/MC/Disassembler/X86/apx/sar.txt
A llvm/test/MC/Disassembler/X86/apx/shl.txt
A llvm/test/MC/Disassembler/X86/apx/shld.txt
A llvm/test/MC/Disassembler/X86/apx/shr.txt
A llvm/test/MC/Disassembler/X86/apx/shrd.txt
A llvm/test/MC/Disassembler/X86/apx/user-msr.txt
A llvm/test/MC/LoongArch/Relocations/align-non-executable.s
M llvm/test/MC/LoongArch/Relocations/relax-addsub.s
A llvm/test/MC/LoongArch/Relocations/relax-align.s
M llvm/test/MC/RISCV/relocations.s
R llvm/test/MC/RISCV/rv32a-invalid.s
R llvm/test/MC/RISCV/rv32a-valid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
A llvm/test/MC/RISCV/rv32zaamo-invalid.s
A llvm/test/MC/RISCV/rv32zaamo-valid.s
A llvm/test/MC/RISCV/rv32zalrsc-invalid.s
A llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv64a-invalid.s
R llvm/test/MC/RISCV/rv64a-valid.s
A llvm/test/MC/RISCV/rv64zaamo-invalid.s
A llvm/test/MC/RISCV/rv64zaamo-valid.s
A llvm/test/MC/RISCV/rv64zalrsc-invalid.s
A llvm/test/MC/RISCV/rv64zalrsc-valid.s
A llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/X86/apx/andn-att.s
M llvm/test/MC/X86/apx/andn-intel.s
M llvm/test/MC/X86/apx/bextr-att.s
M llvm/test/MC/X86/apx/bextr-intel.s
M llvm/test/MC/X86/apx/blsi-att.s
M llvm/test/MC/X86/apx/blsi-intel.s
M llvm/test/MC/X86/apx/blsmsk-att.s
M llvm/test/MC/X86/apx/blsmsk-intel.s
M llvm/test/MC/X86/apx/blsr-att.s
M llvm/test/MC/X86/apx/blsr-intel.s
M llvm/test/MC/X86/apx/bzhi-att.s
M llvm/test/MC/X86/apx/bzhi-intel.s
M llvm/test/MC/X86/apx/cmpccxadd-att.s
M llvm/test/MC/X86/apx/cmpccxadd-intel.s
A llvm/test/MC/X86/apx/enqcmd-att.s
A llvm/test/MC/X86/apx/enqcmd-intel.s
M llvm/test/MC/X86/apx/evex-format-att.s
M llvm/test/MC/X86/apx/evex-format-intel.s
A llvm/test/MC/X86/apx/keylocker-att.s
A llvm/test/MC/X86/apx/keylocker-intel.s
A llvm/test/MC/X86/apx/movbe-att.s
A llvm/test/MC/X86/apx/movbe-intel.s
A llvm/test/MC/X86/apx/rao-int-att.s
A llvm/test/MC/X86/apx/rao-int-intel.s
A llvm/test/MC/X86/apx/rcl-att.s
A llvm/test/MC/X86/apx/rcl-intel.s
A llvm/test/MC/X86/apx/rcr-att.s
A llvm/test/MC/X86/apx/rcr-intel.s
A llvm/test/MC/X86/apx/rol-att.s
A llvm/test/MC/X86/apx/rol-intel.s
A llvm/test/MC/X86/apx/ror-att.s
A llvm/test/MC/X86/apx/ror-intel.s
A llvm/test/MC/X86/apx/sar-att.s
A llvm/test/MC/X86/apx/sar-intel.s
A llvm/test/MC/X86/apx/shl-att.s
A llvm/test/MC/X86/apx/shl-intel.s
A llvm/test/MC/X86/apx/shld-att.s
A llvm/test/MC/X86/apx/shld-intel.s
A llvm/test/MC/X86/apx/shr-att.s
A llvm/test/MC/X86/apx/shr-intel.s
A llvm/test/MC/X86/apx/shrd-att.s
A llvm/test/MC/X86/apx/shrd-intel.s
A llvm/test/MC/X86/apx/user-msr-att.s
A llvm/test/MC/X86/apx/user-msr-intel.s
A llvm/test/Object/Inputs/WASM/multi-table.wasm
A llvm/test/Object/wasm-obj2yaml-tables.test
M llvm/test/Other/new-pass-manager.ll
A llvm/test/TableGen/JSON-locs.td
M llvm/test/TableGen/JSON.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/cache-config.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
M llvm/test/Transforms/Attributor/nofpclass-implied-by-fcmp.ll
M llvm/test/Transforms/ConstraintElimination/minmax.ll
A llvm/test/Transforms/ConstraintElimination/umin-result-may-be-poison.ll
M llvm/test/Transforms/Coroutines/coro-async.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca-opaque-ptr.ll
M llvm/test/Transforms/Coroutines/coro-retcon-alloca.ll
M llvm/test/Transforms/Coroutines/coro-retcon-once-value.ll
M llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
M llvm/test/Transforms/Coroutines/coro-swifterror.ll
M llvm/test/Transforms/EmbedBitcode/embed.ll
M llvm/test/Transforms/FixIrreducible/switch.ll
M llvm/test/Transforms/HotColdSplit/invalid-dbg-assign.ll
M llvm/test/Transforms/IROutliner/legal-debug.ll
M llvm/test/Transforms/IndVarSimplify/X86/iv-widen.ll
M llvm/test/Transforms/IndVarSimplify/backedge-on-min-max.ll
M llvm/test/Transforms/IndVarSimplify/iv-poison.ll
M llvm/test/Transforms/IndVarSimplify/sharpen-range.ll
M llvm/test/Transforms/InstCombine/2007-03-25-BadShiftMask.ll
M llvm/test/Transforms/InstCombine/2009-01-08-AlignAlloca.ll
M llvm/test/Transforms/InstCombine/2009-02-20-InstCombine-SROA.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
M llvm/test/Transforms/InstCombine/add3.ll
M llvm/test/Transforms/InstCombine/and-fcmp.ll
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/cast_phi.ll
M llvm/test/Transforms/InstCombine/catchswitch-phi.ll
M llvm/test/Transforms/InstCombine/compare-alloca.ll
M llvm/test/Transforms/InstCombine/extractvalue.ll
M llvm/test/Transforms/InstCombine/gep-addrspace.ll
M llvm/test/Transforms/InstCombine/gep-canonicalize-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-combine-loop-invariant.ll
M llvm/test/Transforms/InstCombine/gep-custom-dl.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepphigep.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/indexed-gep-compares.ll
M llvm/test/Transforms/InstCombine/intptr1.ll
M llvm/test/Transforms/InstCombine/intptr2.ll
M llvm/test/Transforms/InstCombine/intptr3.ll
M llvm/test/Transforms/InstCombine/intptr4.ll
M llvm/test/Transforms/InstCombine/intptr5.ll
M llvm/test/Transforms/InstCombine/intptr7.ll
M llvm/test/Transforms/InstCombine/load-store-forward.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/logical-select.ll
M llvm/test/Transforms/InstCombine/memchr-5.ll
M llvm/test/Transforms/InstCombine/memchr-9.ll
M llvm/test/Transforms/InstCombine/memcmp-3.ll
M llvm/test/Transforms/InstCombine/memcmp-4.ll
M llvm/test/Transforms/InstCombine/memcmp-5.ll
M llvm/test/Transforms/InstCombine/memcmp-6.ll
M llvm/test/Transforms/InstCombine/memcmp-7.ll
M llvm/test/Transforms/InstCombine/memcpy_alloca.ll
M llvm/test/Transforms/InstCombine/memrchr-5.ll
M llvm/test/Transforms/InstCombine/memset2.ll
M llvm/test/Transforms/InstCombine/multi-size-address-space-pointer.ll
M llvm/test/Transforms/InstCombine/non-integral-pointers.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/phi-equal-incoming-pointers.ll
M llvm/test/Transforms/InstCombine/phi-timeout.ll
M llvm/test/Transforms/InstCombine/phi.ll
M llvm/test/Transforms/InstCombine/pr39908.ll
M llvm/test/Transforms/InstCombine/pr44242.ll
M llvm/test/Transforms/InstCombine/pr58901.ll
M llvm/test/Transforms/InstCombine/ptr-replace-alloca.ll
M llvm/test/Transforms/InstCombine/select-cmp-br.ll
M llvm/test/Transforms/InstCombine/select-gep.ll
M llvm/test/Transforms/InstCombine/shift-logic.ll
M llvm/test/Transforms/InstCombine/shift.ll
M llvm/test/Transforms/InstCombine/sink_sideeffecting_instruction.ll
M llvm/test/Transforms/InstCombine/sprintf-2.ll
M llvm/test/Transforms/InstCombine/statepoint-cleanup.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int-4.ll
M llvm/test/Transforms/InstCombine/str-int-5.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-bad-sig.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
M llvm/test/Transforms/InstCombine/strlen-7.ll
M llvm/test/Transforms/InstCombine/strlen-9.ll
M llvm/test/Transforms/InstCombine/strncmp-4.ll
M llvm/test/Transforms/InstCombine/strncmp-5.ll
M llvm/test/Transforms/InstCombine/strncmp-6.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstCombine/unpack-fca.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/InstCombine/wcslen-5.ll
M llvm/test/Transforms/InstSimplify/assume-fcmp-constant-implies-class.ll
A llvm/test/Transforms/JumpThreading/pr79175.ll
M llvm/test/Transforms/LICM/argmemonly-call.ll
M llvm/test/Transforms/LICM/assume.ll
M llvm/test/Transforms/LICM/basictest.ll
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/crash.ll
M llvm/test/Transforms/LICM/dbg-value-sink.ll
M llvm/test/Transforms/LICM/debug-value.ll
M llvm/test/Transforms/LICM/extra-copies.ll
M llvm/test/Transforms/LICM/fence.ll
M llvm/test/Transforms/LICM/funclet.ll
M llvm/test/Transforms/LICM/guards.ll
M llvm/test/Transforms/LICM/hoist-round.ll
M llvm/test/Transforms/LICM/invariant.start.ll
M llvm/test/Transforms/LICM/lcssa-ssa-promoter.ll
M llvm/test/Transforms/LICM/no-preheader-test.ll
M llvm/test/Transforms/LICM/opt-remarks-conditional-load.ll
M llvm/test/Transforms/LICM/opt-remarks-intervening-store.ll
M llvm/test/Transforms/LICM/opt-remarks.ll
M llvm/test/Transforms/LICM/preheader-safe.ll
M llvm/test/Transforms/LICM/promote-order.ll
M llvm/test/Transforms/LICM/read-only-calls.ll
M llvm/test/Transforms/LICM/scalar-promote-memmodel.ll
M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
M llvm/test/Transforms/LICM/scalar-promote.ll
M llvm/test/Transforms/LICM/speculate.ll
M llvm/test/Transforms/LICM/store-hoisting.ll
M llvm/test/Transforms/LICM/volatile-alias.ll
M llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
A llvm/test/Transforms/LoopFlatten/loop-flatten-version.ll
M llvm/test/Transforms/LoopFlatten/widen-iv.ll
M llvm/test/Transforms/LoopIdiom/nontemporal_store.ll
M llvm/test/Transforms/LoopRotate/RISCV/invalid-cost.ll
M llvm/test/Transforms/LoopRotate/basic.ll
M llvm/test/Transforms/LoopRotate/call-prepare-for-lto.ll
M llvm/test/Transforms/LoopRotate/noalias.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-cond-dbg.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-1.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-5.ll
M llvm/test/Transforms/LoopStrengthReduce/ivchain.ll
M llvm/test/Transforms/LoopStrengthReduce/optimizemax_debugloc.ll
M llvm/test/Transforms/LoopStrengthReduce/pr12018.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51656.ll
M llvm/test/Transforms/LoopStrengthReduce/pr52161.ll
M llvm/test/Transforms/LoopUnroll/ARM/upperbound.ll
M llvm/test/Transforms/LoopUnroll/peel-loop.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
A llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
A llvm/test/Transforms/LoopVectorize/LoongArch/lit.local.cfg
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
A llvm/test/Transforms/LoopVectorize/X86/vplan-native-inner-loop-only.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-store-accesses-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/vector-geps.ll
M llvm/test/Transforms/LowerAtomic/atomic-load.ll
M llvm/test/Transforms/LowerAtomic/atomic-swap.ll
M llvm/test/Transforms/LowerAtomic/barrier.ll
M llvm/test/Transforms/LowerInvoke/2003-12-10-Crash.ll
M llvm/test/Transforms/LowerInvoke/lowerinvoke.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
M llvm/test/Transforms/LowerSwitch/2003-05-01-PHIProblem.ll
M llvm/test/Transforms/LowerSwitch/2003-08-23-EmptySwitch.ll
M llvm/test/Transforms/LowerSwitch/2004-03-13-SwitchIsDefaultCrash.ll
M llvm/test/Transforms/LowerSwitch/2014-06-10-SwitchContiguousOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-11-SwitchDefaultUnreachableOpt.ll
M llvm/test/Transforms/LowerSwitch/2014-06-23-PHIlowering.ll
M llvm/test/Transforms/LowerSwitch/condition-phi-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/delete-default-block-crash.ll
M llvm/test/Transforms/LowerSwitch/do-not-handle-impossible-values.ll
M llvm/test/Transforms/LowerSwitch/feature.ll
M llvm/test/Transforms/LowerSwitch/fold-popular-case-to-unreachable-default.ll
M llvm/test/Transforms/LowerSwitch/phi-in-dead-block.ll
M llvm/test/Transforms/LowerSwitch/pr59316.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sinking-vs-if-conversion.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
A llvm/test/Transforms/PhaseOrdering/X86/loop-vectorizer-noalias.ll
M llvm/test/Transforms/PhaseOrdering/X86/pixel-splat.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr50555.ll
M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
M llvm/test/Transforms/PhaseOrdering/X86/spurious-peeling.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
M llvm/test/Transforms/PhaseOrdering/X86/vec-shift.ll
M llvm/test/Transforms/PhaseOrdering/basic.ll
M llvm/test/Transforms/PhaseOrdering/loop-access-checks.ll
M llvm/test/Transforms/PhaseOrdering/pr39282.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-options.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
M llvm/test/Transforms/RewriteStatepointsForGC/base-pointers.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-cost.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/gather-reduce.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-non-vector-root.ll
M llvm/test/Transforms/SLPVectorizer/WebAssembly/no-vectorize-rotate.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-subvector-long-input.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-multi-register-use.ll
A llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/opt.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/test/Transforms/SampleProfile/pseudo-probe-instcombine.ll
M llvm/test/Transforms/SimpleLoopUnswitch/memssa-readnone-access.ll
M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
A llvm/test/Transforms/SimplifyCFG/unreachable-eliminate-on-ret.ll
M llvm/test/Transforms/StructurizeCFG/switch.ll
M llvm/test/Transforms/UnifyFunctionExitNodes/unreachable-blocks-status.ll
M llvm/test/Transforms/UnifyLoopExits/basic.ll
M llvm/test/Transforms/UnifyLoopExits/nested.ll
M llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
M llvm/test/Transforms/UnifyLoopExits/switch.ll
A llvm/test/Transforms/Util/flatten-cfg.ll
R llvm/test/Transforms/Util/flattencfg.ll
M llvm/test/Transforms/Util/lowerinvoke-funclet.ll
M llvm/test/Transforms/Util/lowerswitch.ll
M llvm/test/Transforms/Util/strip-gc-relocates.ll
M llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-localvars.ll
M llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test
M llvm/test/tools/dsymutil/absolute_symbol.test
M llvm/test/tools/dsymutil/arch-option.test
M llvm/test/tools/dsymutil/archive-timestamp.test
M llvm/test/tools/dsymutil/basic-linking.test
M llvm/test/tools/dsymutil/debug-map-parsing.test
M llvm/test/tools/dsymutil/dump-symtab.test
M llvm/test/tools/dsymutil/fat-binary-output.test
M llvm/test/tools/dsymutil/fat-header.test
M llvm/test/tools/dsymutil/yaml-object-address-rewrite.test
A llvm/test/tools/llc/new-pm/lit.local.cfg
A llvm/test/tools/llc/new-pm/option-conflict.ll
A llvm/test/tools/llc/new-pm/pipeline.ll
A llvm/test/tools/llc/new-pm/start-stop.ll
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.c
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.o
A llvm/test/tools/llvm-cov/Inputs/mcdc-maxbs.proftext
A llvm/test/tools/llvm-cov/mcdc-maxbs.test
M llvm/test/tools/llvm-lto2/X86/pipeline.ll
M llvm/test/tools/llvm-objcopy/ELF/strip-all.test
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-disassemble-symbolize-operands.yaml
M llvm/test/tools/llvm-objdump/X86/elf-bbaddrmap-symbolize-relocatable.yaml
A llvm/test/tools/llvm-profdata/merge-filter.test
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map-relocatable.test
M llvm/test/tools/llvm-readobj/ELF/bb-addr-map.test
A llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/test/tools/obj2yaml/ELF/bb-addr-map.yaml
M llvm/test/tools/yaml2obj/ELF/bb-addr-map.yaml
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
M llvm/tools/llc/CMakeLists.txt
A llvm/tools/llc/NewPMDriver.cpp
A llvm/tools/llc/NewPMDriver.h
M llvm/tools/llc/llc.cpp
M llvm/tools/lli/CMakeLists.txt
R llvm/tools/lli/ExecutionUtils.cpp
R llvm/tools/lli/ExecutionUtils.h
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-cov/SourceCoverageView.cpp
M llvm/tools/llvm-diff/lib/DifferenceEngine.cpp
M llvm/tools/llvm-dwarfutil/DebugInfoLinker.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
Log Message:
-----------
Merge branch 'main' into users/ccc/69307-clang-ice-when-dealing-with-some-certain-requires-clauses-in-calculateconstraintsatisfaction
Compare: https://github.com/llvm/llvm-project/compare/b27d0ac058ca...402c84af0586
More information about the All-commits
mailing list