[all-commits] [llvm/llvm-project] 0ba781: [X86] LowerSelect - generalize "select icmp(x, 0), ...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Thu Sep 5 15:17:10 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpvectorize-of-gathered-loads
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ba78182b975d8ccd8ca42b33fbf038a85a44747
      https://github.com/llvm/llvm-project/commit/0ba78182b975d8ccd8ca42b33fbf038a85a44747
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] LowerSelect - generalize "select icmp(x,0), lhs, rhs" folding patterns [NFC] (#107374)

This patch proposes we add a LowerSELECTWithCmpZero helper, which allows us to fold the compare-with-zero from different condition nodes with minimal duplication.

So far I've only handled the simple no-cmov case for or/xor nodes, but the intention is to convert more folds in future PRs.

NFC preliminary patch for #107272


  Commit: 233ed51cf53d590d3f52d5becff95317dbf73657
      https://github.com/llvm/llvm-project/commit/233ed51cf53d590d3f52d5becff95317dbf73657
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h

  Log Message:
  -----------
  [LLD][COFF][NFC] Use is64Bit in Baserel::getDefaultType. (#107378)

In preparation for ARM64EC support. Also make it static.


  Commit: 9707b98e572adf34ef3e71bcf159dae08e654fd8
      https://github.com/llvm/llvm-project/commit/9707b98e572adf34ef3e71bcf159dae08e654fd8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/IR/ConstantRange.cpp

  Log Message:
  -----------
  [ConstantRange] Perform increment on APInt (NFC)

This handles the edge case where BitWidth is 1 and doing the
increment gets a value that's not valid in that width, while we
just want wrap-around.

Split out of https://github.com/llvm/llvm-project/pull/80309.


  Commit: 9e85efb0dec8e78ca69925a05c0bbba211dee507
      https://github.com/llvm/llvm-project/commit/9e85efb0dec8e78ca69925a05c0bbba211dee507
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRangeTest] Set APInt signed flags where needed (NFC)

Split out from https://github.com/llvm/llvm-project/pull/80309 to
avoid assertion failures in the future.


  Commit: 5024dff6eee5a95a741b063c953422c5b6d02fdc
      https://github.com/llvm/llvm-project/commit/5024dff6eee5a95a741b063c953422c5b6d02fdc
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++][ci] Add a test configuration with an incomplete sysroot (#107089)

When bringing up a new cross compiler from scratch, we build
libunwind/libcxx in a setup where the toolchain is incomplete and unable
to perform the normal linker checks; this requires a few special cases
in the CMake files.

We simulate that scenario by removing the libc++ headers, libunwind and
libc++ libraries from the installed toolchain.

We need to set CMAKE_CXX_COMPILER_WORKS since CMake fails to probe the
compiler. We need to set CMAKE_CXX_COMPILER_TARGET, since LLVM's
heuristics fail when CMake hasn't been able to probe the environment
properly. (This is normal; one has to set those options when setting up
such a toolchain from scratch.)

This adds CI coverage for these build scenarios, which otherwise seldom
are tested by some build flow (but are essential when setting up a cross
compiler from scratch).


  Commit: 16dc65bdc0f0a23bc2696afce2abecd9f2faa097
      https://github.com/llvm/llvm-project/commit/16dc65bdc0f0a23bc2696afce2abecd9f2faa097
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll

  Log Message:
  -----------
  [mlgo] Fix test post - #106744

Trivial fix, some instruction opcodes changed.


  Commit: bded3b3ea9f78c5b3edc3d4a6076665af0ea746b
      https://github.com/llvm/llvm-project/commit/bded3b3ea9f78c5b3edc3d4a6076665af0ea746b
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/div.ll

  Log Message:
  -----------
  [llvm][AArch64] Improve the cost model for i128 div's (#107306)


  Commit: 63e8a1b16f344eaef17c4015497326479e69d1e7
      https://github.com/llvm/llvm-project/commit/63e8a1b16f344eaef17c4015497326479e69d1e7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP] Enable reordering for non-power-of-two vectors (#106638)

This change tries to enable vector reordering during vectorization for
non-power-of-two vectors. Specifically, my goal is to be able to
vectorize reductions whose operands appear in other than identity order.
(i.e. a[1] + a[0] + a[2]). Our standard pass pipeline, Reassociation
effectively canonicalizes towards this form. So for reduction
vectorization to be wildly applicable, we need this feature.

This change enables the use of a non-empty ReorderIndices structure -
which is effectively required for out of order loads or gathers - while
leaving the ReuseShuffleIndices mechanism unused and disabled. If I've
understood the code structure, the former is used when describing
implicit shuffles required by the vectorization strategy (i.e. loading
elements 0,1,3,2 in the order 0,1,2,3 and then shuffling later), while
the later is used when trying to optimize explode/buildvectors (called
gathers in this code).

I audited all the code enabled by this change, but can't claim to
deeply understand most of it. I added a couple of bailouts in places
which appeared to be difficult to audit and optional optimizations. I've
tried to do so in the least risky way I can, but am not completely
confident in this change. Careful review appreciated.


  Commit: 3b19e480c056a35a60e3c65de476b6097329ceac
      https://github.com/llvm/llvm-project/commit/3b19e480c056a35a60e3c65de476b6097329ceac
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M flang/include/flang/Tools/TargetSetup.h
    M flang/module/ieee_arithmetic.f90
    M flang/test/CMakeLists.txt
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Evaluate/folding07.f90
    M flang/test/Lower/Intrinsics/ieee_class_queries.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Semantics/kinds03.f90
    M flang/test/Semantics/modfile26.f90
    M flang/test/Semantics/realkinds-aarch64-01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt

  Log Message:
  -----------
  [flang] Warn when F128 is unsupported (#102147) (#106957)

This generates `warning: REAL(KIND=16) is not an enabled type for this
target` if that type is used in a build not correctly configured to
support this type. Uses of `selected_real_kind(30)` return -1.

Relanding #102147 because the test errors turned out to be specific to a
downstream configuration.


  Commit: e80f48986c7ba6cc41378b8d8e12d804cf26895d
      https://github.com/llvm/llvm-project/commit/e80f48986c7ba6cc41378b8d8e12d804cf26895d
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    A llvm/test/Analysis/ScalarEvolution/udiv-of-x-xsmaxone-fold.ll

  Log Message:
  -----------
  [SCEV] BECount to zero if `((-C + (C smax %x)) /u %x), C > 0` holds

The SCEV expression `((-C + (C smax %x)) /u %x)` can be folded
to zero for any positive constant C.

Proof: https://alive2.llvm.org/ce/z/_dLm8C.


  Commit: 7eca38ce76d5d1915f4ab7e665964062c0b37697
      https://github.com/llvm/llvm-project/commit/7eca38ce76d5d1915f4ab7e665964062c0b37697
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/2005-01-02-ConstantInits.c
    M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
    M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
    M clang/test/CodeGen/integer-overflow.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/ubsan-pointer-overflow.m
    M clang/test/CodeGen/vla.c
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/CodeGenCXX/for-range.cpp
    M clang/test/CodeGenCXX/pr45964-decomp-transform.cpp
    M clang/test/CodeGenCXX/vla.cpp
    M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
    M clang/test/CodeGenSYCL/address-space-deduction.cpp
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/for_linear_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
    M clang/test/OpenMP/for_reduction_task_codegen.cpp
    M clang/test/OpenMP/for_scan_codegen.cpp
    M clang/test/OpenMP/for_simd_scan_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/ordered_codegen.cpp
    M clang/test/OpenMP/parallel_for_codegen.cpp
    M clang/test/OpenMP/parallel_for_linear_codegen.cpp
    M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_for_scan_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
    M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_in_reduction_codegen.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_01.cpp
    M clang/test/OpenMP/target_map_codegen_21.cpp
    M clang/test/OpenMP/target_map_codegen_27.cpp
    M clang/test/OpenMP/target_map_codegen_28.cpp
    M clang/test/OpenMP/target_map_codegen_29.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_update_codegen.cpp
    M clang/test/OpenMP/task_codegen.c
    M clang/test/OpenMP/task_codegen.cpp
    M clang/test/OpenMP/task_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp

  Log Message:
  -----------
  Reland "[clang] Add nuw attribute to GEPs (#105496)" (#107257)

Add nuw attribute to inbounds GEPs where the expression used to form the
GEP is an addition of unsigned indices.

Relands #105496, which was reverted because it exposed a miscompilation
arising from #98608. This is now fixed by #106512.


  Commit: 122874c955e06defb619b1afd4e26db482dbbf19
      https://github.com/llvm/llvm-project/commit/122874c955e06defb619b1afd4e26db482dbbf19
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/buildvec-insertvec.ll
    M llvm/test/CodeGen/X86/known-signbits-vector.ll
    M llvm/test/CodeGen/X86/load-scalar-as-vector.ll
    M llvm/test/CodeGen/X86/pr44915.ll
    M llvm/test/CodeGen/X86/vec_insert-5.ll
    M llvm/test/CodeGen/X86/vec_shift5.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll

  Log Message:
  -----------
  [X86] Fold scalar_to_vector(shift(x,imm)) -> vshift(scalar_to_vector(x),imm)

Noticed while working on #107289


  Commit: 0c8d6df362fe5b4bce54776e2199623d0382293b
      https://github.com/llvm/llvm-project/commit/0c8d6df362fe5b4bce54776e2199623d0382293b
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/Sema/builtin-unary-fp.c

  Log Message:
  -----------
  Fix handling of FP-classify where the last arg fails to convert

The last argument of an FP-classify function was checked for vailidity
as an expression, but we never ensured that the usual unary
conversions/etc properly resulted in a valid value. Thus, when we got
the value, it was null, so we had a null dereference.

This patch instead fails out/marks the function call as invalid if the
argument is incorrect.  I DID consider just allowing it to continue, but
the result was an extraneous error about how the last argument wasn't a
float (in this case, it was an overload set).

Fixes: #107411


  Commit: aea3b0f6838bd8268fc3653e1b662d771c87ab15
      https://github.com/llvm/llvm-project/commit/aea3b0f6838bd8268fc3653e1b662d771c87ab15
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h

  Log Message:
  -----------
  [ARM] Avoid repeated hash lookups (NFC) (#107356)


  Commit: abfb340b779f2b20009fe42ebc522417adf79c44
      https://github.com/llvm/llvm-project/commit/abfb340b779f2b20009fe42ebc522417adf79c44
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp

  Log Message:
  -----------
  [Analysis] Avoid repeated hash lookups (NFC) (#107357)


  Commit: 0593b95ff4c459ccf71f9472c148967d40f6d865
      https://github.com/llvm/llvm-project/commit/0593b95ff4c459ccf71f9472c148967d40f6d865
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

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

  Log Message:
  -----------
  [CGOpenMPRuntime] Avoid repeated hash lookups (NFC) (#107358)


  Commit: be427dfb9ea6689947253d737708dc3645e179dc
      https://github.com/llvm/llvm-project/commit/be427dfb9ea6689947253d737708dc3645e179dc
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Parser/cxx11-user-defined-literals.cpp
    M clang/test/Sema/static-assert.c
    A clang/test/SemaCXX/static-assert-ext.cpp

  Log Message:
  -----------
  [Clang][Parser] Accept P2741R3 (static_assert with user-generated message) in C++11 as an extension (#102044)

Added a new `-Wpre-c++26-compat` warning for when this feature is used
in C++26 and a `-Wc++26-extensions` warning for when this is used in
C++11 through C++23.

---------

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 13013bdc6a5e4def05204fb69d7a31ef17ccd1c7
      https://github.com/llvm/llvm-project/commit/13013bdc6a5e4def05204fb69d7a31ef17ccd1c7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/double-round-conv.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/half-round-conv.ll

  Log Message:
  -----------
  [RISCV] Don't cost Fmv for Zfinx in isFPImmLegal. (#107361)

There is no Fmv with Zfinx.


  Commit: 56b2be4a7608770bae5db9d467f50c232c3cf19a
      https://github.com/llvm/llvm-project/commit/56b2be4a7608770bae5db9d467f50c232c3cf19a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll

  Log Message:
  -----------
  [X86] Fold scalar_to_vector(funnel(x,y,imm)) -> funnel(scalar_to_vector(x),scalar_to_vector(y),imm)

Limit this to cases where x, y are known to be extracted from a vector.

Addresses poor x86 codegen on #107289


  Commit: 2f6e4ed389a6589f340d7efab2b0c7ee22c3d086
      https://github.com/llvm/llvm-project/commit/2f6e4ed389a6589f340d7efab2b0c7ee22c3d086
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/Type.cpp
    A llvm/test/Assembler/target-type-param-errors.ll

  Log Message:
  -----------
  [IR] Check parameters of target extension types on construction (#107268)

Since IR Types are immutable it makes sense to check them on
construction instead of in the IR Verifier pass.

This patch checks that some TargetExtTypes are well-formed in the sense
that they have the expected number of type parameters and integer
parameters. When called from LLParser it gives a diagnostic message.
When called from anywhere else it just asserts that they are
well-formed.


  Commit: fc3e6a81868a0c84e405622a64756e57f020ca37
      https://github.com/llvm/llvm-project/commit/fc3e6a81868a0c84e405622a64756e57f020ca37
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/AArch64/isinf.ll
    M llvm/test/CodeGen/PowerPC/fp-classify.ll

  Log Message:
  -----------
  DAG: Handle lowering unordered compare with inf (#100378)

Try to take advantage of the nan check behavior of fcmp.
x86_64 looks better, x86_32 looks worse.


  Commit: c2018fa40fd081a10af4f3294362db9634d9a282
      https://github.com/llvm/llvm-project/commit/c2018fa40fd081a10af4f3294362db9634d9a282
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Support/FormatCommon.h
    M llvm/include/llvm/Support/FormatVariadic.h
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp

  Log Message:
  -----------
  [NFC][Support] Refactor FormatVariadic code. (#106610)

- Rename `Align` field in ReplacementItem/FmtAlign to `Width` to 
  accurately reflect its use.
- Change both `Width` and `Index` in ReplacementItem to 32-bit int 
  instead of size_t (as 64-bits seems excessive in this context).
- Eliminate the use of `Empty` ReplacementType, and use the
  existing std::optional<> instead to indicate that.
- Eliminate some boilerplate type code in formatv().
- Eliminate the loop in `splitLiteralAndReplacement`. The existing
  code will never loop back.
- Directly use constructor instead of std::make_pair.


  Commit: be1958fd487dd58532a45b40be4a7152b80ec31a
      https://github.com/llvm/llvm-project/commit/be1958fd487dd58532a45b40be4a7152b80ec31a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    A llvm/test/CodeGen/AArch64/sve-bf16-converts.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Implement nxvbf16 fpextend to nxvf32/nxvf64. (#107253)

NOTE: There are no dedicated SVE instructions but bf16->f32 is just a
left shift because they share the same exponent range and from there
other convert instructions can be used.


  Commit: 62e6c1ead7aedfbf973fb667537ff5cee4988da1
      https://github.com/llvm/llvm-project/commit/62e6c1ead7aedfbf973fb667537ff5cee4988da1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/OutputSegment.cpp
    M lld/test/MachO/segprot.s

  Log Message:
  -----------
  [lld/mac] Allow -segprot having stricter initprot than maxprot on mac (#107269)

...including for catalyst.

The usecase for this is to put certain security-critical variables into
a special segment/section that's mapped as read-only most of the time,
and that temporary gets remapped as writeable when these variables are
written to be the program. This protects against them being written to
by heap spraying attacks. This special section should be mapped as
read-only at program start, so using

`-segprot MY_PROTECTED_MEMORY_THINGER rw r`

to mark that segment as rw maxprot and r initprot is exactly what we
want.

lld has so far rejected mismatching initprot and maxprot.

ld64 doesn't reject this, but silently writes initprot into both fields
(!) It looks like this might not be fully intentional, see
https://crbug.com/41495919#comment5 and
http://crbug.com/41495919#comment8.

In any case, when postprocessing ld64's output to have different values
for initprot and maxprot, the dynamic loader seems to do the right thing
(see also the previous two links).

The same technique also works on Windows, using both link.exe and
lld-link.exe using `/SECTION:myprotsect,R`.

So, since this is useful, allow it when targeting macOS, and make it do
what you'd expect.

Since loader support for this on iOS is less clear, keep disallowing it
there for now.

See the PR for the program I used to check that this seems to work. (I
only checked on arm64 macOS 14.5 so far; will run this on many more
systems on bots once this is merged and rolled in.)


  Commit: ce3648094d44e8c098396a353b215acecb363cda
      https://github.com/llvm/llvm-project/commit/ce3648094d44e8c098396a353b215acecb363cda
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-09-06 (Fri, 06 Sep 2024)

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

  Log Message:
  -----------
  [RISCV] Update V0Defs after moving Src in peepholes (#107359)

If we move a pseudo in tryReduceVL or foldVMV_V_V via ensureDominates,
its V0 definition may have changed so we need to update V0Defs.

This shouldn't have any functional change today since any pseudo which
uses V0 won't be able to move past a new definition.

However this will matter if we add a peephole to convert unmasked
pseudos to masked pseudos and add a use of V0.


  Commit: 8e28f0471b20ed1148951bc7ffe5c503c43692ae
      https://github.com/llvm/llvm-project/commit/8e28f0471b20ed1148951bc7ffe5c503c43692ae
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M libc/config/darwin/arm/entrypoints.txt

  Log Message:
  -----------
  [libc] Correct the entrypoints list for ARM/darwin (#107331)

These entrypoints were added to every target without testing. They don't
work on ARM macs.


  Commit: 2ed510dc9789ca0b9172f0593527bee9d53496c4
      https://github.com/llvm/llvm-project/commit/2ed510dc9789ca0b9172f0593527bee9d53496c4
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp
    M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB][Minidump] Extend the minidump x86_64 registers to include fs_base and gs_base (#106767)

A follow up to #106473 Minidump wasn't collecting fs or gs_base. This
patch extends the x86_64 register context and gated reading it behind an
lldb specific flag. Additionally these registers are explicitly checked
in the tests.


  Commit: 953af0e7f1bcb42136be1a0ea9cdd5aa1fb74852
      https://github.com/llvm/llvm-project/commit/953af0e7f1bcb42136be1a0ea9cdd5aa1fb74852
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M libcxx/include/__mdspan/extents.h
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/format_string.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/filesystem/time_utils.h
    M libcxx/src/include/atomic_support.h
    M libcxx/src/memory_resource.cpp
    M libcxx/src/system_error.cpp
    M libcxx/test/benchmarks/ContainerBenchmarks.h
    M libcxx/test/benchmarks/VariantBenchmarks.h
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
    M libcxx/test/support/archetypes.h
    M libcxx/test/support/container_test_types.h
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/test/support/make_test_thread.h
    M libcxx/test/support/parse_integer.h
    M libcxx/test/support/uses_alloc_types.h
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_personality.cpp

  Log Message:
  -----------
  [libc++][NFC] Increase consistency for namespace closing comments


  Commit: eee2f02e4e28e54e5a38a1dbbd62ea6780909e16
      https://github.com/llvm/llvm-project/commit/eee2f02e4e28e54e5a38a1dbbd62ea6780909e16
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M libcxx/include/__type_traits/datasizeof.h

  Log Message:
  -----------
  [libc++][modules] Get rid of <cstddef> dependency in __datasizeof (#107394)

All the compilers we support also provide __builtin_offsetof, so avoid
using this macro and use the builtin directly instead. This allows
removing a dependency on `<cstddef>`, which is heavier than we need.


  Commit: 5edede2db09d38cbf9397edb9bfd43b92265f660
      https://github.com/llvm/llvm-project/commit/5edede2db09d38cbf9397edb9bfd43b92265f660
  Author: Tim Gymnich <tgymnich at icloud.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/sign.ll

  Log Message:
  -----------
  [DXIL] Add sign intrinsic part 2 (#101988)

makes progress on #70078

### Changes
- Added `int_dx_sign` intrinsic in `IntrinsicsDirectX.td`
- Added expansion for `int_dx_sign in `DXILIntrinsicExpansion.cpp`
- Added DXIL backend test case

### Related PRs
- https://github.com/llvm/llvm-project/pull/101987
- https://github.com/llvm/llvm-project/pull/101989


  Commit: 0818c2801ecc5cb07b680bb77e24df90f35c74b9
      https://github.com/llvm/llvm-project/commit/0818c2801ecc5cb07b680bb77e24df90f35c74b9
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td

  Log Message:
  -----------
  [WebAssembly] Simplify a switch-case in CFGStackify (NFC) (#107360)

This merges some `case`s using `[[fallthrough]]`, and make `DELEGATE` as
a separate `case`. (Previously the reason we didn't do that was not to
duplicate the code in `RewriteOperands`. But now that we've extracted it
into a lambda function in #107182 we can do it.


  Commit: 18ad98e7947502da0c8f6dcbbf485bb34fe8d204
      https://github.com/llvm/llvm-project/commit/18ad98e7947502da0c8f6dcbbf485bb34fe8d204
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp

  Log Message:
  -----------
  [lldb] Fix a format string in ClangASTSource (#107325)

Without this, LLDB asserts when enabling the expression logs.


  Commit: 91a3c6f3d66b866bcda8a0f7d4815bc8f2dbd86c
      https://github.com/llvm/llvm-project/commit/91a3c6f3d66b866bcda8a0f7d4815bc8f2dbd86c
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/spillfill-sve.mir

  Log Message:
  -----------
  [AArch64] Remove redundant COPY from loadRegFromStackSlot (#107396)

This removes a redundant 'COPY' instruction that #81716 probably forgot
to remove.

This redundant COPY led to an issue because because code in
LiveRangeSplitting expects that the instruction emitted by
`loadRegFromStackSlot` is an instruction that accesses memory, which
isn't the case for the COPY instruction.


  Commit: 54194e1506bdd6dc37988678a8047ad4d48168fa
      https://github.com/llvm/llvm-project/commit/54194e1506bdd6dc37988678a8047ad4d48168fa
  Author: Michal Terepeta <michalt at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td

  Log Message:
  -----------
  [RISCV][SiFive7] Change `Latency` of VCIX to the default (#106497)

Currently we multiply the default (`SiFive7GetCyclesDefault`) by 10, but
this turns out to be both surprising to our users and leads to worse
codegen in most cases. I think it's more natural to just keep the
default.

In the end the right solution is probably to have a separate scheduling
model for a particular VCIX coprocessor.


  Commit: cf2ecc7c1c24dee6e3b70a836474a5ac553829b3
      https://github.com/llvm/llvm-project/commit/cf2ecc7c1c24dee6e3b70a836474a5ac553829b3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll

  Log Message:
  -----------
  [LV] Remove over-aggressive assert from 3fe6a064f15c.

There are some cases where only the first operand is marked for
truncation. In that case, the compare won't be truncated which would
incorrectly trigger the assertion.

It also shows that the check pre 3fe6a064f15c also considered compares
truncated that cannot be truncated.


  Commit: 311ac6381649fa0f7cc495db8fa697d6a9b43988
      https://github.com/llvm/llvm-project/commit/311ac6381649fa0f7cc495db8fa697d6a9b43988
  Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/tools/c-arcmt-test/c-arcmt-test.c
    M clang/tools/c-index-test/c-index-test.c
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/utils/count/count.c

  Log Message:
  -----------
  [NFC][SystemZ][z/OS] Rename autoconversion-related functions to be less generic (#107399)

This patch renames the functions in AutoConvert.h/cpp to have a less
generic name because they are z/OS specific.


  Commit: 5e25291b3c50873dbd0e2b3939b113bcff691460
      https://github.com/llvm/llvm-project/commit/5e25291b3c50873dbd0e2b3939b113bcff691460
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/SandboxIRBench.cpp

  Log Message:
  -----------
  [SandboxIR][Bench] Initial patch for performance tracking (#107296)

This patch adds a new benchmark suite for SandboxIR. It measures the
performance of some of the most commonly used API functions and compares
it against LLVM IR.


  Commit: 3815f478bb4f1c724d36044a4e0bbd3352313322
      https://github.com/llvm/llvm-project/commit/3815f478bb4f1c724d36044a4e0bbd3352313322
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
    M mlir/test/Transforms/test-legalize-type-conversion.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Dialect conversion: Make materializations optional (#107109)

This commit makes source/target/argument materializations (via the
`TypeConverter` API) optional.

By default (`ConversionConfig::buildMaterializations = true`), the
dialect conversion infrastructure tries to legalize all unresolved
materializations right after the main transformation process has
succeeded. If at least one unresolved materialization fails to resolve,
the dialect conversion fails. (With an error message such as `failed to
legalize unresolved materialization ...`.) Automatic materializations
through the `TypeConverter` API can now be deactivated. In that case,
every unresolved materialization will show up as a
`builtin.unrealized_conversion_cast` op in the output IR.

There used to be a complex and error-prone analysis in the dialect
conversion that predicted the future uses of unresolved
materializations. Based on that logic, some casts (that were deemed to
unnecessary) were folded. This analysis was needed because folding
happened at a point of time when some IR changes (e.g., op replacements)
had not materialized yet.

This commit removes that analysis. Any folding of cast ops now happens
after all other IR changes have been materialized and the uses can
directly be queried from the IR. This simplifies the analysis
significantly. And certain helper data structures such as
`inverseMapping` are no longer needed for the analysis. The folding
itself is done by `reconcileUnrealizedCasts` (which also exists as a
standalone pass).

After casts have been folded, the remaining casts are materialized
through the `TypeConverter`, as usual. This last step can be deactivated
in the `ConversionConfig`.

`ConversionConfig::buildMaterializations = false` can be used to debug
error messages such as `failed to legalize unresolved materialization
...`. (It is also useful in case automatic materializations are not
needed.) The materializations that failed to resolve can then be seen as
`builtin.unrealized_conversion_cast` ops in the resulting IR. (This is
better than running with `-debug`, because `-debug` shows IR where some
IR changes have not been materialized yet.)

Note: This is a reupload of #104668, but with correct handling of cyclic
unrealized_conversion_casts that may be generated by the dialect
conversion.


  Commit: ebc7f5578033248ce7de52a7f374332a2fc201aa
      https://github.com/llvm/llvm-project/commit/ebc7f5578033248ce7de52a7f374332a2fc201aa
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/test/MC/SystemZ/regs-bad.s
    M llvm/test/MC/SystemZ/regs-good.s

  Log Message:
  -----------
  [llvm][SystemZ] Fix parsing of `.cfi_undefined` with percent-less registers. (#107032)

This is just e3d658b applied to SystemZ.

An example of this being used in the wild:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/s390/s390-64/start.S;h=59eeb7e998227bdf32029cd074f0876c450404ea;hb=HEAD#l63


  Commit: bedac64d36dce88ea25bd444c60eaac7d420550e
      https://github.com/llvm/llvm-project/commit/bedac64d36dce88ea25bd444c60eaac7d420550e
  Author: Alex Rønne Petersen <alex at alexrp.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
    M llvm/test/MC/SystemZ/fixups.s

  Log Message:
  -----------
  [llvm][SystemZ] Recognize `@GOTENT` modifier in assembler. (#107038)

Closes #105918.

I'm unsure if there are other places that need to be updated for this.


  Commit: 797f01198e8b41982916ba02d703bd6a96b5347e
      https://github.com/llvm/llvm-project/commit/797f01198e8b41982916ba02d703bd6a96b5347e
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/runtime/assign.cpp
    M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
    M flang/test/Lower/OpenMP/copyin-order.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate2.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M flang/test/Lower/OpenMP/delayed-privatization-array.f90
    M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/task2.f90

  Log Message:
  -----------
  [flang][OpenMP] Make lastprivate work with reallocated variables (#106559)

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


  Commit: 4d819daab91f54b90365927ba4b40e5a2eff26a9
      https://github.com/llvm/llvm-project/commit/4d819daab91f54b90365927ba4b40e5a2eff26a9
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h

  Log Message:
  -----------
  [compiler-rt] Simplify definition of uptr

We can rely on the compiler-provided macro __UINTPTR_TYPE__ for all
non-MSVC compilers. I verified via https://godbolt.org/z/MW9KMjv5f that
this works for MSVC as well as GCC 4.5 Clang 3.0, so that should cover
all supported compilers.

This means we no longer need to explicitly handle new architectures
and as an added bonus also adds support for architectures where
`unsigned long long` cannot be used to hold pointers (e.g. CHERI).

Reviewed By: mstorsjo, vitalybuka

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


  Commit: b2dbcf4dc1078fd62ef2295ff9696173a9991116
      https://github.com/llvm/llvm-project/commit/b2dbcf4dc1078fd62ef2295ff9696173a9991116
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

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

  Log Message:
  -----------
  [Presburger] Avoid repeated hash lookups (NFC) (#107426)


  Commit: 7cf18ff22b626efb0dad6eb9daebea821faff438
      https://github.com/llvm/llvm-project/commit/7cf18ff22b626efb0dad6eb9daebea821faff438
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp

  Log Message:
  -----------
  [LLVMIR] Avoid repeated hash lookups (NFC) (#107428)


  Commit: 92e75c095bb380039f32218534f78c4580bf76e4
      https://github.com/llvm/llvm-project/commit/92e75c095bb380039f32218534f78c4580bf76e4
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M flang/include/flang/Common/Fortran-features.h
    M flang/lib/Semantics/check-io.cpp
    M flang/module/__fortran_builtins.f90
    A flang/test/Lower/CUDA/cuda-devptr.cuf

  Log Message:
  -----------
  Reland [flang][cuda] Add c_devptr and bypass output semantic check (#107353)

Add a builtin type for c_devptr since it will need some special handling
for some function like c_f_pointer.
`c_ptr` is defined as a builtin type and was raising a semantic error if
you try to use it in a I/O statement. This patch add a check for c_ptr
and c_devptr to bypass the semantic check and allow the variables of
these types to be used in I/O.

This version of the patch keeps the semantic error when -pedantic is
enabled to align with gfortran.


  Commit: d219c63b16851ba264b6495e3f63016d1c8b2aac
      https://github.com/llvm/llvm-project/commit/d219c63b16851ba264b6495e3f63016d1c8b2aac
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/source_location.cpp

  Log Message:
  -----------
  [Clang] Fix crash with `source_location` in lambda declarators. (#107411)

Parsing lambdas require pushing a declaration context for the lambda, so
that parameters can be attached to it, before its trailing type is
parsed. DAt that point, partially-parsed lambda don't have a name that
can be computed for then.
This would cause source_location::current() to crash when use in the
decltype of a lambda().
We work around this by producing a source_location for an enclosing
scope in that scenario.

Fixes #67134


  Commit: 18926666f509104c3f478444b282291ce19fab6a
      https://github.com/llvm/llvm-project/commit/18926666f509104c3f478444b282291ce19fab6a
  Author: SJW <48454132+sjw36 at users.noreply.github.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp

  Log Message:
  -----------
  [MLIR][SCF] Loop pipelining fails on failed predication (no assert) (#107442)

The SCFLoopPipelining allows predication on peeled or loop ops. When the
predicationFn returns a nullptr this signifies the op type is
unsupported and the pipeliner fails except in `emitPrologue` where it
asserts.

This patch fixes handling in the prologue to gracefully fail.


  Commit: 3f1d0e1b1dfef0af0ca5f3315317246d0026fb70
      https://github.com/llvm/llvm-project/commit/3f1d0e1b1dfef0af0ca5f3315317246d0026fb70
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp

  Log Message:
  -----------
  [flang] Silence warning in module file (#107421)

Most warnings should be silenced when processing the content of a module
file, since the warning should have also appeared when the module file
was generated. The case of an intrinsic type kind not being supported
for a target wasn't being suppressed; fix.

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


  Commit: 5e1e6a689c82aaf2b7af72e074c95889a11d3a78
      https://github.com/llvm/llvm-project/commit/5e1e6a689c82aaf2b7af72e074c95889a11d3a78
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M mlir/lib/TableGen/Pattern.cpp

  Log Message:
  -----------
  [TableGen] Avoid repeated hash lookups (NFC) (#107429)


  Commit: a0dd90eb7dc318c9b3fccb9ba02e1e22fb073094
      https://github.com/llvm/llvm-project/commit/a0dd90eb7dc318c9b3fccb9ba02e1e22fb073094
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectMemoryTag.cpp
    M lldb/source/Commands/CommandObjectStats.cpp
    M lldb/source/Commands/CommandObjectTrace.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/ThreadedCommunication.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Host/common/FileCache.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
    M lldb/source/Target/ModuleCache.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Scalar.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/source/Utility/StructuredData.cpp
    M lldb/unittests/TestingSupport/Host/NativeProcessTestUtils.h
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Make conversions from llvm::Error explicit with Status::FromEr… (#107163)

…ror() [NFC]


  Commit: 9df592fb806b77d5fb0c7a9d5c9057d1626587e3
      https://github.com/llvm/llvm-project/commit/9df592fb806b77d5fb0c7a9d5c9057d1626587e3
  Author: David Green <david.green at arm.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll

  Log Message:
  -----------
  [AArch64] Fold away zext of extract of uzp. (#107367)

Similar to #107201, this comes up from the lowering of zext of
deinterleaving shuffles. Patterns such as ext(extract_subvector(uzp(a,
b))) can be converted to a simple and to perform the extract/zext from a
uzp1. Uzp2 can be handled with an extra shift, and due to the existing
legalization we could have and / shift between which can be combined in.

Mostly this reduces instruction count or increases the amount of
parallelism in the sequence.


  Commit: 362da640dd18e2ef960e0d2198fe8378104c4119
      https://github.com/llvm/llvm-project/commit/362da640dd18e2ef960e0d2198fe8378104c4119
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/benchmarks/SandboxIRBench.cpp

  Log Message:
  -----------
  [SandboxIR][Bench] Test RAUW (#107440)


  Commit: f32e5bdcefcff80f4296f8f4abedc37dcda36d53
      https://github.com/llvm/llvm-project/commit/f32e5bdcefcff80f4296f8f4abedc37dcda36d53
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M llvm/include/llvm/Analysis/MLModelRunner.h
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp

  Log Message:
  -----------
  [NFC] Rename the `Nr` abbreviation to `Num` (#107151)

It's more clear. (This isn't exhaustive).


  Commit: 9de972e3e1ecea506a3884bd2fc47570ce83e4df
      https://github.com/llvm/llvm-project/commit/9de972e3e1ecea506a3884bd2fc47570ce83e4df
  Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.h

  Log Message:
  -----------
  [clang] Fix FnInfoOpts::operator&= and FnInfoOpts::operator|= not updating assigned operands (#107050)

This affects CodeGenTypes::arrangeCall.  No test because the only current in-tree use of that function isn't affected.


  Commit: 5515b086f35c2c1402234b9b94338f10fc9d16f7
      https://github.com/llvm/llvm-project/commit/5515b086f35c2c1402234b9b94338f10fc9d16f7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Utility/Status.cpp

  Log Message:
  -----------
  Factor Process::ExecutionResultAsCString() into a global function (NFC)


  Commit: 53d5ffea6be7216589599b6415c021f8bd13cd37
      https://github.com/llvm/llvm-project/commit/53d5ffea6be7216589599b6415c021f8bd13cd37
  Author: Fabian Parzefall <parzefall at meta.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp

  Log Message:
  -----------
  [clang] Check inline defs when emitting speculative vtable (#100785)

Clang should only emit an available_externally vtable when there are no
unused virtual inline functions. Currently, if such such a function is
declared without inline inside the class, but is defined inline outside
the class, Clang might emit the vtable as available_externally. This
happens because Clang only considers the declarations of vtable entries,
but not the definitions. This patch addresses this by inspecting the
definitions in addition to the declarations.


  Commit: b798f4bd50bbf0f5eb46804afad10629797c73aa
      https://github.com/llvm/llvm-project/commit/b798f4bd50bbf0f5eb46804afad10629797c73aa
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBValueList.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBBreakpointLocation.cpp
    M lldb/source/API/SBBreakpointName.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBError.cpp
    M lldb/source/API/SBFile.cpp
    M lldb/source/API/SBFormat.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBPlatform.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/API/SBStructuredData.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/API/SBValueList.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Host/common/LockFileBase.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/Platform/Android/AdbClient.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Target/ModuleCache.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
    M lldb/unittests/Target/RemoteAwarePlatformTest.cpp

  Log Message:
  -----------
  [lldb] Make deep copies of Status explicit (NFC) (#107170)


  Commit: 7b760894f247f4fa1b27c01c767c8599c169f996
      https://github.com/llvm/llvm-project/commit/7b760894f247f4fa1b27c01c767c8599c169f996
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp

  Log Message:
  -----------
  [lldb] Convert NativeProcessLinux to new Status API (NFC)


  Commit: 54b10555c32e9677ce15c408296f92b35cd3d29c
      https://github.com/llvm/llvm-project/commit/54b10555c32e9677ce15c408296f92b35cd3d29c
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  [OpenMP] LIBOMPTARGET_DEVICE_ARCHITECTURES requires semicolons (#107454)

If I use commas to delimit architectures in
`LIBOMPTARGET_DEVICE_ARCHITECTURES`, cmake for the runtimes complains:

```
Unknown GPU architecture 'sm_70,sm_80,sm_90'
```

Semicolons are required instead.


  Commit: 3b426a8951caa543b65f20ff265353fd79f436e5
      https://github.com/llvm/llvm-project/commit/3b426a8951caa543b65f20ff265353fd79f436e5
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp

  Log Message:
  -----------
  [lldb] Convert NativeProcessLinux to new Status API (NFC)


  Commit: 3726f9c57537aff05bd6ecf309133ce05bebaf43
      https://github.com/llvm/llvm-project/commit/3726f9c57537aff05bd6ecf309133ce05bebaf43
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
    M llvm/test/Transforms/Attributor/assumes_info.ll
    M llvm/test/Transforms/Attributor/cb_liveness_disabled.ll
    M llvm/test/Transforms/Attributor/cb_liveness_enabled.ll
    M llvm/test/Transforms/Attributor/phi_bug_pointer_info.ll
    M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

  Log Message:
  -----------
  [Attributor][NFC] Pre-commits for #107439  (#107457)


  Commit: 4ce8808dd96dd6f1380c4e27c04ff0a0a0fed12b
      https://github.com/llvm/llvm-project/commit/4ce8808dd96dd6f1380c4e27c04ff0a0a0fed12b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

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

  Log Message:
  -----------
  [AMDGPU] Common up default value of -amdgpu-nsa-threshold. NFC.

The default value of 3 was specified in two places. Use the actual value
of the cl::init to avoid repeating it.


  Commit: e6dece9f6947a50c36f714d3fc0d86c6ad9acc9b
      https://github.com/llvm/llvm-project/commit/e6dece9f6947a50c36f714d3fc0d86c6ad9acc9b
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll

  Log Message:
  -----------
  [Attributor][FIX] Mark "may" accesses through call sites as such (#107439)

Before, we kept the call site access kind (may/must) when we translated
the access. However, the pointer we access it through (by passing it to
the callee) might not be the underlying object. We have similar logic
when we add store and load accesses.


  Commit: 08533a3ee8f3a09a59cf6ac3be59198b26b7f739
      https://github.com/llvm/llvm-project/commit/08533a3ee8f3a09a59cf6ac3be59198b26b7f739
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/Allocator.h
    M offload/DeviceRTL/include/Configuration.h
    A offload/DeviceRTL/include/DeviceTypes.h
    A offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Interface.h
    M offload/DeviceRTL/include/LibC.h
    M offload/DeviceRTL/include/Mapping.h
    M offload/DeviceRTL/include/State.h
    M offload/DeviceRTL/include/Synchronization.h
    R offload/DeviceRTL/include/Types.h
    R offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Allocator.cpp
    M offload/DeviceRTL/src/Configuration.cpp
    M offload/DeviceRTL/src/Debug.cpp
    A offload/DeviceRTL/src/DeviceUtils.cpp
    M offload/DeviceRTL/src/Kernel.cpp
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Parallelism.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M offload/DeviceRTL/src/State.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/DeviceRTL/src/Tasking.cpp
    R offload/DeviceRTL/src/Utils.cpp
    M offload/DeviceRTL/src/Workshare.cpp
    A offload/include/Shared/RefCnt.h
    A offload/include/Shared/Types.h
    M offload/include/Shared/Utils.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/plugins-nextgen/common/src/JIT.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/src/DeviceImage.cpp
    M offload/src/omptarget.cpp

  Log Message:
  -----------
  [Offload][NFC] Reorganize `utils::` and make Device/Host/Shared clearer (#100280)

We had three `utils::` namespaces, all with different "meaning" (host,
device, hsa_utils). We should, when we can, keep "include/Shared"
accessible from host and device, thus RefCountTy has been moved to a
separate header. `hsa_utils` was introduced to make `utils::` less
overloaded. And common functionality was de-duplicated, e.g.,
`utils::advance` and `utils::advanceVoidPtr` -> `utils:advancePtr`. Type
punning now checks for the size of the result to make sure it matches
the source type.

No functional change was intended.


  Commit: 84bf0da34dd020090e05816fcbda305d1f422c27
      https://github.com/llvm/llvm-project/commit/84bf0da34dd020090e05816fcbda305d1f422c27
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/memory_locations.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
    M llvm/test/Transforms/Attributor/returned.ll
    M llvm/test/Transforms/OpenMP/replace_globalization.ll

  Log Message:
  -----------
  [Attributor][FIX] Ensure to always translate call site arguments (#107323)

When we propagate call site arguments we always need to translate them,
this is important as we ended up picking the function argument for a
recurisve call not the call site argument. `@recBad` and `@recGood` in
`returned.ll` show the problem as they used to transform them the same
way. The restructuring cleans the code up and helps derive more
"returned" arguments and better information in the presence of recursive
calls. The "dropped" attributes are simply dropped because we do not
query them anymore, not because we cannot derive them.


  Commit: 52dca6ffae08fcd86cff32ab469870016a6aceb5
      https://github.com/llvm/llvm-project/commit/52dca6ffae08fcd86cff32ab469870016a6aceb5
  Author: vporpo <vporpodas at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    A llvm/test/Transforms/SandboxVectorizer/boilerplate.ll

  Log Message:
  -----------
  [SandboxVec] Boilerplate (#107431)

This patch implements the new pass and registers it with the pass
manager. For context, this is a vectorizer that operates on Sandbox IR,
which is a transactional IR on top of LLVM IR.


  Commit: 4634a480e0e5aa3116b397369fe3877a8dfe4dc0
      https://github.com/llvm/llvm-project/commit/4634a480e0e5aa3116b397369fe3877a8dfe4dc0
  Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/common.cpp
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/linux.cpp
    M compiler-rt/lib/scudo/standalone/platform.h
    M compiler-rt/lib/scudo/standalone/release.h

  Log Message:
  -----------
  [scudo] Add a method to use a hard-coded page size (#106646)

Currently, only Android supports using a hard-code page size. Make this
a bit more generic so any platform that wants to can use this.

In addition, add a getPageSizeLogCached() function since this value is
used in release.h and can avoid keeping this value around in objects.

Finally, change some of the release.h page size multiplies to shifts
using the new page size log value.


  Commit: 247d3ea843cb20d8d75ec781cd603c8ececf8934
      https://github.com/llvm/llvm-project/commit/247d3ea843cb20d8d75ec781cd603c8ececf8934
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll

  Log Message:
  -----------
  [SLP] Expand non-power-of-two bailout in TryToFindDuplicates

This fixes a crash noticed when doing a downstream merge.  The
test case has been reduced, and is included in this commit.

The existing bailout for non-power-of-two vectors in TryToFindDuplicates
did not consider the case where the list being vectorized had no
root node.  This allowed reshuffled scalars to slip through to code
which does not yet expect to handle it.

This was an existing bug (likely introduced by my ed03070e), but
made easier to hit by 63e8a1b1


  Commit: 24684bb4a9791145a36a97477eb1fd525a122d8e
      https://github.com/llvm/llvm-project/commit/24684bb4a9791145a36a97477eb1fd525a122d8e
  Author: Evgenii Stepanov <eugeni.stepanov at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fuchsia.c

  Log Message:
  -----------
  [sanitizer] Delay sanitizer args parsing (#107280)

Delay sanitizer arg parsing until after -Xclang flags are forwarded to
the clang command line. This allows the check in hasTargetFeatureMTE to
pick up manually specified target feature, and enables the following:
  -march=armv8-a -Xclang -target-feature -Xclang +mte
  -fsanitize=memtag-stack


  Commit: 3836d4acccbe87216133d08d75df509e95c291f0
      https://github.com/llvm/llvm-project/commit/3836d4acccbe87216133d08d75df509e95c291f0
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp

  Log Message:
  -----------
  [lldb] Convert ConnectionGenericFileWindows.cpp to new Status API (NFC)


  Commit: f00c946c2da0caf6da4a49e87ac905a8b1d2e8b6
      https://github.com/llvm/llvm-project/commit/f00c946c2da0caf6da4a49e87ac905a8b1d2e8b6
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Host/windows/MainLoopWindows.cpp

  Log Message:
  -----------
  [lldb] Convert MainLoopWindows.cpp to new Status API (NFC)


  Commit: 64498c54831bed9cf069e0923b9b73678c6451d8
      https://github.com/llvm/llvm-project/commit/64498c54831bed9cf069e0923b9b73678c6451d8
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lld/ELF/InputFiles.cpp
    M lld/include/lld/Common/CommonLinkerContext.h

  Log Message:
  -----------
  [LTO][ELF][lld] Use unique string saver in ELF bitcode symbol parsing (#106670)

lld ELF
[BitcodeFile](https://github.com/llvm/llvm-project/blob/a527248a3c2d638b0c92a06992f3f1c1f80842ad/lld/ELF/InputFiles.h#L328)
uses [string
saver](https://github.com/llvm/llvm-project/blob/a527248a3c2d638b0c92a06992f3f1c1f80842ad/lld/include/lld/Common/CommonLinkerContext.h#L57)
to keep copies of bitcode symbols. Symbol duplication is very common
when compiling application binaries.

This change proposes to introduce a UniqueStringSaver in lld context and
use it for bitcode symbol parsing. The implementation covers ELF only.
Similar opportunities should exist on other (COFF, MachO, wasm) formats.

For an internal production binary where lto indexing takes ~10GiB
originally, this changes optimizes away ~800MiB (~7.8%), measured by
https://github.com/google/pprof. Flame graph breaks down memory by usage
call stacks and agrees with this measurement.


  Commit: 50be455ab88b17872cd620698156b4058dc92f58
      https://github.com/llvm/llvm-project/commit/50be455ab88b17872cd620698156b4058dc92f58
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/test/TableGen/intrinsic-struct.td
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h

  Log Message:
  -----------
  [TableGen] Add check for number of intrinsic return values (#107326)

Fail if we see an intrinsic that returns more than the supported number
of return values.

Intrinsics can return only upto a certain nyumber of values, as defined
by the `IIT_RetNumbers` list in `Intrinsics.td`. Currently, if we define
an intrinsic that exceeds the limit, llvm-tblgen crashes. Instead, read
this limit and fail if it's exceeded with a proper error message.


  Commit: 3380dae2f0d6b8035744da573c4508b98c80045c
      https://github.com/llvm/llvm-project/commit/3380dae2f0d6b8035744da573c4508b98c80045c
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lld/MachO/BPSectionOrderer.cpp

  Log Message:
  -----------
  [lld][InstrProf] Refactor BPSectionOrderer.cpp (#107347)

Refactor some code in `BPSectionOrderer.cpp` in preparation for
https://github.com/llvm/llvm-project/pull/107348.

* Rename `constructNodesForCompression()` -> `getUnsForCompression()`
and return a `SmallVector` directly rather than populating a vector
alias
* Pass `duplicateSectionIdxs` as a pointer to make it possible to skip
finding (nearly) duplicate sections
* Combine `duplicate{Function,Data}SectionIdxs` into one variable
* Compute all `BPFunctionNode` vectors at the end (like
`nodesForStartup`)

There should be no functional change.


  Commit: 7ea9f0d85fc3dc80b45e6ba7087c41c6f2481f07
      https://github.com/llvm/llvm-project/commit/7ea9f0d85fc3dc80b45e6ba7087c41c6f2481f07
  Author: Vasileios Porpodas <vporpodas at google.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp

  Log Message:
  -----------
  [SandboxVec][NFC] Remove unused header files


  Commit: 73514f6831cfcea49f33fb9e31db0141b05532f2
      https://github.com/llvm/llvm-project/commit/73514f6831cfcea49f33fb9e31db0141b05532f2
  Author: wldfngrs <wldfngrs at gmail.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/sighandler_t.h
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/signal.h
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/signal_test.cpp

  Log Message:
  -----------
  [libc] Add proxy header for __sighandler_t type (#107354)

Added proxy headers for __sighandler_t type, modified the corresponding
CMakeLists.txt files and test files


  Commit: e44a67543c0b6a3a2307362f5bbcf54cd6de6a8e
      https://github.com/llvm/llvm-project/commit/e44a67543c0b6a3a2307362f5bbcf54cd6de6a8e
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll

  Log Message:
  -----------
  AMDGPU: Add a few unsupported checks for llvm.fptrunc.round intrinsic (#107330)

A check here can be removed when we implement support for the
corresponding types/mode.


  Commit: 1e98aa4730b1b3b93205af74be26e04d5f876d10
      https://github.com/llvm/llvm-project/commit/1e98aa4730b1b3b93205af74be26e04d5f876d10
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp

  Log Message:
  -----------
  [lldb] Convert ConnectionGenericFileWindows.cpp to new Status API (NFC)


  Commit: bd840a40042c2c67f56079493d0bcdbfc70325ba
      https://github.com/llvm/llvm-project/commit/bd840a40042c2c67f56079493d0bcdbfc70325ba
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll

  Log Message:
  -----------
  [AMDGPU] Add target intrinsic for s_prefetch_data (#107133)


  Commit: 206934a777a72bc50745d74ea5fb74a6eb07fc99
      https://github.com/llvm/llvm-project/commit/206934a777a72bc50745d74ea5fb74a6eb07fc99
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-09-05 (Thu, 05 Sep 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/AST/Expr.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CXX/drs/cwg27xx.cpp
    M clang/test/CodeGen/2005-01-02-ConstantInits.c
    M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
    M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-when-nullptr-is-defined.c
    M clang/test/CodeGen/catch-nullptr-and-nonzero-offset.c
    M clang/test/CodeGen/catch-pointer-overflow-volatile.c
    M clang/test/CodeGen/catch-pointer-overflow.c
    M clang/test/CodeGen/ext-int.c
    M clang/test/CodeGen/hexagon-brev-ld-ptr-incdec.c
    M clang/test/CodeGen/integer-overflow.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/ubsan-pointer-overflow.m
    M clang/test/CodeGen/vla.c
    M clang/test/CodeGenCXX/attr-likelihood-iteration-stmt.cpp
    M clang/test/CodeGenCXX/for-range.cpp
    M clang/test/CodeGenCXX/pr45964-decomp-transform.cpp
    M clang/test/CodeGenCXX/vla.cpp
    M clang/test/CodeGenCXX/vtable-available-externally.cpp
    M clang/test/CodeGenHLSL/buffer-array-operator.hlsl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx12.cl
    M clang/test/CodeGenSYCL/address-space-deduction.cpp
    M clang/test/Driver/fsanitize.c
    M clang/test/Driver/fuchsia.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/declare_mapper_codegen.cpp
    M clang/test/OpenMP/distribute_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/distribute_simd_codegen.cpp
    M clang/test/OpenMP/for_linear_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen.cpp
    M clang/test/OpenMP/for_reduction_codegen_UDR.cpp
    M clang/test/OpenMP/for_reduction_task_codegen.cpp
    M clang/test/OpenMP/for_scan_codegen.cpp
    M clang/test/OpenMP/for_simd_scan_codegen.cpp
    M clang/test/OpenMP/irbuilder_for_iterator.cpp
    M clang/test/OpenMP/irbuilder_for_rangefor.cpp
    M clang/test/OpenMP/irbuilder_for_unsigned.c
    M clang/test/OpenMP/irbuilder_for_unsigned_auto.c
    M clang/test/OpenMP/irbuilder_for_unsigned_down.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic.c
    M clang/test/OpenMP/irbuilder_for_unsigned_dynamic_chunked.c
    M clang/test/OpenMP/irbuilder_for_unsigned_runtime.c
    M clang/test/OpenMP/irbuilder_for_unsigned_static_chunked.c
    M clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/master_taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/ordered_codegen.cpp
    M clang/test/OpenMP/parallel_for_codegen.cpp
    M clang/test/OpenMP/parallel_for_linear_codegen.cpp
    M clang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_for_scan_codegen.cpp
    M clang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
    M clang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_master_taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_codegen.cpp
    M clang/test/OpenMP/parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/parallel_sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/sections_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_data_use_device_addr_codegen.cpp
    M clang/test/OpenMP/target_data_use_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_has_device_addr_codegen.cpp
    M clang/test/OpenMP/target_in_reduction_codegen.cpp
    M clang/test/OpenMP/target_is_device_ptr_codegen.cpp
    M clang/test/OpenMP/target_map_both_pointer_pointee_codegen.cpp
    M clang/test/OpenMP/target_map_codegen_01.cpp
    M clang/test/OpenMP/target_map_codegen_21.cpp
    M clang/test/OpenMP/target_map_codegen_27.cpp
    M clang/test/OpenMP/target_map_codegen_28.cpp
    M clang/test/OpenMP/target_map_codegen_29.cpp
    M clang/test/OpenMP/target_map_deref_array_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_array_section_codegen.cpp
    M clang/test/OpenMP/target_map_member_expr_codegen.cpp
    M clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
    M clang/test/OpenMP/target_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_parallel_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_task_affinity_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_update_codegen.cpp
    M clang/test/OpenMP/task_codegen.c
    M clang/test/OpenMP/task_codegen.cpp
    M clang/test/OpenMP/task_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskgroup_task_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_in_reduction_codegen.cpp
    M clang/test/OpenMP/taskloop_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/Parser/cxx11-user-defined-literals.cpp
    M clang/test/Sema/builtin-unary-fp.c
    M clang/test/Sema/static-assert.c
    M clang/test/SemaCXX/source_location.cpp
    A clang/test/SemaCXX/static-assert-ext.cpp
    M clang/tools/c-arcmt-test/c-arcmt-test.c
    M clang/tools/c-index-test/c-index-test.c
    M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    M compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/common.cpp
    M compiler-rt/lib/scudo/standalone/common.h
    M compiler-rt/lib/scudo/standalone/linux.cpp
    M compiler-rt/lib/scudo/standalone/platform.h
    M compiler-rt/lib/scudo/standalone/release.h
    M flang/include/flang/Common/Fortran-features.h
    M flang/include/flang/Tools/TargetSetup.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Semantics/check-io.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/module/__fortran_builtins.f90
    M flang/module/ieee_arithmetic.f90
    M flang/runtime/assign.cpp
    M flang/test/CMakeLists.txt
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Evaluate/folding07.f90
    A flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/Intrinsics/ieee_class_queries.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/OpenMP/DelayedPrivatization/equivalence.f90
    M flang/test/Lower/OpenMP/copyin-order.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/copyprivate.f90
    M flang/test/Lower/OpenMP/copyprivate2.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M flang/test/Lower/OpenMP/delayed-privatization-array.f90
    M flang/test/Lower/OpenMP/delayed-privatization-firstprivate.f90
    M flang/test/Lower/OpenMP/implicit-dsa.f90
    M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/sections.f90
    M flang/test/Lower/OpenMP/single.f90
    M flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/task.f90
    M flang/test/Lower/OpenMP/task2.f90
    M flang/test/Lower/common-block.f90
    M flang/test/Semantics/kinds03.f90
    M flang/test/Semantics/modfile26.f90
    M flang/test/Semantics/realkinds-aarch64-01.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M libc/config/darwin/arm/entrypoints.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/sighandler_t.h
    M libc/src/signal/linux/signal.cpp
    M libc/src/signal/signal.h
    M libc/test/src/signal/CMakeLists.txt
    M libc/test/src/signal/signal_test.cpp
    M libcxx/include/__mdspan/extents.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/src/filesystem/error.h
    M libcxx/src/filesystem/file_descriptor.h
    M libcxx/src/filesystem/format_string.h
    M libcxx/src/filesystem/operations.cpp
    M libcxx/src/filesystem/posix_compat.h
    M libcxx/src/filesystem/time_utils.h
    M libcxx/src/include/atomic_support.h
    M libcxx/src/memory_resource.cpp
    M libcxx/src/system_error.cpp
    M libcxx/test/benchmarks/ContainerBenchmarks.h
    M libcxx/test/benchmarks/VariantBenchmarks.h
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_swappable.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/apply.pass.cpp
    M libcxx/test/support/archetypes.h
    M libcxx/test/support/container_test_types.h
    M libcxx/test/support/filesystem_test_helper.h
    M libcxx/test/support/make_test_thread.h
    M libcxx/test/support/parse_integer.h
    M libcxx/test/support/uses_alloc_types.h
    M libcxx/utils/ci/run-buildbot
    M libcxxabi/src/cxa_guard_impl.h
    M libcxxabi/src/cxa_personality.cpp
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/ELF/InputFiles.cpp
    M lld/MachO/BPSectionOrderer.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/OutputSegment.cpp
    M lld/include/lld/Common/CommonLinkerContext.h
    M lld/test/MachO/segprot.s
    M lldb/bindings/python/python-swigsafecast.swig
    M lldb/include/lldb/API/SBError.h
    M lldb/include/lldb/API/SBValueList.h
    M lldb/include/lldb/Core/ValueObjectConstResult.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBBreakpointLocation.cpp
    M lldb/source/API/SBBreakpointName.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBError.cpp
    M lldb/source/API/SBFile.cpp
    M lldb/source/API/SBFormat.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBPlatform.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/API/SBStructuredData.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/API/SBValueList.cpp
    M lldb/source/API/SBWatchpoint.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectMemoryTag.cpp
    M lldb/source/Commands/CommandObjectStats.cpp
    M lldb/source/Commands/CommandObjectTrace.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/ThreadedCommunication.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectCast.cpp
    M lldb/source/Core/ValueObjectConstResult.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectSyntheticFilter.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Expression/FunctionCaller.cpp
    M lldb/source/Expression/LLVMUserExpression.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Host/common/FileCache.cpp
    M lldb/source/Host/common/LockFileBase.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
    M lldb/source/Host/windows/MainLoopWindows.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.cpp
    M lldb/source/Plugins/Platform/Android/AdbClient.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_arm64.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp
    M lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Target/ModuleCache.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Scalar.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/source/Utility/StructuredData.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
    M lldb/unittests/Target/RemoteAwarePlatformTest.cpp
    M lldb/unittests/TestingSupport/Host/NativeProcessTestUtils.h
    M lldb/unittests/Utility/StatusTest.cpp
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/SandboxIRBench.cpp
    M llvm/include/llvm/Analysis/MLModelRunner.h
    M llvm/include/llvm/CodeGen/CodeGenCommonISel.h
    M llvm/include/llvm/IR/DerivedTypes.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/MC/MCExpr.h
    M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
    M llvm/include/llvm/Support/AutoConvert.h
    M llvm/include/llvm/Support/FormatCommon.h
    M llvm/include/llvm/Support/FormatVariadic.h
    A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/FormatVariadic.cpp
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/MemoryBuffer.cpp
    M llvm/lib/Support/Unix/Path.inc
    M llvm/lib/Support/Unix/Program.inc
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/ARM/ARMMachineFunctionInfo.h
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVSchedSiFive7.td
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Vectorize/CMakeLists.txt
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
    M llvm/test/Analysis/CostModel/AArch64/div.ll
    A llvm/test/Analysis/ScalarEvolution/udiv-of-x-xsmaxone-fold.ll
    A llvm/test/Assembler/target-type-param-errors.ll
    M llvm/test/CodeGen/AArch64/isinf.ll
    M llvm/test/CodeGen/AArch64/spillfill-sve.mir
    A llvm/test/CodeGen/AArch64/sve-bf16-converts.ll
    M llvm/test/CodeGen/AArch64/zext-shuffle.ll
    A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.err.ll
    A llvm/test/CodeGen/DirectX/sign.ll
    M llvm/test/CodeGen/MLRegAlloc/dev-mode-extra-features-logging.ll
    M llvm/test/CodeGen/PowerPC/fp-classify.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-imm.ll
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/double-round-conv.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/half-arith.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-imm.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/half-round-conv.ll
    M llvm/test/CodeGen/X86/buildvec-insertvec.ll
    M llvm/test/CodeGen/X86/known-signbits-vector.ll
    M llvm/test/CodeGen/X86/load-scalar-as-vector.ll
    M llvm/test/CodeGen/X86/pr44915.ll
    M llvm/test/CodeGen/X86/vec_insert-5.ll
    M llvm/test/CodeGen/X86/vec_shift5.ll
    M llvm/test/CodeGen/X86/vector-sext.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
    M llvm/test/MC/SystemZ/fixups.s
    M llvm/test/MC/SystemZ/regs-bad.s
    M llvm/test/MC/SystemZ/regs-good.s
    M llvm/test/TableGen/intrinsic-struct.td
    M llvm/test/Transforms/Attributor/ArgumentPromotion/byval.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/2009-09-24-byval-ptr.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/PR26044.ll
    M llvm/test/Transforms/Attributor/IPConstantProp/return-constants.ll
    M llvm/test/Transforms/Attributor/align.ll
    M llvm/test/Transforms/Attributor/assumes_info.ll
    M llvm/test/Transforms/Attributor/cb_liveness_disabled.ll
    M llvm/test/Transforms/Attributor/cb_liveness_enabled.ll
    M llvm/test/Transforms/Attributor/memory_locations.ll
    M llvm/test/Transforms/Attributor/phi_bug_pointer_info.ll
    M llvm/test/Transforms/Attributor/range.ll
    M llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
    M llvm/test/Transforms/Attributor/returned.ll
    M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
    M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/OpenMP/replace_globalization.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SandboxVectorizer/boilerplate.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
    M llvm/unittests/Support/FormatVariadicTest.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
    M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
    M llvm/utils/count/count.c
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/lib/TableGen/Pattern.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
    M mlir/test/Transforms/test-legalize-type-conversion.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/include/Allocator.h
    M offload/DeviceRTL/include/Configuration.h
    A offload/DeviceRTL/include/DeviceTypes.h
    A offload/DeviceRTL/include/DeviceUtils.h
    M offload/DeviceRTL/include/Interface.h
    M offload/DeviceRTL/include/LibC.h
    M offload/DeviceRTL/include/Mapping.h
    M offload/DeviceRTL/include/State.h
    M offload/DeviceRTL/include/Synchronization.h
    R offload/DeviceRTL/include/Types.h
    R offload/DeviceRTL/include/Utils.h
    M offload/DeviceRTL/src/Allocator.cpp
    M offload/DeviceRTL/src/Configuration.cpp
    M offload/DeviceRTL/src/Debug.cpp
    A offload/DeviceRTL/src/DeviceUtils.cpp
    M offload/DeviceRTL/src/Kernel.cpp
    M offload/DeviceRTL/src/Mapping.cpp
    M offload/DeviceRTL/src/Misc.cpp
    M offload/DeviceRTL/src/Parallelism.cpp
    M offload/DeviceRTL/src/Reduction.cpp
    M offload/DeviceRTL/src/State.cpp
    M offload/DeviceRTL/src/Synchronization.cpp
    M offload/DeviceRTL/src/Tasking.cpp
    R offload/DeviceRTL/src/Utils.cpp
    M offload/DeviceRTL/src/Workshare.cpp
    A offload/include/Shared/RefCnt.h
    A offload/include/Shared/Types.h
    M offload/include/Shared/Utils.h
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/plugins-nextgen/common/src/JIT.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/plugins-nextgen/cuda/src/rtl.cpp
    M offload/src/DeviceImage.cpp
    M offload/src/omptarget.cpp
    M openmp/docs/SupportAndFAQ.rst

  Log Message:
  -----------
  Rebase

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/09fc465243af...206934a777a7

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