[all-commits] [llvm/llvm-project] e7698a: Re-apply "[ORC][JITLink] Treat common symbols as w...

darkbuck via All-commits all-commits at lists.llvm.org
Wed Jul 24 18:11:08 PDT 2024


  Branch: refs/heads/users/darkbuck/spr/simplifycfg-skip-threading-if-the-target-may-have-divergent-branches
  Home:   https://github.com/llvm/llvm-project
  Commit: e7698a13e319a9919af04d3d693a6f6ea7168a44
      https://github.com/llvm/llvm-project/commit/e7698a13e319a9919af04d3d693a6f6ea7168a44
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s

  Log Message:
  -----------
  Re-apply "[ORC][JITLink] Treat common symbols as weak definitions." with fixes.

This reapplies 785d376d123, which was reverted in c49837f5f68 due to bot
failures. The fix was to relax some asserts to allow common symbols to be
resolved with either common or weak flags, rather than requiring one or the
other.


  Commit: 63e179929e2c31426717f841e786f1a035bed934
      https://github.com/llvm/llvm-project/commit/63e179929e2c31426717f841e786f1a035bed934
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s

  Log Message:
  -----------
  [ORC] Re-add test files that were accidentally left out of e7698a13e31.


  Commit: 455990d18fe488ff6c8e3b161434e35d412b43a2
      https://github.com/llvm/llvm-project/commit/455990d18fe488ff6c8e3b161434e35d412b43a2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  Reland "SelectionDAG: Avoid using MachineFunction::getMMI" (#99779)

Reverts llvm/llvm-project#99777

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: ddb75ca6062c9312896647c206f8b96574bef11d
      https://github.com/llvm/llvm-project/commit/ddb75ca6062c9312896647c206f8b96574bef11d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Utilities to asan instrument memory instructions. (#98863)

This change adds the utilities required to asan instrument memory
instructions. In "amdgpu-sw-lower-lds" pass #87265, during lowering from
LDS to global memory, new instructions in global memory would be created 
which need to be asan instrumented.


  Commit: ef1c70d26b7e84a6f47c0c6a868b769935b2b008
      https://github.com/llvm/llvm-project/commit/ef1c70d26b7e84a6f47c0c6a868b769935b2b008
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  [compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)

Examples of the output:

ARM:
```
# ./a.out 
AddressSanitizer:DEADLYSIGNAL
=================================================================
==122==ERROR: AddressSanitizer: SEGV on unknown address 0x0000007a (pc 0x76e13ac0 bp 0x7eb7fd00 sp 0x7eb7fcc8 T0)
==122==The signal is caused by a READ memory access.
==122==Hint: address points to the zero page.
    #0 0x76e13ac0  (/lib/libc.so.6+0x7cac0)
    #1 0x76dce680 in gsignal (/lib/libc.so.6+0x37680)
    #2 0x005c2250  (/root/a.out+0x145250)
    #3 0x76db982c  (/lib/libc.so.6+0x2282c)
    #4 0x76db9918 in __libc_start_main (/lib/libc.so.6+0x22918)

==122==Register values:
 r0 = 0x00000000   r1 = 0x0000007a   r2 = 0x0000000b   r3 = 0x76d95020  
 r4 = 0x0000007a   r5 = 0x00000001   r6 = 0x005dcc5c   r7 = 0x0000010c  
 r8 = 0x0000000b   r9 = 0x76f9ece0  r10 = 0x00000000  r11 = 0x7eb7fd00  
r12 = 0x76dce670   sp = 0x7eb7fcc8   lr = 0x76e13ab4   pc = 0x76e13ac0  
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/lib/libc.so.6+0x7cac0) 
==122==ABORTING
```

