[all-commits] [llvm/llvm-project] 37bee2: [BOLT][NFC] Refactor function matching (#97502)

Amir Ayupov via All-commits all-commits at lists.llvm.org
Tue Jul 9 09:57:39 PDT 2024


  Branch: refs/heads/users/shawbyoung/spr/main.bolt-function-matching-with-function-calls-as-anchors
  Home:   https://github.com/llvm/llvm-project
  Commit: 37bee254975baaa07511cc93ddf059722f29e6b0
      https://github.com/llvm/llvm-project/commit/37bee254975baaa07511cc93ddf059722f29e6b0
  Author: Shaw Young <58664393+shawbyoung at users.noreply.github.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/lib/Profile/YAMLProfileReader.cpp

  Log Message:
  -----------
  [BOLT][NFC] Refactor function matching (#97502)

Moved function matching techniques into separate helper functions for
ease of understanding and to make space for additional function 
matching techniques to be added (e.g. call graph function matching).


  Commit: 4a0aff199bda8abf04a59e4c0bdcedaac7d19841
      https://github.com/llvm/llvm-project/commit/4a0aff199bda8abf04a59e4c0bdcedaac7d19841
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MCAssembler.cpp

  Log Message:
  -----------
  MCAssembler: Clean up iterator types for Symbols


  Commit: 045e68f97b0e3d3df7be1d45e9ea3e105fff7b2a
      https://github.com/llvm/llvm-project/commit/045e68f97b0e3d3df7be1d45e9ea3e105fff7b2a
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M libc/test/src/unistd/readlink_test.cpp
    M libc/test/src/unistd/readlinkat_test.cpp

  Log Message:
  -----------
  [libc] Change the test file names used in readlink_test and readlinkat_test. (#97864)

Attempting to fix the following errors from the build bots:
```
Failed to match LIBC_NAMESPACE::symlink(LINK_VAL, LINK) against Succeeds(0).
Expected return value to be equal to 0 but got -1.
Expected errno to be equal to "Success" but got "File exists".
```


  Commit: dc1da93958be0311b79dce39d71bd954c478cf19
      https://github.com/llvm/llvm-project/commit/dc1da93958be0311b79dce39d71bd954c478cf19
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/register-fragments-bolt-symbols.s

  Log Message:
  -----------
  [BOLT][BAT] Add support for three-way split functions (#93760)

In three-way split functions, if only .warm fragment is present, BAT
incorrectly overwrites the map for .warm fragment by empty .cold
fragment.

Test Plan: updated register-fragments-bolt-symbols.s


  Commit: 34855405b0a7dd6719fa3278f9b888f7f11bc4d8
      https://github.com/llvm/llvm-project/commit/34855405b0a7dd6719fa3278f9b888f7f11bc4d8
  Author: Youngsuk Kim <youngsuk.kim at hpe.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/FileCheck/FileCheck.cpp
    M llvm/lib/IR/DiagnosticInfo.cpp
    M llvm/lib/Remarks/Remark.cpp
    M llvm/tools/llvm-opt-report/OptReport.cpp
    M llvm/utils/TableGen/CompressInstEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp

  Log Message:
  -----------
  [llvm] Avoid 'raw_string_ostream::str' (NFC)

Since `raw_string_ostream` doesn't own the string buffer, it is
desirable (in terms of memory safety) for users to directly reference
the string buffer rather than use `raw_string_ostream::str()`.

Work towards TODO item to remove `raw_string_ostream::str()`.


  Commit: ceade83ad5fc529f2b2beb896eec0dd0b29fdd44
      https://github.com/llvm/llvm-project/commit/ceade83ad5fc529f2b2beb896eec0dd0b29fdd44
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Skip block commented out includes when sorting them (#97787)

Fixes #97539.


  Commit: b75453bc07dabe8e0dc0efb0766a4238e3df6712
      https://github.com/llvm/llvm-project/commit/b75453bc07dabe8e0dc0efb0766a4238e3df6712
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/lib/MC/MCAssembler.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp

  Log Message:
  -----------
  MCAssembler: Remove unneeded non-const iterators for Sections and misleading size()

The pointers cannot be mutated even if the dereferenced MCSection can.


  Commit: 8f5b1440dbdda570d66f170f47cb971388126bf3
      https://github.com/llvm/llvm-project/commit/8f5b1440dbdda570d66f170f47cb971388126bf3
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port #97777 (#97868)


  Commit: 88381cecfff48536230e11901f1598332033fd45
      https://github.com/llvm/llvm-project/commit/88381cecfff48536230e11901f1598332033fd45
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Hoist some common setOperationActions to a common place. NFC

We always want these actions if the type is legal. We don't need
to check the subtarget features. So hoist them to a common point.


  Commit: f118c882fe2f2548b814492aa4e51ef29aa29739
      https://github.com/llvm/llvm-project/commit/f118c882fe2f2548b814492aa4e51ef29aa29739
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Remove unnecessary setOperationAction for ISD::SELECT_CC for fixed vectors. NFC

We already looped through all builtin operations and marked them as
Expand. We don't need to do it to SELECT_CC again.


  Commit: 593f708118aef792f434185547f74fedeaf51dd4
      https://github.com/llvm/llvm-project/commit/593f708118aef792f434185547f74fedeaf51dd4
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Signals.inc

  Log Message:
  -----------
  [Support] Silence function cast warning when building with Clang ToT targetting Windows


  Commit: 10e1b935e5d9017067207d62ababa733df088ecd
      https://github.com/llvm/llvm-project/commit/10e1b935e5d9017067207d62ababa733df088ecd
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp

  Log Message:
  -----------
  [compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows


  Commit: cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339
      https://github.com/llvm/llvm-project/commit/cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp

  Log Message:
  -----------
  [lldb] Silence function cast warning when building with Clang ToT targetting Windows


  Commit: be26e545424a6e006cd67e4433c88c25b23404ae
      https://github.com/llvm/llvm-project/commit/be26e545424a6e006cd67e4433c88c25b23404ae
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [openmp] Silence warning when building the x64 Windows LLVM release package

This fixes:
```
MASM : warning A4018:invalid command-line option : -U_GLIBCXX_ASSERTIONS
```


  Commit: 6337fdcc520e8f948bef23b361c75edeb32ed015
      https://github.com/llvm/llvm-project/commit/6337fdcc520e8f948bef23b361c75edeb32ed015
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll

  Log Message:
  -----------
  [RISCV] Use EXTLOAD in lowerVECTOR_SHUFFLE. (#97862)

We're creating a load and a splat. The splat doesn't use the extended
bits so it doesn't matter what extend we use.


  Commit: 0b9f2847da79298ed09c29493245113f02b32d9f
      https://github.com/llvm/llvm-project/commit/0b9f2847da79298ed09c29493245113f02b32d9f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll

  Log Message:
  -----------
  [RISCV] Remove unused check-prefixes. NFC


  Commit: a348824798e03c1ffd10e6a1c5340130b0f48bf9
      https://github.com/llvm/llvm-project/commit/a348824798e03c1ffd10e6a1c5340130b0f48bf9
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vmadd-vp.ll

  Log Message:
  -----------
  [RISCV] Allow folding vmerge with implicit passthru when true has tied dest (#78565)

We currently don't fold a vmerge if it has an implicit-def passthru and
its true operand also has a passthru (i.e. tied dest).

This restriction was added in https://reviews.llvm.org/D151596, back
whenever we had separate TU/TA pseudos. It looks like it was added
because the policy might not have been handled correctly.

However the policy should be set correctly if we relax this restriction
today, since we compute the policy differently now that we have removed
the TU/TA distinction in our pseudos.

We use a TUMU policy, and relax it to TAMU iff the vmerge's passthru is
implicit-def.

The reasoning behind this being that the tail elements always come from
the vmerge's passthru[^1], so if vmerge's passthru is implicit-def then
the tail is also implicit-def. So a tail agnostic policy is OK.

[^1]: unless the VL was shrunk, but in this case which case we
conservatively use TUMU.


  Commit: ccf357ff643c6af86bb459eba5a00f40f1dcaf22
      https://github.com/llvm/llvm-project/commit/ccf357ff643c6af86bb459eba5a00f40f1dcaf22
  Author: Izaak Schroeder <izaak.schroeder at gmail.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/dlfcn.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/dlfcn-macros.h

  Log Message:
  -----------
  [libc] Add `dlfcn.h` headers (#97772)


  Commit: 9cb9a97e44130e17e96f994c3e594aba69ea1ad5
      https://github.com/llvm/llvm-project/commit/9cb9a97e44130e17e96f994c3e594aba69ea1ad5
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-05 (Fri, 05 Jul 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Use Clang to infer the target triple (#89425)

When using Clang as a compiler, use Clang to normalize the triple that's
used to construct path for runtime library build and install paths. This
ensures that paths are consistent and avoids the issue where the build
uses a different triple spelling.

Differential Revision: https://reviews.llvm.org/D140925


  Commit: acd7a688fcd26ce4d72cecbddeddef788482e17e
      https://github.com/llvm/llvm-project/commit/acd7a688fcd26ce4d72cecbddeddef788482e17e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/tools/bugpoint/BugDriver.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-extract/llvm-extract.cpp
    M llvm/tools/llvm-link/llvm-link.cpp
    M llvm/tools/verify-uselistorder/verify-uselistorder.cpp

  Log Message:
  -----------
  [llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#97778)


  Commit: 874ca08645420413e525054a47caf039bebde28b
      https://github.com/llvm/llvm-project/commit/874ca08645420413e525054a47caf039bebde28b
  Author: Zhikai Zeng <backlight.zzk at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/eval-crashes.cpp

  Log Message:
  -----------
  [Clang][ExprConstant] fix constant expression did not evaluate to integer (#97146)

fixes https://github.com/llvm/llvm-project/issues/96670

The cause is that we might return a lvalue here at


https://github.com/llvm/llvm-project/blob/3e53c97d33210db68188e731e93ee48dbaeeae32/clang/lib/AST/ExprConstant.cpp#L15861-L15865

This PR will make sure we return a rvalue in `FastEvaluateAsRValue`.


  Commit: ac9d34a2eed4c4d58edf25b92e397faa76170d00
      https://github.com/llvm/llvm-project/commit/ac9d34a2eed4c4d58edf25b92e397faa76170d00
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [clang-doc] revert asset bug fix (#97882)

reverts https://github.com/llvm/llvm-project/pull/97540

which broke clangs standalone build


  Commit: 5aa8ef8e9b05b714550eedbced34f67f225dbe6f
      https://github.com/llvm/llvm-project/commit/5aa8ef8e9b05b714550eedbced34f67f225dbe6f
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  [libc++][test] Updates sized deallocation tests. (#97833)

In #90373 size deallocation was enabled by default. Some test were
disabled to propagate the clang changes to the libc++ CI. These changes
have been propagated so the test filter can be updated.


  Commit: 126f81dd5a804636e4b66146d2d039099d9d5889
      https://github.com/llvm/llvm-project/commit/126f81dd5a804636e4b66146d2d039099d9d5889
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/src/tzdb.cpp

  Log Message:
  -----------
  [NFC][libc++] removes std:: qualification,

Elements in nested namespaces in the std namespace do not use fully
qualified names in libc++. This adjusts a few cases found.


  Commit: 55b95a7a75ec4568d6ee7a3199090e830619c68e
      https://github.com/llvm/llvm-project/commit/55b95a7a75ec4568d6ee7a3199090e830619c68e
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M mlir/docs/DialectConversion.md
    M mlir/include/mlir/Transforms/DialectConversion.h

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect conversion: Reland docs improvement (#97886)

#96207 was reverted but the improvements to the documentation of the
dialect conversion are still useful.


  Commit: 88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe
      https://github.com/llvm/llvm-project/commit/88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    A llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir

  Log Message:
  -----------
  [AArch64][PAC] Support BLRA* instructions in SLS Hardening pass (#97605)

Make SLS Hardening pass handle BLRA* instructions the same way it
handles BLR. The thunk names have the form

    __llvm_slsblr_thunk_xN            for BLR thunks
    __llvm_slsblr_thunk_(aaz|abz)_xN  for BLRAAZ and BLRABZ thunks
    __llvm_slsblr_thunk_(aa|ab)_xN_xM for BLRAA and BLRAB thunks

Now there are about 1800 possible thunk names, so do not rely on linear
thunk function's name lookup and parse the name instead.


  Commit: f90bac99e19d4243ac52cf6e18aa374f9a8754cb
      https://github.com/llvm/llvm-project/commit/f90bac99e19d4243ac52cf6e18aa374f9a8754cb
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
    R llvm/test/CodeGen/AArch64/speculation-hardening-sls-blra.mir

  Log Message:
  -----------
  Revert "[AArch64][PAC] Support BLRA* instructions in SLS Hardening pass" (#97887)

This reverts commit 88b26293a24bdd85fce2b2f7191cc0a5bc0cecfe due to
failures of

    CodeGen/AArch64/speculation-hardening-sls-blra.mir


  Commit: be3a8b8d94608746b22cb0cf3fc03af33b7d8648
      https://github.com/llvm/llvm-project/commit/be3a8b8d94608746b22cb0cf3fc03af33b7d8648
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td

  Log Message:
  -----------
  [clang] Add C++26 diagnostics to compatibility diagnosic groups (#97806)

This patch adds `CXXPre26Compat` and `CXXPre26CompatPedantic` groups
(which are concerned with new features not available in older language
modes) to `CXX98Compat`, etc. This way, if user has `-Wc++20-compat` and
they use pack indexing, they will be warned.

Ideally this should have been done when C++26 groups were created, but
we shipped two releases of Clang since then.


  Commit: 4a9aef683df895934c26591404692d41a687b005
      https://github.com/llvm/llvm-project/commit/4a9aef683df895934c26591404692d41a687b005
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/DynamicAPInt.h
    M llvm/include/llvm/ADT/SlowDynamicAPInt.h
    M llvm/lib/Support/DynamicAPInt.cpp

  Log Message:
  -----------
  DynamicAPInt: optimize size of structure (#97831)

Reuse the APInt::BitWidth to eliminate DynamicAPInt::HoldsLarge, cutting
the size of DynamicAPInt by four bytes. This is implemented by making
DynamicAPInt a friend of SlowDynamicAPInt and APInt, so it can directly
access SlowDynamicAPInt::Val and APInt::BitWidth.

We get a speedup of 4% with this patch.


  Commit: de88b2cb16af4bba659d0bb2ddf10bda681ec84d
      https://github.com/llvm/llvm-project/commit/de88b2cb16af4bba659d0bb2ddf10bda681ec84d
  Author: Gábor Spaits <gaborspaits1 at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaInit.cpp

  Log Message:
  -----------
  [Clang] Simplify release notes and remove irrelevant comment (#96407)

As discussed before with @cor3ntin before
(https://github.com/llvm/llvm-project/pull/94752) here is the
simplification of the release note written for the previously mentioned
PR and the removal of a comment that is no longer useful.

(Sorry for creating this PR this late.)

Co-authored-by: Gabor Spaits <Gabor.Spaits at hightec-rt.com>


  Commit: f8834ed24bf11d19c96c49d42e77d4408af91fd8
      https://github.com/llvm/llvm-project/commit/f8834ed24bf11d19c96c49d42e77d4408af91fd8
  Author: Hendrik Hübner <117831077+HendrikHuebner at users.noreply.github.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/src/math/CMakeLists.txt
    A libc/src/math/cospif.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/cospif.cpp
    M libc/src/math/generic/sinpif.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/cospif_test.cpp
    M libc/test/src/math/exhaustive/CMakeLists.txt
    A libc/test/src/math/exhaustive/cospif_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/cospif_test.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h

  Log Message:
  -----------
  [libc][C23][math] Implement cospif function correctly rounded for all rounding modes (#97464)

I also fixed a comment in sinpif.cpp in the first commit. Should this be
included in this PR?

All tests were passed, including the exhaustive test.

CC: @lntue


  Commit: 9374f83a73e53633da3258090f5c9a1f0d055526
      https://github.com/llvm/llvm-project/commit/9374f83a73e53633da3258090f5c9a1f0d055526
  Author: Justin Holewinski <jholewinski at nvidia.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/lib/IR/AutoUpgrade.cpp

  Log Message:
  -----------
  Outline X86 autoupgrade patterns (#97851)

Outlining these patterns has a significant impact on the overall stack
frame size of llvm::UpgradeIntrinsicCall. This is helpful for scenarios
where compilation threads are stack-constrained. The overall impact is
low when using clang as the host compiler, but very pronounced when
using MSVC 2022 with release builds.

Clang:   1,624 ->   824 bytes
MSVC:   23,560 -> 6,120 bytes


  Commit: 2da0055924161d63f4ecb88371ba6ccb4552f13d
      https://github.com/llvm/llvm-project/commit/2da0055924161d63f4ecb88371ba6ccb4552f13d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/include/__string/char_traits.h

  Log Message:
  -----------
  [libc++][NFC] Merge identical char_traits functions into a base class (#97700)


  Commit: d64efe42eb98af76ba4ba26f48d079713f513af9
      https://github.com/llvm/llvm-project/commit/d64efe42eb98af76ba4ba26f48d079713f513af9
  Author: Daniel Bertalan <dani at danielbertalan.dev>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/Writer.cpp
    M lld/test/MachO/init-offsets.s
    A lld/test/MachO/invalid/init-offsets.s

  Log Message:
  -----------
  [lld-macho] Remove symbols to `__mod_init_func` with `-init_offsets` (#97156)

When `-fixup_chains`/`-init_offsets` is used, a different section,
`__init_offsets` is synthesized from `__mod_init_func`. If there are any
symbols defined inside `__mod_init_func`, they are added to the symbol
table unconditionally while processing the input files. Later, when
querying these symbols' addresses (when constructing the symtab or
exports trie), we crash with a null deref, as there is no output section
assigned to them.

Just making the symbols point to `__init_offsets` is a bad idea, as the
new section stores 32-bit integers instead of 64-bit pointers; accessing
the symbols would not do what the programmer intended. We should
entirely omit them from the output. This is what ld64 and ld-prime do.

This patch uses the same mechanism as dead-stripping to mark these
symbols as not needed in the output. There might be nicer fixes than the
workaround, this is discussed in #97155.

Fixes https://github.com/llvm/llvm-project/pull/79894#issuecomment-1944092892
Fixes #94716


  Commit: e55585fd7bddf5bb3824a53cbe2971206d3c20c6
      https://github.com/llvm/llvm-project/commit/e55585fd7bddf5bb3824a53cbe2971206d3c20c6
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Fix typo in cxx_status.html


  Commit: 9e9404387d3b787305dc8bf21b0e20c477b6ff39
      https://github.com/llvm/llvm-project/commit/9e9404387d3b787305dc8bf21b0e20c477b6ff39
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/docs/index.rst
    M libcxx/include/__configuration/compiler.h
    M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
    M libcxx/test/std/algorithms/robust_against_adl.compile.pass.cpp
    M libcxx/test/std/containers/views/mdspan/mdspan/index_operator.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
    M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
    M libcxxabi/test/catch_member_function_pointer_02.pass.cpp

  Log Message:
  -----------
  [libc++] Remove annotations for GCC 13 and update the documentation (#97744)

GCC 14 has been released a while ago. We've updated the CI to use GCC 14
now. This removes any old annotations in the tests and updates the
documentation to reflect the updated version requirements.


  Commit: 048815c22ae779b1f2a0289b7b28ed8cf54af676
      https://github.com/llvm/llvm-project/commit/048815c22ae779b1f2a0289b7b28ed8cf54af676
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp

  Log Message:
  -----------
  Revert "[lldb] Silence function cast warning when building with Clang ToT targetting Windows"

This reverts commit cf1ded3ac248ad4feeed7b4dd20c60b7e3c40339.


  Commit: b4b17d97637bb70976405b7cd4194ee89a60b763
      https://github.com/llvm/llvm-project/commit/b4b17d97637bb70976405b7cd4194ee89a60b763
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Silence function cast warning when building with Clang ToT targetting Windows"

This reverts commit 10e1b935e5d9017067207d62ababa733df088ecd.


  Commit: 57b76b4210728a11a5a0c5ed869a251d5ad9742d
      https://github.com/llvm/llvm-project/commit/57b76b4210728a11a5a0c5ed869a251d5ad9742d
  Author: Alexandre Ganea <aganea at havenstudios.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Signals.inc

  Log Message:
  -----------
  Revert "[Support] Silence function cast warning when building with Clang ToT targetting Windows"

This reverts commit 593f708118aef792f434185547f74fedeaf51dd4.


  Commit: 6e4bb60adef6abd34516f9121930eaa84e41e04a
      https://github.com/llvm/llvm-project/commit/6e4bb60adef6abd34516f9121930eaa84e41e04a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++] Assume newer LLVM versions for not-yet-released macOS versions

This makes the test suite forward-compatible with future versions of macOS.
Previously, the Lit features were built in a way that they would assume
that any newer macOS version doesn't contain any version of LLVM, which
doesn't make sense.


  Commit: 8426b51e0e942b27af8a50b9cee53c1b68d139c2
      https://github.com/llvm/llvm-project/commit/8426b51e0e942b27af8a50b9cee53c1b68d139c2
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/test/std/utilities/utility/pairs/pairs.pair/ctor.pair_U_V_move.pass.cpp

  Log Message:
  -----------
  [libcxx][test][NFC] Fix std::pair convertible tests in light of CWG2137 (#97403)

https://cplusplus.github.io/CWG/issues/2137.html

This change was previously made as part of
924701311aa79180e86ad8ce43d253f27d25ec7d (#77768) and later reverted in
6e4930c67508a90bdfd756f6e45417b5253cd741

This change is still needed because the comment is still true: A
standards-conformant compiler is currently supposed to fail this test.

This also means that any future work on CWG2137 with Clang would not
need to modify the libc++ test suite


  Commit: 5028dea65266ab8b7f8f9ebd5d5e01faacebc645
      https://github.com/llvm/llvm-project/commit/5028dea65266ab8b7f8f9ebd5d5e01faacebc645
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp

  Log Message:
  -----------
  [LAA] Only invalidate loops that require runtime checks (NFCI).

LAA doesn't keep references to IR outside the loop or references to
SCEVs that may be invalidated, unless runtime checks are needed (either
memory or SCEV predicates). For the current LAA users, it should be
sufficient to invalidate entries for loops that require runtime checks,
thus avoiding analyzing loops again unnecessarily.

This helps reduce compile-time, in particular when removing the
restrictions added in 234cc40adc6.

https://llvm-compile-time-tracker.com/compare.php?from=73894dba2cdbcc00678d0c13a6b61765675f60b4&to=05c6bdc41b5f63696ebeb7116325725fa94f66d6&stat=instructions:u


  Commit: 9abb574f9a68b1c0c32f49745f9dad8e1a7db1f9
      https://github.com/llvm/llvm-project/commit/9abb574f9a68b1c0c32f49745f9dad8e1a7db1f9
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCDwarf.h

  Log Message:
  -----------
  [MC] Make MCCFIInstruction smaller

by placing `Operation` next to a 4-byte member.
Refactor the union representation so that it is easy to add a pointer
member for .cfi_label support without increasing the total size. There
are two primary forms (RI and RR) and RIA for AMDGPU-specific
.cfi_llvm_def_aspace_cfa.


  Commit: 40c12648c6c0a39efce294e3fa763fd6c8ed4005
      https://github.com/llvm/llvm-project/commit/40c12648c6c0a39efce294e3fa763fd6c8ed4005
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
    M llvm/lib/Bitcode/Writer/ValueEnumerator.cpp

  Log Message:
  -----------
  [Bitcode] Use range-based for loops (NFC) (#97776)


  Commit: 02c7be5094fa3ffb3f118d9e2d69af435b7c8ef6
      https://github.com/llvm/llvm-project/commit/02c7be5094fa3ffb3f118d9e2d69af435b7c8ef6
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libcxx/include/__locale_dir/locale_base_api.h
    M libcxx/include/__locale_dir/locale_base_api/android.h
    M libcxx/include/__locale_dir/locale_base_api/fuchsia.h
    M libcxx/include/__locale_dir/locale_base_api/ibm.h
    M libcxx/include/__locale_dir/locale_base_api/musl.h
    M libcxx/include/__locale_dir/locale_base_api/newlib.h
    M libcxx/include/__locale_dir/locale_base_api/openbsd.h
    M libcxx/include/__locale_dir/locale_base_api/win32.h
    M libcxx/include/__support/xlocale/__posix_l_fallback.h
    M libcxx/include/__support/xlocale/__strtonum_fallback.h

  Log Message:
  -----------
  [libc++] Remove dead code from the locale base API and support code (#89070)


  Commit: f4e6ddbc2ed77ef73a036408f1d04bb792e2d357
      https://github.com/llvm/llvm-project/commit/f4e6ddbc2ed77ef73a036408f1d04bb792e2d357
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h

  Log Message:
  -----------
  [libc] Fix Cppcheck Issues (#96999)

This PR fixes linting issues discovered by `cppcheck`.

Fixes: https://github.com/llvm/llvm-project/issues/96863


  Commit: b151c7e36a26a4168d0384c88295099e4b6470d0
      https://github.com/llvm/llvm-project/commit/b151c7e36a26a4168d0384c88295099e4b6470d0
  Author: Izaak Schroeder <izaak.schroeder at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/undefined_behavior.rst
    M libc/spec/posix.td
    M libc/src/CMakeLists.txt
    A libc/src/dlfcn/CMakeLists.txt
    A libc/src/dlfcn/dlclose.cpp
    A libc/src/dlfcn/dlclose.h
    A libc/src/dlfcn/dlerror.cpp
    A libc/src/dlfcn/dlerror.h
    A libc/src/dlfcn/dlopen.cpp
    A libc/src/dlfcn/dlopen.h
    A libc/src/dlfcn/dlsym.cpp
    A libc/src/dlfcn/dlsym.h

  Log Message:
  -----------
  [libc] Add `dlfcn.h` placeholder (#97501)

Adds `dlopen` and friends. This is needed as part of the effort to
compile `libunwind` + `libc` without baremetal mode. This is part of
https://github.com/llvm/llvm-project/issues/97191. This should still be
spec compliant, since `dlopen` always returns `NULL` and `dlerror`
always returns an error message.

> If dlopen() fails for any reason, it returns NULL.

> The function dlclose() returns 0 on success, and nonzero on error.

> Since the value of the symbol could actually be NULL (so that a NULL
return from dlsym() need not indicate an error), the correct way to test
for an error is to call dlerror() to clear any old error conditions,
then call dlsym(), and then call dlerror() again, saving its return
value into a variable, and check whether this saved value is not NULL.


See:
- https://linux.die.net/man/3/dlopen


  Commit: f767295942288bd70156ad322defac60b568c927
      https://github.com/llvm/llvm-project/commit/f767295942288bd70156ad322defac60b568c927
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M clang-tools-extra/clangd/support/ThreadsafeFS.cpp

  Log Message:
  -----------
  [clangd] Use std::make_unique (NFC) (#97915)


  Commit: 75bc20ff899753b100cb875ce703af2348a1d6bb
      https://github.com/llvm/llvm-project/commit/75bc20ff899753b100cb875ce703af2348a1d6bb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/BranchProbabilityInfo.h
    M llvm/include/llvm/Analysis/MLInlineAdvisor.h
    M llvm/include/llvm/Analysis/MemorySSA.h
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/ObjectYAML/XCOFFYAML.cpp
    M llvm/lib/Support/TimeProfiler.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/llvm-as/llvm-as.cpp
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
    M llvm/unittests/DebugInfo/BTF/BTFParserTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFExpressionCopyBytesTest.cpp
    M llvm/unittests/IR/VFABIDemanglerTest.cpp
    M llvm/unittests/Linker/LinkModulesTest.cpp
    M llvm/unittests/MC/DwarfLineTableHeaders.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/unittests/Target/X86/MachineSizeOptsTest.cpp
    M llvm/unittests/Transforms/Utils/SizeOptsTest.cpp

  Log Message:
  -----------
  [llvm] Remove redundant calls to std::unique_ptr<T>::get (NFC) (#97914)


  Commit: d00f1c14dc0ea8a933f90ada0f77781d99a439a7
      https://github.com/llvm/llvm-project/commit/d00f1c14dc0ea8a933f90ada0f77781d99a439a7
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    A llvm/include/llvm/CodeGenData/OutlinedHashTree.h
    A llvm/include/llvm/CodeGenData/OutlinedHashTreeRecord.h
    M llvm/lib/CMakeLists.txt
    A llvm/lib/CodeGenData/CMakeLists.txt
    A llvm/lib/CodeGenData/OutlinedHashTree.cpp
    A llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
    M llvm/unittests/CMakeLists.txt
    A llvm/unittests/CodeGenData/CMakeLists.txt
    A llvm/unittests/CodeGenData/OutlinedHashTreeRecordTest.cpp
    A llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp

  Log Message:
  -----------
  [CGData] Outlined Hash Tree (#89792)

This defines the OutlinedHashTree class.
It contains sequences of stable hash values of instructions that have
been outlined. This OutlinedHashTree can be used to track the outlined
instruction sequences across modules. A trie structure is used in its
implementation, allowing for a compact sharing of common prefixes.

This is a patch for
https://discourse.llvm.org/t/rfc-enhanced-machine-outliner-part-2-thinlto-nolto/78753.


  Commit: 8a41327948e7611e851234782b8005d615c5c92c
      https://github.com/llvm/llvm-project/commit/8a41327948e7611e851234782b8005d615c5c92c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M lld/docs/ReleaseNotes.rst

  Log Message:
  -----------
  ReleaseNotes: add lld/ELF notes


  Commit: 57fa5084036d10824f6f64e3bcc481db8fa73c24
      https://github.com/llvm/llvm-project/commit/57fa5084036d10824f6f64e3bcc481db8fa73c24
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp

  Log Message:
  -----------
  Fix build break for [CGData] Outlined Hash Tree (#89792)


  Commit: ba255076a0efce1e2e7ecf5572a794912e23370b
      https://github.com/llvm/llvm-project/commit/ba255076a0efce1e2e7ecf5572a794912e23370b
  Author: Izaak Schroeder <izaak.schroeder at gmail.com>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.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/elf-macros.h
    M libc/include/llvm-libc-macros/link-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/Dl_info.h
    A libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
    A libc/include/llvm-libc-types/struct_dl_phdr_info.h

  Log Message:
  -----------
  [libc] Add `link.h` and `elf.h` headers (#97924)

Headers for https://github.com/llvm/llvm-project/pull/97504


  Commit: 1acb08660a7a2cd3f0f2e8f4fbfe34c830484480
      https://github.com/llvm/llvm-project/commit/1acb08660a7a2cd3f0f2e8f4fbfe34c830484480
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-06 (Sat, 06 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    R libc/include/llvm-libc-macros/elf-macros.h
    M libc/include/llvm-libc-macros/link-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/Dl_info.h
    R libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
    R libc/include/llvm-libc-types/struct_dl_phdr_info.h

  Log Message:
  -----------
  Revert "[libc] Add `link.h` and `elf.h` headers" (#97931)

Reverts llvm/llvm-project#97924


  Commit: f4c781174b4b8fd958d9074c25eb06b6e276cb1c
      https://github.com/llvm/llvm-project/commit/f4c781174b4b8fd958d9074c25eb06b6e276cb1c
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaTemplate/generic-lambda.cpp

  Log Message:
  -----------
  [Clang] Add captures to the instantiation scope for noexcept specifiers (#97166)

The noexcept specifiers of dependent lambdas would be transformed and
rebuilt, where the map of instantiation should also contain captured
variables in case they are used from the noexcept specifier.

I also uncovered another assertion failure while at it. However, I
decided to leave it as-is because 1) that doesn't appear to be the case
in the release version and 2) fixing that might lead to ABI breakage.
Anyhow, the case has been added to the test comment.

Fixes https://github.com/llvm/llvm-project/issues/95735


  Commit: e83e53b7027149a61a6d4d27ddf66614d8d24129
      https://github.com/llvm/llvm-project/commit/e83e53b7027149a61a6d4d27ddf66614d8d24129
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/unittests/MC/AMDGPU/CMakeLists.txt
    A llvm/unittests/MC/AMDGPU/Disassembler.cpp

  Log Message:
  -----------
  [AMDGPU][MC] Allow UC_VERSION_* constant reuse (#96461)

If more than one disassembler is created for a context then allow reuse
of existing constants.
Warn if constants values do not match.


  Commit: 9d6b68b63f02e0fa3a1dd5b4553cc0d8f17d8777
      https://github.com/llvm/llvm-project/commit/9d6b68b63f02e0fa3a1dd5b4553cc0d8f17d8777
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libcxx/src/CMakeLists.txt
    R libcxx/src/chrono_exception.cpp
    A libcxx/src/experimental/chrono_exception.cpp
    A libcxx/src/experimental/include/tzdb/time_zone_private.h
    A libcxx/src/experimental/include/tzdb/types_private.h
    A libcxx/src/experimental/include/tzdb/tzdb_list_private.h
    A libcxx/src/experimental/include/tzdb/tzdb_private.h
    A libcxx/src/experimental/time_zone.cpp
    A libcxx/src/experimental/tzdb.cpp
    A libcxx/src/experimental/tzdb_list.cpp
    R libcxx/src/include/tzdb/time_zone_private.h
    R libcxx/src/include/tzdb/types_private.h
    R libcxx/src/include/tzdb/tzdb_list_private.h
    R libcxx/src/include/tzdb/tzdb_private.h
    R libcxx/src/time_zone.cpp
    R libcxx/src/tzdb.cpp
    R libcxx/src/tzdb_list.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Makes implementation experimental. (#95657)

This moves the files to libcxx/src/experimental/ as discussed in #90394.

Fixes: https://github.com/llvm/llvm-project/issues/94902


  Commit: 0ff06b44cc345901eaeaf968f885b9a0fd59ec24
      https://github.com/llvm/llvm-project/commit/0ff06b44cc345901eaeaf968f885b9a0fd59ec24
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    A llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/CodeGenData/BUILD.gn

  Log Message:
  -----------
  [gn] port d00f1c14dc0e (CodeGenDataTests)


  Commit: 964327d22f51e479ef12dfcfc1ed28af0e7f7d06
      https://github.com/llvm/llvm-project/commit/964327d22f51e479ef12dfcfc1ed28af0e7f7d06
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/src/BUILD.gn

  Log Message:
  -----------
  [gn] port 9d6b68b63f02 (libc++ tzdb to experimental/)


  Commit: 03807aa2c5d924a2e88fad1cacda2470c5052f1c
      https://github.com/llvm/llvm-project/commit/03807aa2c5d924a2e88fad1cacda2470c5052f1c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/unittests/MC/AMDGPU/Disassembler.cpp

  Log Message:
  -----------
  [AMDGPU][MC] Attempt to fix build after e83e53b702714

See https://github.com/llvm/llvm-project/pull/96461#issuecomment-2212381515


  Commit: 902fb1b4653d5a23613492406cd5693446f06ab6
      https://github.com/llvm/llvm-project/commit/902fb1b4653d5a23613492406cd5693446f06ab6
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/unittests/MC/AMDGPU/BUILD.gn

  Log Message:
  -----------
  [gn build] Port e83e53b70271


  Commit: c65f8d881671c3c7966fbbc967b7c4ca063d989b
      https://github.com/llvm/llvm-project/commit/c65f8d881671c3c7966fbbc967b7c4ca063d989b
  Author: Felix Schneider <fx.schn at gmail.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/invalid.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix crashes in parser on linalg ops without operands (#97944)

`parseDstStyleOp` parses both `ins()` and `outs()` optionally. The
parsers for `linalg.transpose`, `linalg.broadcast` and `linalg.map`
however assume that at least one operand is present in the state,
leading to crashes otherwise.

This patch adds checks to the parsers which stop them from crashing if
no operands were parsed. When the Ops are parsed successfuly, the
verifiers can work on them.

Fix https://github.com/llvm/llvm-project/issues/97857


  Commit: 07c157a43534744bff8b9cf03a5ec8d19717ba72
      https://github.com/llvm/llvm-project/commit/07c157a43534744bff8b9cf03a5ec8d19717ba72
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M mlir/include/mlir/IR/DialectImplementation.h
    M mlir/test/IR/parser.mlir
    A mlir/test/IR/parser_dialect_loading.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp

  Log Message:
  -----------
  [mlir] load dialect in parser for optional parameters (#96667)

https://github.com/llvm/llvm-project/pull/96242 fixed an issue where the
auto-generated parsers were not loading dialects whose namespaces are
not present in the textual IR. This required the attribute parameter to
be a tablegen def with its dialect information attached.

This fails when using parameter wrapper classes like
`OptionalParameter`. This came up because `RingAttr` uses
`OptionalParameter` for its second and third attributes.
`OptionalParameter` takes as input the C++ type as a string instead of
the tablegen def, and so it doesn't have a dialect member value to
trigger the fix from https://github.com/llvm/llvm-project/pull/96242.
The docs on this topic say the appropriate solution as overloading
`FieldParser` for a particular type.

This PR updates `FieldParser` for generic attributes to load the dialect
on demand. This requires `mlir-tblgen` to emit a `dialectName` static
field on the generated attribute class, and check for it with template
metaprogramming, since not all attribute types go through `mlir-tblgen`.

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>


  Commit: 649cdfc4b6781a350dfc87d9b2a4b5a4c3395909
      https://github.com/llvm/llvm-project/commit/649cdfc4b6781a350dfc87d9b2a4b5a4c3395909
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/version.test

  Log Message:
  -----------
  [ELF] Reinstate the former spelling in the version message

With `LLVM_APPEND_VC_REV=off`, the new version message after #97323
looks like:
```
% /tmp/out/custom2/bin/ld.lld --version
LLD 19.0.0, compatible with GNU linkers
```

A trailing comma after the version string might cause issues with
version detection tools that don't strip it, as seen in the Linux
kernel's scripts/ld-version.sh script.

Pull Request: https://github.com/llvm/llvm-project/pull/97942


  Commit: d043e4c322489fa5b9f6363e3c83984219c2b602
      https://github.com/llvm/llvm-project/commit/d043e4c322489fa5b9f6363e3c83984219c2b602
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libcxx/include/__compare/synth_three_way.h
    M libcxx/include/array
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/set
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++] Restore `__synth_three_way` lambda (#90398)

Restore `__synth_three_way` lambda to match the Standard. 
GH-57222 is done, restoring the Standard wording implementation should
be possible.


https://github.com/llvm/llvm-project/blob/df28d4412c1d21b0e18896c92ac77d2fac7729f1/libcxx/include/__compare/synth_three_way.h#L28

According to comment
https://github.com/llvm/llvm-project/issues/59513#issuecomment-2068338762,
GH-59513 is not a blocker.

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: 7f3c40a6613346a4ea856c1462de4fca12dc4fef
      https://github.com/llvm/llvm-project/commit/7f3c40a6613346a4ea856c1462de4fca12dc4fef
  Author: Nhat Nguyen <nhat7203 at gmail.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/hdr/CMakeLists.txt
    A libc/hdr/limits_macros.h
    A libc/hdr/sys_stat_macros.h
    A libc/hdr/unistd_macros.h
    M libc/include/llvm-libc-macros/limits-macros.h
    M libc/include/llvm-libc-macros/linux/unistd-macros.h
    M libc/src/sys/statvfs/linux/CMakeLists.txt
    M libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/fpathconf.h
    M libc/src/unistd/linux/CMakeLists.txt
    A libc/src/unistd/linux/fpathconf.cpp
    A libc/src/unistd/linux/pathconf.cpp
    A libc/src/unistd/linux/pathconf_utils.cpp
    A libc/src/unistd/linux/pathconf_utils.h
    A libc/src/unistd/pathconf.h
    M libc/test/src/unistd/CMakeLists.txt
    A libc/test/src/unistd/fpathconf_test.cpp
    A libc/test/src/unistd/pathconf_test.cpp

  Log Message:
  -----------
  [libc] implement pathconf/fpathconf (#87165)


  Commit: 29b8b72117845dc3d20e70fbfa85c590fa9c7830
      https://github.com/llvm/llvm-project/commit/29b8b72117845dc3d20e70fbfa85c590fa9c7830
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/SystemZ/zero_unroll.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    M llvm/test/Transforms/LoopVectorize/pr32859.ll
    M llvm/test/Transforms/LoopVectorize/vplan-incomplete-cases.ll

  Log Message:
  -----------
  [LV] Move check if any vector insts will be generated to VPlan. (#96622)

This patch moves the check if any vector instructions will be generated
from getInstructionCost to be based on VPlan. This simplifies
getInstructionCost, is more accurate as we check the final result and
also allows us to exit early once we visit a recipe that generates
vector instructions.

The helper can then be re-used by the VPlan-based cost model to match
the legacy selectVectorizationFactor behavior, this fixing a crash and
paving the way to recommit
https://github.com/llvm/llvm-project/pull/92555.

PR: https://github.com/llvm/llvm-project/pull/96622


  Commit: 1b26bb0d12e6d609403e667282d5e7aa10dc4d48
      https://github.com/llvm/llvm-project/commit/1b26bb0d12e6d609403e667282d5e7aa10dc4d48
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libc/hdr/math_macros.h
    M libc/src/__support/File/linux/CMakeLists.txt
    M libc/src/__support/threads/sleep.h
    M libc/src/math/generic/cos.cpp
    M libc/src/math/generic/sin.cpp
    M libc/src/math/generic/sincos.cpp
    M libc/src/search/hsearch.cpp
    M libc/startup/linux/aarch64/tls.cpp

  Log Message:
  -----------
  [libc] fix aarch64 GCC build (#97932)

This PR fix several build errors on aarch64 targets when building with
gcc:
- uninitialized values leading to `Werrors`
- undefined builtin functions
- glibc header pollution


  Commit: f13463ee52cf95c76867d0dafe6bff16cb9e3009
      https://github.com/llvm/llvm-project/commit/f13463ee52cf95c76867d0dafe6bff16cb9e3009
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libc/utils/HdrGen/CMakeLists.txt
    M libc/utils/LibcTableGenUtil/CMakeLists.txt

  Log Message:
  -----------
  [libc] support out of tree build with dynlibs (#97959)


  Commit: 2718654c542c742e2dd18dcda8b93de1d4d3b640
      https://github.com/llvm/llvm-project/commit/2718654c542c742e2dd18dcda8b93de1d4d3b640
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp
    M llvm/include/llvm/MC/MCDwarf.h
    M llvm/include/llvm/MC/MCStreamer.h
    M llvm/lib/CodeGen/CFIInstrInserter.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCStreamer.cpp
    A llvm/test/MC/ELF/cfi-label.s

  Log Message:
  -----------
  [MC] Support .cfi_label

GNU assembler 2.26 introduced the .cfi_label directive. It does not
expand to any CFI instructions, but defines a label in
.eh_frame/.debug_frame, which can be used by runtime patching code to
locate the FDE. .cfi_label is not allowed for CIE's initial
instructions, and can therefore be used to force the next instruction to
be placed in a FDE instead of a CIE.

In glibc since 2018, sysdeps/riscv/start.S utilizes .cfi_label to force
DW_CFA_undefined to be placed in a FDE. arc/csky/loongarch ports have
copied this use.
```
.cfi_startproc
// DW_CFA_undefined is allowed for CIE's initial instructions.
// Without .cfi_label, gas would place DW_CFA_undefined in a CIE.
.cfi_label .Ldummy
.cfi_undefined ra
.cfi_endproc
```

No CFI instruction is associated with .cfi_label, so the `case
MCCFIInstruction::OpLabel:` code in BOLT is unreachable and onlt to make
-Wswitch happy.

Close #97222

Pull Request: https://github.com/llvm/llvm-project/pull/97922


  Commit: 73447a3302541c343525570222b318e7f94f9402
      https://github.com/llvm/llvm-project/commit/73447a3302541c343525570222b318e7f94f9402
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libc/config/baremetal/arm/entrypoints.txt
    M libc/config/baremetal/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] Include tan in the baremetal configuration (#97921)

This is available as of #97489.


  Commit: cc5ba739f27ab2f28d4a0f2e295d1e426aa836a7
      https://github.com/llvm/llvm-project/commit/cc5ba739f27ab2f28d4a0f2e295d1e426aa836a7
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Module.cpp

  Log Message:
  -----------
  [IR] Use range-based for loops (NFC) (#97950)


  Commit: afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
      https://github.com/llvm/llvm-project/commit/afd0e6d06ba05cf3cd8b0bb91b6506242de78a4d
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration.c
    A clang/test/CodeGen/PowerPC/musttail-indirect.cpp
    A clang/test/CodeGen/PowerPC/musttail-inline.c
    A clang/test/CodeGen/PowerPC/musttail-undefined.c
    A clang/test/CodeGen/PowerPC/musttail-weak.c
    A clang/test/CodeGen/PowerPC/musttail.c

  Log Message:
  -----------
  [PowerPC] Diagnose musttail instead of crash inside backend (#93267)

musttail is not often possible to be generated on PPC targets as when
calling to a function defined in another module, PPC needs to restore
the TOC pointer. To restore the TOC pointer, compiler needs to emit a
nop after the call to let linker generate codes to restore TOC pointer.
Tail call cannot generate expected call sequence for this case.

To avoid the crash inside the compiler backend, a diagnosis is added in
the frontend.

Fixes #63214


  Commit: 112aa105635413c24e7a2ed3638a14a5600d1d1d
      https://github.com/llvm/llvm-project/commit/112aa105635413c24e7a2ed3638a14a5600d1d1d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M compiler-rt/lib/orc/error.h

  Log Message:
  -----------
  [ORC-RT] Fix typo in comment.


  Commit: 73bfb65c5714c6442a00bce866132d28ea609254
      https://github.com/llvm/llvm-project/commit/73bfb65c5714c6442a00bce866132d28ea609254
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M compiler-rt/include/orc_rt/c_api.h

  Log Message:
  -----------
  [ORC-RT] Remove unused typedef from the C API.


  Commit: 431b9965f59ad68e5c7d7112bc6b7ea154e5f85c
      https://github.com/llvm/llvm-project/commit/431b9965f59ad68e5c7d7112bc6b7ea154e5f85c
  Author: Shan Huang <52285902006 at stu.ecnu.edu.cn>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    A llvm/test/Transforms/SpeculativeExecution/dropping-debugloc-hoist.ll

  Log Message:
  -----------
  [DebugInfo][SpeculativeExecution] Drop the debug location of the hoisted instruction (#97384)

Fix #97375 .


  Commit: e4ee9bf0d2dee8064c539c047ee525e5b7ad44e5
      https://github.com/llvm/llvm-project/commit/e4ee9bf0d2dee8064c539c047ee525e5b7ad44e5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll

  Log Message:
  -----------
  [RISCV] Custom legalize vXf16 BUILD_VECTOR without Zfhmin. (#97874)

If we don't have Zfhmin, we will call `SoftPromoteHalfOperand` on the
BUILD_VECTOR. This operation is not supported by the generic code.

Instead, custom lower to a vXi16 BUILD_VECTOR using bitcasts.

Fixes #97849.


  Commit: 3ed76b45be185469f0ff58292102a4202902679d
      https://github.com/llvm/llvm-project/commit/3ed76b45be185469f0ff58292102a4202902679d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h

  Log Message:
  -----------
  [X86][NFC] Remove dead code for "_REV" instructions (#97828)

Those "_REV" instructions should not appear before encoding
optimization, while macro fusion is done before encoding optimization.

Partial reland of 8bbf100799a97f8342bf1a8409c6fb48f03e837f

BOLT has dropped macro-op fusion alignment optimization in
https://github.com/llvm/llvm-project/pull/97358, which unblocks the
reland.


  Commit: 4a9dabee73f79974c69a35af7668c7a7e52e2d7f
      https://github.com/llvm/llvm-project/commit/4a9dabee73f79974c69a35af7668c7a7e52e2d7f
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libc/spec/linux.td

  Log Message:
  -----------
  [libc] add prctl func spec (#97971)


  Commit: e603451f3cb16792fb46ab5f2fa50b05f3e5d935
      https://github.com/llvm/llvm-project/commit/e603451f3cb16792fb46ab5f2fa50b05f3e5d935
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    A llvm/test/CodeGen/X86/branch-hint.ll

  Log Message:
  -----------
  [X86] Support branch hint (#97721)

For more details about this feature, please refer to latest Intel 64 and
IA-32 Architectures Optimization Reference Manual Volume 1:
https://www.intel.com/content/www/us/en/content-details/821612/intel-64-and-ia-32-architectures-optimization-reference-manual-volume-1.html


  Commit: 2a9607168b42498c4a70441089be57af88eec4d2
      https://github.com/llvm/llvm-project/commit/2a9607168b42498c4a70441089be57af88eec4d2
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  [AMDGPU] Cleanup bitcast spam in atomic optimizer (#96933)


  Commit: 13ed3b472b6209ef6f7c5b0ee1eb91e563e01cbc
      https://github.com/llvm/llvm-project/commit/13ed3b472b6209ef6f7c5b0ee1eb91e563e01cbc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M llvm/lib/Support/DivisionByConstantInfo.cpp

  Log Message:
  -----------
  [DivisionByConstantInfo] Use APInt::getLowBitsSet instead of getAllOnes+lshr. NFC


  Commit: 5789ee28772d942da113762f45fa5f47996b55d7
      https://github.com/llvm/llvm-project/commit/5789ee28772d942da113762f45fa5f47996b55d7
  Author: Konstantin Varlamov <varconsteq at gmail.com>
  Date:   2024-07-07 (Sun, 07 Jul 2024)

  Changed paths:
    M libcxx/include/chrono

  Log Message:
  -----------
  [libc++] Guard transitive include of `<locale>` with availability macro (#97869)

This is a follow-up to https://github.com/llvm/llvm-project/pull/85521,
similar to https://github.com/llvm/llvm-project/pull/95686.


  Commit: 5ab9e003c8bd1e8b095869e472336447de1ed148
      https://github.com/llvm/llvm-project/commit/5ab9e003c8bd1e8b095869e472336447de1ed148
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp

  Log Message:
  -----------
  [AMDGPU] Fix -Wunused-variable in AMDGPUAtomicOptimizer.cpp (NFC)

/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp:688:18:
error: unused variable 'TyBitWidth' [-Werror,-Wunused-variable]
  const unsigned TyBitWidth = DL->getTypeSizeInBits(Ty);
                 ^
1 error generated.


  Commit: ef465bf8b11f667fd5e73fc5abcc121793a18a81
      https://github.com/llvm/llvm-project/commit/ef465bf8b11f667fd5e73fc5abcc121793a18a81
  Author: hstk30-hw <hanwei62 at huawei.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    A llvm/test/CodeGen/ARM/sdiv_shl.ll

  Log Message:
  -----------
  [ARM] Fix arm32be softfp mode miscompilation for neon sdiv (#97883)

Related issue: https://github.com/llvm/llvm-project/issues/97782


  Commit: aa9e4f0bc93fc735e83ea8b5269e699f31fb9d28
      https://github.com/llvm/llvm-project/commit/aa9e4f0bc93fc735e83ea8b5269e699f31fb9d28
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

  Log Message:
  -----------
  [RISCV] Refactor mask check in performCombineVMergeAndVOps. NFC


  Commit: 5e136b7e0d310b368ce5025d55bfd7a376391199
      https://github.com/llvm/llvm-project/commit/5e136b7e0d310b368ce5025d55bfd7a376391199
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Listener.h
    M lldb/source/Utility/Listener.cpp

  Log Message:
  -----------
  [lldb] Make Listener::m_broadcasters_mutex non-recursive (#97552)

Follow-up to #97400. No changes apart from changing the type were
necessary. The mutex was already not used recursively.


  Commit: 64740edac8d62a477701a9f089d89a654a004b22
      https://github.com/llvm/llvm-project/commit/64740edac8d62a477701a9f089d89a654a004b22
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M mlir/lib/Analysis/Presburger/Utils.cpp

  Log Message:
  -----------
  mlir/Presburger: optimize normalizeDiv when gcd=1 (#97893)


  Commit: 074414fdbdff93bd14fe0a46499cf4fb03587899
      https://github.com/llvm/llvm-project/commit/074414fdbdff93bd14fe0a46499cf4fb03587899
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp

  Log Message:
  -----------
  [mlir][sparse] Use vector.step for index vector generation (#97692)


  Commit: 4132ab84eece2352302ced8803a88c140a217aff
      https://github.com/llvm/llvm-project/commit/4132ab84eece2352302ced8803a88c140a217aff
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel

  Log Message:
  -----------
  [bazel] Port for the libc change f8834ed24bf11d19c96c49d42e77d4408af91fd8


  Commit: 1604c24981a73fd7689626db87c23165d7303d7a
      https://github.com/llvm/llvm-project/commit/1604c24981a73fd7689626db87c23165d7303d7a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  [AArch64] Fix copy and paste error in tryCombineMULLWithUZP1() (NFCI) (#97729)

The bitcast check was performed on the wrong value in one of the
branches.

I believe this doesn't actually result in any behavior difference,
because the following code looking at ExtractHigh users currently
doesn't try to look through BITCASTS. I've left a TODO for that.

Fixes https://github.com/llvm/llvm-project/issues/94761.


  Commit: c119da23afb42daf588c3e4caf97094689d70688
      https://github.com/llvm/llvm-project/commit/c119da23afb42daf588c3e4caf97094689d70688
  Author: esmeyi <esme.yi at ibm.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/test/CodeGen/PowerPC/aix-available-externally-linkage-fun.ll
    M llvm/test/CodeGen/PowerPC/aix-extern-weak.ll
    M llvm/test/CodeGen/PowerPC/aix-extern.ll
    M llvm/test/CodeGen/PowerPC/aix-text-ref.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
    M llvm/test/CodeGen/PowerPC/aix-xcoff-visibility.ll

  Log Message:
  -----------
  [PowerPC] Function descriptor symbol may be omitted for external symbol. #97526

If a function's address is taken, which means it may be called via a function pointer,
we need the function descriptor for it.
Otherwise, the function descriptor can be omitted for external symbols.


  Commit: 72040d390615d4222347cdb91858c5f168881f44
      https://github.com/llvm/llvm-project/commit/72040d390615d4222347cdb91858c5f168881f44
  Author: Amir Ayupov <aaupov at meta.com>
  Date:   2024-07-09 (Tue, 09 Jul 2024)

  Changed paths:

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/53c9b5e7cb7c...72040d390615

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list