[all-commits] [llvm/llvm-project] 3d0a68: [llvm-cov] Simplify and optimize MC/DC computation...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Jan 30 06:50:35 PST 2024
Branch: refs/heads/users/alexey-bataev/spr/slpimprove-findreusedorderedscalars-and-graph-rotation
Home: https://github.com/llvm/llvm-project
Commit: 3d0a689eb72aef639347edbec4608e631d5208a1
https://github.com/llvm/llvm-project/commit/3d0a689eb72aef639347edbec4608e631d5208a1
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[llvm-cov] Simplify and optimize MC/DC computation (#79727)
Update code from https://reviews.llvm.org/D138847
`buildTestVector` is a standard DFS (walking a reduced ordered binary
decision diagram). Avoid shouldCopyOffTestVectorFor{True,False}Path
complexity and redundant `Map[ID]` lookups.
`findIndependencePairs` unnecessarily uses four nested loops (n<=6) to
find independence pairs. Instead, enumerate the two execution vectors
and find the number of mismatches. This algorithm can be optimized using
the marking function technique described in _Efficient Test Coverage
Measurement for MC/DC, 2013_, but this may be overkill.
Commit: d492faa7aa995aedac41e1f86aaf42dc5b43db54
https://github.com/llvm/llvm-project/commit/d492faa7aa995aedac41e1f86aaf42dc5b43db54
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/activemask.ll
Log Message:
-----------
[NVPTX] Add 'activemask' builtin and intrinsic support (#79768)
Summary:
This patch adds support for getting the 'activemask' instruction's value
without needing to use inline assembly. See the relevant PTX reference
for details.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-activemask
Commit: 5f12cc912ac90a2511f2a53c45dc9250945da18c
https://github.com/llvm/llvm-project/commit/5f12cc912ac90a2511f2a53c45dc9250945da18c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/nanosleep.ll
Log Message:
-----------
[NVPTX] Add builtin support for 'nanosleep' PTX instrunction (#79888)
Summary:
This patch adds a builtin for the `nanosleep` PTX function. It takes
either an immediate or a register and sleeps for [0, 2t] nanoseconds
given t. More information at the documentation:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#miscellaneous-instructions-nanosleep
Commit: ea8014046c7f7c81f92d24832b873d356b2b6712
https://github.com/llvm/llvm-project/commit/ea8014046c7f7c81f92d24832b873d356b2b6712
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX] Add builtin for 'exit' handling (#79777)
Summary:
The PTX ISA has always supported the 'exit' instruction to terminate
individual threads. This patch adds a builtin to handle it. See the PTX
documentation for further details.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#control-flow-instructions-exit
Commit: e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
https://github.com/llvm/llvm-project/commit/e633807a1fccbed91dbfe1fdc2c78adcaf21d99c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/intrinsics.ll
Log Message:
-----------
[NVPTX] Add builtin support for 'globaltimer' (#79765)
Summary:
This patch adds support for `globaltimer` to match `clock` and
`clock64`. See the PTX ISA reference for details. This patch does not
implement the `hi` or `lo` variants for brevity as they can be obtained
from this with the cost of an additional register.
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#special-registers-globaltimer-globaltimer-lo-globaltimer-hi
Commit: 9a1ca245c8bc60b1ca12cd906fb31130801d977e
https://github.com/llvm/llvm-project/commit/9a1ca245c8bc60b1ca12cd906fb31130801d977e
Author: Fangrui Song <i at maskray.me>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lld/ELF/InputFiles.cpp
M lld/test/ELF/warn-backrefs.s
Log Message:
-----------
[ELF] --warn-backrefs: --defsym does not make a backward reference
The interaction between --warn-backrefs was not tested, but if
--defsym-created reference causes archive member extraction, it seems
reasonable to suppress the diagnostic, which was the behavior before #78944.
Commit: c492eb6b28a1605e943b9c41071597fd1eda032c
https://github.com/llvm/llvm-project/commit/c492eb6b28a1605e943b9c41071597fd1eda032c
Author: Nilanjana Basu <n_basu at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
Log Message:
-----------
[LV] Update interleaving count computation when scalar epilogue loop needs to run at least once (#79651)
Update loop interleaving count computation to address loops that require at least one scalar iteration in the epilogue loop. For this case, the available trip count for interleaving the loop is one less.
Commit: 74bebee08e52ae4758bba4fc8bbb781fcaee1e54
https://github.com/llvm/llvm-project/commit/74bebee08e52ae4758bba4fc8bbb781fcaee1e54
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Semantics/runtime-type-info.cpp
A flang/test/Semantics/typeinfo08.f90
Log Message:
-----------
[flang] Fix compiler crash in semantics (#79609)
The runtime type information table generator couldn't handle a null
pointer returned correctly for a original (not instantiated) derived
type with kind parameters.
Fixes https://github.com/llvm/llvm-project/issues/79590.
Commit: 8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
https://github.com/llvm/llvm-project/commit/8dbedf49d7c6e8e6e3212b8be633780e5c4f0ee3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
Log Message:
-----------
[sanitizer] Allow *___lcxx_override symbolse in symbolizer (#79904)
We don't intercept them, and they are not called and used only as
markers anyway.
These symbols introduced with #69498.
Commit: e6fdbd17769d626c66e087b0fd9bbda0ea69194d
https://github.com/llvm/llvm-project/commit/e6fdbd17769d626c66e087b0fd9bbda0ea69194d
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/runtime/numeric.cpp
Log Message:
-----------
[flang][runtime] Add special-case faster path to real MOD/MODULO (#79625)
When a real-valued reference to the MOD/MODULO intrinsic functions has
operands that are exact integers, use the fast exact integer algorithm
rather than calling std::fmod.
Commit: c82f3caf5683a443692162d9fbebc31019af7ce8
https://github.com/llvm/llvm-project/commit/c82f3caf5683a443692162d9fbebc31019af7ce8
Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
Log Message:
-----------
[scudo] Add StackDepot lock to enable/disable. (#79670)
Scudo grabs all allocator locks in a pthread_atfork before the fork, and releases them after. This allows malloc to be used in a fork child of a multithreaded process, which is expressly forbidden by the standard, but very widely used. For example, Android's init uses std::string after fork when spawning services in android::init::EnterNamespaces and other places.
Any lock that is necessary to serve an allocator call must be handled this way. Otherwise there is a possibility that the lock is held during the call to fork, which results in it being held forever in the child process, and the next operation that needs it deadlocks.
Commit: d6e07e084511cac56c6e468a444ecbf2de3489b9
https://github.com/llvm/llvm-project/commit/d6e07e084511cac56c6e468a444ecbf2de3489b9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Treat __ehdr_start as large (#79884)
The __ehdr_start symbol is added by the linker and points to the ELF
file headers, which can be very far away from text. Treat it as a large
symbol under the medium/large code models. Performance to access
__ehdr_start is almost certainly not important.
There are a couple of other symbols that the linker adds [1], but this
is the most relevant one that may be far away from text.
[1]
https://github.com/llvm/llvm-project/blob/547c395b279a93357082ac06cf3e8fe37ebfc3fe/lld/ELF/Writer.cpp#L226
Commit: d83c97714756e828c9c7091aa8294e022c93a454
https://github.com/llvm/llvm-project/commit/d83c97714756e828c9c7091aa8294e022c93a454
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Evaluate/fold-implementation.h
A flang/test/Semantics/generic08.f90
Log Message:
-----------
[flang] Prevent bad expression rewrite 0*ARR -> 0 (#79853)
Don't rewrite 0*X to 0 if X is not scalar. Up until now this hasn't
shown up as a bug because a scalar 0 works in nearly all expressions
where an array would be expected. But not in all cases -- this bad
rewrite can cause generic procedure resolution to fail when it causes an
actual argument to have an unsupported rank.
Commit: 37180ed7435d28282ff4ccc9fbcbed04124ef8c0
https://github.com/llvm/llvm-project/commit/37180ed7435d28282ff4ccc9fbcbed04124ef8c0
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/test/Semantics/generic05.F90
M flang/test/Semantics/generic07.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve96.f90
Log Message:
-----------
[flang] Turn "error" cases into warning for "indistinguishable" specific procedures (#79621)
When a generic procedure interface, either declared or the result of
merging two use-associated generics, has two specific procedures
that are not distinguishable according to the rules in F'2023
subclause 15.4.3.4.5, emit a portability warning rather than a
hard error message. The rules in that subclause are not adequate
to detect pairs of specific procedures that admit an ambiguous
reference, as demonstrated by a case that arose in pFUnit. Further,
these distinguishability checks, even if sufficient to the task
of detecting pairs of specifics capable of ambiguous references,
should only apply to pairs where *every* reference would have to
be ambiguous -- and this can and is validated at every reference
anyway. Last, only XLF enforces these incomplete and needless
distinguishability rules -- every other compiler seems to just
check that each procedure reference resolves to exactly one
specific procedure.
If the standard were to complete lose subclause 15.4.3.4.5 and
its related note (C.11.6) -- which admits that the rules are
incomplete! -- and simply require that each generic procedure
reference resolve unambiguously to exactly one specific, nobody
would miss them. This patch changes this compiler to give them
lip service when requested, but they are now otherwise ignored.
Commit: 0aff71c17831c4f3c7147e792b5761107c011dd5
https://github.com/llvm/llvm-project/commit/0aff71c17831c4f3c7147e792b5761107c011dd5
Author: yronglin <yronglin777 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
A clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Implement P2718R0 "Lifetime extension in range-based for loops" (#76361)
Implement P2718R0 "Lifetime extension in range-based for loops"
(https://wg21.link/P2718R0)
Differential Revision: https://reviews.llvm.org/D153701
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: c322e92841fae1d756c4126a3e4c5e1b3366f042
https://github.com/llvm/llvm-project/commit/c322e92841fae1d756c4126a3e4c5e1b3366f042
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/resolve122.f90
Log Message:
-----------
[flang] Silence bogus USE statement error (#79896)
When there are multiple USE statement for a particular module using
renaming, it is necessary to collect a set of all of the original
renaming targets before processing any of USE statements that don't have
ONLY: clauses.
Currently, if there is a name in the module that can't be added to the
current scope -- due to a conflict with an internal or module
subprogram, or with a previously use-associated name -- the compiler
will emit a bogus error message even if that conflicting name appear on
a later USE statement of the same module as the target of a renaming.
The new regression test case added with this patch provides a motivating
example.
Commit: 3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
https://github.com/llvm/llvm-project/commit/3c8a5800f5fdfd5c32eae04194fc31b9f5f86494
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-declare.f90
Log Message:
-----------
[flang][openacc] Place post allocate/deallocate attribute correctly (#79883)
The `acc.declate_action` attribute was sometime misplaced as reported in
#79770.
This patch updates the lowering code to place the
postAllocate/postDeallocate actions at the correct place.
Commit: 7855703194232a94d321dceea27b45cee0c91f73
https://github.com/llvm/llvm-project/commit/7855703194232a94d321dceea27b45cee0c91f73
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
R llvm/test/CodeGen/RISCV/vp-splice-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice.ll
Log Message:
-----------
[RISCV] Move vp.splice tests into rvv directory. NFC
Commit: 0461448313800b47189cc9024a0f2a9f75b44470
https://github.com/llvm/llvm-project/commit/0461448313800b47189cc9024a0f2a9f75b44470
Author: Jivan Hakobyan <jivanhakobyan9 at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
A llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
A llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
Log Message:
-----------
[RISCV][ISel] Add ISel support for experimental Zimop extension (#77089)
This implements ISel support for mopr[0-31] and moprr[0-7] instructions
for 32 and 64 bits
---------
Co-authored-by: ln8-8 <lyut.nersisyan at gmail.com>
Commit: 0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
https://github.com/llvm/llvm-project/commit/0a2b5b03c4084ac1fefd0e62db2ba49f5ac24ab9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
Log Message:
-----------
[NVPTX][Fix] Ensure the return value of 'activemask' is unsigned
Summary:
The previous patch missed the `U` prefix, which caused the mask to be
considered signed. This meant that conversions would incorrectly treat a
full mask as a negative number and break things.
Commit: 51379a982efc64eb319ba6f4c1af4dce31af499a
https://github.com/llvm/llvm-project/commit/51379a982efc64eb319ba6f4c1af4dce31af499a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
[CUDA] Change '__activemask' to use '__nvvm_activemask()' (#79892)
Summary:
We recently added builitin support for this function.
Commit: 7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
https://github.com/llvm/llvm-project/commit/7bc5eaa02f6d74410f3131b7d2ab21ee8209430f
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
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-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdbit-macros.h
A libc/include/stdbit.h.def
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/CMakeLists.txt
A libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_leading_zeros_uc.cpp
A libc/src/stdbit/stdc_leading_zeros_uc.h
A libc/src/stdbit/stdc_leading_zeros_ui.cpp
A libc/src/stdbit/stdc_leading_zeros_ui.h
A libc/src/stdbit/stdc_leading_zeros_ul.cpp
A libc/src/stdbit/stdc_leading_zeros_ul.h
A libc/src/stdbit/stdc_leading_zeros_ull.cpp
A libc/src/stdbit/stdc_leading_zeros_ull.h
A libc/src/stdbit/stdc_leading_zeros_us.cpp
A libc/src/stdbit/stdc_leading_zeros_us.h
M libc/test/include/CMakeLists.txt
A libc/test/include/stdbit_test.cpp
M libc/test/src/CMakeLists.txt
A libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
Log Message:
-----------
[libc] implement stdc_leading_zeros_u* for stdbit.h (#79669)
- stdbit.stdc_leading_zeros_uc
- stdbit.stdc_leading_zeros_us
- stdbit.stdc_leading_zeros_ui
- stdbit.stdc_leading_zeros_ul
- stdbit.stdc_leading_zeros_ull
Test via:
$ ninja libc-stdbit-tests libc_include_tests
Commit: ff77058141e8026357ca514ad0d45c6c50921290
https://github.com/llvm/llvm-project/commit/ff77058141e8026357ca514ad0d45c6c50921290
Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
Disable incorrect peephole optimizations
Commit: d29bb704cb646f9a69546e3517f12b022528d2d2
https://github.com/llvm/llvm-project/commit/d29bb704cb646f9a69546e3517f12b022528d2d2
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/RPC/rpc_util.h
M libc/src/time/gpu/nanosleep.cpp
Log Message:
-----------
[libc][NFC] Remove inline assembly for PTX instructions (#79913)
Summary:
Recent patches have implemented builitin versions of these functions.
This patch simply removes uses of inline assembly to hopefully improve
optimizations in this area.
Commit: 577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
https://github.com/llvm/llvm-project/commit/577738a12d3cfd3210dceb4eb0b26fb2b2a961ee
Author: Justin Fargnoli <34139864+justinfargnoli at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
Revert "Disable incorrect peephole optimizations" (#79916)
This reverts commit ff77058141e8026357ca514ad0d45c6c50921290.
Commit: 5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
https://github.com/llvm/llvm-project/commit/5a7a8f73c71b9aaf6d2f7cb548807046f19c4498
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/include/llvm-libc-macros/stdbit-macros.h
M libc/include/stdbit.h.def
M libc/test/include/CMakeLists.txt
Log Message:
-----------
[libc] fix type generic stdc_leading_zeros for GCC (#79917)
GCC does not support _Generic in C++ mode. Use inline function definitions with
function overloading in __cplusplus mode.
Commit: 6b330470df7db34ee1b894e0e2edf8270d5c51da
https://github.com/llvm/llvm-project/commit/6b330470df7db34ee1b894e0e2edf8270d5c51da
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
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
Log Message:
-----------
[libc] add more arch entrypoints for stdc_leading_zeros (#79923)
Otherwise the include test fails on these targets.
Commit: aa1968c2ebdd05aa3ba876062acd966a3e251ebe
https://github.com/llvm/llvm-project/commit/aa1968c2ebdd05aa3ba876062acd966a3e251ebe
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/MetadataRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MetadataManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] Add metadata pre-emit finalization interface (#79925)
Some metadata needs to be updated/finalized before the binary context is
emitted into the binary. Add the interface and use it for Linux ORC
update invocation.
Commit: 3d1157000db56a340e1dae90b587bd144ffeaa6c
https://github.com/llvm/llvm-project/commit/3d1157000db56a340e1dae90b587bd144ffeaa6c
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/generic05.F90
M flang/test/Semantics/generic07.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve65.f90
M flang/test/Semantics/resolve96.f90
Log Message:
-----------
[flang] Restore error status for many indistinguishable specifics (#79927)
A recent patch to allow pFUnit to compile softened the diagnostic about
indistinguishable specific procedures to a portability warning. It turns
out that this was overkill -- for specific procedures containing no
optional or unlimited polymorphic dummy data arguments, a diagnosis of
"indistinguishable" can still be a hard error.
So adjust the analysis to be tri-state: two procedures are either
definitely distinguishable, definitely indistinguishable without
optionals or unlimited polymorphics, or indeterminate. Emit errors as
before for the definitely indistinguishable cases; continue to emit
portability warnings for the indeterminate cases.
When this patch is merged, all but one of the dozen or so tests that I
disabled in llvm-test-suite can be re-enabled.
Commit: 59c9a48d5e19716e5df8d0f794e489891fd2c835
https://github.com/llvm/llvm-project/commit/59c9a48d5e19716e5df8d0f794e489891fd2c835
Author: kusmour <kusmour at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
A llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
Log Message:
-----------
[llvm-gsymutil] Fix assert failure on FileEntry.Dir empty (#79926)
Summary:
FileEntry.Dir can be empty if debug info only contains relative path.
This caused an assertion failure when gsym segmentation is trying to
copy a file entry with empty dir. As the fitst entry of StringTable is
always empty (and is preserved), `StringOffsetMap` doesn't have key 0.
Hence, `find(0)` returns `End` and `operator->()` fails the assertion
Test Plan:
./bin/llvm-lit -sv llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
Commit: a694104022cff5e8b38321f99fd0bc34d8847f5d
https://github.com/llvm/llvm-project/commit/a694104022cff5e8b38321f99fd0bc34d8847f5d
Author: Diego Caballero <diegocaballero at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir][Vector] Add patterns for efficient i4 -> i8 conversion emulation (#79494)
This PR adds new patterns to improve the generated vector code for the emulation of any conversion that have to go through an i4 -> i8 type extension (only signed extensions are supported for now). This will impact any i4 -> i8/i16/i32/i64 signed extensions as well as sitofp i4 -> f8/f16/f32/f64.
The asm code generated for the supported cases is significantly better after this PR for both x86 and aarch64.
Commit: 0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
https://github.com/llvm/llvm-project/commit/0fc791cd2c4e249a9304ac0f36e35a2a3edbd66d
Author: Maksim Panchenko <maks at fb.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
A bolt/test/X86/linux-orc.s
R bolt/test/X86/orc_unwind.s
Log Message:
-----------
[BOLT] Fix comparison function for Linux ORC entries (#79921)
Fix ORC entry comparison function to cover a case with multiple
terminator entries matching at the same IP.
Commit: 8ca90b29eed7836e122382a603bc0a06ca82ebc8
https://github.com/llvm/llvm-project/commit/8ca90b29eed7836e122382a603bc0a06ca82ebc8
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir] Remove unused variable 'byteBitwidth' in VectorEmulateNarrowType.cpp (NFC)
llvm-project/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:763:12:
error: unused variable 'byteBitwidth' [-Werror,-Wunused-variable]
unsigned byteBitwidth = 8;
^
1 error generated.
Commit: 45188c64db68af92596acdb2d9022527f6aa4502
https://github.com/llvm/llvm-project/commit/45188c64db68af92596acdb2d9022527f6aa4502
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
Log Message:
-----------
[DAGCombiner] Use generalized pattern matcher in foldBoolSelectToLogic (#79101)
support vp.select
TODO: Possibly other functions could be supported, eg: SimplifySelect()
Commit: 4460fa8814d4c86e1d22f830078d7bad69bc0ecc
https://github.com/llvm/llvm-project/commit/4460fa8814d4c86e1d22f830078d7bad69bc0ecc
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/TextAPI/RecordVisitor.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
M llvm/unittests/TextAPI/RecordTests.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
Log Message:
-----------
[TextAPI] Introduce granularity for handling ObjC Interface symbols (#79928)
ObjCInterfaceRecords roughly align to the objc-classes key in tbd-files.
They condensely represent up to 3 symbols. The problem here is that when
represented this way, we lose granularity when these symbols could have
different linkages or outright don't exist. This can happen frequently
in interoptable code generated by the swift compiler. This adds fields
and utility functions to express unique properties for these symbols. If
the record does represent the same properties across all of its symbols,
it will be treated the same in the TBD. Otherwise it will be printed in
global's section.
Reviewed seperately before by Juergen Ributzka
Commit: 3bf9e63e705f580917e89259e71469a81679bab5
https://github.com/llvm/llvm-project/commit/3bf9e63e705f580917e89259e71469a81679bab5
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/tools/lli/lli.cpp
Log Message:
-----------
[lli] Use StringRef::consume_front (NFC)
Commit: a112df28edc449e3e47101ffa7d4b6f0bc040c63
https://github.com/llvm/llvm-project/commit/a112df28edc449e3e47101ffa7d4b6f0bc040c63
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M clang/tools/diagtool/TreeView.cpp
Log Message:
-----------
[diagtool] Use StringRef::consume_front (NFC)
Commit: 695b868989d08e8352e0cf063f44d237792481df
https://github.com/llvm/llvm-project/commit/695b868989d08e8352e0cf063f44d237792481df
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
Log Message:
-----------
[AMDGPU] Use a range-based for loop (NFC)
Commit: 053c0ad49985ce3fe117df72617dd5a77d9e389f
https://github.com/llvm/llvm-project/commit/053c0ad49985ce3fe117df72617dd5a77d9e389f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
Log Message:
-----------
[Mips] Use a range-based for loop (NFC)
Commit: 8582d41789ef8524e72e9c5d5eab305455c8d6bc
https://github.com/llvm/llvm-project/commit/8582d41789ef8524e72e9c5d5eab305455c8d6bc
Author: Kazu Hirata <kazu at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Use SDValue::getConstantOperandVal (NFC)
Commit: 65f486c45d56290655b77711a87f7e4b341b8b6c
https://github.com/llvm/llvm-project/commit/65f486c45d56290655b77711a87f7e4b341b8b6c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
AMDGPU: Simplify else if to just else in AMDGPUInstCombineIntrinsic
Fixes #79738
Commit: 9bbde62b521cbe7761f3649fd7b7384a53efc88f
https://github.com/llvm/llvm-project/commit/9bbde62b521cbe7761f3649fd7b7384a53efc88f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
Log Message:
-----------
AMDGPU: Simplify else if to else in AMDGPUMCCodeEmitter
Fixes #79737
Commit: 659ce8f66597ba19845e407d06156ff33c8c7fb1
https://github.com/llvm/llvm-project/commit/659ce8f66597ba19845e407d06156ff33c8c7fb1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
Log Message:
-----------
AMDGPU: Simplify else if to else in GCNHazardRecognizer
Fixes #79736
Commit: 7f6d4455231d458a6925ca5c957bb2814c196ea2
https://github.com/llvm/llvm-project/commit/7f6d4455231d458a6925ca5c957bb2814c196ea2
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
Log Message:
-----------
[mlir][spirv] Clean up map-memref-storage-class pass (#79937)
Clean up the code before making more substantial changes. NFC modulo
extra error checking and physical storage buffer storage class handling.
* Add switch case for physical storage buffer
* Handle type conversion failures
* Inline methods to reduce scrolling
* Other minor cleanups
Commit: 198652a0ff2553c4ba906be10c22af57d20d0bd3
https://github.com/llvm/llvm-project/commit/198652a0ff2553c4ba906be10c22af57d20d0bd3
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/code-model-elf.ll
Log Message:
-----------
[X86] Treat __start_*/__stop_* symbols as large (#79909)
Followup to #79884.
The linker adds __start_foo/__stop_foo symbols pointing to the
beginning/end of the foo section. These can be far away from text, so
treat them as large symbols under the medium/large code models.
Performance to access these is almost certainly not important.
Commit: 70eb0e37a86747f9266e4c8380baa89746f5e23b
https://github.com/llvm/llvm-project/commit/70eb0e37a86747f9266e4c8380baa89746f5e23b
Author: Rob Suderman <rob.suderman at gmail.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix `tensor.pad` to remove newly static values (#79938)
The canonicalization incrementally converts foldable dynamic hi/lo
padding to static hi/lo values. During this canonicalization the
static-fied valued should be removed from the dynamic values.
Commit: dc4483659fc51890fdc732acc66a4dcda6e68047
https://github.com/llvm/llvm-project/commit/dc4483659fc51890fdc732acc66a4dcda6e68047
Author: Po-yao Chang <poyaoc97 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/string.inc
M libcxx/modules/std/string_view.inc
Log Message:
-----------
[libc++][modules] Support using the module std with -fno-char8_t. (#79155)
Exclude some using-declarations in the module purview when compiling
with `-fno-char8_t`.
Commit: a12390e6202eaf1e5d7810109756e10079b9144b
https://github.com/llvm/llvm-project/commit/a12390e6202eaf1e5d7810109756e10079b9144b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Don't use pointer operand in MemoryLocation for RISC-V strided and indexed load/store intrinsics. (#79890)
It seems that even though we set the size to unknown, there is still an
assumption in alias analysis somewhere that we will only access bytes
*after* the pointer. Since a strided/indexed load/store can have
negative indices, this is not accurate.
This was found in our downstream when the scheduler reordered a strided
load with negative stride above a scalar store that aliased with it.
Commit: 5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
https://github.com/llvm/llvm-project/commit/5910e34a2f9a531e0fb6bb4ec1d2888f4a0c0897
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/apx/rol.ll
M llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/shift-eflags.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/apx/xor.ll
A llvm/test/MC/X86/apx/adc-reloc.s
A llvm/test/MC/X86/apx/add-reloc.s
A llvm/test/MC/X86/apx/and-reloc.s
A llvm/test/MC/X86/apx/imul-reloc.s
A llvm/test/MC/X86/apx/or-reloc.s
A llvm/test/MC/X86/apx/rcl-encopt.s
A llvm/test/MC/X86/apx/rcr-encopt.s
A llvm/test/MC/X86/apx/rol-encopt.s
A llvm/test/MC/X86/apx/ror-encopt.s
A llvm/test/MC/X86/apx/sar-encopt.s
A llvm/test/MC/X86/apx/sbb-reloc.s
A llvm/test/MC/X86/apx/shl-encopt.s
A llvm/test/MC/X86/apx/shr-encopt.s
A llvm/test/MC/X86/apx/sub-reloc.s
A llvm/test/MC/X86/apx/xor-reloc.s
Log Message:
-----------
[X86][MC] Support encoding optimization & assembler relaxation about immediate operands for APX instructions (#78545)
Encoding optimization:
```
mi/mi32 -> mi8
ri/ri32 -> ri8
```
if the immediate operand is 8-bit wide.
Assembler relaxation:
```
mi8 -> mi/mi32
ri8 -> ri/ri32
```
If the immediate operand is a symbol expression and it's value is
unknown.
Commit: d09082f6fd517759e5c0874a2e73bddd550de299
https://github.com/llvm/llvm-project/commit/d09082f6fd517759e5c0874a2e73bddd550de299
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Relax march string order constraint (#78120)
Follow
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/14 by
dropping the order requirement of `-march`.
1. single-letter extension can be arbitrary order
- march=rv32iamdf
2. single-letter extension and multi-letter extension can be mixed
- march=rv32i_zihintntl_m_a_f_d_svinval
3. multi-letter extension need seperate the following extension by
underscore, otherwise it will be intreprete as one extension.
- march=rv32i_zbam -> i,zbam
- march=rv32i_zba_m -> i,zba,m
Commit: 67f0a6917c07df6a21580adb567b1a8964818d92
https://github.com/llvm/llvm-project/commit/67f0a6917c07df6a21580adb567b1a8964818d92
Author: ampandey-1995 <137622562+ampandey-1995 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
A llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
Log Message:
-----------
[ASan][AMDGPU] Fix Assertion Failure. (#79795)
Assertion failure `(i >= FTy->getNumParams() || FTy->getParamType(i) ==
Args[i]->getType()) && "Calling a function with a bad signature!"'. The
'llvm.memcpy' intercepted by ASan instrumentation pass is implemented by
it's own __asan_memcpy implementation. The second argument of
llvm.memcpy accepts ptr to addrspace(4), __asan_memcpy also has to
follow ptr to addrspace(4) convention.
---------
Co-authored-by: Amit Pandey <amit.pandey at amd.com>
Commit: cb46c6181770dabad59cc738ad1d26ad78b5f885
https://github.com/llvm/llvm-project/commit/cb46c6181770dabad59cc738ad1d26ad78b5f885
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-01-29 (Mon, 29 Jan 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
A lld/test/MachO/arm64-objc-stubs-dead.s
Log Message:
-----------
[lld-macho] dead-strip objc stubs (#79726)
This supports dead-strip for objc stubs.
Commit: 2800448f88cbc83f688f7848d6ebce247962bd19
https://github.com/llvm/llvm-project/commit/2800448f88cbc83f688f7848d6ebce247962bd19
Author: Shih-Po Hung <shihpo.hung at sifive.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
Log Message:
-----------
[RISCV] Refine cost on Min/Max reduction (#79402)
This patch is split off from #77342, and follows #79103
- Correct for CodeSize cost that 1 instruction is not included. 3 is
from {VMV.S, ReductionOp, VMV.X}
- Add SplitCost which chains a series of VMAX/VMIN/... which scales with
LMUL.
- Use MVT to estimate VL.
Commit: 1a219e989f07eef06fbc9f75ad0c07ebdc652334
https://github.com/llvm/llvm-project/commit/1a219e989f07eef06fbc9f75ad0c07ebdc652334
Author: XinWang10 <108658776+XinWang10 at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
Log Message:
-----------
[X86] Support EVEX compression from MOVBErr to BSWAP (#79775)
APX promoted MOVBE instructions were supported in #77431. The reg2reg
variants of MOVBE are newly introduced by APX and can be optimized to
BSWAP instruction when the 2 register operands are same.
This patch adds manual entries for MOVBErr instructions when we do ndd
to non-ndd compression #77731.
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Commit: 597f56f309815bcda9f38dd6040d7c7e0e520547
https://github.com/llvm/llvm-project/commit/597f56f309815bcda9f38dd6040d7c7e0e520547
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/AST/ComparisonCategories.h
M clang/lib/AST/ComparisonCategories.cpp
Log Message:
-----------
[clang][AST][NFC] Take const CXXRecordDecl* in ComparisonCategories
The class member is already const.
Commit: 547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
https://github.com/llvm/llvm-project/commit/547113fd1f52e2a3d08e3b71ddcd47505ca4a21a
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/IR/EnumAttr.td
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][ODS] Add `ConstantEnumCase` (#78992)
Specifying an enum case of an enum attr currently requires the use of
either `NativeCodeCall` or a `ConstantAttr` specifying the full C++ name
of the enum case. The disadvantages of both are less readable code due
to including C++ expressions and very few checks of any kind, creating
C++ code that does not compile instead.
This PR adds `ConstantEnumCase`, a kind of `ConstantAttr` which
automatically derives the correct value representation from a given enum
and the string representation of an enum case. It supports both
`EnumAttrInfo`s (enums wrapping `IntegerAttr`) and `EnumAttr` (proper
dialect attributes). It even supports bit-enums, allowing one to list
multiple enum cases and have them be combined. If an enum case is not
found, an assertion is triggered with a proper error message.
Besides the tests, it was also used to simplify DRR patterns in the
arith dialect.
Commit: fd3edd452339b507345ccad991f45110e08cd815
https://github.com/llvm/llvm-project/commit/fd3edd452339b507345ccad991f45110e08cd815
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/FPBits.h
M libc/test/src/__support/FPUtil/fpbits_test.cpp
Log Message:
-----------
[libc] Add test to check all properties for all FPBit types. (#79851)
This test is platform agnostic, it runs all tests on all architectures.
Commit: 7a51aeadb933301a38bf2e81e25618bcf173fa8e
https://github.com/llvm/llvm-project/commit/7a51aeadb933301a38bf2e81e25618bcf173fa8e
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86] Silence -Wlogical-op-parentheses in X86CompressEVEX.cpp (NFC)
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
~~~~~~^~~~~~~~~~~~~ ~~
llvm-project/llvm/lib/Target/X86/X86CompressEVEX.cpp:233:15:
note: place parentheses around the '&&' expression to silence this warning
if (!IsND && !IsMovberr || !isRedundantNewDataDest(MI, ST))
^
( )
1 error generated.
Commit: 3df262f89d22e37d12775137cd0f014b4848a4e1
https://github.com/llvm/llvm-project/commit/3df262f89d22e37d12775137cd0f014b4848a4e1
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/docs/GitHub.rst
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
[llvm][Docs] Expand MyFirstTypoFix's post-commit section (#79827)
And link to it from the GitHub guide. Since it fits in the flow of the
former document better, but is of interest to those using the GitHub
specific guide.
This includes some content I wrote for an automated PR comment but I
think is useful to have in a single place to link to instead.
I have removed some details:
* About the waterfall view because it doesn't seem that useful to new
contributors and is likely to just seem like constant chaos given how
many builds are going on.
* The orange bubbles in the console view. I also remember this being the
case but whether it was changed, or the web UI is just not loading
properly, I now see red builds that were red before that commit. So
again, it seems like detail that's not needed for a new contributor.
Commit: 58779495d3613386398fc70faeb098674d7757b5
https://github.com/llvm/llvm-project/commit/58779495d3613386398fc70faeb098674d7757b5
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[clang][AST][NFC] Make FieldDecl in SubobjectAdjustment const
Commit: 4c2422e56ef17ca113be160cf85672c4736bc11e
https://github.com/llvm/llvm-project/commit/4c2422e56ef17ca113be160cf85672c4736bc11e
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
Log Message:
-----------
[StackSafetyAnalysis] Add test with non-pointer use (NFC)
Commit: e9e1a72c22181993edf5bd0b660538081c2cdfb5
https://github.com/llvm/llvm-project/commit/e9e1a72c22181993edf5bd0b660538081c2cdfb5
Author: Gábor Spaits <48805437+spaits at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/SemaTemplate/deduction.cpp
Log Message:
-----------
[Sema] Restructure and extend the testing of template pack deduction (#79881)
Add tests for empty pack deduction from function arguments.
Commit: f214933bc538c719403804069941de301487c39b
https://github.com/llvm/llvm-project/commit/f214933bc538c719403804069941de301487c39b
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/CodeGen/attr-target-version.c
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
Log Message:
-----------
[FMV] Change feature priorities according to ACLE. (#79316)
This patch follows the latest ACLE specification as shown in PR
https://github.com/ARM-software/acle/pull/279. It adjusts the
priorities for FEAT_DOTPROD, FEAT_SM4, FEAT_FP16FML, FEAT_RDM.
Commit: 2fb3c9b90394013d4a3222619cd1d6173c104741
https://github.com/llvm/llvm-project/commit/2fb3c9b90394013d4a3222619cd1d6173c104741
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
A llvm/test/Analysis/StackSafetyAnalysis/extend-ptr.ll
Log Message:
-----------
[StackSafetyAnalysis] Don't call getTruncateOrZeroExtend for pointers of different sizes (#79804)
Otherwise SCEV asserts `Can't extend pointer!`
Fixes SWDEV-442670
Commit: c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
https://github.com/llvm/llvm-project/commit/c61686e8abc2aee6e2e0ad09c6d1ade534e497b3
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Analysis/CFG.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
Log Message:
-----------
[clang][NFC] Use no-param version of skipRValueSubobjectAdjustments
when possible.
Commit: 5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
https://github.com/llvm/llvm-project/commit/5a00cb1abfedbcc0fb60a9b11b4a9876160e3a92
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/test/Driver/riscv-arch.c
M llvm/lib/Support/RISCVISAInfo.cpp
M llvm/unittests/Support/RISCVISAInfoTest.cpp
Log Message:
-----------
Revert "[RISCV] Relax march string order constraint" (#79976)
Reverts llvm/llvm-project#78120
Buildbot is broken:
llvm/lib/Support/RISCVISAInfo.cpp:910:18: error: call to deleted
constructor of 'llvm::Error'
return E;
^
Commit: e5054fb5c660cb81d1f96498e39662914a92a167
https://github.com/llvm/llvm-project/commit/e5054fb5c660cb81d1f96498e39662914a92a167
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/CodeGen/X86/popcnt.ll
Log Message:
-----------
[X86][test] Update CodeGen/X86/popcnt.ll after #78545
Commit: f7ef73ea889a43b893f6277a2ecc227fd2bf803a
https://github.com/llvm/llvm-project/commit/f7ef73ea889a43b893f6277a2ecc227fd2bf803a
Author: Yi Wu <43659785+yi-wu-arm at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir] [arith] add shl overflow flag in Arith and lower to SPIR-V and LLVMIR (#79828)
There is no `SHL` used in canonicalization in `arith`
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: 0e17684cf5ce3b99e8f732f53c3534990ad91fd5
https://github.com/llvm/llvm-project/commit/0e17684cf5ce3b99e8f732f53c3534990ad91fd5
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[AMDGPU] Speed up SIRegisterInfo::getReservedRegs (#79844)
reserveRegisterTuples is slow because it uses MCRegAliasIterator and
hence ends up reserving the same aliased registers many times. This
patch changes getReservedRegs not to use it for reserving SGPRs, VGPRs
and AGPRs. Instead it iterates through base register classes, which
should come closer to reserving each register once only.
Overall this speeds up the time to run check-llvm-codegen-amdgpu in my
Release build from 18.4 seconds to 16.9 seconds (all timings +/- 0.2).
Commit: 04d20b17050203e07394b4f9ee61b5affe2d5347
https://github.com/llvm/llvm-project/commit/04d20b17050203e07394b4f9ee61b5affe2d5347
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[concepts] Set up an instantiation scope for constraint expression comparison (#79698)
This is a follow-up for the comparison of constraints on out-of-line
function template definitions. We require the instantiation of a
ParmVarDecl while transforming the expression if that Decl gets
referenced by a DeclRefExpr. However, we're not actually performing the
class or function template instantiation at the time of such comparison.
Therefore, let's map these parameters to themselves so that they get
preserved after the substitution.
Fixes https://github.com/llvm/llvm-project/issues/74447.
Commit: 70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
https://github.com/llvm/llvm-project/commit/70ae1098ba1a695478a2d62a9fe7c35b43c90ffa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] X86ISelLowering.cpp - add clang-format on/off tags around 'compressed' switch code. NFC.
Stop clang-format trying to expand manually compressed lookup switch() code - if it still fits into 80col, then keep it to a single line instead of expanding across multiple lines each.
Commit: 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
https://github.com/llvm/llvm-project/commit/0c623b58e39cba7e67a0049dbcac87fdcc0103e1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86] X86CompressEVEX.cpp - ensure we tie the operands on MOVBErr instructions
Minor correction for #79775 - noticed in EXPENSIVE_CHECKS builds
Commit: ef67f63fa5f950f4056b5783e92e137342805d74
https://github.com/llvm/llvm-project/commit/ef67f63fa5f950f4056b5783e92e137342805d74
Author: Andrey Ali Khan Bolshakov <32954549+bolshakov-a at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/StaticAnalyzer/Core/Environment.cpp
M clang/test/Analysis/templates.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
Log Message:
-----------
Fix analyzer crash on 'StructuralValue' (#79764)
`OpaqueValueExpr` doesn't necessarily contain a source expression.
Particularly, after #78041, it is used to carry the type and the value
kind of a non-type template argument of floating-point type or referring
to a subobject (those are so called `StructuralValue` arguments).
This fixes #79575.
Commit: 2acf302c1bd562a648cc5bcd0bac04433696f5f4
https://github.com/llvm/llvm-project/commit/2acf302c1bd562a648cc5bcd0bac04433696f5f4
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
Log Message:
-----------
[X86][NFC] X86CompressEVEX.cpp - Simplify code after 0c623b58e39cba7e67a0049dbcac87fdcc0103e1
Commit: 683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
https://github.com/llvm/llvm-project/commit/683bc94e1637bd9bacc978f5dc3c79cfc8ff94b9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__config
M libcxx/include/__format/format_functions.h
Log Message:
-----------
[libc++] Officially remove _VSTD and _LIBCPP_INLINE_VISIBILITY (#79885)
Those were deprecated and basically not used anymore after we renamed
them in batch. This patch removes the macros entirely.
Commit: fdac7d0b6f74f919d319b31a0680c77f66732586
https://github.com/llvm/llvm-project/commit/fdac7d0b6f74f919d319b31a0680c77f66732586
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
[OpenMPIRBuilder] NFC: Improve description of IsTargetDevice and IsGPU (#79322)
This patch tries to better explain the differences between the
`IsTargetDevice` and `IsGPU` flags of the `OpenMPIRBuilderConfig`.
Commit: 02a275cca166546e32153997e4c800763ba7fc85
https://github.com/llvm/llvm-project/commit/02a275cca166546e32153997e4c800763ba7fc85
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86][CodeGen] Add entries for TB_BCAST_SH in getBroadcastOpcode
Commit: 6251b6bd8d219fe2d99d125095622566721fe6f4
https://github.com/llvm/llvm-project/commit/6251b6bd8d219fe2d99d125095622566721fe6f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
Log Message:
-----------
[AArch64] Add tests with sext of vec3 loads.
Another round of additional tests for
https://github.com/llvm/llvm-project/pull/7863
with different sext/zext and use variants.
Commit: a0d266d705d6c145e8daa08a08f70e9498ec3d0b
https://github.com/llvm/llvm-project/commit/a0d266d705d6c145e8daa08a08f70e9498ec3d0b
Author: Krystian Stasiowski <sdkrystian at gmail.com>
Date: 2024-01-30 (Tue, 30 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/CXX/class.access/p4.cpp
A clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/module/module.interface/p2-2.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/qualified-id.cpp
Log Message:
-----------
[Clang][Sema] Allow elaborated-type-specifiers that declare member class template explict specializations (#78720)
According to [[dcl.type.elab]
p2](http://eel.is/c++draft/dcl.type.elab#2):
> If an
[elaborated-type-specifier](http://eel.is/c++draft/dcl.type.elab#nt:elaborated-type-specifier)
is the sole constituent of a declaration, the declaration is ill-formed
unless it is an explicit specialization, an explicit instantiation or it
has one of the following forms [...]
Consider the following:
```cpp
template<typename T>
struct A
{
template<typename U>
struct B;
};
template<>
template<typename U>
struct A<int>::B; // #1
```
The _elaborated-type-specifier_ at `#1` declares an explicit
specialization (which is itself a template). We currently (incorrectly)
reject this, and this PR fixes that.
I moved the point at which _elaborated-type-specifiers_ with
_nested-name-specifiers_ are diagnosed from `ParsedFreeStandingDeclSpec`
to `ActOnTag` for two reasons: `ActOnTag` isn't called for explicit
instantiations and partial/explicit specializations, and because it's
where we determine if a member specialization is being declared.
With respect to diagnostics, I am currently issuing the diagnostic
without marking the declaration as invalid or returning early, which
results in more diagnostics that I think is necessary. I would like
feedback regarding what the "correct" behavior should be here.
Commit: f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
https://github.com/llvm/llvm-project/commit/f89d707e5f5e531fb854f70e02d9eaa32aaf19bd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__utility/pair.h
M libcxx/include/string
M libcxx/include/tuple
M libcxx/include/vector
Log Message:
-----------
[libc++] Accept __VA_ARGS__ in conditional _NOEXCEPT_ macro (#79877)
This prevents having to use double parentheses in common cases.
Commit: 7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
https://github.com/llvm/llvm-project/commit/7162fd750ee5f786f3b9b7a7b26b72ee36ce772e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/jthread.h
A libcxx/include/__thread/support.h
A libcxx/include/__thread/support/c11.h
A libcxx/include/__thread/support/external.h
A libcxx/include/__thread/support/pthread.h
A libcxx/include/__thread/support/windows.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__thread/timed_backoff_policy.h
R libcxx/include/__threading_support
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/semaphore
M libcxx/include/thread
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/libcxx/test/modules.py
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_thread_atexit.cpp
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
Log Message:
-----------
[libc++] Split the monolithic __threading_support header (#79654)
The <__threading_support> header is a huge beast and it's really
difficult to navigate. I find myself struggling to find what I want
every time I have to open it, and I've been considering splitting it up
for years for that reason.
This patch aims not to contain any functional change. The various
implementations of the threading base are simply moved to separate
headers and then the individual headers are simplified in mechanical
ways. For example, we used to have redundant declarations of all the
functions at the top of `__threading_support`, and those are removed
since they are not needed anymore. The various #ifdefs are also
simplified and removed when they become unnecessary.
Finally, this patch adds documentation for the API we expect from any
threading implementation.
Commit: e37a6008831b38477516362892dd3c0d97087eff
https://github.com/llvm/llvm-project/commit/e37a6008831b38477516362892dd3c0d97087eff
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
Log Message:
-----------
[libc++][NFC] Remove dead code implementing some tuple SFINAE checks (#79871)
Some of the checks in sfinae_helpers.h were not used anymore since we
refactored the std::tuple implementation and were now dead code. This
patch removes the code.
Commit: 4017f04e310454ccced4c404a23f7698eec735ca
https://github.com/llvm/llvm-project/commit/4017f04e310454ccced4c404a23f7698eec735ca
Author: Tacet <4922191+AdvenamTacet at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/string
Log Message:
-----------
Remove unnecessary _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS (#79574)
This macro is unnecessary with `basic_string& operator=(value_type
__c)`.
Commit: c3668779c13596e223c26fbd49670d18cd638c40
https://github.com/llvm/llvm-project/commit/c3668779c13596e223c26fbd49670d18cd638c40
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/__string/char_traits.h
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.deprecated.verify.cpp
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.pass.cpp
Log Message:
-----------
[libc++] Remove deprecated char_traits base template (#72694)
This patch has quite a bit of history. First, it must be noted that the
Standard only specifies specializations of char_traits for char,
char8_t, char16_t, char32_t and wchar_t. However, before this patch, we
would provide a base template that accepted anything, and as a result
code like `std::basic_string<long long>` would compile but nobody knows
what it really does. It basically compiles by accident.
We marked the base template as deprecated in LLVM 15 or 16 and were
planning on removing it in LLVM 17, which we did in e30a148b098d.
However, it turned out that the deprecation warning had never been
visible in user code since Clang did not surface that warning from
system headers. As a result, this caught people by surprise and we
decided to reintroduce the base template in LLVM 17 in cce062d226ba.
Since then, #70353 changed Clang so that such deprecation warnings would
be visible from user code. Hence, this patch closes the loop and removes
the deprecated specializations.
Commit: 837bff11cb7d31f40805c73d4f539960a77eda33
https://github.com/llvm/llvm-project/commit/837bff11cb7d31f40805c73d4f539960a77eda33
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/test/Driver/save-mlir-temps.f90
A flang/test/Fir/target-rewrite-target-cpu.fir
A flang/test/Fir/target-rewrite-target-features.fir
A flang/test/Lower/target-features-amdgcn.f90
A flang/test/Lower/target-features-x86_64.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
Log Message:
-----------
[Flang][Lower] Attach target_cpu and target_features attributes to MLIR functions (#78289)
This patch forwards the target CPU and features information from the
Flang frontend to MLIR func.func operation attributes, which are later
used to populate the target_cpu and target_features llvm.func
attributes.
This is achieved in two stages:
1. Introduce the `fir.target_cpu` and `fir.target_features` module
attributes with information from the target machine immediately after
the initial creation of the MLIR module in the lowering bridge.
2. Update the target rewrite flang pass to get this information from the
module and pass it along to all func.func MLIR operations, respectively
as attributes named `target_cpu` and `target_features`. These attributes
will be automatically picked up during Func to LLVM dialect lowering and
used to initialize the corresponding llvm.func named attributes.
The target rewrite and FIR to LLVM lowering passes are updated with the
ability to override these module attributes, and the `CodeGenSpecifics`
optimizer class is augmented to make this information available to
target-specific MLIR transformations.
This completes a full flow by which target CPU and features make it all
the way from compiler options to LLVM IR function attributes.
Commit: 7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
https://github.com/llvm/llvm-project/commit/7565ae6eb99b6d3c5d83d04404a2df1b3785dbfe
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
Log Message:
-----------
[lldb][test][NFC] Refactor xfails in TestRequireHWBreakpoints.py
This file used a strange, multi-level setup where we skipped on
a function we used for xfailing. Let's not do that, just skip
the one test we care about.
Also added a comment to explain how this file works. The tests
*want* calls to fail when we ask for only hardware breaks
but have none to use.
If you don't know that, it all seems backwards.
Commit: ace383df52c0d2cf5f0afa4508f831a027fccbb4
https://github.com/llvm/llvm-project/commit/ace383df52c0d2cf5f0afa4508f831a027fccbb4
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.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/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/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/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/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
Log Message:
-----------
[libc][NFC] Rename `FPBits` nan functions (#79998)
- [libc][NFC] Rename FPBits nan functions
- rename build_signaling_nan in signaling_nan
- rename build_quiet_nan to quiet_nan
Commit: 8774d2936dd1cf0ee8d74ff600359d465179d009
https://github.com/llvm/llvm-project/commit/8774d2936dd1cf0ee8d74ff600359d465179d009
Author: ita-sc <109672931+ita-sc at users.noreply.github.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
Log Message:
-----------
[lldb][RISCV] Fix connection error to gdb server for RISC-V (#79990)
This patch fix connection for LLDB for remote gdb server running on
RISC-V.
You can test connection with OpenOCD or qemu-riscv64.
Commit: 748c29590829cdc0b9572e51d212b3a1d313c318
https://github.com/llvm/llvm-project/commit/748c29590829cdc0b9572e51d212b3a1d313c318
Author: Alex Bradbury <asb at igalia.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
A mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
Log Message:
-----------
[MLIR][LLVM] Add fast-math related function attribute support (#79812)
Adds unsafe-fp-math, no-infs-fp-math, no-nans-fp-math,
approx-func-fp-math, and no-signed-zeros-fp-math function attributes.
This allows code generators using the LLVMIR dialect to match the
codegen of Clang.
Commit: d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
https://github.com/llvm/llvm-project/commit/d1e162e5d94e8c0b1c46bc0c9c45f96eacdd75c8
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-01-30 (Tue, 30 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] Add custom lowering for load <3 x i8>. (#78632)
Add custom combine to lower load <3 x i8> as the more efficient sequence
below:
ldrb wX, [x0, #2]
ldrh wY, [x0]
orr wX, wY, wX, lsl #16
fmov s0, wX
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
Commit: 77e5136ce4221a9f02e905e6079f01d497cfe79e
https://github.com/llvm/llvm-project/commit/77e5136ce4221a9f02e905e6079f01d497cfe79e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Use RegUnits in RegisterClassInfo::getLastCalleeSavedAlias (#79996)
Change the implementation of getLastCalleeSavedAlias to use RegUnits
instead of register aliases. This is much faster on targets like AMDGPU
which define a very large number of overlapping register tuples.
No functional change intended. If PhysReg overlaps multiple CSRs then
getLastCalleeSavedAlias(PhysReg) could conceivably return a different
arbitrary one, but currently it is only used for some debug printing
anyway.
Differential Revision: https://reviews.llvm.org/D146734
Commit: 6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
https://github.com/llvm/llvm-project/commit/6aed6cc40ec0006bb43f1ec4b2ec87702392ad6e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
M openmp/libomptarget/DeviceRTL/src/Misc.cpp
M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
M openmp/libomptarget/DeviceRTL/src/Utils.cpp
Log Message:
-----------
[Libomptarget] Remove remaining inline assembly from the device RTL (#79922)
Summary:
Recent patches have added some missing intrinsic functions NVPTX. This
patch gets rid of all the remaining uses of inline assembly. The one
change that wasn't directly replaced with a built-in was the `pack` and
`unpack` implementations. However, using the generic C implementation is
equivalent to the output SASS when run through PTXAS.
Commit: 976374d9828582f1ca4a4bb4da96fb67c20949f8
https://github.com/llvm/llvm-project/commit/976374d9828582f1ca4a4bb4da96fb67c20949f8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use MutableArrayRef instead of SmallVectorImpl&, NFC.
Commit: 0f9ab7b861268618988c5271e2227b9ab4c1827b
https://github.com/llvm/llvm-project/commit/0f9ab7b861268618988c5271e2227b9ab4c1827b
Author: David Benjamin <davidben at google.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M libcxx/include/deque
M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
Log Message:
-----------
[libc++][hardening] Add hardening assertions to std::deque (#79397)
This aligns std::deque with std::vector w.r.t. hardening checks. There's
probably more that can be done with iterators, but start with this.
This caught a bug with one of libc++'s tests. One of the erase calls in
asan_caterpillar.pass.cpp was a no-op because the iterators were in the
other order. (deque::erase happened to cleanly do nothing when the
distance is negative.)
Fixes #63809
Commit: 3352b3bc49ac94d4de0c23b98c088a8745693880
https://github.com/llvm/llvm-project/commit/3352b3bc49ac94d4de0c23b98c088a8745693880
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-01-30 (Tue, 30 Jan 2024)
Changed paths:
M bolt/include/bolt/Rewrite/MetadataManager.h
M bolt/include/bolt/Rewrite/MetadataRewriter.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Rewrite/MetadataManager.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/X86/linux-orc.s
R bolt/test/X86/orc_unwind.s
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ComparisonCategories.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ComparisonCategories.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_cuda_intrinsics.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/JumpDiagnostics.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/StaticAnalyzer/Core/Environment.cpp
A clang/test/AST/ast-dump-for-range-lifetime.cpp
M clang/test/Analysis/templates.cpp
M clang/test/CXX/class.access/p4.cpp
A clang/test/CXX/dcl.dcl/dcl.enum/p1.cpp
M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p1.cpp
M clang/test/CXX/drs/dr16xx.cpp
M clang/test/CXX/module/module.interface/p2-2.cpp
M clang/test/CXX/special/class.temporary/p6.cpp
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/SemaCXX/enum-scoped.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/deduction.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/temp_arg_nontype_cxx20.cpp
M clang/tools/diagtool/TreeView.cpp
M clang/www/cxx_status.html
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/stack_depot.h
M flang/docs/Extensions.md
M flang/include/flang/Common/Fortran-features.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/Target.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/runtime/numeric.cpp
M flang/test/Driver/save-mlir-temps.f90
A flang/test/Fir/target-rewrite-target-cpu.fir
A flang/test/Fir/target-rewrite-target-features.fir
M flang/test/Lower/OpenACC/acc-declare.f90
A flang/test/Lower/target-features-amdgcn.f90
A flang/test/Lower/target-features-x86_64.f90
A flang/test/Semantics/generic08.f90
A flang/test/Semantics/resolve122.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve53.f90
M flang/test/Semantics/resolve54.f90
M flang/test/Semantics/resolve63.f90
M flang/test/Semantics/resolve65.f90
A flang/test/Semantics/typeinfo08.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/tco/tco.cpp
M flang/unittests/Optimizer/FIRContextTest.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
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/x86_64/entrypoints.txt
M libc/config/linux/x86_64/headers.txt
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/CMakeLists.txt
A libc/include/llvm-libc-macros/stdbit-macros.h
A libc/include/stdbit.h.def
M libc/spec/spec.td
M libc/spec/stdc.td
M libc/src/CMakeLists.txt
M libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
M libc/src/__support/FPUtil/FPBits.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/GPU/nvptx/utils.h
M libc/src/__support/RPC/rpc_util.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/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/tanf.cpp
A libc/src/stdbit/CMakeLists.txt
A libc/src/stdbit/stdc_leading_zeros_uc.cpp
A libc/src/stdbit/stdc_leading_zeros_uc.h
A libc/src/stdbit/stdc_leading_zeros_ui.cpp
A libc/src/stdbit/stdc_leading_zeros_ui.h
A libc/src/stdbit/stdc_leading_zeros_ul.cpp
A libc/src/stdbit/stdc_leading_zeros_ul.h
A libc/src/stdbit/stdc_leading_zeros_ull.cpp
A libc/src/stdbit/stdc_leading_zeros_ull.h
A libc/src/stdbit/stdc_leading_zeros_us.cpp
A libc/src/stdbit/stdc_leading_zeros_us.h
M libc/src/time/gpu/nanosleep.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/include/CMakeLists.txt
A libc/test/include/stdbit_test.cpp
M libc/test/src/CMakeLists.txt
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
A libc/test/src/stdbit/CMakeLists.txt
A libc/test/src/stdbit/stdc_leading_zeros_uc_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ui_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ul_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_ull_test.cpp
A libc/test/src/stdbit/stdc_leading_zeros_us_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libcxx/docs/DesignDocs/ThreadingSupportAPI.rst
M libcxx/docs/ReleaseNotes/19.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__atomic/atomic_flag.h
M libcxx/include/__atomic/atomic_sync.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__format/format_functions.h
M libcxx/include/__mutex/mutex.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/jthread.h
A libcxx/include/__thread/support.h
A libcxx/include/__thread/support/c11.h
A libcxx/include/__thread/support/external.h
A libcxx/include/__thread/support/pthread.h
A libcxx/include/__thread/support/windows.h
M libcxx/include/__thread/this_thread.h
M libcxx/include/__thread/thread.h
M libcxx/include/__thread/timed_backoff_policy.h
R libcxx/include/__threading_support
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__utility/pair.h
M libcxx/include/deque
M libcxx/include/libcxx.imp
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/semaphore
M libcxx/include/string
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/vector
M libcxx/modules/std/atomic.inc
M libcxx/modules/std/iosfwd.inc
M libcxx/modules/std/string.inc
M libcxx/modules/std/string_view.inc
M libcxx/src/call_once.cpp
M libcxx/src/condition_variable_destructor.cpp
M libcxx/src/mutex_destructor.cpp
M libcxx/src/support/win32/thread_win32.cpp
M libcxx/test/libcxx/containers/sequences/deque/asan_caterpillar.pass.cpp
A libcxx/test/libcxx/containers/sequences/deque/assert.pass.cpp
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.deprecated.verify.cpp
R libcxx/test/libcxx/strings/char.traits/char.traits.specializations/arbitrary_char_type.pass.cpp
M libcxx/test/libcxx/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
M libcxx/utils/generate_iwyu_mapping.py
M libcxx/utils/libcxx/test/modules.py
M libcxxabi/src/cxa_exception_storage.cpp
M libcxxabi/src/cxa_guard_impl.h
M libcxxabi/src/cxa_thread_atexit.cpp
M libcxxabi/src/fallback_malloc.cpp
M libcxxabi/test/test_fallback_malloc.pass.cpp
M lld/ELF/InputFiles.cpp
M lld/MachO/Driver.cpp
M lld/MachO/SyntheticSections.cpp
M lld/MachO/SyntheticSections.h
M lld/MachO/Writer.cpp
M lld/test/ELF/warn-backrefs.s
A lld/test/MachO/arm64-objc-stubs-dead.s
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
M llvm/docs/GitHub.rst
M llvm/docs/MyFirstTypoFix.rst
M llvm/include/llvm/CodeGen/RegisterClassInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TextAPI/InterfaceFile.h
M llvm/include/llvm/TextAPI/Record.h
M llvm/include/llvm/TextAPI/RecordsSlice.h
M llvm/include/llvm/TextAPI/Symbol.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZimop.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimizationForImmediate.def
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/TextAPI/RecordVisitor.cpp
M llvm/lib/TextAPI/RecordsSlice.cpp
M llvm/lib/TextAPI/Symbol.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/RISCV/reduce-max.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-min.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-fp.ll
M llvm/test/Analysis/CostModel/RISCV/reduce-scalable-int.ll
A llvm/test/Analysis/StackSafetyAnalysis/extend-ptr.ll
M llvm/test/Analysis/StackSafetyAnalysis/local.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
A llvm/test/CodeGen/NVPTX/activemask.ll
M llvm/test/CodeGen/NVPTX/intrinsics.ll
A llvm/test/CodeGen/NVPTX/nanosleep.ll
A llvm/test/CodeGen/RISCV/rv32zimop-intrinsic.ll
A llvm/test/CodeGen/RISCV/rv64zimop-intrinsic.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-fixed-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice-mask-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/vp-splice.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
R llvm/test/CodeGen/RISCV/vp-splice-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-fixed-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice-mask-vectors.ll
R llvm/test/CodeGen/RISCV/vp-splice.ll
M llvm/test/CodeGen/X86/apx/adc.ll
M llvm/test/CodeGen/X86/apx/add.ll
M llvm/test/CodeGen/X86/apx/and.ll
M llvm/test/CodeGen/X86/apx/compress-evex.mir
M llvm/test/CodeGen/X86/apx/or.ll
M llvm/test/CodeGen/X86/apx/rol.ll
M llvm/test/CodeGen/X86/apx/sar.ll
M llvm/test/CodeGen/X86/apx/sbb.ll
M llvm/test/CodeGen/X86/apx/shift-eflags.ll
M llvm/test/CodeGen/X86/apx/shr.ll
M llvm/test/CodeGen/X86/apx/sub.ll
M llvm/test/CodeGen/X86/apx/xor.ll
M llvm/test/CodeGen/X86/code-model-elf.ll
M llvm/test/CodeGen/X86/popcnt.ll
A llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
A llvm/test/MC/X86/apx/adc-reloc.s
A llvm/test/MC/X86/apx/add-reloc.s
A llvm/test/MC/X86/apx/and-reloc.s
A llvm/test/MC/X86/apx/imul-reloc.s
A llvm/test/MC/X86/apx/or-reloc.s
A llvm/test/MC/X86/apx/rcl-encopt.s
A llvm/test/MC/X86/apx/rcr-encopt.s
A llvm/test/MC/X86/apx/rol-encopt.s
A llvm/test/MC/X86/apx/ror-encopt.s
A llvm/test/MC/X86/apx/sar-encopt.s
A llvm/test/MC/X86/apx/sbb-reloc.s
A llvm/test/MC/X86/apx/shl-encopt.s
A llvm/test/MC/X86/apx/shr-encopt.s
A llvm/test/MC/X86/apx/sub-reloc.s
A llvm/test/MC/X86/apx/xor-reloc.s
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_estimated_tc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave_count_for_known_tc.ll
A llvm/test/tools/llvm-gsymutil/X86/elf-empty-dir.yaml
A llvm/test/tools/llvm-readtapi/stubify-ehtypes.test
M llvm/tools/lli/lli.cpp
M llvm/unittests/CodeGen/MachineInstrTest.cpp
M llvm/unittests/TextAPI/RecordTests.cpp
M llvm/unittests/TextAPI/TextStubV5Tests.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86ManualCompressEVEXTables.def
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MapMemRefStorageClassPass.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Conversion/ArithToSPIRV/arith-to-spirv.mlir
M mlir/test/Dialect/Arith/ops.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/Target/LLVMIR/Import/function-attributes.ll
A mlir/test/Target/LLVMIR/fp-math-function-attributes.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M openmp/libomptarget/DeviceRTL/CMakeLists.txt
M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
M openmp/libomptarget/DeviceRTL/src/Misc.cpp
M openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
M openmp/libomptarget/DeviceRTL/src/Utils.cpp
Log Message:
-----------
Rebase, address comments
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/852742266630...3352b3bc49ac
More information about the All-commits
mailing list