AArch64:
```
# ./a.out 
UndefinedBehaviorSanitizer:DEADLYSIGNAL
==99==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000063 (pc 0x007fbbbc5860 bp 0x007fcfdcb700 sp 0x007fcfdcb700 T99)
==99==The signal is caused by a UNKNOWN memory access.
==99==Hint: address points to the zero page.
    #0 0x007fbbbc5860  (/lib64/libc.so.6+0x82860)
    #1 0x007fbbb81578  (/lib64/libc.so.6+0x3e578)
    #2 0x00556051152c  (/root/a.out+0x3152c)
    #3 0x007fbbb6e268  (/lib64/libc.so.6+0x2b268)
    #4 0x007fbbb6e344  (/lib64/libc.so.6+0x2b344)
    #5 0x0055604e45ec  (/root/a.out+0x45ec)

==99==Register values:
 x0 = 0x0000000000000000   x1 = 0x0000000000000063   x2 = 0x000000000000000b   x3 = 0x0000007fbbb41440  
 x4 = 0x0000007fbbb41580   x5 = 0x3669288942d44cce   x6 = 0x0000000000000000   x7 = 0x00000055605110b0  
 x8 = 0x0000000000000083   x9 = 0x0000000000000000  x10 = 0x0000000000000000  x11 = 0x0000000000000000  
x12 = 0x0000007fbbdb3360  x13 = 0x0000000000010000  x14 = 0x0000000000000039  x15 = 0x00000000004113a0  
x16 = 0x0000007fbbb81560  x17 = 0x0000005560540138  x18 = 0x000000006474e552  x19 = 0x0000000000000063  
x20 = 0x0000000000000001  x21 = 0x000000000000000b  x22 = 0x0000005560511510  x23 = 0x0000007fcfdcb918  
x24 = 0x0000007fbbdb1b50  x25 = 0x0000000000000000  x26 = 0x0000007fbbdb2000  x27 = 0x000000556053f858  
x28 = 0x0000000000000000   fp = 0x0000007fcfdcb700   lr = 0x0000007fbbbc584c   sp = 0x0000007fcfdcb700  
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV (/lib64/libc.so.6+0x82860) 
==99==ABORTING
```


  Commit: fad17b43dbc09ac7e0a95535459845f72c2b739a
      https://github.com/llvm/llvm-project/commit/fad17b43dbc09ac7e0a95535459845f72c2b739a
  Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Lex/PPMacroExpansion.cpp

  Log Message:
  -----------
  [clang] replaced the usage of `asctime` with `std::put_time` (#99075)

In `clang/lib/Lex/PPMacroExpansion.cpp`, replaced the usage of the
obsolete `asctime` function with `std::put_time` for generating
timestamp strings.

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


  Commit: d09fc8f0b7875a4dadb50aae5f47788124d6b526
      https://github.com/llvm/llvm-project/commit/d09fc8f0b7875a4dadb50aae5f47788124d6b526
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/cpu_model/x86.c

  Log Message:
  -----------
  [compiler-rt][builtins] Fix `-Werror` build problem (#100312)

GCC-14.1.1 emit an error due to uninitialized variables
x86.c:303:17: error: ‘EAX’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:970:35: error: ‘MaxLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
x86.c:987:48: error: ‘MaxExtLevel’ may be used uninitialized
[-Werror=maybe-uninitialized]
It doesn't handle properly that these variables initialized indirectly
in functions that takes pointers to them


  Commit: c34d673b02ead039acd107f096c1f32c16b61e07
      https://github.com/llvm/llvm-project/commit/c34d673b02ead039acd107f096c1f32c16b61e07
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/test/asan/Unit/lit.site.cfg.py.in

  Log Message:
  -----------
  [asan][cmake][test] Fix finding dynamic asan runtime lib (#100083)

In a `runtimes` build on Solaris/amd64, there are two failues:
```
  AddressSanitizer-Unit :: ./Asan-i386-calls-Dynamic-Test/failed_to_discover_tests_from_gtest
  AddressSanitizer-Unit :: ./Asan-i386-inline-Dynamic-Test/failed_to_discover_tests_from_gtest
```
This happens when `lit` enumerates the tests with `--gtest_list_tests
--gtest_filter=-*DISABLED_*`. The error is twofold:

- The `LD_LIBRARY_PATH*` variables point at the 64-bit directory
(`lib/clang/19/lib/x86_64-pc-solaris2.11`) for a 32-bit test:
  ``` 
ld.so.1: Asan-i386-calls-Dynamic-Test: fatal:
/var/llvm/local-amd64-release-stage2-A-flang-clang18-runtimes/tools/clang/stage2-bins/./lib/../lib/clang/19/lib/x86_64-pc-solaris2.11/libclang_rt.asan.so:
wrong ELF class: ELFCLASS64
  ```
- While the tests are linked with `-Wl,-rpath`, that path always is the
64-bit directory again.

Accordingly, the fix consists of two parts:
- The code in `compiler-rt/test/asan/Unit/lit.site.cfg.py.in` to adjust
the `LD_LIBRARY_PATH*` variables is guarded by a `config.target_arch !=
config.host_arch` condition. This is wrong in two ways:
- The adjustment is always needed independent of the host arch. This is
what `compiler-rt/test/lit.common.cfg.py` already does.
- Besides, `config.host_arch` is ultimately set from
`CMAKE_HOST_SYSTEM_PROCESSOR`. On Linux/x86_64, this is `x86_64` (`uname
-m`) while on Solaris/amd64 it's `i386` (`uname -p`), explaining why the
transformation is skipped on Solaris, but not on Linux.
- Besides, `RPATH` needs to be set to the correct subdirectory, so
instead of using the default arch in `compiler-rt/CMakeLists.txt`, this
patch moves the code to a function which takes the test's arch into
account.

Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`.


  Commit: 3993a47bb58f7b6da9940d084e62e54a821e81fc
      https://github.com/llvm/llvm-project/commit/3993a47bb58f7b6da9940d084e62e54a821e81fc
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/lto-jobs.c
    M clang/test/Driver/ps4-linker.c
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.test
    M llvm/test/DebugInfo/debuglineinfo-path.ll

  Log Message:
  -----------
  [PS4/PS5][Driver][DWARF] Always emit .debug_aranges for SCE tuning (#100160)

Some of SIE's post-mortem analysis infrastructure currently makes use of
.debug_aranges, so we'd like to ensure the section's presence in
PlayStation binaries. The simplest way to do this is to force emission
when the debugger tuning is set to SCE (which is in turn typically
initialized from the target triple). This also simplifies the driver.

llvm/test/DebugInfo/debuglineinfo-path.ll has been marked as UNSUPPORTED
on PlayStation. When aranges are emitted, the DWARF in the test case is
such that relocations need to be applied to the aranges section in order
for symbolization to work. An alternative approach would be to implement
the application of relocations in DWARFDebugArangeSet. While experiments
show that this can be made to work with a modest patch, the test cases
would be rather contrived. Since I expect the only utility for such a
change would be to make this test case pass for PlayStation targets, and
few - if any - outside of PlayStation care about aranges, UNSUPPORTED
would seem to be a more practical option.

This was originally commited as 22eb290a96 (#99629) and later reverted
at 84658fb82b (#99711) due to test failures on SIE built bots. These
failures shouldn't recur due to 3b24e5d450 (#99897) and the
aforementioned change to debuglineinfo-path.ll.

SIE tracker: TOOLCHAIN-16951


  Commit: ddf5725ef180692b60962ae56e352a7af6fc5919
      https://github.com/llvm/llvm-project/commit/ddf5725ef180692b60962ae56e352a7af6fc5919
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll

  Log Message:
  -----------
  [nsan] Emit calls to optimized functions (#98900)

As previously noted in nsan.cpp we can implement
optimized variants of `__nsan_copy_values` and
`__nsan_set_value_unknown` if a memory operation
size is known.
Now the instrumentation creates calls to optimized functions if there is
4, 8 or 16-byte memory operation like
`memset(X, value, 4/8/16)` or `memcpy(dst, src, 4/8/16)`
nsan.cpp provides definitions of the optimized functions.


  Commit: a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
      https://github.com/llvm/llvm-project/commit/a3de21cac1fb8f1dd98cfe1d1443e2d3f0a97351
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/simd-arith.ll
    M llvm/test/CodeGen/WebAssembly/vector-reduce.ll

  Log Message:
  -----------
  [WebAssembly] Ofast pmin/pmax pattern matchers (#100107)

With fast-math, the ordered setcc nodes are converted to setcc nodes
which do not care about NaNs, so add patterns that use setlt, setle,
setgt and setge.


  Commit: 1ead51a86c6c746a1b9948ca1ee142df223ffebd
      https://github.com/llvm/llvm-project/commit/1ead51a86c6c746a1b9948ca1ee142df223ffebd
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/test/Fir/abstract-results.fir

  Log Message:
  -----------
  [flang] fix C_PTR function result lowering (#100082)

Functions returning C_PTR were lowered to function returning intptr (i64
on 64bit arch). This caused conflicts when these functions were defined
as returning !fir.ref<none>/llvm.ptr in other compiler generated
contexts (e.g., malloc).

Lower them to return !fir.ref<none>.

This should deal with https://github.com/llvm/llvm-project/issues/97325
and https://github.com/llvm/llvm-project/issues/98644.


  Commit: 9a258664024d12a06ba8eb9344e270a9bb5f5d87
      https://github.com/llvm/llvm-project/commit/9a258664024d12a06ba8eb9344e270a9bb5f5d87
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp

  Log Message:
  -----------
  CodeGen: Avoid using MachineFunction::getMMI in MachineModuleSlotTracker (#100310)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll

  Log Message:
  -----------
  [LV] Mark dead instructions in loop as free.

Update collectValuesToIgnore to also ignore dead instructions in the
loop. Such instructions will be removed by VPlan-based DCE and won't be
considered by the VPlan-based cost model.

This closes a gap between the legacy and VPlan-based cost model. In
practice with the default pipelines, there shouldn't be any dead
instructions in loops reaching LoopVectorize, but it is easy to generate
such cases by hand or automatically via fuzzers.

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


  Commit: eff6250494b4bc7feb0199912245e5bacad6f984
      https://github.com/llvm/llvm-project/commit/eff6250494b4bc7feb0199912245e5bacad6f984
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp

  Log Message:
  -----------
  M68k: Remove hasDebugInfo check

Follow up to a03935b9841c4e30b27dd9399e0b93191ad443f3


  Commit: 666e3326fedfb6a033494c36c36aa95c4124d642
      https://github.com/llvm/llvm-project/commit/666e3326fedfb6a033494c36c36aa95c4124d642
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/CodeGenCXX/mangle-fail.cpp
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    A clang/test/SemaCXX/ptrauth-type-discriminator.cpp

  Log Message:
  -----------
  [PAC] Define __builtin_ptrauth_type_discriminator (#100204)

The builtin computes the discriminator for a type, which can be used to
sign/authenticate function pointers and member function pointers.

If the type passed to the builtin is a C++ member function pointer type,
the result is the discriminator used to signed member function pointers
of that type. If the type is a function, function pointer, or function
reference type, the result is the discriminator used to sign functions
of that type. It is ill-formed to use this builtin with any other type.

A call to this function is an integer constant expression.

Co-Authored-By: John McCall rjmccall at apple.com


  Commit: 6a1b119035bd329c54f6b5438e6989e49dcb0adb
      https://github.com/llvm/llvm-project/commit/6a1b119035bd329c54f6b5438e6989e49dcb0adb
  Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll

  Log Message:
  -----------
  [AMDGPU] Add intrinsics for atomic struct buffer loads (#100140)

Mark these intrinsics as atomic loads within LLVM to prevent hoisting
out of loops in cases where
the load is considered invariant.

Similar to https://github.com/llvm/llvm-project/pull/97707, but for
struct buffer loads.


  Commit: 7fad04e94b7b594389111ae7eca0883ef18dc90b
      https://github.com/llvm/llvm-project/commit/7fad04e94b7b594389111ae7eca0883ef18dc90b
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll

  Log Message:
  -----------
  [LSR] Fix matching vscale immediates (#100080)

Somewhat confusingly a `SCEVMulExpr` is a `SCEVNAryExpr`, so can have
> 2 operands. Previously, the vscale immediate matching did not check
the number of operands of the `SCEVMulExpr`, so would ignore any
operands after the first two.

This led to incorrect codegen (and results) for ArmSME in IREE
(https://github.com/iree-org/iree), which sometimes addresses things
that are a `vscale * vscale` multiple away. The test added with this
change shows an example reduced from IREE. The second write should
be offset from the first `16 * vscale * vscale` (* 4 bytes), however,
previously LSR dropped the second vscale and instead offset the write by
`#4, mul vl`, which is an offset of `16 * vscale` (* 4 bytes).


  Commit: 3cb5604d2c73b56f5e3ee48832591cab3d754b1d
      https://github.com/llvm/llvm-project/commit/3cb5604d2c73b56f5e3ee48832591cab3d754b1d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h

  Log Message:
  -----------
  MachineOutliner: Use PM to query MachineModuleInfo (#99688)

Avoid getting this from the MachineFunction


  Commit: cd82fee3918c4244777310cb97cd02e1ddcbfcf0
      https://github.com/llvm/llvm-project/commit/cd82fee3918c4244777310cb97cd02e1ddcbfcf0
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp

  Log Message:
  -----------
  [nsan] Fix `Wstring-conversion` error (#100328)

Fix error: implicit conversion turns string literal into bool: 'const
char[46]' to 'bool' [-Werror,-Wstring-conversion]


  Commit: 71a848632e2fbef3f2dc97c2dae845ddca0ec47e
      https://github.com/llvm/llvm-project/commit/71a848632e2fbef3f2dc97c2dae845ddca0ec47e
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Update picolib xfails (#99631)

clang_modules_include.gen.py works now, and I added some background to
classic_table.pass.cpp.

Opened https://github.com/picolibc/picolibc/issues/778 to see if that
one is possible to fix.


  Commit: f0bd705c9b6bd59496b44934a893a5b74085a376
      https://github.com/llvm/llvm-project/commit/f0bd705c9b6bd59496b44934a893a5b74085a376
  Author: John Brawn <john.brawn at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    A llvm/test/CodeGen/ARM/block-order.mir

  Log Message:
  -----------
  [CodeGen] Restore MachineBlockPlacement block ordering (#99351)

PR #91843 changed the algorithm used to find the next unplaced block so
that it iterates through the blocks in BlockFilter instead of iterating
through the blocks in the function and checking if they are in the block
filter. Unfortunately this sometimes results in a different block
ordering being chosen, as the order of blocks in BlockFilter comes from
the order in MachineLoopInfo, and in some cases this differs from the
order they are in the function. This can also give an end result that
has worse performance.

Fix this by making collectLoopBlockSet place blocks in its output in the
order that they are in the function.


  Commit: d36edf8146cfea9f0407e2fb26283297eb6a6ac4
      https://github.com/llvm/llvm-project/commit/d36edf8146cfea9f0407e2fb26283297eb6a6ac4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Bail out on value dependent variable initializers


  Commit: aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
      https://github.com/llvm/llvm-project/commit/aa53f0d6fd3ec9b4cec9dd14d4c1d1a6c4d7838c
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/ASTContext.cpp

  Log Message:
  -----------
  [ASTContext] Make the end of the switch case unreachable in `encodeTypeForFunctionPointerAuth` (#99763)

This prevent the warning from compiler.


  Commit: cba63c0f92d14fac238c52e2b60ae81e530acd53
      https://github.com/llvm/llvm-project/commit/cba63c0f92d14fac238c52e2b60ae81e530acd53
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][OpenMP] Keep -verify-openmp-ops output as dependency (#99638)

Currently, the `mlir-tblgen -verify-openmp-ops` pseudo-backend, which
only performs an OpenMP dialect-specific set of checks and produces no
output, is prevented from being added as a dependency to the
`MLIROpenMPOpsIncGen` tablegen target.

However, a consequence of this is that it is not triggered with every
modification of the OpenMPOps.td file it's intended to check, although
it should. This patch fixes the issue by letting the empty output file
to be added to the `TABLEGEN_OUTPUT` CMake variable used by the
`add_public_tablegen_target` command below to set up dependencies.


  Commit: 05e95067eeaaf4bac820d10abe146db49925a195
      https://github.com/llvm/llvm-project/commit/05e95067eeaaf4bac820d10abe146db49925a195
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    R llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll

  Log Message:
  -----------
  [RISCV] Update combine-vmv.ll to have more foldable cases. NFC

A lot of cases have differing AVLs which aren't foldable, update them so the peephole triggers on them and add explicit cases for non-foldable AVLs.

Also rename it to vmv.v.v-peephole.ll since it's not actually a DAG combine.

And remove a TODO, it's correct to fold if the two passthrus are the same.


  Commit: 893a303962608469ec5bd01fe44e82c935152e9c
      https://github.com/llvm/llvm-project/commit/893a303962608469ec5bd01fe44e82c935152e9c
  Author: Pavel Skripkin <paskripkin at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
    M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
    M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/free.c
    M clang/test/Analysis/free.cpp
    M clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/malloc-fnptr-plist.c
    M clang/test/Analysis/malloc-std-namespace.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/plist-macros.cpp
    M clang/test/Analysis/weak-functions.c
    M clang/test/Sema/attr-ownership.c

  Log Message:
  -----------
  [clang][analyzer] Support `ownership_{returns,takes}` attributes (#98941)

Add support for checking mismatched ownership_returns/ownership_takes attributes.

Closes #76861


  Commit: 1031335f2ee1879737576fde3a3425ce0046e773
      https://github.com/llvm/llvm-project/commit/1031335f2ee1879737576fde3a3425ce0046e773
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/include/__math/hypot.h
    M libcxx/include/cmath
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    M libcxx/test/support/fp_compare.h

  Log Message:
  -----------
  Revert "[libc++][math] Fix undue overflowing of `std::hypot(x,y,z)` (#93350)"

This reverts commit 9628777479a970db5d0c2d0b456dac6633864760.

More details in https://github.com/llvm/llvm-project/pull/93350, but
this broke the PowerPC sanitizer bots.


  Commit: 2ce865d4905970c07477a9c4e37159664a785c81
      https://github.com/llvm/llvm-project/commit/2ce865d4905970c07477a9c4e37159664a785c81
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp

  Log Message:
  -----------
  ARM: Avoid using MachineFunction::getMMI


  Commit: 68a0d0c76223736351fd7c452bca3ba9d80ca342
      https://github.com/llvm/llvm-project/commit/68a0d0c76223736351fd7c452bca3ba9d80ca342
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90

  Log Message:
  -----------
  [flang][OpenMP] Handle common blocks in delayed privatization (#100317)

Adds proper mapping of common block elements to block arguments in
parallel regions when delayed privatization is enabled.


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

  Changed paths:
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn

  Log Message:
  -----------
  [gn] port 73ac9536268f


  Commit: 559be8e2b55afbf6736fed646542fb25793f0f7e
      https://github.com/llvm/llvm-project/commit/559be8e2b55afbf6736fed646542fb25793f0f7e
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll

  Log Message:
  -----------
  Reapply "[FunctionAttrs] Determine underlying object by `getUnderlyingObjectAggressive` (#100102)"

Added handling for `AllocaInst`.

This reverts commit 1ee686a55aa6365eff39bbd1dc2059b16be6c2f1.


  Commit: 59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
      https://github.com/llvm/llvm-project/commit/59eae919c938f890e9b9b4be8a3fa3cb1b11ed89
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/pr100298.ll

  Log Message:
  -----------
  [ValueTracking] Don't use CondContext in dataflow analysis of phi nodes (#100316)

See the following case:
```
define i16 @pr100298() {
entry:
  br label %for.inc

for.inc:
  %indvar = phi i32 [ -15, %entry ], [ %mask, %for.inc ]
  %add = add nsw i32 %indvar, 9
  %mask = and i32 %add, 65535
  %cmp1 = icmp ugt i32 %mask, 5
  br i1 %cmp1, label %for.inc, label %for.end

for.end:
  %conv = trunc i32 %add to i16
  %cmp2 = icmp ugt i32 %mask, 3
  %shl = shl nuw i16 %conv, 14
  %res = select i1 %cmp2, i16 %conv, i16 %shl
  ret i16 %res
}
```

When computing knownbits of `%shl` with `%cmp2=false`, we cannot use
this condition in the analysis of `%mask (%for.inc -> %for.inc)`.
 
Fixes https://github.com/llvm/llvm-project/issues/100298.


  Commit: c1c6ed83e9ac13c511961e5f5791034a63168e7e
      https://github.com/llvm/llvm-project/commit/c1c6ed83e9ac13c511961e5f5791034a63168e7e
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  [libc] Remove 'packaged' GPU build support (#100208)

Summary:
Previously, the GPU built the `libc` in a fat binary version that was
used to pass this to the link job in offloading languages like CUDA or
OpenMP. This was mostly required because NVIDIA couldn't consume the
standard static library version. Recent patches have now created the
`clang-nvlink-wrapper` which lets us do that. Now, the C library is just
included implicitly by the toolchain (or passed with -Xoffload-linker
-lc).

This code can be fully removed, which will heavily simplify the build
(and removed some bugs and garbage files I've encoutnered).


  Commit: 99c5140bb2b025cb91029792941e819bb30b39a0
      https://github.com/llvm/llvm-project/commit/99c5140bb2b025cb91029792941e819bb30b39a0
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 2ca300f914b1


  Commit: 48e1eb4e6b0721488b0d07efab82bf12720186cb
      https://github.com/llvm/llvm-project/commit/48e1eb4e6b0721488b0d07efab82bf12720186cb
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn

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


  Commit: e6c20e11e7bcd8d6916317888f95d98c13fdc21d
      https://github.com/llvm/llvm-project/commit/e6c20e11e7bcd8d6916317888f95d98c13fdc21d
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.cpp
    R llvm/lib/Target/AMDGPU/Utils/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Move AMDGPUAsanInstrumentation outside of utils (#100323)

#98863 merged AMDGPUAsanInstrumentation module which missed
TransformUtils to be linked to AMDGPUUtils.
This PR moves AMDGPUAsanInstrumentation files outside utils folder and
adds them to AMDGPUCodegen lib.


  Commit: e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
      https://github.com/llvm/llvm-project/commit/e1052faaf81b4cb3d1fe2f32aa09d2dbcfabee23
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopk.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt

  Log Message:
  -----------
  [AMDGPU][MC][NFC] Drop remaining -wavesize32/64 attributes in tests. (#100339)

Those are not needed now that
<https://github.com/llvm/llvm-project/pull/98400> is submitted.


  Commit: 445bb35f954ecd5c60ced71523f6b32fc306d557
      https://github.com/llvm/llvm-project/commit/445bb35f954ecd5c60ced71523f6b32fc306d557
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  [libc] Enable 'sscanf' on the GPU (#100211)

Summary:
We can enable the `sscanf` function on the GPU now.


  Commit: 404071b059818ba51b6a832e5e09a93a4a8b579e
      https://github.com/llvm/llvm-project/commit/404071b059818ba51b6a832e5e09a93a4a8b579e
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/bitcast-vector-extract.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    M llvm/test/CodeGen/AMDGPU/mem-builtins.ll
    M llvm/test/CodeGen/NVPTX/store-undef.ll

  Log Message:
  -----------
  [SelectionDAG] Preserve volatile undef stores. (#99918)

This patch preserves `undef` SDNodes that are `volatile` qualified.
Previously, these nodes would be discarded. The motivation behind this
change is to adhere to the
[LangRef](https://llvm.org/docs/LangRef.html#volatile-memory-accesses),
even though that doc is mostly in terms of LLVM-IR, it seems reasonable
to imply that the volatile constraints also imply to SDNodes.

> Certain memory accesses, such as
[load](https://llvm.org/docs/LangRef.html#i-load)’s,
[store](https://llvm.org/docs/LangRef.html#i-store)’s, and
[llvm.memcpy](https://llvm.org/docs/LangRef.html#int-memcpy)’s may be
marked volatile. The optimizers must not change the number of volatile
operations or change their order of execution relative to other volatile
operations. The optimizers may change the order of volatile operations
relative to non-volatile operations. This is not Java’s “volatile” and
has no cross-thread synchronization behavior.

Source: https://llvm.org/docs/LangRef.html#volatile-memory-accesses


  Commit: 929b474991ce643cff01eeeec830b29735460db4
      https://github.com/llvm/llvm-project/commit/929b474991ce643cff01eeeec830b29735460db4
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp

  Log Message:
  -----------
  [libcxx][test] Explain picolib unsupported in sort.pass.cpp

This is not a hidden bug, it's just a very slow test under emulation.


  Commit: 991460946886891de939203cc6a228b693efe406
      https://github.com/llvm/llvm-project/commit/991460946886891de939203cc6a228b693efe406
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst

  Log Message:
  -----------
  Revert "[libc] Enable 'sscanf' on the GPU (#100211)"

Summary:
This fails tests in some situations, revert until it can be fixed.
This reverts commit 445bb35f954ecd5c60ced71523f6b32fc306d557.


  Commit: 550b83d658755664a7f0f93b36242e885743a91b
      https://github.com/llvm/llvm-project/commit/550b83d658755664a7f0f93b36242e885743a91b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt

  Log Message:
  -----------
  Revert "[libc] Remove 'packaged' GPU build support (#100208)"

Summary:
I forgot that the OpenMP tests still look for this, reverting for now
until I can make a fix.

This reverts commit c1c6ed83e9ac13c511961e5f5791034a63168e7e.


  Commit: 4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
      https://github.com/llvm/llvm-project/commit/4bb3a1e16f3a854d05bc0b8c5b6f8f78effb1d93
  Author: Chris Copeland <chris at chrisnc.net>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Headers/stdatomic.h
    M clang/test/Headers/stdatomic.c

  Log Message:
  -----------
  [clang] Define `ATOMIC_FLAG_INIT` correctly for C++. (#97534)


  Commit: 20957d20913be92f9d88ea5ce862d898a386dad2
      https://github.com/llvm/llvm-project/commit/20957d20913be92f9d88ea5ce862d898a386dad2
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    A clang/test/CodeGen/PowerPC/save-reg-params.c
    A clang/test/Driver/aix-save-reg-params.c
    M clang/test/Driver/ppc-unsupported.c
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/save-reg-params.ll

  Log Message:
  -----------
  [AIX] Add -msave-reg-params to save arguments to stack (#97524)

In PowerPC ABI, a few initial arguments are passed through registers,
but their places in parameter save area are reserved, arguments passed
by memory goes after the reserved location.

For debugging purpose, we may want to save copy of the pass-by-reg
arguments into correct places on stack. The new option achieves by
adding new function level attribute and make argument lowering part
aware of it.


  Commit: 558a8953680fd03bdd49a6708f3ea82d82328769
      https://github.com/llvm/llvm-project/commit/558a8953680fd03bdd49a6708f3ea82d82328769
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

  Log Message:
  -----------
  [compiler-rt] Move `endif` to correct place (#100342)

A couple of previous commits leaded to wrong endif placement inside the
source that caused build problem in
https://lab.llvm.org/buildbot/#/builders/13/builds/1020

See #99613 #99049


  Commit: 2bb18e27b62c5b92fb704d4af373eca99c95e11b
      https://github.com/llvm/llvm-project/commit/2bb18e27b62c5b92fb704d4af373eca99c95e11b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/Utils/BUILD.gn

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


  Commit: b9995a14f5dee5620163e83468d3be4fcd3e67d0
      https://github.com/llvm/llvm-project/commit/b9995a14f5dee5620163e83468d3be4fcd3e67d0
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir

  Log Message:
  -----------
  [MachineLoopInfo] Fix assertion failure on undef use operands (#100137)

Fixes #100115


  Commit: 6da6772bf0a33131aa8540c9d4f60d5db75c32b5
      https://github.com/llvm/llvm-project/commit/6da6772bf0a33131aa8540c9d4f60d5db75c32b5
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S

  Log Message:
  -----------
  [AArch64][SME] Rewrite __arm_get_current_vg to preserve required registers (#100143)

The documentation for the __arm_get_current_vg support routine specifies
that the following registers are call-preserved:
 - X1-X15, X19-X29 and SP
 - Z0-Z31
 - P0-P15

This patch rewrites the implementation of this routine in compiler-rt,
as the current version does not guarantee that these registers will be
preserved.


  Commit: 07688d13414d08a1bea3cecf6607f93e4334222e
      https://github.com/llvm/llvm-project/commit/07688d13414d08a1bea3cecf6607f93e4334222e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  Revert "[LV] Add option to still enable the legacy cost model. (#99536)"

This reverts commit 9ba524427321b931bad156860755adf420aeec6a.

Remove the recently added temporary option vectorize-use-legacy-cost-model
as discussed on the PR adding it, now that we branched for 19.x.


  Commit: 0b36144aba8d8d439bdc297008eb3bd43a199fca
      https://github.com/llvm/llvm-project/commit/0b36144aba8d8d439bdc297008eb3bd43a199fca
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/var-permute-256.ll

  Log Message:
  -----------
  [X86] Add 'clamp out of range index' variable shuffles test coverage from #96754


  Commit: de8c4bef3329ce0045b8167cdb96d53b2a1509df
      https://github.com/llvm/llvm-project/commit/de8c4bef3329ce0045b8167cdb96d53b2a1509df
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  [tsan] Include unistd.h to declare gettid()

Try to fix https://lab.llvm.org/buildbot/#/builders/176/builds/14400.


  Commit: 1f5807eb359fb172575e18bb063fd85e4dc836e9
      https://github.com/llvm/llvm-project/commit/1f5807eb359fb172575e18bb063fd85e4dc836e9
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector][nfc] Simplify `in_bounds` attr update (#100334)

Since the `in_bounds` attribute is mandatory, there's no need for logic
like this (`readOp.getInBounds()` is guaranteed to return a non-empty
ArrayRef):

```cpp
ArrayAttr inBoundsAttr = readOp.getInBounds()
    ? rewriter.getArrayAttr( readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop))
    : ArrayAttr();
```

Instead, we can do this:
```cpp
ArrayAttr inBoundsAttr = rewriter.getArrayAttr(
    readOp.getInBoundsAttr().getValue().drop_back(dimsToDrop));
```

This is a small follow-up for #97049 - this change should've been
included there.


  Commit: 5b15d9c441810121c23f9f421bbb007fd4c448e8
      https://github.com/llvm/llvm-project/commit/5b15d9c441810121c23f9f421bbb007fd4c448e8
  Author: Jan Leyonberg <jan_sjodin at yahoo.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp

  Log Message:
  -----------
  [clang][OpenMP] Propoagate debug location to OMPIRBuilder reduction codegen (#100358)

This patch propagates the debug location from Clang to the
OpenMPIRBuilder.

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


  Commit: 557a7b8ae319527110ddaac93c896b2c0e6c824c
      https://github.com/llvm/llvm-project/commit/557a7b8ae319527110ddaac93c896b2c0e6c824c
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/test/src/math/smoke/TotalOrderMagTest.h
    M libc/test/src/math/smoke/TotalOrderTest.h

  Log Message:
  -----------
  [libc][math][c23] Fix totalorder and totalordermag smoke tests (#100354)

FPBits::signaling_nan() defaults to setting the MSB of the payload to 1.
The tests also used signaling NaNs with a payload of 0x123. With
float16, the 1 in 0x123 aligns to the MSB of the payload, therefore
0x123 is greater than the default payload. However, that is not the case
with more precise floating-point types.


  Commit: 1feef92a775daf8818faf766e0b1332421b48c5f
      https://github.com/llvm/llvm-project/commit/1feef92a775daf8818faf766e0b1332421b48c5f
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  Fix lifetimebound for field access (#100197)

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

There is no way to switch this off without  `-Wno-dangling`.


  Commit: 83ea7ce3a132001dfd7665c7eb50ef44cfd79802
      https://github.com/llvm/llvm-project/commit/83ea7ce3a132001dfd7665c7eb50ef44cfd79802
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/Exceptions.cpp

  Log Message:
  -----------
  [BOLT][NFC] Track fragment relationships using EquivalenceClasses

Three-way splitting can create references between split fragments (warm
to cold or vice versa) that are not handled by
`isChildOf/isParentOf/isChildOrParentOf`. Generalize fragment
relationships to allow checking if two functions belong to one group,
potentially in presence of ICF which can join multiple groups.

Test Plan: NFC for existing tests

Reviewers: maksfb, ayermolo, rafaelauler, dcci

Reviewed By: rafaelauler

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


  Commit: 9d2dd009b60793f562ba1b00e3d02773f060e4b6
      https://github.com/llvm/llvm-project/commit/9d2dd009b60793f562ba1b00e3d02773f060e4b6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    A bolt/test/X86/three-way-split-jt.s

  Log Message:
  -----------
  [BOLT] Support more than two jump table parents

Multi-way splitting can cause multiple fragments to access the same jump
table. Relax the assumption that a jump table can only have up to two
parents.

Test Plan: added bolt/test/X86/three-way-split-jt.s

Reviewers: ayermolo, dcci, rafaelauler, maksfb

Reviewed By: rafaelauler, dcci

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


  Commit: c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
      https://github.com/llvm/llvm-project/commit/c4b66bf4d065d3bbc2e2fac8512a6df8e013c704
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/builtins/README.txt
    M compiler-rt/lib/builtins/trampoline_setup.c
    M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/trampoline.ll

  Log Message:
  -----------
  [AArch64] Implement INIT/ADJUST_TRAMPOLINE (#70267)

Add support for llvm.init.trampoline and llvm.adjust.trampoline
intrinsics for AArch64.

Fixes https://github.com/llvm/llvm-project/issues/65573
Fixes https://github.com/llvm/llvm-project/issues/76927
Fixes https://github.com/llvm/llvm-project/issues/83555
Updates https://github.com/llvm/llvm-project/pull/66157


  Commit: 6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
      https://github.com/llvm/llvm-project/commit/6c23f974d6fe43d8e5c0adbc4a4f89fbabc9d9ea
  Author: Mikhail R. Gadelha <mikhail at igalia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/config/linux/riscv/entrypoints.txt

  Log Message:
  -----------
  [libc] Enable bind test for riscv (#100132)

The bind test was failing in the rv32 build bot because of how the build bot was set to run the tests: we were using shared directories between the host and qemu and the bind function was trying to create a file in this directory, thus creating it in the host machine.

The OS was returning "-1 ENXIO (No such device or address)", so we changed the rv32 buildbot to copy the binaries to qemu and dropped the shared directories feature.


  Commit: 4d19676de417fa4dbfac07fc4fe0c30c232b3e68
      https://github.com/llvm/llvm-project/commit/4d19676de417fa4dbfac07fc4fe0c30c232b3e68
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/test/X86/pseudoprobe-decoding-inline.test

  Log Message:
  -----------
  [BOLT] Add profile-use-pseudo-probes option

Move pseudo probe profile generation under --profile-use-pseudo-probes
option. Note that updating pseudo probes is independent from this flag.

Test Plan: updated pseudoprobe-decoding-inline.test

Reviewers: maksfb, rafaelauler, ayermolo, dcci, WenleiHe

Reviewed By: WenleiHe

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


  Commit: f2b6f0b5868d052ef03431405b1053be18a36d75
      https://github.com/llvm/llvm-project/commit/f2b6f0b5868d052ef03431405b1053be18a36d75
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  Revert "[tsan] Enable test on linux (#99659)"

This reverts commit 52ebd8d0577e07be9c25b56656d1974a84c40bf7.

Missing declaration for gettid() on the buildbot
(https://lab.llvm.org/buildbot/#/builders/72/builds/1592) and unfortunately
a fix-forward attempt for unistd.h didn't work
(de8c4bef3329ce0045b8167cdb96d53b2a1509df). Reverting for now.


  Commit: 374bbc93bcb34268f175405a71806c4580495c6d
      https://github.com/llvm/llvm-project/commit/374bbc93bcb34268f175405a71806c4580495c6d
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/test/tsan/debug_alloc_stack.cpp

  Log Message:
  -----------
  Revert "[tsan] Include unistd.h to declare gettid()"

This reverts commit de8c4bef3329ce0045b8167cdb96d53b2a1509df.

Unfortunately the fix-forward didn't work. Reverting both and will have
Vitaly re-submit.


  Commit: f83950ab8dfda1da882a6ef7b508639df251621a
      https://github.com/llvm/llvm-project/commit/f83950ab8dfda1da882a6ef7b508639df251621a
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    A mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
    A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir][spirv] Implement vector unrolling for `convert-to-spirv` pass (#100138)

### Description
This PR builds on #99872. It implements a minimal version of function
body vector unrolling to convert vector types into 1D and with a size
supported by SPIR-V (2, 3 or 4 depending on the original dimension). The
ops that are currently supported include those with elementwise traits
(e.g. `arith.addi`), `vector.reduction` and `vector.transpose`. This PR
also includes new LIT tests that only check for vector unrolling.

### Future Plans
- Support more ops

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>


  Commit: e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
      https://github.com/llvm/llvm-project/commit/e7a3aeb1f86b8d45815b834e4e20b1fc7e71705d
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Move `endif` to correct place (#100342)"

This reverts commit 558a8953680fd03bdd49a6708f3ea82d82328769.

This was a fix-forward for
https://github.com/llvm/llvm-project/pull/99613 that unfortunately
didn't work for the Android sanitizer buildbot. More information in that
pull request.


  Commit: 59e1c6cd63eb9287df6516f9a5ae564075e9c218
      https://github.com/llvm/llvm-project/commit/59e1c6cd63eb9287df6516f9a5ae564075e9c218
  Author: Mitch Phillips <mitchp at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    R compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  Revert "[compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#99613)"

This reverts commit ef1c70d26b7e84a6f47c0c6a868b769935b2b008.

Unfortunately broke the sanitizer buildbot(s), and the fix-forward
didn't work. More details in
https://github.com/llvm/llvm-project/pull/99613


  Commit: 9f08ae8d2dd1ff9ec3b033d099282dee05528413
      https://github.com/llvm/llvm-project/commit/9f08ae8d2dd1ff9ec3b033d099282dee05528413
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Fix getting the record decl from a pointer type


  Commit: fbd303ba5dd98d4513d62058bc1ad463507464ce
      https://github.com/llvm/llvm-project/commit/fbd303ba5dd98d4513d62058bc1ad463507464ce
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/var-permute-128.ll

  Log Message:
  -----------
  [DAG] combineAndnp - fold ANDNP(x,PSHUFB(y,z)) -> PSHUFB(y,OR(z,x))

Based off #96754 - if we are zeroing out whole elements, then fold into the PSHUFB mask instead (if MSB is set the element is zero).

Allows us to replace the non-commutative ANDNP with a much simpler OR node.

Move this after ANDNP shuffle combining as that can do a better job of this for constant ANDNP + PSHUFB masks.


  Commit: 1195df25f4df987d258e6b46c090ca3e72eccecb
      https://github.com/llvm/llvm-project/commit/1195df25f4df987d258e6b46c090ca3e72eccecb
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/CMakeLists.txt

  Log Message:
  -----------
  [libc] Make the libc files always available to clang for the GPU (#100396)

Summary:
The GPU build always wants these to be exported to `clang`. These will
be neccesary for setting up tests or using the `libc` from the clang
binary. This will cover the standard 'runtimes' build. If the user is
doing a direct compilation, we will just leave it as-is and assume they
know what they're doing.


  Commit: 338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
      https://github.com/llvm/llvm-project/commit/338c35aabfbede9ba10a4f48a13e63f37d6f8c7c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx20.cpp

  Log Message:
  -----------
  [clang][Interp] Fix calling variadic call operators


  Commit: 8d8fa01a66d5051356b698ef0264a01f6aade185
      https://github.com/llvm/llvm-project/commit/8d8fa01a66d5051356b698ef0264a01f6aade185
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/using.rst
    M libc/lib/CMakeLists.txt
    M offload/test/libc/assert.c
    M offload/test/lit.cfg

  Log Message:
  -----------
  Reapply "[libc] Remove 'packaged' GPU build support (#100208)"

This reverts commit 550b83d658755664a7f0f93b36242e885743a91b.


  Commit: 7d787df5b932b73aae6532d1e981152f103f9244
      https://github.com/llvm/llvm-project/commit/7d787df5b932b73aae6532d1e981152f103f9244
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Sema/Overload.h
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [Clang][NFC] Simplify initialization of `OverloadCandidate` objects. (#100318)

Initialize some fields of OverloadCandidate in its constructor. The goal
here is try to fix read of uninitialized variable (which I was not able
to reproduce)
https://github.com/llvm/llvm-project/pull/93430#issuecomment-2187544278

We should certainly try to improve the construction of
`OverloadCandidate` further as it can be quite britle.


  Commit: 8a77961280536b680c404a49002a00b988ca45fc
      https://github.com/llvm/llvm-project/commit/8a77961280536b680c404a49002a00b988ca45fc
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/Inputs/config-1.cfg
    A flang/test/Driver/Inputs/config-2.cfg
    A flang/test/Driver/Inputs/config-2a.cfg
    A flang/test/Driver/Inputs/config-6.cfg
    A flang/test/Driver/Inputs/config/config-4.cfg
    A flang/test/Driver/Inputs/config2/config-4.cfg
    A flang/test/Driver/config-file.f90

  Log Message:
  -----------
  [Flang][Driver] Enable config file options (#100343)

Config files provide a facility to invoke the compiler with a predefined
set of options. The patch only enables these options in the flang
driver. Functionality was always there.


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

  Changed paths:
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp

  Log Message:
  -----------
  [Clang] Fix an assertion failure introduced by #93430 (#100313)

The PR #93430 introduced an assertion that did not make any sense. and
caused a regression. The fix is to simply remove the assertion.

No changelog. the intent is to backport this fix to clang 19.


  Commit: e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
      https://github.com/llvm/llvm-project/commit/e1a3aa8c0fb0103427c45a5c861fc98aa44a4821
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp

  Log Message:
  -----------
  LV/Legality: fix style after cursory reading (NFC) (#100363)


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

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h

  Log Message:
  -----------
  LV/Legality: update outdated comment for isInvariant (NFC) (#100366)


  Commit: 0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
      https://github.com/llvm/llvm-project/commit/0c03b4ce1081383b7649ac0f5ba3cbaffaf5bf28
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Infer sub nuw from dominating conditions (#100164)

Alive2: https://alive2.llvm.org/ce/z/g3xxnM


  Commit: 5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
      https://github.com/llvm/llvm-project/commit/5bae81ba9e6db16fac3cc0ee96b134f3f588c8f4
  Author: Krzysztof Pszeniczny <kpszeniczny at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll

  Log Message:
  -----------
  [CodeGen] Add an option to skip extTSP BB placement for huge functions. (#99310)

The extTSP-based basic block layout algorithm improves the performance
of the generated code, but unfortunately it has a super-linear time
complexity. This leads to extremely long compilation times for certain
relatively rare kinds of autogenerated code.

This patch adds an `-mllvm` flag to optionally restrict extTSP only to
functions smaller than a specified threshold. While commit
bcdc0477319a26fd8dcdde5ace3bdd6743599f44 added a knob to to limit the
maximum chain size, it's still possible that for certain huge functions
the number of chains is very large, leading to a quadratic behaviour in
ExtTSPImpl::mergeChainPairs.


  Commit: c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
      https://github.com/llvm/llvm-project/commit/c5abcb0521dd81bfd8b736c5d03177cc3a2d0fe3
  Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    R llvm/test/CodeGen/X86/GlobalISel/phi.ll
    A llvm/test/CodeGen/X86/isel-phi.ll

  Log Message:
  -----------
  [X86][GlobalISel] Reorganize tests for G_PHI and support fp80 (#100047)

* Verified scalar support of G_PHI
* Added cases with i1, ptr and x86_fp80 types
* Added phi inputs variability

We don't enable tests for i686 due to lack of float/integer types in
legalizer. We don't distinguish between illegal 64 bit integer G_LOAD
and legal double load using X87. It leads to artificial G_MERGE_VALUES
of floats into a single double.


  Commit: 2754c083cba1798b335947ad5e4f0d654b013904
      https://github.com/llvm/llvm-project/commit/2754c083cba1798b335947ad5e4f0d654b013904
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  LAA: mark LoopInfo pointer const (NFC) (#100373)


  Commit: 8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
      https://github.com/llvm/llvm-project/commit/8c20d715c0989eb3a9e253a53ce9d25ad6e5ee10
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [Bazel][mlir] Fix Bazel for f83950ab8dfda1da882a6ef7b508639df251621a


  Commit: af611a0a98fec65ab86af4208ca74e01541baba1
      https://github.com/llvm/llvm-project/commit/af611a0a98fec65ab86af4208ca74e01541baba1
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Fix `-Xoffload-linker a=b` in offloading (#100270)

Summary:
We have the `-Xoffload-linker=triple=arg` syntax that split the argument
meant only for a single toolchain. However this borke if it was an `a=b`
type argument. Make it only treat it like a triple if it's a valid
triple.


  Commit: d85da4af4983fb8997865014ca5f87ad2db5e272
      https://github.com/llvm/llvm-project/commit/d85da4af4983fb8997865014ca5f87ad2db5e272
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/combine-pmadd.ll

  Log Message:
  -----------
  [X86] canCreateUndefOrPoisonForTargetNode - PMADDWD/PMADDUBSW intrinsics don't create poison

Fix regression introduced by #84924


  Commit: 073c199ae79f4bf9a89fcbf103cbdd6333c8512b
      https://github.com/llvm/llvm-project/commit/073c199ae79f4bf9a89fcbf103cbdd6333c8512b
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/test/SemaCXX/decltype.cpp
    A clang/test/SemaCXX/typeof.cpp
    R clang/test/SemaCXX/typeof_unqual.cpp

  Log Message:
  -----------
  [Clang][AST] Don't use canonical type when checking dependence in Type::isOverloadable (#98563)

Fixes #97646.


  Commit: 046a17717d9c5b5385ecd914621b48bdd91524d0
      https://github.com/llvm/llvm-project/commit/046a17717d9c5b5385ecd914621b48bdd91524d0
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst

  Log Message:
  -----------
  [libc++] Improve behavior when using relative path for LIBCXX_ASSERTION_HANDLER_FILE (#100157)

Fixes #80696


  Commit: 5898a7f4954e13cabc694a44e293d9040a09b9f4
      https://github.com/llvm/llvm-project/commit/5898a7f4954e13cabc694a44e293d9040a09b9f4
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt

  Log Message:
  -----------
  [mlir][spirv] Update dependencies for #100138 (#100397)

This PR updates CMake and Bazel dependencies for #100138.


  Commit: 5a53add85a6d5be2d15eea32a3d06fec35e2c699
      https://github.com/llvm/llvm-project/commit/5a53add85a6d5be2d15eea32a3d06fec35e2c699
  Author: Finlay <finlay.marno at codeplay.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

  Log Message:
  -----------
  [mlir] Add optimization attrs for gpu-to-llvmspv function declarations and calls (#99301)

Adds the attributes nounwind and willreturn to all function
declarations. Adds `memory(none)` equivalent to the id/dimension
function declarations. The function declaration attributes are copied to
the function calls.
`nounwind` is legal because there are no exception in SPIR-V. I also do
not see any reason why any of these functions would not return when used
correctly.
I'm confident that the get id/dim functions will have no externally
observable memory effects, but think the convergent functions will have
effects.


  Commit: 7102592af740ed9f8b388c12dd2182039a58167d
      https://github.com/llvm/llvm-project/commit/7102592af740ed9f8b388c12dd2182039a58167d
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M offload/cmake/OpenMPTesting.cmake
    M offload/include/PluginManager.h
    M offload/src/PluginManager.cpp
    M offload/src/interface.cpp
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/llvm-omp-device-info.c
    M offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-offload-device-info.cpp
    R offload/tools/deviceinfo/llvm-omp-device-info.cpp

  Log Message:
  -----------
  [Offload] Repair and rename `llvm-omp-device-info` (to `-offload-`) (#100309)

The `llvm-omp-device-info` tool is very handy, but broke due to the lazy
evaluation of devices. This repairs the functionality and adds a test.
The tool is also renamed into `llvm-offload-device-info` as `-omp-` is
going away.


  Commit: 83fb0643f7148499eb6ed19155ab69bfd8096ed7
      https://github.com/llvm/llvm-project/commit/83fb0643f7148499eb6ed19155ab69bfd8096ed7
  Author: memory-thrasher <39869500+memory-thrasher at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp

  Log Message:
  -----------
  Adds a pseudonym to clang's windows mangler... (#97792)

…to handle template argument values that are pointers one-past-the-end
of a non-array symbol. Also improves error messages in other template
argument scenarios where clang bails.

https://github.com/llvm/llvm-project/issues/97756

I don't think I hooked up the unit test right. I'm not sure one is
really needed for what boils down to a tweaked if statement. Please
advise.


  Commit: 0c274d527ae36db420c4273f83fcb6c859b28f1b
      https://github.com/llvm/llvm-project/commit/0c274d527ae36db420c4273f83fcb6c859b28f1b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll

  Log Message:
  -----------
  [RISCV][TTI] Add coverage of odd sized vector loads and stores


  Commit: cdc193459d90fad83d2eafaccfe03368a9a8a160
      https://github.com/llvm/llvm-project/commit/cdc193459d90fad83d2eafaccfe03368a9a8a160
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  Update the backporting docs (#100401)

The documentation implies the special commands only work with issues,
but they also work directly from a pull request.


  Commit: 8fd9624cf729dd722a170a9dfd8f725966515231
      https://github.com/llvm/llvm-project/commit/8fd9624cf729dd722a170a9dfd8f725966515231
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll

  Log Message:
  -----------
  [RISCV][CostModel] Test default lowering strategy for vector LD/ST

Remove two options from the test command line:

* -riscv-v-vector-bits-min=128 -- This has no effect as v implied zvl128b,
  which provides the same minimum.
* -riscv-v-fixed-length-vector-lmul-max=1 -- This one forced the backend
  to split as if LMUL>m1 were illegal.  This diverges significantly from
  default behavior (where all LMUL are legal).  Note that we do still
  have splitting test coverage after this change.  Look at e.g. 32 x i64.


  Commit: bb0300cf7ce54bfbb1607348c89cb0525e12076b
      https://github.com/llvm/llvm-project/commit/bb0300cf7ce54bfbb1607348c89cb0525e12076b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Fix initializing array subobjects with This pointers

We need to select the right array element once we see the CXXThisExpr.


  Commit: ea222be0d9266d9d5c100496f8c9606f213454ee
      https://github.com/llvm/llvm-project/commit/ea222be0d9266d9d5c100496f8c9606f213454ee
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lld/test/COFF/lto-cpu-string.ll
    M lld/test/ELF/lto/cpu-string.ll
    M lld/test/ELF/lto/mllvm.ll
    M lld/test/MachO/lto-cpu-string.ll
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/MC/MCParser/AsmParser.cpp
    A llvm/test/MC/AArch64/align-fill-byte-zero.s
    A llvm/test/MC/ARM/align-fill-byte-zero.s
    M llvm/test/MC/AsmParser/directive_align.s
    M llvm/test/MC/COFF/align-nops.s
    M llvm/test/MC/ELF/align-nops.s
    M llvm/test/MC/MachO/x86_32-optimal_nop.s
    A llvm/test/MC/RISCV/align-fill-byte-zero.s
    M llvm/test/MC/X86/code16gcc-align.s

  Log Message:
  -----------
  [MC] Honour alignment directive fill value for non-intel (#100136)

As reported in https://llvm.org/PR30955, `.balign` with a fill-value of 0 did
not actually align using zeroes, on non-x86 targets.

This is because the check of whether to use the code alignment routines
or whether to just use the fill value was checking whether the fill
value was equal to `TextAlignFillValue`, which has not been changed from
its default of 0 on most targets (it has been changed for x86). However,
most targets do not set the fill value because it doesn't entirely make
sense -- i.e. on AArch64 there's no reasonable byte value to use for
alignment, as instructions are word-sized and have to be well-aligned.

I think the check at the end `AsmParser::parseDirectiveAlign` is
suspicious even on x86 - if you use `.balign <align>, 0x90` in a code
section, you don't end up with a block of `0x90` repeated, you end up
with a block of NOPs of various widths. This functionality is never
tested.

The fix here is to modify the check to ignore the default text align
fill value when choosing to do code alignment or not.

Fixes #30303


  Commit: 97839a8862bde89f07060ff0aa4993a868a501cd
      https://github.com/llvm/llvm-project/commit/97839a8862bde89f07060ff0aa4993a868a501cd
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fp-contract.c
    M clang/test/Driver/fp-model.c

  Log Message:
  -----------
  [Driver] Clean up fp-contract handling in clang driver (#99723)

This change refactors the fp-contract handling in
RenderFloatingPointOptions in the clang driver code and fixes some
inconsistencies in the way warnings are reported for changes in the
fp-contract behavior.


  Commit: 2e57e6366677390110f5382894c8afeba8da7419
      https://github.com/llvm/llvm-project/commit/2e57e6366677390110f5382894c8afeba8da7419
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/issue-94260-1.cpp
    A openmp/runtime/test/tasking/issue-94260-2.c

  Log Message:
  -----------
  [OpenMP][libomp] Fix tasking debug assert (#95823)

The debug assert is meant to check that the index is a valid which means
the runtime needs to check against the size of the array instead of the
number of threads. A free()-ed thread put back in the thread pool may
index into anywhere inside the task team's available array from 0 to
tt_max_threads potentially.

Fixes: #94260


  Commit: c628dbd030ff084fe5e06315ddf09a47182e9716
      https://github.com/llvm/llvm-project/commit/c628dbd030ff084fe5e06315ddf09a47182e9716
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprObjC.cpp

  Log Message:
  -----------
  [Clang] Prevent null pointer dereference in designated initializer check (#97220)

This patch adds an assertion in clang::SemaObjC::BuildInstanceMessage()
to ensure getCurMethodDecl() returns a valid method declaration,
addressing a static analyzer finding.


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

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/__bit_reference
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/deque
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
    A libcxx/test/std/containers/views/views.span/span.iterators/iterator.pass.cpp
    A libcxx/test/std/strings/string.view/string.view.iterators/iterators.pass.cpp
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++][spaceship] Implements X::iterator container requirements. (#99343)

This implements the requirements for the container iterator requirements
for array, deque, vector, and `vector<bool>`.

Implements:
- LWG3352 strong_equality isn't a thing

Implements parts of:
- P1614R2 The Mothership has Landed

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


  Commit: fb1e077982e90e715058188fa667ea5dd8027a98
      https://github.com/llvm/llvm-project/commit/fb1e077982e90e715058188fa667ea5dd8027a98
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Basic/Targets/NVPTX.h

  Log Message:
  -----------
  [NVPTX] Restore old va_list builtin type (#100438)

Summary:
This was changed to `void *` from `char *` unintentionally, put it back.


  Commit: 3902710a447cd0dc39cc61f001fb023a502db499
      https://github.com/llvm/llvm-project/commit/3902710a447cd0dc39cc61f001fb023a502db499
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    A llvm/test/CodeGen/NVPTX/fence.ll

  Log Message:
  -----------
  [NVPTX] Support fence instruction (#99649)


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

  Changed paths:
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MachObjectWriter.cpp

  Log Message:
  -----------
  MC: Inline createMachObjectWriter into MCAsmBackend

We could do the same to COFF once WinCOFFObjectWriter is cleaned up
(#100303).


  Commit: f719a339a89bd64900217dd06075e618ed587be9
      https://github.com/llvm/llvm-project/commit/f719a339a89bd64900217dd06075e618ed587be9
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/Core.cpp

  Log Message:
  -----------
  Mark assert-used-only variable as [[maybe_unused]]

Seemed nicer than inlining, given the complexities of flag checking and
the multiple uses.


  Commit: 0891ccc0c68c35e17562c752955788f08054bcdb
      https://github.com/llvm/llvm-project/commit/0891ccc0c68c35e17562c752955788f08054bcdb
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h

  Log Message:
  -----------
  [Frontend][OpenMP] Apply ompx_attribute to all allowing leaf constructs (#100370)

By default, in a compound directive, a clause will apply to the unique
leaf construct that allows it. Clauses that could apply to multiple leaf
constructs follow different rules.

For ompx_attribute, apply it to all leaf constructs that allow it.


  Commit: 0760aec54ca6f680f4786c4fc3bbae8f500deeab
      https://github.com/llvm/llvm-project/commit/0760aec54ca6f680f4786c4fc3bbae8f500deeab
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp

  Log Message:
  -----------
  MTM: fix issues after cursory reading (#100404)


  Commit: 3db78fa1dd639ba5db761023e04f97418cfcd00e
      https://github.com/llvm/llvm-project/commit/3db78fa1dd639ba5db761023e04f97418cfcd00e
  Author: gonzalobg <65027571+gonzalobg at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll

  Log Message:
  -----------
  [NVPTX] Add Volta Load/Store Atomics (.relaxed, .acquire, .release) and Volatile (.mmio/.volatile) support  (#99709)

Followup to https://github.com/llvm/llvm-project/pull/98022 which broke
support for LLVM `unordered` atomic ordering.

This PR lowers `atomic unordered` to PTX volatile operations to preserve
atomicity, and adds a bunch of tests for this ordering to the NVPTX
backend (we had none).


  Commit: 0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
      https://github.com/llvm/llvm-project/commit/0dbd72d6abfd390fc62eab43e195c21feb5e9bd0
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins-wasm.c
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Implement f16x8.replace_lane instruction. (#99388)

Use a builtin and intrinsic until half types are better supported for
instruction selection.


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

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

  Log Message:
  -----------
  [RISCV] Add test cases for failures to form widening FMA instructions. NFC

If the fp_extend is in the scalar domain before the shuffle, we
won't recognize the widening opportunity.


  Commit: 59e07f34bdbd463254b0b2744bd0a587d2cd6438
      https://github.com/llvm/llvm-project/commit/59e07f34bdbd463254b0b2744bd0a587d2cd6438
  Author: Gang Chen <gangc at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [AMDGPU][GlobaISel] wrap the load-splitting code in RegBank selection with condition (#98966)

The load-splitting code in RegBank selection is only relevant to those
listed address-spaces because there are cases in those address-spaces in
which we are not sure how far to split during legalization

---------

Signed-off-by: gangc <gangc at amd.com>


  Commit: 2e3ee31d2901bd1faeb57703992358130d5f2dcc
      https://github.com/llvm/llvm-project/commit/2e3ee31d2901bd1faeb57703992358130d5f2dcc
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sscanf_test.cpp

  Log Message:
  -----------
  [libc] Enable 'sscanf' on the GPU #100211

Summary:
We can enable the sscanf function on the GPU now. This required adding
the configs to the scanf list so that the GPU build didn't do float
conversions.


  Commit: 8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
      https://github.com/llvm/llvm-project/commit/8c7188aa4c1468971d18e9dff8f2b85aa7e9bfd9
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    A llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll

  Log Message:
  -----------
  Update NVVM ldu/ldg intrinsics with IntrWillReturn and test for DCE (#98968)

Dead calls to these intrinsics were not being deleted at the IR level as
they were not marked `IntrWillReturn`, though they were being deleted
when building the SDAG. This fixes that and adds a test to confirm they
are deleted during `opt`


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll

  Log Message:
  -----------
  [RISCV] Add missing CHECK prefix to fixed-vectors-vfw-web-simplification.ll. NFC

The FOLDING prefix was ambiguous on one of the test cases. It would be
nice if the update script reported this.


  Commit: 0ee32c45730c94be1b7d5fa60a0e8dff5751d014
      https://github.com/llvm/llvm-project/commit/0ee32c45730c94be1b7d5fa60a0e8dff5751d014
  Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/lrint.ll

  Log Message:
  -----------
  [AMDGPU] Implement llvm.lrint intrinsic lowering (#98931)

This patch enabled the target-independent lowering of llvm.lrint via
GlobalISel.
For SelectionDAG, the instrinsic is custom lowered for AMDGPU.


  Commit: 20eff684203287828d6722fc860b9d3621429542
      https://github.com/llvm/llvm-project/commit/20eff684203287828d6722fc860b9d3621429542
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/CXX/basic/basic.types/p10.cpp
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/enum.cpp

  Log Message:
  -----------
  [ExprConstant] Handle shift overflow the same way as other kinds of overflow (#99579)

We have a mechanism to allow folding expressions that aren't ICEs as an
extension; use it more consistently.

This ends up causing bad effects on diagnostics in a few cases, but
that's not specific to shifts; it's a general issue with the way those
uses handle overflow diagnostics.


  Commit: b1f263e4c2466a693609a3930f53b9887be67b5b
      https://github.com/llvm/llvm-project/commit/b1f263e4c2466a693609a3930f53b9887be67b5b
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp

  Log Message:
  -----------
  [llvm][MachineLICM] Fix a comment typo. NFC


  Commit: bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
      https://github.com/llvm/llvm-project/commit/bfcfb0fd2dea5e06f74e49ff8b4e1dc10c9acf6a
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir

  Log Message:
  -----------
  [GlobalIsel] Modernize truncate of ext. (#100338)

Credits:
https://github.com/llvm/llvm-project/pull/90964
https://reviews.llvm.org/D87050

combine-trunc.mir

Functional changes intended.


  Commit: 10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
      https://github.com/llvm/llvm-project/commit/10ff2bcb5eaf169b0d9f6f12851ccae339a54aaf
  Author: Narayan <32898329+vortex73 at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [Clang] Refactor uses of  `Cand->Function` in SemaOverload.cpp (#98965)

- [ ] adds checks to called functions containing `Cand->Function` as an
argument.
- [ ] Assigned `Cand->Function` as a `FunctionDecl*` to enhance
readablity.
Solves: #98769 and #98942


  Commit: 0431d6dab40b05d9f4a312a9c170c81a889bfb49
      https://github.com/llvm/llvm-project/commit/0431d6dab40b05d9f4a312a9c170c81a889bfb49
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Sema/SemaX86.cpp
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/mmx-inline-asm.c
    M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
    M clang/test/CodeGen/attr-target-x86-mmx.c
    M clang/test/CodeGen/builtins-x86.c
    M clang/test/CodeGen/palignr.c
    R clang/test/CodeGen/pr26099.c
    M clang/test/Headers/xmmintrin.c
    M clang/test/Sema/x86-builtin-palignr.c
    M clang/www/builtins.py
    M llvm/include/llvm/IR/IntrinsicsX86.td

  Log Message:
  -----------
  Clang: convert `__m64` intrinsics to unconditionally use SSE2 instead of MMX. (#96540)

The MMX instruction set is legacy, and the SSE2 variants are in every
way superior, when they are available -- and they have been available
since the Pentium 4 was released, 20 years ago.

Therefore, we are switching the "MMX" intrinsics to depend on SSE2,
unconditionally. This change entirely drops the ability to generate
vectorized code using compiler intrinsics for chips with MMX but without
SSE2: the Intel Pentium MMX, Pentium, II, and Pentium III (released
1997-1999), as well as AMD K6 and K7 series chips of around the same
timeframe. Targeting these older CPUs remains supported -- simply
without the ability to use MMX compiler intrinsics.

Migrating away from the use of MMX registers also fixes a rather
non-obvious requirement. The long-standing programming model for these
MMX intrinsics requires that the programmer be aware of the x87/MMX
mode-switching semantics, and manually call `_mm_empty()` between using
any MMX instruction and any x87 FPU instruction. If you neglect to, then
every future x87 operation will return a NaN result. This requirement is
not at all obvious to users of these these intrinsic functions, and
causes very difficult to detect bugs.

Worse, even if the user did write code that correctly calls
`_mm_empty()` in the right places, LLVM may sometimes reorder x87 and
mmx operations around each-other, unaware of this mode switching issue.

Eliminating the use of MMX registers eliminates this problem.

This change also deletes the now-unnecessary MMX `__builtin_ia32_*`
functions from Clang. Only 3 MMX-related builtins remain in use --
`__builtin_ia32_emms`, used by `_mm_empty`, and
`__builtin_ia32_vec_{ext,set}_v4si`, used by `_mm_insert_pi16` and
`_mm_extract_pi16`. Note particularly that the latter two lower to
generic, non-MMX, IR. Support for the LLVM intrinsics underlying these
removed builtins still remains, for the moment.

The file `clang/www/builtins.py` has been updated with mappings from the
newly-removed `__builtin_ia32` functions to the still-supported
equivalents in `mmintrin.h`.

(Originally uploaded at https://reviews.llvm.org/D86855 and
https://reviews.llvm.org/D94252)

Fixes issue #41665
Works towards #98272


  Commit: c6e69b041a7e6d18463f6cf684b10fd46a62c496
      https://github.com/llvm/llvm-project/commit/c6e69b041a7e6d18463f6cf684b10fd46a62c496
  Author: Carlos Seo <carlos.seo at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/docs/InternalProcedureTrampolines.md

  Log Message:
  -----------
  [Flang][Docs] Update information about AArch64 trampolines (#100391)

Commits c4b66bf and 7647174 add support for AArch64 trampolines. Updated
documentation to reflect the changes.


  Commit: 70c6e79e6d3e897418f3556a25e22e66ff018dc4
      https://github.com/llvm/llvm-project/commit/70c6e79e6d3e897418f3556a25e22e66ff018dc4
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/Driver/aarch64-ptrauth.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Sema/ptrauth-indirect-goto.c

  Log Message:
  -----------
  [PAC][clang][test] Implement missing tests for some PAuth features (#100206)

Implement tests for the following PAuth-related features:

- driver, preprocessor and ELF codegen tests for type_info vtable
pointer discrimination #99726;

- driver, preprocessor, and ELF codegen (emitting function attributes) +
sema (emitting errors) tests for indirect gotos signing #97647;

- ELF codegen tests for ubsan type checks + auth #99590;

- ELF codegen tests for constant global init with polymorphic MI #99741;

- ELF codegen tests for C++ member function pointers auth #99576.


  Commit: 74e14605d73e6286651d4b47ba5e04858cec7ebd
      https://github.com/llvm/llvm-project/commit/74e14605d73e6286651d4b47ba5e04858cec7ebd
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s

  Log Message:
  -----------
  Fix test to write to %T instead of the current working directory (which may not be writeable)


  Commit: 8b094c9df34f3190b66d11d19379be1f4c89beec
      https://github.com/llvm/llvm-project/commit/8b094c9df34f3190b66d11d19379be1f4c89beec
  Author: aaryanshukla <53713108+aaryanshukla at users.noreply.github.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/docs/dev/header_generation.rst

  Log Message:
  -----------
  [libc][newheadergen]: PyYaml Version Update (#100463)

- a lot of builds had an issue using new headergen because they do not
have PyYaml installed.


  Commit: e846fb48038a34d8df3ad7412bbdcf37e9e7acc9
      https://github.com/llvm/llvm-project/commit/e846fb48038a34d8df3ad7412bbdcf37e9e7acc9
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp

  Log Message:
  -----------
   [lldb] Prevent passing a nullptr to std::string in ObjectFileMachO (#100421)

Prevent passing a nullptr to std::string::insert in
ObjectFileMachO::GetDependentModules. Calling GetCString on an empty
ConstString will return a nullptr, which is undefined behavior. Instead,
use the GetString helper which will return an empty string in that case.

rdar://132388027


  Commit: 58fb51492d9669525662fa269295d85537968569
      https://github.com/llvm/llvm-project/commit/58fb51492d9669525662fa269295d85537968569
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Semantics/resolve-directives.cpp
    R flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90

  Log Message:
  -----------
  Revert "[flang][OpenMP] Fix copyprivate semantic checks" (#100478)

Reverts llvm/llvm-project#95799

This caused errors in some internal test suites.


  Commit: b79568654e38a14ef921af932ed96abd8961b1ed
      https://github.com/llvm/llvm-project/commit/b79568654e38a14ef921af932ed96abd8961b1ed
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Clang: adjust MMX instrinsics release note.


  Commit: 3f6eb13abf643afec17a73448ede380606531226
      https://github.com/llvm/llvm-project/commit/3f6eb13abf643afec17a73448ede380606531226
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/aarch64-ptrauth.c

  Log Message:
  -----------
  [PAC][clang] Enable `-fptrauth-indirect-gotos` as part of pauthtest ABI (#100480)


  Commit: 7b51777ed89969ae86a0714565d195faf394b7db
      https://github.com/llvm/llvm-project/commit/7b51777ed89969ae86a0714565d195faf394b7db
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/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/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/totalordermag.cpp
    A libc/src/math/generic/totalordermagf.cpp
    A libc/src/math/generic/totalordermagf128.cpp
    A libc/src/math/generic/totalordermagl.cpp
    A libc/src/math/totalordermag.h
    A libc/src/math/totalordermagf.h
    A libc/src/math/totalordermagf128.h
    A libc/src/math/totalordermagl.h
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/totalordermag_test.cpp
    A libc/test/src/math/smoke/totalordermagf128_test.cpp
    A libc/test/src/math/smoke/totalordermagf_test.cpp
    A libc/test/src/math/smoke/totalordermagl_test.cpp

  Log Message:
  -----------
  [libc][math][c23] add entrypoints and tests for totalordermag{f,l,f128} (#100159)

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


  Commit: 393a957d1c9303b87361dfdc3b8e504ba435ea8e
      https://github.com/llvm/llvm-project/commit/393a957d1c9303b87361dfdc3b8e504ba435ea8e
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependency after 74a1ca504bf60f02431140ee72dbe1c158556237


  Commit: 0af754213507972a0d0301bc195d65414d8dc193
      https://github.com/llvm/llvm-project/commit/0af754213507972a0d0301bc195d65414d8dc193
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-07-25 (Thu, 25 Jul 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll

  Log Message:
  -----------
  Reapply "[WebAssembly] Fix phi handling for Wasm SjLj (#99730)"

This reapplies #99730. #99730 contained a nondeterministic iteration
which failed the reverse-iteration bot
(https://lab.llvm.org/buildbot/#/builders/110/builds/474) and reverted
in
https://github.com/llvm/llvm-project/commit/f3f0d9928f982cfd302351f418bcc5b63cc1bb9d.

The fix is make the order of iteration of new predecessors
determintistic by using `SmallSetVector`.
```diff
--- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
@@ -1689,7 +1689,7 @@ void WebAssemblyLowerEmscriptenEHSjLj::handleLongjmpableCallsForWasmSjLj(
     }
   }

-  SmallDenseMap<BasicBlock *, SmallPtrSet<BasicBlock *, 4>, 4>
+  SmallDenseMap<BasicBlock *, SmallSetVector<BasicBlock *, 4>, 4>
       UnwindDestToNewPreds;
   for (auto *CI : LongjmpableCalls) {
     // Even if the callee function has attribute 'nounwind', which is true for
```


  Commit: 115c89b94cb8af10c2029001a1dd28154d948a37
      https://github.com/llvm/llvm-project/commit/115c89b94cb8af10c2029001a1dd28154d948a37
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll

  Log Message:
  -----------
  [msan] Enable and update neon_vst_float test case (#100435)

This enables the neon_vst_float test case
(https://github.com/llvm/llvm-project/pull/100210). Although MSan does
not yet generate useful IR, since opt is run with -disable-verify, the
test case should still run successfully.
    
This patch also makes minor fixes to the test case:
- 'ptr %a' is renamed to 'ptr %p' because update_test_checks.py is
case-insensitive, and was unexpectedly aliasing the %A and %a in the
expected output ('<1 x double> [[A]], <1 x double> [[B]], ptr [[A]]').
- The sample output for st1x{2,3,4} was previously accidentally
generated using a prototype version of MSan rather than trunk; these
instructions are not yet instrumented.
- Changes the comment on how the test case was generated, because '; |
sed -r 's/^\/\/ CHECK:[ ]*//'' was being interpreted by FileCheck to be
a CHECK: command.


  Commit: e894df6392beea3723627329009f3e6d51d16f47
      https://github.com/llvm/llvm-project/commit/e894df6392beea3723627329009f3e6d51d16f47
  Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp

  Log Message:
  -----------
  [compiler-rt] Implement `DumpAllRegisters` for arm-linux and aarch64-linux (#100398)

Reland with a couple of build fixes

#100337 #100342 #99613


  Commit: 2ba1aeed2efd8156717886f89f6d4270b1df7a18
      https://github.com/llvm/llvm-project/commit/2ba1aeed2efd8156717886f89f6d4270b1df7a18
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/source/Expression/IRMemoryMap.cpp

  Log Message:
  -----------
  [lldb] Don't use a vm addr range starting at 0 for local memory (#100288)

When an inferior stub cannot allocate memory for lldb, and lldb needs to
store the result of expressions, it will do it in lldb's own memory
range ("host memory"). But it needs to find a virtual address range that
is not used in the inferior process. It tries to use the
qMemoryRegionInfo gdb remote serial protocol packet to find a range that
is inaccessible, starting at address 0 and moving up the size of each
region.

If the first region found at address 0 is inaccessible, lldb will use
the address range starting at 0 to mean "read lldb's host memory, not
the process memory", and programs that crash with a null dereference
will have poor behavior.

This patch skips consideration of a memory region that starts at address
0.

I also clarified the documentation of qMemoryRegionInfo to make it clear
that the stub is required to provide permissions for a memory range that
is accessable, it is not an optional key in this response. This issue
was originally found by a stub that did not list permissions in its
response, and lldb treated the first region returned as the one it would
use. (the stub also didn't support the memory-allocate packet)


  Commit: 2307aac9b84936c7b1d64f274c7477ed1e55be8e
      https://github.com/llvm/llvm-project/commit/2307aac9b84936c7b1d64f274c7477ed1e55be8e
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-07-24 (Wed, 24 Jul 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    A bolt/test/X86/three-way-split-jt.s
    M clang/docs/ReleaseNotes.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaX86.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
    M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
    M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/free.c
    M clang/test/Analysis/free.cpp
    M clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/malloc-fnptr-plist.c
    M clang/test/Analysis/malloc-std-namespace.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/plist-macros.cpp
    M clang/test/Analysis/weak-functions.c
    M clang/test/CXX/basic/basic.types/p10.cpp
    A clang/test/CodeGen/PowerPC/save-reg-params.c
    M clang/test/CodeGen/X86/mmx-builtins.c
    M clang/test/CodeGen/X86/mmx-inline-asm.c
    M clang/test/CodeGen/X86/mmx-shift-with-immediate.c
    M clang/test/CodeGen/attr-target-x86-mmx.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/builtins-x86.c
    A clang/test/CodeGen/ms_mangler_templatearg_opte.cpp
    M clang/test/CodeGen/palignr.c
    R clang/test/CodeGen/pr26099.c
    M clang/test/CodeGen/ptrauth-function-attributes.c
    M clang/test/CodeGen/ubsan-function.cpp
    M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors-msvc.cpp
    M clang/test/CodeGenCXX/mangle-fail.cpp
    M clang/test/CodeGenCXX/ptrauth-global-constant-initializers.cpp
    M clang/test/CodeGenCXX/ptrauth-member-function-pointer.cpp
    M clang/test/CodeGenCXX/ptrauth-type-info-vtable.cpp
    M clang/test/Driver/aarch64-ptrauth.c
    A clang/test/Driver/aix-save-reg-params.c
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/fp-contract.c
    M clang/test/Driver/fp-model.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/lto-jobs.c
    M clang/test/Driver/ppc-unsupported.c
    M clang/test/Driver/ps4-linker.c
    M clang/test/Headers/stdatomic.c
    M clang/test/Headers/xmmintrin.c
    M clang/test/Preprocessor/ptrauth_feature.c
    M clang/test/Sema/attr-ownership.c
    M clang/test/Sema/constant-builtins-2.c
    M clang/test/Sema/ptrauth-indirect-goto.c
    M clang/test/Sema/ptrauth-intrinsics-macro.c
    M clang/test/Sema/x86-builtin-palignr.c
    M clang/test/SemaCXX/attr-lifetimebound.cpp
    M clang/test/SemaCXX/class.cpp
    M clang/test/SemaCXX/cxx2b-deducing-this.cpp
    M clang/test/SemaCXX/decltype.cpp
    M clang/test/SemaCXX/enum.cpp
    A clang/test/SemaCXX/ptrauth-type-discriminator.cpp
    A clang/test/SemaCXX/typeof.cpp
    R clang/test/SemaCXX/typeof_unqual.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/www/builtins.py
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/builtins/README.txt
    M compiler-rt/lib/builtins/aarch64/sme-abi-vg.c
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/builtins/cpu_model/x86.c
    M compiler-rt/lib/builtins/trampoline_setup.c
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/test/asan/Unit/lit.site.cfg.py.in
    M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_aarch64.cpp
    A compiler-rt/test/sanitizer_common/TestCases/Linux/dump_registers_arm.cpp
    M compiler-rt/test/tsan/debug_alloc_stack.cpp
    M flang/docs/InternalProcedureTrampolines.md
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Driver/Inputs/config-1.cfg
    A flang/test/Driver/Inputs/config-2.cfg
    A flang/test/Driver/Inputs/config-2a.cfg
    A flang/test/Driver/Inputs/config-6.cfg
    A flang/test/Driver/Inputs/config/config-4.cfg
    A flang/test/Driver/Inputs/config2/config-4.cfg
    A flang/test/Driver/config-file.f90
    M flang/test/Fir/abstract-results.fir
    M flang/test/Lower/OpenMP/firstprivate-commonblock.f90
    M flang/test/Lower/OpenMP/private-commonblock.f90
    R flang/test/Semantics/OpenMP/copyprivate04.f90
    M flang/test/Semantics/OpenMP/do05-positivecase.f90
    M flang/test/Semantics/OpenMP/do20.f90
    M flang/test/Semantics/OpenMP/implicit-dsa.f90
    M flang/test/Semantics/OpenMP/reduction08.f90
    M flang/test/Semantics/OpenMP/reduction09.f90
    M flang/test/Semantics/OpenMP/symbol01.f90
    M flang/test/Semantics/OpenMP/symbol02.f90
    M flang/test/Semantics/OpenMP/symbol03.f90
    M flang/test/Semantics/OpenMP/symbol05.f90
    M flang/test/Semantics/OpenMP/symbol07.f90
    M flang/test/Semantics/OpenMP/symbol08.f90
    M flang/test/Semantics/OpenMP/symbol09.f90
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCLibraryRules.cmake
    M libc/config/darwin/arm/entrypoints.txt
    M libc/config/darwin/x86_64/entrypoints.txt
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/arm/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/header_generation.rst
    M libc/docs/gpu/building.rst
    M libc/docs/gpu/support.rst
    M libc/docs/gpu/using.rst
    M libc/docs/math/index.rst
    M libc/lib/CMakeLists.txt
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/totalordermag.cpp
    A libc/src/math/generic/totalordermagf.cpp
    A libc/src/math/generic/totalordermagf128.cpp
    A libc/src/math/generic/totalordermagl.cpp
    A libc/src/math/totalordermag.h
    A libc/src/math/totalordermagf.h
    A libc/src/math/totalordermagf128.h
    A libc/src/math/totalordermagl.h
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/TotalOrderMagTest.h
    M libc/test/src/math/smoke/TotalOrderTest.h
    A libc/test/src/math/smoke/totalordermag_test.cpp
    A libc/test/src/math/smoke/totalordermagf128_test.cpp
    A libc/test/src/math/smoke/totalordermagf_test.cpp
    A libc/test/src/math/smoke/totalordermagl_test.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/sscanf_test.cpp
    M libcxx/CMakeLists.txt
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/include/__bit_reference
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/__iterator/wrap_iter.h
    M libcxx/include/__math/hypot.h
    M libcxx/include/cmath
    M libcxx/include/deque
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    M libcxx/test/std/containers/sequences/array/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/deque/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector.bool/iterators.pass.cpp
    M libcxx/test/std/containers/sequences/vector/iterators.pass.cpp
    A libcxx/test/std/containers/views/views.span/span.iterators/iterator.pass.cpp
    M libcxx/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
    M libcxx/test/std/numerics/c.math/cmath.pass.cpp
    A libcxx/test/std/strings/string.view/string.view.iterators/iterators.pass.cpp
    M libcxx/test/support/fp_compare.h
    M libcxx/test/support/test_iterators.h
    M lld/test/COFF/lto-cpu-string.ll
    M lld/test/ELF/lto/cpu-string.ll
    M lld/test/ELF/lto/mllvm.ll
    M lld/test/MachO/lto-cpu-string.ll
    M lld/test/MachO/objc-category-merging-erase-objc-name-test.s
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/source/Expression/IRMemoryMap.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M llvm/docs/GitHub.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
    M llvm/include/llvm/CodeGen/MIRPrinter.h
    M llvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGISel.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsWebAssembly.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/MC/MCMachObjectWriter.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MIRPrintingPass.cpp
    M llvm/lib/CodeGen/MachineBlockPlacement.cpp
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/CodeGen/MachineModuleSlotTracker.cpp
    M llvm/lib/CodeGen/MachineOutliner.cpp
    M llvm/lib/CodeGen/MachineTraceMetrics.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
    M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
    M llvm/lib/ExecutionEngine/Orc/Core.cpp
    M llvm/lib/MC/MCAsmBackend.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/M68k/M68kFrameLowering.cpp
    M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
    M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-trunc.mir
    A llvm/test/CodeGen/AArch64/trampoline.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/bitcast-vector-extract.ll
    M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
    M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    A llvm/test/CodeGen/AMDGPU/lrint.ll
    A llvm/test/CodeGen/AMDGPU/machinelicm-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/mem-builtins.ll
    A llvm/test/CodeGen/ARM/block-order.mir
    A llvm/test/CodeGen/NVPTX/fence.ll
    A llvm/test/CodeGen/NVPTX/load-store-sm-70.ll
    M llvm/test/CodeGen/NVPTX/load-store.ll
    M llvm/test/CodeGen/NVPTX/store-undef.ll
    A llvm/test/CodeGen/PowerPC/save-reg-params.ll
    R llvm/test/CodeGen/RISCV/rvv/combine-vmv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    A llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj-phi.ll
    M llvm/test/CodeGen/WebAssembly/simd-arith.ll
    M llvm/test/CodeGen/WebAssembly/vector-reduce.ll
    R llvm/test/CodeGen/X86/GlobalISel/phi.ll
    M llvm/test/CodeGen/X86/code_placement_ext_tsp_large.ll
    M llvm/test/CodeGen/X86/combine-pmadd.ll
    A llvm/test/CodeGen/X86/isel-phi.ll
    M llvm/test/CodeGen/X86/var-permute-128.ll
    M llvm/test/CodeGen/X86/var-permute-256.ll
    A llvm/test/DebugInfo/X86/debug-aranges-sce-tuning.test
    M llvm/test/DebugInfo/debuglineinfo-path.ll
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_common_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_strong_x_and_addr_getter.s
    A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_common_symbol_x_multiple_defs.s
    M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_common_symbol.s
    M llvm/test/Instrumentation/MemorySanitizer/AArch64/neon_vst_float.ll
    M llvm/test/Instrumentation/NumericalStabilitySanitizer/memory.ll
    A llvm/test/MC/AArch64/align-fill-byte-zero.s
    M llvm/test/MC/AMDGPU/gfx10_err_pos.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
    A llvm/test/MC/ARM/align-fill-byte-zero.s
    M llvm/test/MC/AsmParser/directive_align.s
    M llvm/test/MC/COFF/align-nops.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ds.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopk.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3p_dpp8.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sop2.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopk.txt
    M llvm/test/MC/ELF/align-nops.s
    M llvm/test/MC/MachO/x86_32-optimal_nop.s
    A llvm/test/MC/RISCV/align-fill-byte-zero.s
    M llvm/test/MC/WebAssembly/simd-encodings.s
    M llvm/test/MC/X86/code16gcc-align.s
    A llvm/test/Transforms/DCE/nvvm-ldu-ldg-willreturn.ll
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll
    M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
    A llvm/test/Transforms/InstCombine/pr100298.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
    A llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
    M llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/OpenMP/CMakeLists.txt
    M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Conversion/ConvertToSPIRV/arith.mlir
    M mlir/test/Conversion/ConvertToSPIRV/combined.mlir
    M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/index.mlir
    M mlir/test/Conversion/ConvertToSPIRV/scf.mlir
    M mlir/test/Conversion/ConvertToSPIRV/simple.mlir
    M mlir/test/Conversion/ConvertToSPIRV/ub.mlir
    A mlir/test/Conversion/ConvertToSPIRV/vector-unroll.mlir
    M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVFuncSignatureConversion.cpp
    A mlir/test/lib/Conversion/ConvertToSPIRV/TestSPIRVVectorUnrolling.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M offload/cmake/OpenMPTesting.cmake
    M offload/include/PluginManager.h
    M offload/src/PluginManager.cpp
    M offload/src/interface.cpp
    M offload/test/libc/assert.c
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/tools/llvm-omp-device-info.c
    M offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-offload-device-info.cpp
    R offload/tools/deviceinfo/llvm-omp-device-info.cpp
    M openmp/runtime/src/kmp_tasking.cpp
    A openmp/runtime/test/tasking/issue-94260-1.cpp
    A openmp/runtime/test/tasking/issue-94260-2.c
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  rebase

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/5540cc53ca44...2307aac9b849

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