[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