[all-commits] [llvm/llvm-project] 858afe: Revert "[RISCV] Add isel optimization for (and (sr...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Aug 26 12:10:31 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpbetter-cost-estimation-for-masked-gather-or-clustered-loads
  Home:   https://github.com/llvm/llvm-project
  Commit: 858afe90aad9ca45165d64baec9249dd680c85d5
      https://github.com/llvm/llvm-project/commit/858afe90aad9ca45165d64baec9249dd680c85d5
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  Revert "[RISCV] Add isel optimization for (and (sra y, c2), c1) to recover regression from #101751. (#104114)"

This caused an assert to fire:

  llvm/include/llvm/Support/Casting.h:566:
  decltype(auto) llvm::cast(const From &) [To = llvm::ConstantSDNode, From = llvm::SDValue]:
  Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.

see comment on the PR.

> If c1 is a shifted mask with c3 leading zeros and c4 trailing zeros. If
> c2 is greater than c3, we can use (srli (srai y, c2 - c3), c3 + c4)
> followed by a SHXADD with c4 as the X amount.
>
> Without Zba we can use (slli (srli (srai y, c2 - c3), c3 + c4), c4).
> Alive2: https://alive2.llvm.org/ce/z/AwhheR

This reverts commit 514481736cf943464125ef34570a7df0a19290de.


  Commit: 05ce95ef0412ba8b3e3189db5ed130a9949bbefd
      https://github.com/llvm/llvm-project/commit/05ce95ef0412ba8b3e3189db5ed130a9949bbefd
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/test/CodeGen/tls-maxalign-modflag.c
    M clang/test/CodeGenCXX/windows-itanium-init-guard.cpp
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS5][clang][test] x86_64-scei-ps5 -> x86_64-sie-ps5 in tests (#105810)

`x86_64-sie-ps5` is the triple we share with PS5 toolchain users who
have reason to care about such things. The vast majority of PS5 checks
and tests already use this variant. Quashing the handful of stragglers
will help prevent future copy+paste of the discouraged variant.


  Commit: 885c4365c1e8b80bdbbdfecf9b6d436e96be52ac
      https://github.com/llvm/llvm-project/commit/885c4365c1e8b80bdbbdfecf9b6d436e96be52ac
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll

  Log Message:
  -----------
  [VPlan] Skip branches marked as dead in cost precomputation.

Don't consider the cost of branches marked to be skipped in VPlan cost
pre-computation. Those aren't included in the legacy cost, so they
should not be included in the VPlan cast.


  Commit: 6a8f73803a32db75d22490d341bf8744722a9025
      https://github.com/llvm/llvm-project/commit/6a8f73803a32db75d22490d341bf8744722a9025
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
    M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
    M compiler-rt/test/asan/TestCases/initialization-nobug.cpp

  Log Message:
  -----------
  Revert "Reland "[asan] Remove debug tracing from `report_globals` (#104404)" (#105601)"

that change still breaks

  SanitizerCommon-asan-x86_64-Darwin :: Darwin/print-stack-trace-in-code-loaded-after-fork.cpp

> This reverts commit 2704b804bec50c2b016bf678bd534c330ec655b6
> and relands #104404.
>
> The Darwin should not fail after #105599.

This reverts commit 8c6f8c29e90666b747fc4b4612647554206a2be5.


  Commit: f77e8f765e425a575516c16e7034cb448d270fcc
      https://github.com/llvm/llvm-project/commit/f77e8f765e425a575516c16e7034cb448d270fcc
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    A clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/docs/index.rst
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    A clang/test/CodeGen/rtsan_attribute_inserted.c
    A clang/test/CodeGen/rtsan_entry_exit_insertion.c
    A clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  [clang][rtsan] Reland realtime sanitizer codegen and driver (#102622) 

This reverts commit a1e9b7e646b76bf844e8a9a101ebd27de11992ff
This relands commit d010ec6af8162a8ae4e42d2cac5282f83db0ce07

No modifications from the original patch. It was determined that the
ubsan build failure was happening even after the revert, some examples:

https://lab.llvm.org/buildbot/#/builders/159/builds/4477 
https://lab.llvm.org/buildbot/#/builders/159/builds/4478 
https://lab.llvm.org/buildbot/#/builders/159/builds/4479


  Commit: 3faf5b93cfd2b2723851191a244a9616d40771e7
      https://github.com/llvm/llvm-project/commit/3faf5b93cfd2b2723851191a244a9616d40771e7
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C23] Update status page for TS 18661 integration (#105693)

WG14 N2401 was removed from the list because it was library-only changes
that don't impact the compiler.

Everything having to do with decimal floating-point types was changed to
No because we do not currently have any support for those.

WG14 N2314 remains Unknown because it has changes to Annex F for binary
floating-point types.


  Commit: 7f3793207bfcbb52b1367baefdfa7a6453041ade
      https://github.com/llvm/llvm-project/commit/7f3793207bfcbb52b1367baefdfa7a6453041ade
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M bolt/test/X86/end-symbol.test
    M bolt/test/X86/instrumentation-eh_frame_hdr.cpp

  Log Message:
  -----------
  [BOLT][test] Removed the use of parentheses in BOLT tests with lit internal shell (#105720)

This patch addresses compatibility issues with the lit internal shell by
removing the use of subshell execution (parentheses and subshell syntax)
in the `BOLT` tests. The lit internal shell does not support
parentheses, so the tests have been refactored to use separate command
invocations, with outputs redirected to temporary files where necessary.

This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)

fixes: #102401


  Commit: 7c9008115a2a24788f07bb476fb28dcf5e661ae4
      https://github.com/llvm/llvm-project/commit/7c9008115a2a24788f07bb476fb28dcf5e661ae4
  Author: pawelszczerbuk <153013546+pawelszczerbuk at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/test/Dialect/SCF/loop-pipelining.mlir

  Log Message:
  -----------
  [SCF][PIPELINE] Handle the case when values from the peeled prologue may escape out of the loop (#105755)

Previously the values in the peeled prologue that weren't treated with
the `predicateFn` were passed to the loop body without any other
predication. If those values are later used outside of the loop body,
they may be incorrect if the num iterations is smaller than num stages -
1. We need similar masking for those, as is done in the main loop body,
using already existing predicates.


  Commit: 6e78aef646c22b7087cbf7939c8016f4f59614a1
      https://github.com/llvm/llvm-project/commit/6e78aef646c22b7087cbf7939c8016f4f59614a1
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/SemaCXX/constant-expression-cxx2a.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
    A clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement P2747 constexpr placement new (#104586)

The implementation follows the resolution of CWG2922


  Commit: 807557654a3c1c75b9ca3aedf8672805c7b441d4
      https://github.com/llvm/llvm-project/commit/807557654a3c1c75b9ca3aedf8672805c7b441d4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] visitTRUNCATE_USAT_U - use sd_match to match FP_TO_UINT_SAT pattern. NFC.


  Commit: ff5552c1b82ada19750792fa1f28a23a33ee39b3
      https://github.com/llvm/llvm-project/commit/ff5552c1b82ada19750792fa1f28a23a33ee39b3
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx17.rst
    R libcxx/docs/Status/SpecialMath.rst
    R libcxx/docs/Status/SpecialMathProjects.csv
    R libcxx/docs/Status/Zip.rst
    R libcxx/docs/Status/ZipProjects.csv
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Remove status pages tracking SpecialMath and Zip (#105672)

Instead of tracking those using our static CSV files, I created lists of
subtasks in their respective issues (#99939 and #105169) to track the
work that is still left.


  Commit: b8f15051369978c423d74a3bd48a1b9ab6d31ee6
      https://github.com/llvm/llvm-project/commit/b8f15051369978c423d74a3bd48a1b9ab6d31ee6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [IR] Use a range-based for loop (NFC) (#105826)


  Commit: 5a25854ed18ec5a51df6d1f7a2366a574a6846b0
      https://github.com/llvm/llvm-project/commit/5a25854ed18ec5a51df6d1f7a2366a574a6846b0
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [clangd] Construct SmallVector with ArrayRef (NFC) (#105829)


  Commit: a9f62244f28a64e7b7338c2299ba169df70fbb03
      https://github.com/llvm/llvm-project/commit/a9f62244f28a64e7b7338c2299ba169df70fbb03
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Move `ReconcileUnrealizedCasts` implementation (#104671)

Move the implementation of `ReconcileUnrealizedCasts` to
`DialectConversion.cpp`, so that it can be called from there in a future
commit.

This commit is in preparation of decoupling argument/source/target
materializations from the dialect conversion framework. The existing
logic around unresolved materializations that predicts IR changes to
decide if a cast op can be folded/erased will become obsolete, as
`ReconcileUnrealizedCasts` will perform these kind of foldings on fully
materialized IR.

---------

Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>


  Commit: b1560bdb2bc67006f3b8f7e84ee0356632bf8126
      https://github.com/llvm/llvm-project/commit/b1560bdb2bc67006f3b8f7e84ee0356632bf8126
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp

  Log Message:
  -----------
  Reland "[clang] Merge lifetimebound and GSL code paths for lifetime analysis  (#104906)" (#105838)

Reland without the `EnableLifetimeWarnings` removal. I will remove the
EnableLifetimeWarnings in a follow-up patch.

I have added a test to prevent regression.


  Commit: fd7904a07bc26950fa7735fb6871a064e3ebc836
      https://github.com/llvm/llvm-project/commit/fd7904a07bc26950fa7735fb6871a064e3ebc836
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/trap_frame_sym_ctx.test

  Log Message:
  -----------
  Revert "[lldb] Speculative fix for trap_frame_sym_ctx.test"

This reverts commit 19d3f3417100dc99caa4394fbd26fc0c4702264e.


  Commit: 0381e01424692a746b941e470c4cc44f6f0bf258
      https://github.com/llvm/llvm-project/commit/0381e01424692a746b941e470c4cc44f6f0bf258
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  Recommit "[RISCV] Add isel optimization for (and (sra y, c2), c1) to recover regression from #101751. (#104114)"

Fixed an incorrect cast.

Original message:

If c1 is a shifted mask with c3 leading zeros and c4 trailing zeros. If
c2 is greater than c3, we can use (srli (srai y, c2 - c3), c3 + c4)
followed by a SHXADD with c4 as the X amount.

Without Zba we can use (slli (srli (srai y, c2 - c3), c3 + c4), c4).
Alive2: https://alive2.llvm.org/ce/z/AwhheR


  Commit: 3d18cea904391f510ffd754713ce4e1731845ffb
      https://github.com/llvm/llvm-project/commit/3d18cea904391f510ffd754713ce4e1731845ffb
  Author: Max Coplan <mchcopl at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M libcxx/include/regex

  Log Message:
  -----------
  [libc++][regex] Add _LIBCPP_FALLTHROUGH to suppress fallthrough warning (#100821)


  Commit: 0bf5846553412978d30b84f06c6b6183890ab8e5
      https://github.com/llvm/llvm-project/commit/0bf5846553412978d30b84f06c6b6183890ab8e5
  Author: Daniel Sanders <daniel_l_sanders at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
    M llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp

  Log Message:
  -----------
  InstructionSelect: Use GISelChangeObserver instead of MachineFunction::Delegate (#105725)

The main difference is that it's possible for multiple change observers
to be installed at the same time whereas there can only be one
MachineFunction delegate installed. This allows downstream targets to
continue to use observers to recursively select. The target in question
was selecting a gMIR instruction to a machine instruction plus some gMIR
around it and relying on observers to ensure it correctly selected any
gMIR it created before returning to the main loop.


  Commit: aec3ec04ac611f9a3d1e1ad075d50f62c1d1a1e2
      https://github.com/llvm/llvm-project/commit/aec3ec04ac611f9a3d1e1ad075d50f62c1d1a1e2
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp

  Log Message:
  -----------
  [SCCP] fix non-determinism (#105758)

the visit order depended on hashing because we iterated over a
SmallPtrSet


  Commit: df9767385701b6bb2ff0411ad6b407bcefbfe34c
      https://github.com/llvm/llvm-project/commit/df9767385701b6bb2ff0411ad6b407bcefbfe34c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/fp16-libcalls.ll

  Log Message:
  -----------
  [X86] Add some initial test coverage for half libcall expansion/promotion

We can add additional tests in the future, but this is an initial placeholder

Inspired by #105775


  Commit: 1821cb38995796e1b8d46357c2b26eff4ca0f88c
      https://github.com/llvm/llvm-project/commit/1821cb38995796e1b8d46357c2b26eff4ca0f88c
  Author: Michael Park <mcypark at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/lib/Parse/ParseExpr.cpp

  Log Message:
  -----------
  [NFC] Fix an incorrect comment about operator precedence. (#105784)

The comment talks about left-associative operators twice, when the
latter mention is actually describing right-associative operators.


  Commit: 960a210b1f22f74ba32a04acbb5d3134d4443839
      https://github.com/llvm/llvm-project/commit/960a210b1f22f74ba32a04acbb5d3134d4443839
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
    M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll

  Log Message:
  -----------
  [ctx_prof] Remove the dependency on the "name" GlobalVariable (#105731)

We don't need that name variable for contextual instrumentation, we just
use the function to get its GUID which we pass to the runtime, and rely
on metadata to capture it through the various optimization passes. This
change removes the need for the name global variable.


  Commit: fa089efa6c70f4da8618f2f41ee9c7db86e2b0e0
      https://github.com/llvm/llvm-project/commit/fa089efa6c70f4da8618f2f41ee9c7db86e2b0e0
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/orc/macho_platform.cpp

  Log Message:
  -----------
  [orc][mach-o] Unlock the JITDylib state mutex during +load (#105333)

Similar to what was already done for static initializers, we need to
unlock the state mutext when calling out to libobjc to run +load methods
in case they cause us to reenter the runtime, which was previously
deadlocking. No test for now, because we don't have any code paths in
llvm-jitlink itself that could lead to this deadlock. If we interpose
calls to dlopen to go back to the JIT in the future then calling dlopen
from a +load is the easiest way to reproduce this.

rdar://133430490


  Commit: ebc4a66e9b525f7efc03053e3c7472d3e3fb0412
      https://github.com/llvm/llvm-project/commit/ebc4a66e9b525f7efc03053e3c7472d3e3fb0412
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    M clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_other.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl

  Log Message:
  -----------
  Implement resource binding type prefix mismatch diagnostic infrastructure (#97103)

There are currently no diagnostics being emitted for when a resource is
bound to a register with an incorrect binding type prefix. For example,
a CBuffer type resource should be bound with a a binding type prefix of
'b', but if instead the prefix is 'u', no errors will be emitted. This
PR implements such diagnostics. The focus of this PR is to implement
both the flag setting and diagnostic emisison steps specified in the
relevant spec: https://github.com/microsoft/hlsl-specs/pull/230
The relevant issue is: https://github.com/llvm/llvm-project/issues/57886
This is a continuation / refresh of this PR:
https://github.com/llvm/llvm-project/pull/87578


  Commit: f607102a0d6be0e2aebc1bfaed2ed0a6ae020145
      https://github.com/llvm/llvm-project/commit/f607102a0d6be0e2aebc1bfaed2ed0a6ae020145
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-kernel.mlir
    R mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-sqsum.mlir

  Log Message:
  -----------
  [mlir][sparse] partially support lowering sparse coiteration loops to scf.while/for. (#105565)


  Commit: f4cf93fb509c53771d61a973f27be9b1a90dee0a
      https://github.com/llvm/llvm-project/commit/f4cf93fb509c53771d61a973f27be9b1a90dee0a
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/common-block-map.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    M flang/test/Lower/OpenMP/target.f90
    A offload/test/offloading/fortran/local-descriptor-map-regress.f90

  Log Message:
  -----------
  [Flang][OpenMP] Align  map clause generation and fix issue with non-shared allocations for assumed shape/size descriptor types (#97855)

This PR aims to unify the map argument generation behavior across both
the implicit capture (captured in a target region) and the explicit
capture (process map), currently the varPtr field of the MapInfo for the
same variable will be different depending on how it's captured. This PR
tries to align that across the generations of MapInfoOp in the OpenMP
lowering.

Currently, I have opted to utilise the rawInput (input memref to a HLFIR
DeclareInfoOp) as opposed to the addr field which includes more
information. The side affect of this is that we have to deal with
BoxTypes less often, which will result in simpler maps in these cases.
The negative side affect of this is that we don't have access to the
bounds information through the resulting value, however, I believe the
bounds information we require in our case is still appropriately stored
in the map bounds, and this seems to be the case from testing so far.

The other fix is for cases where we end up with a BoxType argument into
a function (certain assumed shape and sizes cases do this) that has no
fir.ref wrapping it. As we need the Box to be a reference type to
actually utilise the operation to access the base address stored inside
and create the correct mappings we currently generate an intermediate
allocation in these cases, and then store into it, and utilise this as
the map argument, as opposed to the original.

However, as we were not sharing the same intermediate allocation across
all of the maps for a variable, this resulted in errors in certain cases
when detatching/attatching the data e.g. via enter and exit. This PR
adjusts this for cases

Currently we only maintain tracking of all intermediate allocations for
the current function scope, as opposed to module. Primarily as the only
case I am aware of that this is required is in cases where we pass
certain types of arguments to functions (so I opted to minimize the
overhead of the pass for now). It could likely be extended to module
scope if required if we find other cases where it's applicable and
causing issues.


  Commit: d86349cf40196bc7f52e3f294ed2afafacadf1f5
      https://github.com/llvm/llvm-project/commit/d86349cf40196bc7f52e3f294ed2afafacadf1f5
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  Fix some warnings in SemaHLSL.cpp.


  Commit: b7c1be1a7f49539ea644ff3fd8b55f237e37b35e
      https://github.com/llvm/llvm-project/commit/b7c1be1a7f49539ea644ff3fd8b55f237e37b35e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/trap_frame_sym_ctx.test

  Log Message:
  -----------
  Revert "Revert "[lldb] Speculative fix for trap_frame_sym_ctx.test""

This reverts commit fd7904a07bc26950fa7735fb6871a064e3ebc836.


  Commit: 3c0fba4f2471cacb27d787c7d8f54f21d9dcafae
      https://github.com/llvm/llvm-project/commit/3c0fba4f2471cacb27d787c7d8f54f21d9dcafae
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/commands/frame/recognizer/main.m
    M lldb/test/API/commands/frame/recognizer/recognizer.py
    A lldb/test/API/lang/cpp/std-function-recognizer/Makefile
    A lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    A lldb/test/API/lang/cpp/std-function-recognizer/main.cpp

  Log Message:
  -----------
  Revert "Revert "[lldb] Extend frame recognizers to hide frames from backtraces (#104523)""

This reverts commit 547917aebd1e79a8929b53f0ddf3b5185ee4df74.


  Commit: 9e9e8238df63b9f10c6635d3f16d8a0fbc7f00c4
      https://github.com/llvm/llvm-project/commit/9e9e8238df63b9f10c6635d3f16d8a0fbc7f00c4
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/Makefile
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.py
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  Revert "Revert "[lldb-dap] Mark hidden frames as "subtle" (#105457)""

This reverts commit aa70f83e660453c006193aab7ba67c94db236948.


  Commit: ad7577524286ae6070dc7f18bde35cf050d31e5e
      https://github.com/llvm/llvm-project/commit/ad7577524286ae6070dc7f18bde35cf050d31e5e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig

  Log Message:
  -----------
  Revert "Revert "[lldb][swig] Use the correct variable in the return statement""

This reverts commit 7323e7eee3a819e9a2d8ec29f00d362bcad87731.


  Commit: 11d2de436cbab8667fe1f99d7b538e6fb555b4d7
      https://github.com/llvm/llvm-project/commit/11d2de436cbab8667fe1f99d7b538e6fb555b4d7
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Target/StackFrame.h

  Log Message:
  -----------
  [lldb] Fix uninitialized variable


  Commit: a968ae6873d4dba50dabaa321fe05d3ccc9f38c8
      https://github.com/llvm/llvm-project/commit/a968ae6873d4dba50dabaa321fe05d3ccc9f38c8
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h

  Log Message:
  -----------
  [TableGen] Refactor SequenceToOffsetTable class (#104986)

- Replace use of std::isalnum/ispunct with StringExtras version to avoid
possibly locale dependent behavior.
- Remove `static` from printChar (do its deduplicated when linking).
- Use range based for loops and structured bindings.
- No need to use `llvm::` for code in llvm namespace.


  Commit: 71867042041ebb02c2865ed7c9b908e691b31a91
      https://github.com/llvm/llvm-project/commit/71867042041ebb02c2865ed7c9b908e691b31a91
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [mlir][sparse] refactoring sparse_tensor.iterate lowering pattern implementation. (#105566)


  Commit: 8f08b75ce4af9dc72fb560033db14891ac01a682
      https://github.com/llvm/llvm-project/commit/8f08b75ce4af9dc72fb560033db14891ac01a682
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [Clang] Assert non-null enum definition in CGDebugInfo::CreateTypeDefinition(const EnumType*) (#105556)

This commit adds an assert to check for a non-null enum definition in
CGDebugInfo::CreateTypeDefinition(const EnumType*), ensuring
precondition validity.

Previous discussion on https://github.com/llvm/llvm-project/pull/97105


  Commit: 57b89fdd8af0a230ff270d6f018c0ca6b8562d71
      https://github.com/llvm/llvm-project/commit/57b89fdd8af0a230ff270d6f018c0ca6b8562d71
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Add FLANG_RUNTIME_NO_REAL_3 flag to build (#105856)

Allow a runtime build to disable SELECTED_REAL_KIND from returning kind
3 (16-bit truncated form of 32-bit IEEE-754 floating point, a/k/a "brain
float" or bfloat16).


  Commit: caa844e67cbb5e4f5f20a237d713a227ce65b5b9
      https://github.com/llvm/llvm-project/commit/caa844e67cbb5e4f5f20a237d713a227ce65b5b9
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Writer.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/arm64ec-export-thunks.test
    M lld/test/COFF/arm64ec-patchable-thunks.test

  Log Message:
  -----------
  [LLD][COFF] Add support for CHPE redirection metadata. (#105739)

This is part of CHPE metadata containing a sorted list of x86_64 export
thunks RVAs and RVAs of ARM64EC functions associated with them. It's
stored in a dedicated .a64xrm section.


  Commit: ceb587a16cc2f5d61dc3299d2e54d6c17be14e4a
      https://github.com/llvm/llvm-project/commit/ceb587a16cc2f5d61dc3299d2e54d6c17be14e4a
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
    A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/load-i1-misaligned.ll

  Log Message:
  -----------
  [AMDGPU] Fix crash in allowsMisalignedMemoryAccesses with i1 (#105794)


  Commit: 00620abc7f6bdd824e033744f84408c98decd95c
      https://github.com/llvm/llvm-project/commit/00620abc7f6bdd824e033744f84408c98decd95c
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][SCF] Allow canonicalization of zero-trip count `scf.forall` with empty mapping. (#105793)

Current folding of one-trip count loop does not kick in with an empty
mapping. Enable this for empty mapping.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: 782bc4f669d3c2b52d1c9db121dea6a545216149
      https://github.com/llvm/llvm-project/commit/782bc4f669d3c2b52d1c9db121dea6a545216149
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll

  Log Message:
  -----------
  [DXIL][Analysis] Uniquify duplicate resources in DXILResourceAnalysis

If a resources is used multiple times, we should only have one resource record
for it. This comes up most prominantly with arrays of resources like so:

```hlsl
RWBuffer<float4> BufferArray[10] : register(u0, space4);
RWBuffer<float4> B1 = BufferArray[0];
RWBuffer<float4> B2 = BufferArray[SomeIndex];
RWBuffer<float4> B3 = BufferArray[3];
```

In this case, there's only one resource, but we'll generate 3 different
`dx.handle.fromBinding` calls to access different slices.

Note that this adds some API that won't be used until #104447 later in the
stack. Trying to avoid that results in unnecessary churn.

Fixes #105143

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


  Commit: a0fac6f2d868316a88aa5b62963e26dca9bfa372
      https://github.com/llvm/llvm-project/commit/a0fac6f2d868316a88aa5b62963e26dca9bfa372
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Target/StackFrameRecognizer.h

  Log Message:
  -----------
  [lldb] Add missing initialization (NFC)


  Commit: 52a7116f5c6ada234f47f7794aaf501a3692b997
      https://github.com/llvm/llvm-project/commit/52a7116f5c6ada234f47f7794aaf501a3692b997
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Driver.cpp
    M lld/COFF/Writer.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/arm64ec-export-thunks.test
    M lld/test/COFF/arm64ec-patchable-thunks.test

  Log Message:
  -----------
  [LLD][COFF] Add support for CHPE code ranges metadata. (#105741)

This is part of CHPE metadata containing a sorted list of x86_64 export
thunks RVAs and sizes.


  Commit: c505ce9df7006edabf402a73782121c44b697289
      https://github.com/llvm/llvm-project/commit/c505ce9df7006edabf402a73782121c44b697289
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/test/Analysis/asm.cpp
    M clang/test/Analysis/cfg.c
    M clang/test/Analysis/cfg.cpp
    A clang/test/Driver/heinous-gnu-extensions.c
    M clang/test/Misc/warning-flags.c
    M clang/test/Sema/heinous-extensions-off.c
    M clang/test/Sema/heinous-extensions-on.c

  Log Message:
  -----------
  Deprecate -fheinous-gnu-extensions; introduce a new warning flag (#105821)

The new warning flag is `-Winvalid-gnu-asm-cast`, which is enabled by
default and is a downgradable diagnostic which defaults to an error.

This language dialect flag only controls whether a single diagnostic is
emitted as a warning or as an error, and has never been expanded to
include other behaviors. Given the rather perjorative name, it's better
for us to just expose a diagnostic flag for the one warning in question
and let the user elect to do `-Wno-error=` if they need to.

There's not a lot of use of the language dialect flag in the wild, but
there is some use of it. For the time being, this aliases the -f flag to
`-Wno-error=invalid-gnu-asm-cast`, but the -f flag can eventually be
removed.


  Commit: a74f0ab50bcb9d4b848ac8552051434bd00172dc
      https://github.com/llvm/llvm-project/commit/a74f0ab50bcb9d4b848ac8552051434bd00172dc
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  Fix rowspan formatting; NFC


  Commit: aa61925eace86602ce1da00bda4a993719061df2
      https://github.com/llvm/llvm-project/commit/aa61925eace86602ce1da00bda4a993719061df2
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/test/CodeGen/DirectX/CreateHandle.ll
    A llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll

  Log Message:
  -----------
  [DirectX] Lower `@llvm.dx.handle.fromBinding` to DXIL ops

The `@llvm.dx.handle.fromBinding` intrinsic is lowered either to the
`CreateHandle` op or a pair of `CreateHandleFromBinding` and `AnnotateHandle`
ops, depending on the DXIL version. Regardless of the DXIL version we need to
emit metadata about the binding, but that's left to a separate change.

These DXIL ops all need to return the `%dx.types.Handle` type, but the llvm
intrinsic returns a target extension type. To facilitate changing the type of
the operation and all of its users, we introduce `%llvm.dx.cast.handle`, which
can cast between the two handle representations.

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


  Commit: 8b4147d14c460f8886e882db48361d4c101917d7
      https://github.com/llvm/llvm-project/commit/8b4147d14c460f8886e882db48361d4c101917d7
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp

  Log Message:
  -----------
  [GDBRemote] Fix processing of comma-separated memory region entries (#105873)

The existing algorithm was performing the following comparisons for an
`aaa,bbb,ccc,ddd`:

aaa\0bbb,ccc,ddd == "stack"
aaa\0bbb\0ccc,ddd == "stack"
aaa\0bbb\0ccc\0ddd == "stack"

Which wouldn't work. This commit just dispatches to a known algorithm
implementation.


  Commit: a2a5508bdae7d115b6c3ace461beb7a987a44407
      https://github.com/llvm/llvm-project/commit/a2a5508bdae7d115b6c3ace461beb7a987a44407
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [nfc][mlgo] Incrementally update DominatorTreeAnalysis in FunctionPropertiesAnalysis (#104867)

We need the dominator tree analysis for loop info analysis, which we need to get features like most nested loop and number of top level loops. Invalidating and recomputing these from scratch after each successful inlining can sometimes lead to lengthy compile times. We don't need to recompute from scratch, though, since we have some boundary information about where the changes to the CFG happen; moreover, for dom tree, the API supports incrementally updating the analysis result.

This change addresses the dom tree part. The loop info is still recomputed from scratch. This does reduce the compile time quite significantly already, though (~5x in a specific case)

The loop info change might be more involved and would follow in a subsequent PR.


  Commit: 4dbaef6d5ea71fb183114a82da4028960906c42b
      https://github.com/llvm/llvm-project/commit/4dbaef6d5ea71fb183114a82da4028960906c42b
  Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDropUnitDims.cpp

  Log Message:
  -----------
  [mlir][Linalg] Avoid doing op replacement in `linalg::dropUnitDims`. (#105749)

It is better to do the replacement in the caller. This avoids the
footgun if the caller needs the original operation. Instead return the
produced operation and replacement values.

Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>


  Commit: d7073c527457dc0a71126381afb3c6f0efa1821c
      https://github.com/llvm/llvm-project/commit/d7073c527457dc0a71126381afb3c6f0efa1821c
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-08-23 (Fri, 23 Aug 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

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

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.)


  Commit: 64afbf0cbe2e7b77cc0e139cb9ccd086a7f9b930
      https://github.com/llvm/llvm-project/commit/64afbf0cbe2e7b77cc0e139cb9ccd086a7f9b930
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp

  Log Message:
  -----------
  [rtsan][compiler-rt] Prevent UB hang in rtsan lock unit tests (#104733)

It is undefined behavior to lock or unlock an uninitialized lock, and
unlock a lock which isn't locked.

Introduce a fixture to set up and tear down the locks where
appropriate, and separates them into two tests (realtime death and non
realtime survival) so each test is guaranteed a fresh lock.


  Commit: 3b703d479ff37883242acc20fed317ed8a5466dc
      https://github.com/llvm/llvm-project/commit/3b703d479ff37883242acc20fed317ed8a5466dc
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

  Log Message:
  -----------
  [Bitcode] Use DenseSet instead of std::set (NFC) (#105851)

DefOrUseGUIDs is used only for membership checking purposes.  We don't
need std::set's strengths like iterators staying valid or the ability
to traverse in a sorted order.

While I am at it, this patch replaces count with contains for slightly
increased readability.


  Commit: da6f42325175bdf1652c296136d9883e1100f86c
      https://github.com/llvm/llvm-project/commit/da6f42325175bdf1652c296136d9883e1100f86c
  Author: Volodymyr Vasylkun <vvmposeydon at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `(x < y) ? -1 : zext(x > y)` and `(x > y) ? 1 : sext(x < y)` to `ucmp/scmp(x, y)` (#105272)

This patch expands already existing funcionality to include these two
additional folds, which are nearly identical to the ones already
implemented.

Proofs: https://alive2.llvm.org/ce/z/Xy7s4j


  Commit: 283dff4593dbbd68594606cda9fbd3631e6648dc
      https://github.com/llvm/llvm-project/commit/283dff4593dbbd68594606cda9fbd3631e6648dc
  Author: pokeslow <69726511+cseslowpoke at users.noreply.github.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    A compiler-rt/test/nsan/nan.cpp
    A compiler-rt/test/nsan/softmax.cpp
    A compiler-rt/test/nsan/vec_sqrt.cpp
    A compiler-rt/test/nsan/vec_sqrt_ext.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Add support for nan detection (#101531)

Add support for nan detection.
#100305


  Commit: b48ef8d8d4fac69a9763945a6019dc59ad21ca28
      https://github.com/llvm/llvm-project/commit/b48ef8d8d4fac69a9763945a6019dc59ad21ca28
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp

  Log Message:
  -----------
  [mlir][sparse] unify block arguments order between iterate/coiterate operations. (#105567)


  Commit: 3e763db81607c71d0bb2eb4c01721ac6965d8de7
      https://github.com/llvm/llvm-project/commit/3e763db81607c71d0bb2eb4c01721ac6965d8de7
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp

  Log Message:
  -----------
  [SPIRV] Fix return type mismatch for createSPIRVEmitNonSemanticDIPass (#105889)

The declaration in SPIRV.h had this returning a `MachineFunctionPass *`,
but the implementation returned a `FunctionPass *`. This showed up as a
build error on windows, but it was clearly a mistake regardless.

I also updated the pass to include SPIRV.h rather than using its own
declarations for pass initialization, as this results in better errors
for this kind of typo.

Fixes a build break after #97558


  Commit: 10407be542aeb2b59477b167bbba3716538dc722
      https://github.com/llvm/llvm-project/commit/10407be542aeb2b59477b167bbba3716538dc722
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
    M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
    M compiler-rt/test/asan/TestCases/initialization-nobug.cpp

  Log Message:
  -----------
  "Reland "[asan] Remove debug tracing from `report_globals` (#104404)" (#105895)

Reland #104404.

In addition to #104404 it raises required
verbosity for stack tracing on global
registration. It confuses a symbolizer test on
Darwin.

This reverts commit 6a8f73803a32db75d22490d341bf8744722a9025.


  Commit: 91e57c6fa80dee935a9080f27c4d9b7971b347d5
      https://github.com/llvm/llvm-project/commit/91e57c6fa80dee935a9080f27c4d9b7971b347d5
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/test/Dialect/Tensor/tiling.mlir

  Log Message:
  -----------
  [mlir][tensor] Add TilingInterface support for fusing tensor.pad (#105892)

This adds implementations for the two TilingInterface methods required
for fusion to `tensor.pad`: `getIterationDomainTileFromResultTile` and
`generateResultTileValue`, allowing fusion of pad with a tiled consumer.


  Commit: cdd11d694a406a98a16d6265168ee2fbe1b6a87c
      https://github.com/llvm/llvm-project/commit/cdd11d694a406a98a16d6265168ee2fbe1b6a87c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp

  Log Message:
  -----------
  Fix bot failures after PR #104867

An assert was left over after addressing feedback. In the process of
fixing, realized the way I addressed the feedback was also incomplete.


  Commit: ca53611c905f82628ab2e40185307995b552e14d
      https://github.com/llvm/llvm-project/commit/ca53611c905f82628ab2e40185307995b552e14d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [llvm] Use range-based for loops (NFC) (#105861)


  Commit: dbd7ce0ccd3a88f2c1d6e47d31da63a48cafdc8f
      https://github.com/llvm/llvm-project/commit/dbd7ce0ccd3a88f2c1d6e47d31da63a48cafdc8f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp

  Log Message:
  -----------
  [IR] Inroduce ModuleToSummariesForIndexTy (NFC) (#105906)

This patch introduces type alias ModuleToSummariesForIndexTy.

I'm planning to change the type slightly to allow heterogeneous lookup
(that is, std::map<K, V, std::less<>>) in a subsequent patch.  The
problem is that changing the type affects many places.  Using a type
alias reduces the impact.


  Commit: 1f89cd4a1970fee65f5ecb189c4d1a0a376d9bb2
      https://github.com/llvm/llvm-project/commit/1f89cd4a1970fee65f5ecb189c4d1a0a376d9bb2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    R compiler-rt/test/nsan/nan.cpp
    R compiler-rt/test/nsan/softmax.cpp
    R compiler-rt/test/nsan/vec_sqrt.cpp
    R compiler-rt/test/nsan/vec_sqrt_ext.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][nsan] Add support for nan detection" (#105909)

Reverts llvm/llvm-project#101531

Fails https://lab.llvm.org/buildbot/#/builders/66/builds/3051


  Commit: 74b538d7e6428921b0bc8f1f5d5dc287c430fa29
      https://github.com/llvm/llvm-project/commit/74b538d7e6428921b0bc8f1f5d5dc287c430fa29
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp

  Log Message:
  -----------
  [include-cleaner] Turn new/delete usages to ambiguous references (#105844)

In practice most of these expressions just resolve to implicitly
provided `operator new` and standard says it's not necessary to include
`<new>` for that.
Hence this is resulting in a lot of churn in cases where inclusion of
`<new>` doesn't matter, and might even be undesired by the developer.

By switching to an ambiguous reference we try to find a middle ground
here, ensuring that we don't drop providers of `operator new` when the
developer explicitly listed them in the includes, and chose to believe
it's the implicitly provided `operator new` and don't insert an include
in other cases.


  Commit: e439fdf4ea0dbc6f001428f4d4956700bf26bb97
      https://github.com/llvm/llvm-project/commit/e439fdf4ea0dbc6f001428f4d4956700bf26bb97
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Treat new expressions as simple functions (#105168)

ccae7b461be339e717d02f99ac857cf0bc7d17f improved handling for nested
calls, but this resulted in a lot of changes near `new` expressions.

This patch tries to restore previous behavior around new expressions, by
treating them as simple functions, which seem to align with the concept.

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


  Commit: d02132166a6ce56d54d6c8b2ca39e81b6466eb55
      https://github.com/llvm/llvm-project/commit/d02132166a6ce56d54d6c8b2ca39e81b6466eb55
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement CleanupReturnInst (#105750)

This patch implements sandboxir::CleanupReturnInst mirroring
llvm::CleanupReturnInst.


  Commit: 7615c0b2eb52b8c5d8e6dfc7f265a87a7a9f3ef5
      https://github.com/llvm/llvm-project/commit/7615c0b2eb52b8c5d8e6dfc7f265a87a7a9f3ef5
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StableHashing.h
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineStableHash.cpp

  Log Message:
  -----------
  [StableHash] Implement with xxh3_64bits (#105849)

This is a follow-up to address a suggestion from
https://github.com/llvm/llvm-project/pull/105619.
The main goal of this change is to efficiently implement stable hash
functions using the xxh3 64bits API.
`stable_hash_combine_range` and `stable_hash_combine_array` functions
are removed and consolidated into a more general `stable_hash_combine`
function that takes an `ArrayRef<stable_hash>` as input.


  Commit: 62601250786244981026164b21f553c9c40a4602
      https://github.com/llvm/llvm-project/commit/62601250786244981026164b21f553c9c40a4602
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  [docs] Fix links in github user guide - graphite section

Mistakenly used markdown style rather than rst in #104499.


  Commit: 75ef95584d8867d0039a43bad0bd8e53f3293f67
      https://github.com/llvm/llvm-project/commit/75ef95584d8867d0039a43bad0bd8e53f3293f67
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/test/AST/ByteCode/invalid.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Move test to verify=expected,both style


  Commit: c81d6665601d648c1a5349b665ee6019f3786352
      https://github.com/llvm/llvm-project/commit/c81d6665601d648c1a5349b665ee6019f3786352
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/test/AST/ByteCode/intap.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix IntegralAP::is{Positive,Negative} (#105924)

This depends on signed-ness.


  Commit: 68030f86aef11558c9ed14a34250433f57923c84
      https://github.com/llvm/llvm-project/commit/68030f86aef11558c9ed14a34250433f57923c84
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/IntegralAP.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Fix printing signed IntegralAP values


  Commit: 62e7b59f10d9af809dd54fc064e2f60f0b48938c
      https://github.com/llvm/llvm-project/commit/62e7b59f10d9af809dd54fc064e2f60f0b48938c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/test/AST/ByteCode/intap.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Move test case to -verify=expected,both style


  Commit: e185850ce735ade5924129bec56a5954c443cf17
      https://github.com/llvm/llvm-project/commit/e185850ce735ade5924129bec56a5954c443cf17
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
    M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
    M compiler-rt/test/asan/TestCases/initialization-nobug.cpp

  Log Message:
  -----------
  Revert ""Reland "[asan] Remove debug tracing from `report_globals` (#104404)"" (#105926)

Reverts llvm/llvm-project#105895

Still breaks the test
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1864/


  Commit: 76236fafda19ff3760443196edcd3cd9610ed733
      https://github.com/llvm/llvm-project/commit/76236fafda19ff3760443196edcd3cd9610ed733
  Author: Justin Stitt <justinstitt at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/Expr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/test/CodeGen/ignore-overflow-pattern-false-pos.c
    M clang/test/CodeGen/ignore-overflow-pattern.c

  Log Message:
  -----------
  [Clang] Overflow Pattern Exclusion - rename some patterns, enhance docs (#105709)

>From @vitalybuka's review on
https://github.com/llvm/llvm-project/pull/104889:
- [x] remove unused variable in tests
- [x] rename `post-decr-while` --> `unsigned-post-decr-while`
- [x] split `add-overflow-test` into `add-unsigned-overflow-test` and
`add-signed-overflow-test`
- [x] be more clear about defaults within docs
- [x] add table to docs

Here's a screenshot of the rendered table so you don't have to build the
html docs yourself to inspect the layout:

![image](https://github.com/user-attachments/assets/5d3497c4-5f5a-4579-b29b-96a0fd192faa)


CCs: @vitalybuka

---------

Signed-off-by: Justin Stitt <justinstitt at google.com>
Co-authored-by: Vitaly Buka <vitalybuka at google.com>


  Commit: 99b85cae628c1cc5641944290712cd84ccf1f6c8
      https://github.com/llvm/llvm-project/commit/99b85cae628c1cc5641944290712cd84ccf1f6c8
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Add an additional assertion (#105927)

Since this must be true, add an assertion instead of just documenting it
via the comment.


  Commit: 43c6fb29a64b9443367bf4085a11ca68f7cd4492
      https://github.com/llvm/llvm-project/commit/43c6fb29a64b9443367bf4085a11ca68f7cd4492
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    A llvm/test/Transforms/InstCombine/fold-select-trunc.ll

  Log Message:
  -----------
  [InstCombine] Update the `select` operand when the `cond` is `trunc` and has the `nuw` or `nsw` property.  (#105914)

This patch updates the select operand when the cond has the nuw or nsw
property. Considering the semantics of the nuw and nsw flag, if there is
no poison value in this expression, this code assumes that X can only be
0, 1 or -1.

close: #96765
alive2: https://alive2.llvm.org/ce/z/3n3n2Q


  Commit: 001e423ac6261283f0289a774bf5e7577adb1ea6
      https://github.com/llvm/llvm-project/commit/001e423ac6261283f0289a774bf5e7577adb1ea6
  Author: David Green <david.green at arm.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/cmake/config-ix.cmake

  Log Message:
  -----------
  [Tests] Attempt to fix PowerPC buildbots.

The intent is that the tests should not be running on PowerPC as the fp128 type
will differ. This attempts to fix the bots by using __powerpc__ instead, which
appears to be defined in godbolt.


  Commit: be5ecc35efc902a4742669d41a88cfd88babb245
      https://github.com/llvm/llvm-project/commit/be5ecc35efc902a4742669d41a88cfd88babb245
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir

  Log Message:
  -----------
  [RISCV] Don't move source if passthru already dominates in vmv.v.v peephole (#105792)

Currently we move the source down to where vmv.v.v to make sure that the
new passthru dominates, but we do this even if it already does.

This adds a simple local dominance check (taken from
X86FastPreTileConfig.cpp) and avoids doing the move if it can.

It also modifies the move to only move it to just past the passthru
definition, and not all the way down to the vmv.v.v.

This allows folding to succeed in some edge cases, which prevents
regressions in an upcoming patch.


  Commit: 40975da950c95124155b752cd683d945f7d203fd
      https://github.com/llvm/llvm-project/commit/40975da950c95124155b752cd683d945f7d203fd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

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

  Log Message:
  -----------
  [VPlan] Wrap planContainsAdditionalSimplifications in NDEBUG (NFC)

Only used for an assertion.


  Commit: 83a5c7cb62e404a713a35445b755cf0109650279
      https://github.com/llvm/llvm-project/commit/83a5c7cb62e404a713a35445b755cf0109650279
  Author: David Green <david.green at arm.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    A llvm/test/Transforms/Inline/simplify-fp128.ll

  Log Message:
  -----------
  [ConstantFolding] Ensure TLI is valid when simplifying fp128 intrinsics.

TLI might not be valid for all contexts that constant folding is performed. Add
a quick guard that it is not null.


  Commit: 08acc3f73b64bed578d18812a04015cb537c9c82
      https://github.com/llvm/llvm-project/commit/08acc3f73b64bed578d18812a04015cb537c9c82
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/LazyValueInfo.cpp

  Log Message:
  -----------
  [Analysis] Copy-construct SmallVector (NFC) (#105911)


  Commit: 65b7cbbd8735b90933369364153b982d498f649a
      https://github.com/llvm/llvm-project/commit/65b7cbbd8735b90933369364153b982d498f649a
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py

  Log Message:
  -----------
  [lit] Export env vars in script to avoid pruning (#105759)

On macOS the dynamic loader prunes dyld specific environment variables
such as `DYLD_INSERT_LIBRARIES`, `DYLD_LIBRARY_PATH`, etc. If these are
set in the lit config it's safe to assume that the user actually wanted
their subprocesses to run with these variables, versus the python
interpreter that gets executed with them before they are pruned. This
change exports all known variables in the shell script instead of
relying on them being passed through.


  Commit: 7036394048a963dd23f1a2da269089224e30d0b2
      https://github.com/llvm/llvm-project/commit/7036394048a963dd23f1a2da269089224e30d0b2
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/utils/git/requirements.txt
    M llvm/utils/git/requirements_formatting.txt

  Log Message:
  -----------
  Update Python requirements to fix more CVEs (#105853)

Followup to #90109.

In Microsoft, our automated scans are warning that LLVM has vulnerable
dependencies. Specifically:

* [CVE-2024-35195](https://nvd.nist.gov/vuln/detail/CVE-2024-35195) was
fixed in `requests` 2.32.0.
* [CVE-2024-37891](https://nvd.nist.gov/vuln/detail/CVE-2024-37891) was
fixed in `urllib3` 2.2.2.

I've updated LLVM's dependencies by running the following commands in
`llvm/utils/git`:

```
pip-compile --upgrade --generate-hashes --output-file=requirements.txt requirements.txt.in
pip-compile --upgrade --generate-hashes --output-file=requirements_formatting.txt requirements_formatting.txt.in
```

Note that for `requirements_formatting.txt` this adds
`--generate-hashes` (according to my vague understanding, it's highly
desirable and was already used for `requirements.txt`) and was locally
run within `llvm/utils/git` (changing the recorded command, which
apparently was originally run from the repo root - again,
`requirements.txt` was already being regenerated with a locally run
command, so this increases consistency).

I observe that this has updated the relevant components to pick up the
CVE fixes. Note that I am largely clueless in this area, so I hope that
(like #90109) no other changes will be necessary.


  Commit: 886b76128fba5f995c8c8e24aaa2030b59dec01a
      https://github.com/llvm/llvm-project/commit/886b76128fba5f995c8c8e24aaa2030b59dec01a
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M libcxx/test/support/atomic_helpers.h

  Log Message:
  -----------
  [libc++][test] Fix `msvc_is_lock_free_macro_value()` (#105876)

Followup to #99570.

* `TEST_COMPILER_MSVC` must be tested for `defined`ness, as it is
everywhere else.
+ Definition:
https://github.com/llvm/llvm-project/blob/52a7116f5c6ada234f47f7794aaf501a3692b997/libcxx/test/support/test_macros.h#L71-L72
+ Example usage:
https://github.com/llvm/llvm-project/blob/52a7116f5c6ada234f47f7794aaf501a3692b997/libcxx/test/std/utilities/function.objects/func.not_fn/not_fn.pass.cpp#L248
+ Fixes: `llvm-project\libcxx\test\support\atomic_helpers.h(33): fatal
error C1017: invalid integer constant expression`
* Fix bogus return type: `msvc_is_lock_free_macro_value()` returns `2`
or `0`, so it needs to return `int`.
+ Fixes: `llvm-project\libcxx\test\support\atomic_helpers.h(41): warning
C4305: 'return': truncation from 'int' to 'bool'`
* Clarity improvement: also add parens when mixing bitwise with
arithmetic operators.


  Commit: a5d89d5048b6d62e6e327ba01eff276f398b7a51
      https://github.com/llvm/llvm-project/commit/a5d89d5048b6d62e6e327ba01eff276f398b7a51
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [Target] Use llvm::replace (NFC) (#105942)


  Commit: 31b4bf938b46001abbf2a58875047bf13ba083dd
      https://github.com/llvm/llvm-project/commit/31b4bf938b46001abbf2a58875047bf13ba083dd
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
    R llvm/test/CodeGen/NVPTX/proxy-reg-erasure-mir.ll
    A llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir

  Log Message:
  -----------
  [llvm][NVPTX] Fix RAUW bug in NVPTXProxyRegErasure (#105871)

Fix bug introduced in #105730

The bug is in how the batch RAUW is implemented. If we have 

```
%0 = mov %src
%1 = mov %0

use %0
use %1
```

The use of `%1` is rewritten to `%0`, not `%src`. This PR just looks for
a replacement when it maps to the src register, which should
transitively propagate the replacements.


  Commit: 2cb25d5608453655a2ed39d8177034ab7773aac2
      https://github.com/llvm/llvm-project/commit/2cb25d5608453655a2ed39d8177034ab7773aac2
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll

  Log Message:
  -----------
  [DAG][RISCV] Use vp_reduce_fadd/fmul when widening types for FP reductions (#105840)

This is a follow up to #105455 which updates the VPIntrinsic mappings
for the fadd and fmul cases, and supports both ordered and unordered
reductions. This allows the use a single wider operation with a
restricted EVL instead of padding the vector with the neutral element.

This has all the same tradeoffs as the previous patch.


  Commit: d252365a272b702e32220038f5fdad7e511dbf58
      https://github.com/llvm/llvm-project/commit/d252365a272b702e32220038f5fdad7e511dbf58
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

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

  Log Message:
  -----------
  [IR] Modernize StructuralHashImpl (NFC) (#105951)


  Commit: 6f618a7b8249e7baa3b2d18f8bbec3c5b6f6d24e
      https://github.com/llvm/llvm-project/commit/6f618a7b8249e7baa3b2d18f8bbec3c5b6f6d24e
  Author: Qiu Chaofan <qcf at ecnelises.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M .mailmap
    M llvm/CREDITS.TXT

  Log Message:
  -----------
  Update my email


  Commit: 9f82f6daa5e470652f4ffced628547d0c24aac2c
      https://github.com/llvm/llvm-project/commit/9f82f6daa5e470652f4ffced628547d0c24aac2c
  Author: David Green <david.green at arm.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/ARM/big-endian-vmov.ll
    M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll

  Log Message:
  -----------
  [ARM] Add a number of extra vmovimm tests for BE. NFC


  Commit: 43b88851cefe68645aa59b1fccc8390a8a31f469
      https://github.com/llvm/llvm-project/commit/43b88851cefe68645aa59b1fccc8390a8a31f469
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/MicrosoftMangle.cpp
    A clang/test/CodeGenCXX/mangle-ms-auto-return.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-memptrs.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-nullptr.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates.cpp

  Log Message:
  -----------
  [clang-cl] [AST] Reapply #102848 Fix placeholder return type name mangling for MSVC 1920+ / VS2019+ (#104722)

Reapply https://github.com/llvm/llvm-project/pull/102848.

The description in this PR will detail the changes from the reverted
original PR above.

For `auto&&` return types that can partake in reference collapsing we
weren't properly handling that mangling that can arise.
When collapsing occurs an inner reference is created with the collapsed
reference type. If we return `int&` from such a function then an inner
reference of `int&` is created within the `auto&&` return type.
`getPointeeType` on a reference type goes through all inner references
before returning the pointee type which ends up being a builtin type,
`int`, which is unexpected.

We can use `getPointeeTypeAsWritten` to get the `AutoType` as expected
however for the instantiated template declaration reference collapsing
already occurred on the return type. This means `auto&&` is turned into
`auto&` in our example above.
We end up mangling an lvalue reference type.
This is unintended as MSVC mangles on the declaration of the return
type, `auto&&` in this case, which is treated as an rvalue reference.
```
template<class T>
auto&& AutoReferenceCollapseT(int& x) { return static_cast<int&>(x); }

void test() 
{
    int x = 1;
    auto&& rref = AutoReferenceCollapseT<void>(x); // "??$AutoReferenceCollapseT at X@@YA$$QEA_PAEAH at Z"
    // Mangled as an rvalue reference to auto
}
```

If we are mangling a template with a placeholder return type we want to
get the first template declaration and use its return type to do the
mangling of any instantiations.

This fixes the bug reported in the original PR that caused the revert
with libcxx `std::variant`.
I also tested locally with libcxx and the following test code which
fails in the original PR but now works in this PR.
```
#include <variant>

void test()
{
    std::variant<int> v{ 1 };
    int& r = std::get<0>(v);
    (void)r;
}
```


  Commit: 77fccb35ac08f66d52bb152735e27572bf9f3f93
      https://github.com/llvm/llvm-project/commit/77fccb35ac08f66d52bb152735e27572bf9f3f93
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/arm64-fold-lshr.ll

  Log Message:
  -----------
  [AArch64] Replace AND with LSL#2 for LDR target (#34101) (#89531)

Currently, process of replacing bitwise operations consisting of
`LSR`/`LSL` with `And` is performed by `DAGCombiner`.

However, in certain cases, the `AND` generated by this process
can be removed.

Consider following case:
```
        lsr x8, x8, #56
        and x8, x8, #0xfc
        ldr w0, [x2, x8]
        ret
```

In this case, we can remove the `AND` by changing the target of `LDR`
to `[X2, X8, LSL #2]` and right-shifting amount change to 56 to 58.

after changed:
```
        lsr x8, x8, #58
        ldr w0, [x2, x8, lsl #2]
        ret
```

This patch checks to see if the `SHIFTING` + `AND` operation on load
target can be optimized and optimizes it if it can.


  Commit: b9a02765504f8b83701ffffc097531638c4fc22e
      https://github.com/llvm/llvm-project/commit/b9a02765504f8b83701ffffc097531638c4fc22e
  Author: David Green <david.green at arm.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-be.ll

  Log Message:
  -----------
  [ARM] Add VECTOR_REG_CAST identity fold.

v16i8 VECTOR_REG_CAST (v16i8 Op) can use v16i8 Op directly, as the
VECTOR_REG_CAST is a noop.


  Commit: a6f87abf73be02be0b7c50083b3d93ac81a80c29
      https://github.com/llvm/llvm-project/commit/a6f87abf73be02be0b7c50083b3d93ac81a80c29
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp

  Log Message:
  -----------
  [Mips] Remove a trivial variable (NFC) (#105940)

We assign I->getNumOperands() to J and immediately print that out as a
debug message.  We don't need to keep J across iterations.


  Commit: 3ef64f7ab5b8651eab500cd944984379fce5f639
      https://github.com/llvm/llvm-project/commit/3ef64f7ab5b8651eab500cd944984379fce5f639
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/Support/float128.h
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Support/APFloat.cpp

  Log Message:
  -----------
  Revert "Enable logf128 constant folding for hosts with 128bit long double (#104929)"

ConstantFolding behaves differently depending on host's `HAS_IEE754_FLOAT128`.
LLVM should not change the behavior depending on host configurations.

This reverts commit 14c7e4a1844904f3db9b2dc93b722925a8c66b27.
(llvmorg-20-init-3262-g14c7e4a18449 and llvmorg-20-init-3498-g001e423ac626)


  Commit: 6bc225e0630f28e83290a43c3d9b25b057fc815a
      https://github.com/llvm/llvm-project/commit/6bc225e0630f28e83290a43c3d9b25b057fc815a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a misannotation of redundant r_paren as CastRParen (#105921)

Fixes #105880.


  Commit: 0916ae49b89db6eb9eee9f6fee4f1a65fd9cdb74
      https://github.com/llvm/llvm-project/commit/0916ae49b89db6eb9eee9f6fee4f1a65fd9cdb74
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a misannotation of less/greater as angle brackets (#105941)

Fixes #105877.


  Commit: 5c94dd73b2df1f6b469e858ff29055ac117e8494
      https://github.com/llvm/llvm-project/commit/5c94dd73b2df1f6b469e858ff29055ac117e8494
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/VirtRegMap.h

  Log Message:
  -----------
  [X86][AMX] Avoid to construct invalid shape for checking, NFCI (#105973)


  Commit: 579fd59ab920a3a5723393727f94716706f2cea2
      https://github.com/llvm/llvm-project/commit/579fd59ab920a3a5723393727f94716706f2cea2
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

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

  Log Message:
  -----------
  [RISCV][ISel] Move VCIX ISDs to correct position. NFC (#105934)

Current VCIX ISDs are placed after FIRST_TARGET_STRICTFP_OPCODE which is
not expected, it should be in normal OPCODE area.


  Commit: f22b1da8791edd557ce34c87190e329df2e1c892
      https://github.com/llvm/llvm-project/commit/f22b1da8791edd557ce34c87190e329df2e1c892
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-24 (Sat, 24 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/lib/CodeGen/MachineBasicBlock.cpp

  Log Message:
  -----------
  [CodeGen] Replace MCPhysReg with MCRegister in MachineBasicBlock::isLiveIn/removeLiveIn. NFC

We already used it for addLiveIn.


  Commit: 2847020dbd9b8f932ee564651ec72ce15fa37d07
      https://github.com/llvm/llvm-project/commit/2847020dbd9b8f932ee564651ec72ce15fa37d07
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [lldb][TypeSystemClang][NFC] Log failure to InitBuiltinTypes

If we fail to initialize the ASTContext builtins, LLDB
may crash in non-obvious ways down-the-line, e.g., when
it tries to call `ASTContext::getTypeSize` on a builtin like
`ast.UnsignedCharTy`, which would derefernce a `null` `QualType`.

The initialization can fail if we either didn't set the
`TypeSystemClang` target triple, or if the embedded clang isn't
enabled for a certain target.

This patch attempts to help pin-point the failure case post-mortem
by adding a log message here that prints the triple.

rdar://134260837


  Commit: 51365212362c4d0e32a0c747ab85bbf3919944b8
      https://github.com/llvm/llvm-project/commit/51365212362c4d0e32a0c747ab85bbf3919944b8
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    A compiler-rt/test/nsan/nan.cpp
    A compiler-rt/test/nsan/softmax.cpp
    A compiler-rt/test/nsan/vec_sqrt.cpp
    A compiler-rt/test/nsan/vec_sqrt_ext.cpp

  Log Message:
  -----------
  Reapply "[compiler-rt][nsan] Add support for nan detection" (#105909)

This reverts commit 1f89cd4a1970fee65f5ecb189c4d1a0a376d9bb2.


  Commit: b6603e1bf11dee4761e49af6581c8b8f074b705d
      https://github.com/llvm/llvm-project/commit/b6603e1bf11dee4761e49af6581c8b8f074b705d
  Author: donald chen <chenxunyu1993 at gmail.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/DeadCodeAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
    M mlir/lib/Analysis/DataFlowFramework.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
    M mlir/test/lib/Analysis/TestDataFlowFramework.cpp

  Log Message:
  -----------
  [mlir] [dataflow] Refactoring the definition of program points in data flow analysis (#105656)

This patch distinguishes between program points and lattice anchors in
data flow analysis, where lattice anchors represent locations where a
lattice can be attached, while program points denote points in program
execution.

Related discussions:
https://discourse.llvm.org/t/rfc-unify-the-semantics-of-program-points/80671/8


  Commit: 1193f7d6487d2d94009f8d8d27da3907136482b9
      https://github.com/llvm/llvm-project/commit/1193f7d6487d2d94009f8d8d27da3907136482b9
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  [NFC] Use const members of `StringToOffsetTable` (#105824)


  Commit: 1c46fc00f56f25abaefd8d124460599ae06214b4
      https://github.com/llvm/llvm-project/commit/1c46fc00f56f25abaefd8d124460599ae06214b4
  Author: Jacob Yu <pingshiyu at gmail.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Arith/CPU/comparison.mlir

  Log Message:
  -----------
  [mlir][arith] Add comparison integration tests (#96974)

Comparison operations regression tests, from the original larger PR that
has been broken down: https://github.com/llvm/llvm-project/pull/92272

---------

Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>


  Commit: 33f3ebc86e7d3afcb65c551feba5bbc2421b42ed
      https://github.com/llvm/llvm-project/commit/33f3ebc86e7d3afcb65c551feba5bbc2421b42ed
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    A llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll

  Log Message:
  -----------
  [AMDGPU][LTO] Assume closed world after linking (#105845)


  Commit: 33e7cd6ff23f6c904314d17c68dc58168fd32d09
      https://github.com/llvm/llvm-project/commit/33e7cd6ff23f6c904314d17c68dc58168fd32d09
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Support/StringRef.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/OptParserEmitter.cpp

  Log Message:
  -----------
  [llvm] Prefer StringRef::substr to StringRef::slice (NFC) (#105943)

S.substr(N) is simpler than S.slice(N, StringRef::npos) and
S.slice(N, S.size()). Also, substr is probably better recognizable
than slice thanks to std::string_view::substr.


  Commit: d66cbecb332817caadc50f1d340f7f04d1a1857e
      https://github.com/llvm/llvm-project/commit/d66cbecb332817caadc50f1d340f7f04d1a1857e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

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

  Log Message:
  -----------
  [VPlan] Use getVPValueOrAddLiveIn in mapToVPValues (NFC).

Use existing helper.


  Commit: 4b6c064dd124c70ff163411dff120c6174e0e022
      https://github.com/llvm/llvm-project/commit/4b6c064dd124c70ff163411dff120c6174e0e022
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    R llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll

  Log Message:
  -----------
  Revert "[AMDGPU][LTO] Assume closed world after linking (#105845)" (#106000)

This reverts commit 33f3ebc86e7d3afcb65c551feba5bbc2421b42ed.


  Commit: d853b3f4b621ef01ffa08024f3e9daaa38415804
      https://github.com/llvm/llvm-project/commit/d853b3f4b621ef01ffa08024f3e9daaa38415804
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

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

  Log Message:
  -----------
  [VPlan] Remove unneeded Plan arg from getVPValueOrAddLiveIn (NFC).

The helper can simply use VPRecipeBuilder::Plan.


  Commit: 675c748bb606d75a959481e6014299849cf3094c
      https://github.com/llvm/llvm-project/commit/675c748bb606d75a959481e6014299849cf3094c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp

  Log Message:
  -----------
  [Mips] clang-format prescanForConstants (NFC)

I'm planning to change the inner loop to a range-based for loop.


  Commit: 033e225d90d0bd6be5a678fe11477c4eb7e5c8b6
      https://github.com/llvm/llvm-project/commit/033e225d90d0bd6be5a678fe11477c4eb7e5c8b6
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    A llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll

  Log Message:
  -----------
  Revert "Revert "[AMDGPU][LTO] Assume closed world after linking (#105845)" (#106000)" (#106001)

This reverts commit 4b6c064dd124c70ff163411dff120c6174e0e022.

Add a requirement for an amdgpu target in the test.


  Commit: 5b41eb3a6dcd92711b4adf946e4d9d29c3886007
      https://github.com/llvm/llvm-project/commit/5b41eb3a6dcd92711b4adf946e4d9d29c3886007
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll

  Log Message:
  -----------
  [RISCV] Fix more boundary cases in immediate selection for Zdinx load/store on RV32. (#105874)

In order to support -unaligned-scalar-mem properly, we need to be more
careful with immediates of global variables. We need to guarantee that
adding 4 in RISCVExpandingPseudos won't overflow simm12. Since we don't
know what the simm12 is until link time, the only way to guarantee this
is to make sure the base address is at least 8 byte aligned.

There were also several corner cases bugs in immediate folding where we
would fold an immediate in the range [2044,2047] where adding 4 would
overflow. These are not related to unaligned-scalar-mem.


  Commit: c503758ab6a4eacd3ef671a4a5ccf813995d4456
      https://github.com/llvm/llvm-project/commit/c503758ab6a4eacd3ef671a4a5ccf813995d4456
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86VZeroUpper.cpp

  Log Message:
  -----------
  [CodeGen] Use std::pair<MCRegister, Register> to match return from MRI.liveins(). NFC

MachineRegisterInfo::liveins returns std::pair<MCRegister, Register>.
Don't convert to std::pair<unsigned, unsigned>.


  Commit: 92e00af432d55e2f4a80f14d97fc18878efdfea3
      https://github.com/llvm/llvm-project/commit/92e00af432d55e2f4a80f14d97fc18878efdfea3
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi

  Log Message:
  -----------
  [mlir] NFC: add missing 'FloatType' to core Python stub file (#105554)

The stub class for `FloatType` is present in `ir.pyi`, but it is missing
from the `__all__` export list.


  Commit: 68a1593a59c3d50aff43ef4f82ded224fc6a25db
      https://github.com/llvm/llvm-project/commit/68a1593a59c3d50aff43ef4f82ded224fc6a25db
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py

  Log Message:
  -----------
  [lldb] Support non-default libc++ ABI namespace

This is a fix forward for the issue introduced in #104523.


  Commit: b10303730d7cd009ad505da307b417aaecc91f51
      https://github.com/llvm/llvm-project/commit/b10303730d7cd009ad505da307b417aaecc91f51
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
    M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
    M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll

  Log Message:
  -----------
  [Coroutines] [NFCI] Don't search the DILocalVariable for __promise when constructing the debug varaible for __coro_frame (#105626)

As the title mentioned, do not search for the DILocalVariable for
__promise when constructing the debug variable for __coro_frame.

This should make sense because the debug variable of `__coro_frame`
shouldn't dependent on the debug variable of `__promise`. And actually,
it is not. Currently, we search the debug variable for `__promise` only
because we want to get the debug location and the debug scope for the
`__promise`. However, we can construct the debug location directly from
the debug scope of the being compiled function. Then it is not necessary
any more to search the `__promise` variable.

And this patch makes the codes to construct the debug variable for
`__coro_frame` to be more stable. Now we will always be able to
construct the debug variable for the coroutine frame no matter if we
found the debug variable for the __promise or not.

This patch is not strictly NFC but it is intended to not affect any end
users.


  Commit: d982882b7ee5931350e3d3899d61e94e8ba90824
      https://github.com/llvm/llvm-project/commit/d982882b7ee5931350e3d3899d61e94e8ba90824
  Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll

  Log Message:
  -----------
  [NFC] Add an assertion requirement to an opt test (#106027)


  Commit: 88f9ac380d8b40742aea11c8278652711261abff
      https://github.com/llvm/llvm-project/commit/88f9ac380d8b40742aea11c8278652711261abff
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [doc] [C++20] [Modules] Add docs and release notes for '-Wdecls-in-multiple-modules'

As the title shows.


  Commit: 7bc9d95b7e5a58c6acd65d96df065235641e0c3c
      https://github.com/llvm/llvm-project/commit/7bc9d95b7e5a58c6acd65d96df065235641e0c3c
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    A llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll

  Log Message:
  -----------
  [AMDGPU] Introduce "amdgpu-sw-lower-lds" pass to lower LDS accesses. (#87265)

This PR introduces new pass "amdgpu-sw-lower-lds". 

This pass lowers the local data store, LDS, uses in kernel and
non-kernel functions in module to use dynamically allocated global
memory. Packed LDS Layout is emulated in the global memory.
The lowered memory instructions from LDS to global memory are then
instrumented for address sanitizer, to catch addressing errors.
This pass only work when address sanitizer has been enabled and has
instrumented the IR. It identifies that IR has been instrumented using
"nosanitize_address" module flag.

For a kernel, LDS access can be static or dynamic which are direct
(accessed within kernel) and indirect (accessed through non-kernels).

**Replacement of Kernel LDS accesses:** 
- All the LDS accesses corresponding to kernel will be packed together,
where all static LDS accesses will be allocated first and then dynamic
LDS follows. The total size with alignment is calculated. A new LDS
global will be created for the kernel called "SW LDS" and it will have
the attribute "amdgpu-lds-size" attached with value of the size
calculated. All the LDS accesses in the module will be replaced by GEP
with offset into the "Sw LDS".
- A new "llvm.amdgcn.<kernel>.dynlds" is created per kernel accessing
the dynamic LDS. This will be marked used by kernel and will have
MD_absolue_symbol metadata set to total static LDS size, Since dynamic
LDS allocation starts after all static LDS allocation.

- A device global memory equal to the total LDS size will be allocated.
At the prologue of the kernel, a single work-item from the work-group,
does a "malloc" and stores the pointer of the allocation in "SW LDS". To
store the offsets corresponding to all LDS accesses, another global
variable is created which will be called "SW LDS metadata" in this pass.

- **SW LDS:** 
It is LDS global of ptr type with name
"llvm.amdgcn.sw.lds.<kernel-name>".

- **SW LDS Metadata:** 
It is of struct type, with n members. n equals the number of LDS globals
accessed by the kernel(direct and indirect). Each member of struct is
another struct of type {i32, i32, i32}. First member corresponds to
offset, second member corresponds to size of LDS global being replaced
and third represents the total aligned size. It will have name
"llvm.amdgcn.sw.lds.<kernel-name>.md". This global will have an
intializer with static LDS related offsets and sizes initialized. But
for dynamic LDS related entries, offsets will be intialized to previous
static LDS allocation end offset. Sizes for them will be zero initially.
These dynamic LDS offset and size values will be updated with in the
kernel, since kernel can read the dynamic LDS size allocation done at
runtime with query to "hidden_dynamic_lds_size" hidden kernel argument.

- At the epilogue of kernel, allocated memory would be made free by the
same single work-item.

**Replacement of non-kernel LDS accesses:** 
- Multiple kernels can access the same non-kernel function. All the
kernels accessing LDS through non-kernels are sorted and assigned a
kernel-id. All the LDS globals accessed by non-kernels are sorted.

- This information is used to build two tables: 
- **Base table:** 
Base table will have single row, with elements of the row placed as per
kernel ID. Each element in the row corresponds to ptr of "SW LDS"
variable created for that kernel.

- **Offset table:** 
Offset table will have multiple rows and columns. Rows are assumed to be
from 0 to (n-1). n is total number of kernels accessing the LDS through
non-kernels. Each row will have m elements. m is the total number of
unique LDS globals accessed by all non-kernels. Each element in the row
correspond to the ptr of the replacement of LDS global done by that
particular kernel.

- A LDS variable in non-kernel will be replaced based on the information
from base and offset tables. Based on kernel-id query, ptr of "SW LDS"
for that corresponding kernel is obtained from base table. The Offset
into the base "SW LDS" is obtained from corresponding element in offset
table. With this information, replacement value is obtained.


  Commit: dff3c9614144012afc51e0d5455512e4974c6ced
      https://github.com/llvm/llvm-project/commit/dff3c9614144012afc51e0d5455512e4974c6ced
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [AMDGPU] Fix -Wpessimizing-move in AMDGPUSwLowerLDS.cpp (NFC)

/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp:260:10:
error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
  return std::move(OrderedKernels);
         ^
/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp:260:10: note: remove std::move call here
  return std::move(OrderedKernels);
         ^~~~~~~~~~              ~
1 error generated.


  Commit: 2579b411a13799534c8b8a22246134b88ba7785d
      https://github.com/llvm/llvm-project/commit/2579b411a13799534c8b8a22246134b88ba7785d
  Author: Max Winkler <max.enrico.winkler at gmail.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-return.cpp

  Log Message:
  -----------
  [clang-cl] [AST] Fix MS 1920+ placeholder return type mangling for lambdas (#105999)

Fixes https://github.com/llvm/llvm-project/pull/104722.

Missed handling `decltype(auto)` trailing return types for lambdas.
This was a mistake and regression on my part with my PR,
https://github.com/llvm/llvm-project/pull/104722.

Added some missing unit tests to test for the various placeholder
trailing return types in lambdas.


  Commit: 52ae891036e3ab1f668eb103c46ca57257901c6b
      https://github.com/llvm/llvm-project/commit/52ae891036e3ab1f668eb103c46ca57257901c6b
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M compiler-rt/test/nsan/Posix/tls_reuse.c
    M compiler-rt/test/nsan/nan.cpp
    M compiler-rt/test/nsan/softmax.cpp
    M compiler-rt/test/nsan/sum.cpp
    M compiler-rt/test/nsan/vec_sqrt_ext.cpp

  Log Message:
  -----------
  [compiler-rt][test] Add `env` command to fix command not found errors in compiler-rt with lit internal shell (#105917)

There are several files in the compiler-rt subproject that have command
not found errors. This patch uses the `env` command to properly set the
environment variables correctly when using the lit internal shell.
fixes: #102395 
[This change is relevant [RFC] Enabling the lit internal shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)


  Commit: b12d338c17ef1228bb98e5106a6b714b90110a26
      https://github.com/llvm/llvm-project/commit/b12d338c17ef1228bb98e5106a6b714b90110a26
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h

  Log Message:
  -----------
  [AArch64] Use MCRegister in AArch64InstrInfo::copyGPRRegTuple interface. NFC

This matches copyPhysReg.


  Commit: 7e6b1504c7cf6976ac8e9012c4513ffa258bd8eb
      https://github.com/llvm/llvm-project/commit/7e6b1504c7cf6976ac8e9012c4513ffa258bd8eb
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-25 (Sun, 25 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h

  Log Message:
  -----------
  [AArch64] Pass DebugLoc by reference to AArch64InstrInfo::copyGPRRegTuple. NFC


  Commit: e6974daa7bc100c8b88057d50f3ec3eca7282243
      https://github.com/llvm/llvm-project/commit/e6974daa7bc100c8b88057d50f3ec3eca7282243
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/lib/Sema/SemaConcept.cpp
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp

  Log Message:
  -----------
  [Clang][Concepts] Fix the constraint equivalence checking involving parameter packs (#102131)

We established an instantiation scope in order for constraint
equivalence checking to properly map the uninstantiated parameters.

That mechanism mapped even packs to themselves. Consequently, parameter
packs e.g. appearing in a function call, were not expanded. So they
would end up becoming `SubstTemplateTypeParmPackType`s that circularly
depend on the canonical declaration of the function template, which is
not yet determined, hence the spurious error.

No release note as I plan to backport it to 19.

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

---------

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


  Commit: 65d6c47fde59ce0b761a1c1eae7f684b42c742fa
      https://github.com/llvm/llvm-project/commit/65d6c47fde59ce0b761a1c1eae7f684b42c742fa
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/nsan/nsan.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Adjust nan check


  Commit: 2e9cbb63d6a0c32e650cf76467b25235250c1472
      https://github.com/llvm/llvm-project/commit/2e9cbb63d6a0c32e650cf76467b25235250c1472
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/CMakeLists.txt

  Log Message:
  -----------
  [AMDGPU] Add LLVMInstrumnetation to link with AMDGPUCodeGen. (#106039)

Fixes linking error in llvm CI: 
"AMDGPUSwLowerLDS::run()':

AMDGPUSwLowerLDS.cpp:(.text._ZN12_GLOBAL__N_116AMDGPUSwLowerLDS3runEv+0x164):
undefined reference to `llvm::getAddressSanitizerParams(llvm::Triple
const&, int, bool, unsigned long*, int*, bool*)'"

#87265 amdgpu-sw-lower-lds pass uses getAddressSanitizerParams method
from AddressSanitizer pass. It misses linking of LLVMInstrumentation to
AMDGPUCodegen. This PR adds it.


  Commit: dad14d4d729360c2db36745ae9d9cd9d2a6a8c37
      https://github.com/llvm/llvm-project/commit/dad14d4d729360c2db36745ae9d9cd9d2a6a8c37
  Author: Pedro Lobo <53238269+pedroclobo at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/SCCP.cpp
    A llvm/test/Transforms/SCCP/ip-constant-ranges-intersection.ll

  Log Message:
  -----------
  [SCCP] Merge return range attributes (#105998)

Take the intersection of the existing range attribute for the return
value and the inferred range.


  Commit: 28fe6ddd9b9af0167d355ceb5b9eace53c7f162b
      https://github.com/llvm/llvm-project/commit/28fe6ddd9b9af0167d355ceb5b9eace53c7f162b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/bit-checks.ll

  Log Message:
  -----------
  [InstCombine] Remove AllOnes fallbacks in getMaskedTypeForICmpPair() (#104941)

getMaskedTypeForICmpPair() tries to model non-and operands as x & -1.
However, this can end up confusing the matching logic, by picking the -1
operand as the "common" operand, resulting in a successful, but useless,
match. This is what causes commutation failures for some of the
optimizations driven by this function.

Fix this by treating a match against -1 as a non-match.


  Commit: 84497c6f4f6c79b0d8c38da666724eed7e9e8db5
      https://github.com/llvm/llvm-project/commit/84497c6f4f6c79b0d8c38da666724eed7e9e8db5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Remove limitation on sinking of load/store of alloca (#104788)

This is a followup to https://github.com/llvm/llvm-project/pull/104579
to remove the limitation on sinking loads/stores of allocas entirely,
even if this would introduce a phi node.

Nowadays, SROA supports speculating load/store over select/phi.
Additionally, SimplifyCFG with sinking only runs at the end of the
function simplification pipeline, after SROA. I checked that the two
tests modified here still successfully SROA after the SimplifyCFG
transform.

We should, however, keep the limitation on lifetime intrinsics. SROA
does not have speculation support for these, and I've also found that
the way these are handled in the backend is very problematic
(https://github.com/llvm/llvm-project/issues/104776), so I think we
should leave them alone.


  Commit: 533e6bbd0d344a710c491a9eb0ce0ba0852b08cb
      https://github.com/llvm/llvm-project/commit/533e6bbd0d344a710c491a9eb0ce0ba0852b08cb
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll

  Log Message:
  -----------
  [VPlan] Simplify live-ins if they are SCEVConstant.

The legacy cost model in some parts checks if any of the operands are
constants via SCEV. Update VPlan construction to replace live-ins that
are constants via SCEV with such constants. This means VPlans (and
codegen) reflects what we computing the cost of and removes another case
where the legacy and VPlan cost model diverged.

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


  Commit: 1f02be2e175d4e4abc890a6e33fff443a7d06b84
      https://github.com/llvm/llvm-project/commit/1f02be2e175d4e4abc890a6e33fff443a7d06b84
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll

  Log Message:
  -----------
  [AMDGPU] Enable "amdgpu-sw-lower-lds" pass in pipeline. (#89206)

This PR enables "amdgpu-sw-lower-lds" pass in the pipeline.
Also introduces "amdgpu-enable-sw-lower-lds" cmd line flag to
enbale/disable the pass.


  Commit: b0fbfbb6f33f20ef6b72ab003740f8f96efedd7e
      https://github.com/llvm/llvm-project/commit/b0fbfbb6f33f20ef6b72ab003740f8f96efedd7e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [compiler-rt]: DumpAllRegs on NetBSD arm64. (#102826)

all 35 registers are stored in one unique array. for simplicity sake, we
do not bother using _REG_X* constants.


  Commit: a80053322b765eec93951e21db490c55521da2d8
      https://github.com/llvm/llvm-project/commit/a80053322b765eec93951e21db490c55521da2d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    M llvm/test/Transforms/LoopVectorize/global_alias.ll

  Log Message:
  -----------
  [LAA] Remove loop-invariant check added in 234cc40adc61.

234cc40adc61 introduced a loop-invariance check to limit the
compile-time impact of the newly added checks.

This patch removes the restriction and avoids extra compile-time impact
by sinking the check to exits where we would return an unknown
dependence. This notably reduces the amount the extra checks are
executed while not missing out on any improvements from them.

https://llvm-compile-time-tracker.com/compare.php?from=33e7cd6ff23f6c904314d17c68dc58168fd32d09&to=7c55e66d4f31ce8262b90c119a8e84e1f9515ff1&stat=instructions:u


  Commit: 4549a8d251cfa91cc6230139595f0b7efdf199d9
      https://github.com/llvm/llvm-project/commit/4549a8d251cfa91cc6230139595f0b7efdf199d9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/phi-select-constant.ll

  Log Message:
  -----------
  [InstCombine] Add additional tests for select of phi transform (NFC)

Test coverage for the canSelectOperandBeMappingIntoPredBlock()
logic.


  Commit: fa4cc9ddd58eb9fef2497e678873ff3b495340a3
      https://github.com/llvm/llvm-project/commit/fa4cc9ddd58eb9fef2497e678873ff3b495340a3
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/Transforms/FixIrreducible/basic.ll
    M llvm/test/Transforms/FixIrreducible/bug45623.ll
    M llvm/test/Transforms/FixIrreducible/nested.ll
    M llvm/test/Transforms/FixIrreducible/switch.ll
    M llvm/test/Transforms/FixIrreducible/unreachable.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fix-reducible.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll

  Log Message:
  -----------
  [FixIrreducible] Use CycleInfo instead of a custom SCC traversal (#101386)

[FixIrreducible] Use CycleInfo instead of a custom SCC traversal

1. CycleInfo efficiently locates all cycles in a single pass, while the
SCC is
   repeated inside every natural loop.

2. CycleInfo provides a hierarchy of irreducible cycles, and the new
implementation transforms each cycle in this hierarchy separately
instead of
reducing an entire irreducible SCC in a single step. This reduces the
number
of control-flow paths that pass through the header of each newly created
loop. This is evidenced by the reduced number of predecessors on the
"guard"
blocks in the lit tests, and fewer operands on the corresponding PHI
nodes.

3. When an entry of an irreducible cycle is the header of a child
natural loop,
the original implementation destroyed that loop. This is now preserved,
   since the incoming edges on non-header entries are not touched.

4. In the new implementation, if an irreducible cycle is a superset of a
natural
loop with the same header, then that natural loop is destroyed and
replaced
   by the newly created loop.


  Commit: 4bf68aaca2ec11ffde3ee4c30e9761a144434a92
      https://github.com/llvm/llvm-project/commit/4bf68aaca2ec11ffde3ee4c30e9761a144434a92
  Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/inline-asm-mem-constraint-2.ll
    M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll

  Log Message:
  -----------
  [test][RISCV] Precommit inline asm tests for #104925


  Commit: f80c248a2f26ae80c931eb6dfdec0aea533de537
      https://github.com/llvm/llvm-project/commit/f80c248a2f26ae80c931eb6dfdec0aea533de537
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/stack-addr-ps.cpp

  Log Message:
  -----------
  [analyzer][NFC] Add tests for and refactor StackAddrEscapeChecker 1/3 (#105652)

These tests and refactoring are preparatory for the upcoming changes:
detection of the indirect leak via global variables and output
parameters.

CPP-4734

-------

This is the first of three commits constituting
https://github.com/llvm/llvm-project/pull/105648


  Commit: 54eb89fe74b31da9154c60923c01df77389b0d89
      https://github.com/llvm/llvm-project/commit/54eb89fe74b31da9154c60923c01df77389b0d89
  Author: Joel E. Denny <jdenny.ornl at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    R flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
    A flang/test/Analysis/AliasAnalysis/ptr-component.fir

  Log Message:
  -----------
  [flang][NFC] AliasAnalysis: Prepare for PR #94242 (#105899)

This PR extracts several small NFC changes from PR #94242 to make it
more readable.


  Commit: 216ba6bc6c0d1b65543771420897f4d09beec704
      https://github.com/llvm/llvm-project/commit/216ba6bc6c0d1b65543771420897f4d09beec704
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    A flang/test/Lower/OpenMP/statement-function.f90

  Log Message:
  -----------
  [flang][OpenMP] Privatize vars referenced in statement functions (#103390)

Variables referenced in the body of statement functions need to be
handled as if they are explicitly referenced. Otherwise, they are
skipped during implicit privatization, because statement functions
are represented as procedures in the parse tree.

To avoid missing symbols referenced only in statement functions
during implicit privatization, new symbols, associated with them,
are created and inserted into the context of the directive that
privatizes them. They are later collected and processed in
lowering. To avoid confusing these new symbols with regular ones,
they are tagged with the new OmpFromStmtFunction flag.

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


  Commit: 3be955abbccaf1c9ca590834d5e5b27ab1f24b77
      https://github.com/llvm/llvm-project/commit/3be955abbccaf1c9ca590834d5e5b27ab1f24b77
  Author: Luke Drummond <luke.drummond at codeplay.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [NFC] Remove dead code

There's an early exit branch a couple of lines earlier for `MVT ==
f64`. Convert to an assert rather than using the duplicate ternary here.
This silences an opinionated static analyser that's been bugging me.


  Commit: 2f91e98120f168b7ded6cb34d546dba178515cc4
      https://github.com/llvm/llvm-project/commit/2f91e98120f168b7ded6cb34d546dba178515cc4
  Author: Anton Sidorenko <anton.sidorenko at syntacore.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll

  Log Message:
  -----------
  [RISCV] Mark symbols used in inline asm for relocations as referenced (#104925)

Commit 5cd8d53cac00f taught RISCVMergeBaseOffset to handle inline asm,
however
there is at least one case uncovered for integrated as.

In the example below compiler generates pcrel relocation
(mcmodel=medany)
```
    volatile double double_val = 1.0;
    void foo() {
        asm volatile("fld f0, %0 \n\t" : : "m"(double_val) : "memory");
    }
```

And fails with the folliwng error
```
    error: could not find corresponding %pcrel_hi
          |       "fld f0, %0 \n\t"
    <inline asm>:1:2: note: instantiated into assembly here
          |         fld f0, %pcrel_lo(.Lpcrel_hi0)(a0)
```

After transformations MachineFunction contains inline asm instructions
with
'.Lpcrel_hi0' symbol that is not defined in inline asm, but referenced.
```
   ... = AUIPC ...(riscv-pcrel-hi) @double_val, pre-instr-symbol <mcsymbol .Lpcrel_hi0>
   INLINEASM &"fld f0, $0 \0A\09" ... target-flags(riscv-pcrel-lo) <mcsymbol .Lpcrel_hi0>
```

So, when AsmParser processes 'fld', it has to create a new symbol as
'.Lpcrel_hi0' already exists but not known to be referenced in inline
asm.
AsmParser avoids conflicts by renaming referenced by 'fld' symbol with
'.Lpcrel_hi00' name which does not exist. Resulting erroneous asm
```
    .Lpcrel_hi0:
        auipc   a0, %pcrel_hi(double_val)
        #APP
        fld     ft0, %pcrel_lo(.Lpcrel_hi00)(a0)
```

This change adds symbols used in memory operands to the list of
referenced ones.

Godbolt link: https://godbolt.org/z/aqrrsWKoK -- on the left you can
find incorrect labels for the integrated-as and on the right an error
when compiling to the binary object.


  Commit: 5afd39d6e4df7e1f4f8c6f7bb6e2cda775beed6a
      https://github.com/llvm/llvm-project/commit/5afd39d6e4df7e1f4f8c6f7bb6e2cda775beed6a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/phi.ll

  Log Message:
  -----------
  [InstCombine] Add test for op of phi in loop (NFC)


  Commit: 914fa6727f712966e4fdaa2f9a4a99ab3321d1d0
      https://github.com/llvm/llvm-project/commit/914fa6727f712966e4fdaa2f9a4a99ab3321d1d0
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/test/Semantics/data08.f90

  Log Message:
  -----------
  [flang] Add target=sparc check for big endian (NFC) (#105854)


  Commit: 95b37a76493a1cd4b607f53f4318b5da5b5392f0
      https://github.com/llvm/llvm-project/commit/95b37a76493a1cd4b607f53f4318b5da5b5392f0
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/Analysis/stack-addr-ps.cpp

  Log Message:
  -----------
  [analyzer] Detect leak of a stack address through output arguments 2/3 (#105653)

At this point, only functions called from other functions (i.e., not
top-level) are covered. Top-level functions have a different exit
sequence and will be handled by a subsequent change.

CPP-4734

-------

This is the second of three commits constituting
https://github.com/llvm/llvm-project/pull/105648
it must not be merged before
https://github.com/llvm/llvm-project/pull/105652


  Commit: 1e5f336a72cc11ac0908dbe472c3a378c662053f
      https://github.com/llvm/llvm-project/commit/1e5f336a72cc11ac0908dbe472c3a378c662053f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/SCCP/range-attribute.ll

  Log Message:
  -----------
  [SCCP] Run test with both ipsccp and sccp (NFC)


  Commit: 03e0be90ca149e27ca608748aa9d21bbd60dea9f
      https://github.com/llvm/llvm-project/commit/03e0be90ca149e27ca608748aa9d21bbd60dea9f
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/test/Transforms/SCCP/range-attribute.ll

  Log Message:
  -----------
  [SCCP] Make use of argument attributes in non-ip SCCP

Initialize arguments based on attributes instead of hardcoding them
to overdefined. This was already properly done for ipsccp.


  Commit: b74248dae880793b0486483126b385ca0eafc896
      https://github.com/llvm/llvm-project/commit/b74248dae880793b0486483126b385ca0eafc896
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Pass RPOT to InstCombiner (NFC)

To make use of it in a followup change.


  Commit: 2f0d32692e05a763c61155d5a63d2409010cf97b
      https://github.com/llvm/llvm-project/commit/2f0d32692e05a763c61155d5a63d2409010cf97b
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [NFC][VPlan] Trim extra spaces in `VPDerivedIVRecipe::print` during debugging (#106041)

before:
```
    EMIT vp<%3> = CANONICAL-INDUCTION ir<0>, vp<%8>
    vp<%4>    = DERIVED-IV ir<%n> + vp<%3> * ir<-1>
    vp<%5> = SCALAR-STEPS vp<%4>, ir<-1>
```

after:
```
    EMIT vp<%3> = CANONICAL-INDUCTION ir<0>, vp<%8>
    vp<%4> = DERIVED-IV ir<%n> + vp<%3> * ir<-1>
    vp<%5> = SCALAR-STEPS vp<%4>, ir<-1>
```


  Commit: 6f092e501b715332263987f86e9a0f26a50524cb
      https://github.com/llvm/llvm-project/commit/6f092e501b715332263987f86e9a0f26a50524cb
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/InliningUtils.cpp
    M mlir/test/Transforms/inlining.mlir

  Log Message:
  -----------
  [MLIR][Transforms] Update block arg locations during inlining (#106064)

This commit changes the inlining to also update the locations of block
arguments. Not updating these locations leads to LLVM IR verification
issues when exporting converted block arguments to phi nodes. This lack
of location update was not visible due to ignoring the argument
locations until recently.
Relevant change: https://github.com/llvm/llvm-project/pull/105534


  Commit: ca95bee649724a6092989076322daa501a0a6594
      https://github.com/llvm/llvm-project/commit/ca95bee649724a6092989076322daa501a0a6594
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
    M compiler-rt/test/rtsan/CMakeLists.txt
    A compiler-rt/test/rtsan/basic.cpp
    A compiler-rt/test/rtsan/inactive.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py

  Log Message:
  -----------
  [compiler-rt][rtsan] Introduce first end to end RTsan lit tests, enable instrumented unit tests (#105732)


  Commit: 1c48c9cc43dbbbd1751e15d199b4d7d4fc52d828
      https://github.com/llvm/llvm-project/commit/1c48c9cc43dbbbd1751e15d199b4d7d4fc52d828
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/type_traits
    M libcxx/include/version
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Implement P2985R0: std::is_virtual_base_of (#105847)

This trait is implemented in C++26 conditionally on the compiler
supporting the __builtin_is_virtual_base_of intrinsic. I believe only
tip-of-trunk Clang currently implements that builtin.

Closes #105432


  Commit: b8f134faba3a41f47d2d05125118ea1acf512cb3
      https://github.com/llvm/llvm-project/commit/b8f134faba3a41f47d2d05125118ea1acf512cb3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/vfscanf.cpp
    A libc/src/stdio/vfscanf.h
    A libc/src/stdio/vscanf.cpp
    A libc/src/stdio/vscanf.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/vfscanf_test.cpp

  Log Message:
  -----------
  [libc] Implement 'vfscanf' and 'vscanf' (#105293)

Summary:
These are simply forwarding the vlist to the existing helper.


  Commit: 499e13514aaf2efdcd85520ade791ed635502adb
      https://github.com/llvm/llvm-project/commit/499e13514aaf2efdcd85520ade791ed635502adb
  Author: S. B. Tam <cpplearner at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp

  Log Message:
  -----------
  [libc++][test] Do not test Clang bug in `is_constructible.pass.cpp` (#105964)

A comment in `is_constructible.pass.cpp` suggests that Clang is
non-conforming in accepting construction of `const int&` from
`ExplicitTo<int&&>`.

This PR changes the test to expect the standard-conforming behavior,
which makes the test pass on MSVC.


  Commit: b9d3da8c8d277a7fc2223c659122bb377a0e54e0
      https://github.com/llvm/llvm-project/commit/b9d3da8c8d277a7fc2223c659122bb377a0e54e0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/gather-node-with-no-users.ll

  Log Message:
  -----------
  [SLP]Fix PR105904: the root node might be a gather node without user for reductions.

Before checking the user components of the gather/buildvector nodes,
need to check if the node has users at all. Root nodes might not have
users, if it is a node for the reduction.

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


  Commit: f4c498bc7399b00bd7b1157645cf03906fbe7954
      https://github.com/llvm/llvm-project/commit/f4c498bc7399b00bd7b1157645cf03906fbe7954
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp

  Log Message:
  -----------
  [FixIrreducible]Fix verify call


  Commit: 11ba2eee59c6c7269b2dae27247048f828143274
      https://github.com/llvm/llvm-project/commit/11ba2eee59c6c7269b2dae27247048f828143274
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp

  Log Message:
  -----------
  [rtsan][compiler-rt] Disable file permissions test causing build failure (#106079)

Related to: ca95bee64972, #105732


  Commit: 399d7cce3731096ff20ee6bdb505e18dab468915
      https://github.com/llvm/llvm-project/commit/399d7cce3731096ff20ee6bdb505e18dab468915
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/LiveVariables.h
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp

  Log Message:
  -----------
  [CodeGen] Use MachineInstr::all_defs (NFC) (#106017)


  Commit: d9e728601938f7d587ac580d32f042fa74041864
      https://github.com/llvm/llvm-project/commit/d9e728601938f7d587ac580d32f042fa74041864
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [NFC][clang][bytecode] Rename `clang::interp::State::getCtx` to `clang::interp::State::getASTContext` (#106071)

The new constant interpreter's `clang::interp::InterpState` contains
both `clang::interp::Context` and `clang::ASTContext`. So using `S.Ctx`
and `S.getCtx()` was a bit confusing. This PR rename `getCtx()` to
`getASTContext` to make things more clearer.

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 06ccd32bb7b26b84448036c18e7191d9e56adc82
      https://github.com/llvm/llvm-project/commit/06ccd32bb7b26b84448036c18e7191d9e56adc82
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Host/Socket.h
    M lldb/source/Host/common/Socket.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp

  Log Message:
  -----------
  [lldb][NFC] Moved the SharedSocket class to Socket.* (#104787)

This is the prerequisite for #104238.


  Commit: 41f2f1f028f2f4aeb6d13950b23d15290bf5dddf
      https://github.com/llvm/llvm-project/commit/41f2f1f028f2f4aeb6d13950b23d15290bf5dddf
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/SCCP/pointer-nonnull.ll

  Log Message:
  -----------
  [SCCP] Add tests for non-null pointers (NFC)


  Commit: 46a4132e167aa44d8ec7776262ce2a0e6d47de59
      https://github.com/llvm/llvm-project/commit/46a4132e167aa44d8ec7776262ce2a0e6d47de59
  Author: Avi Kivity <avi at scylladb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    A llvm/test/Transforms/Coroutines/coro-pgo-setbranchweights.ll

  Log Message:
  -----------
  [Instrumentation] Fix EdgeCounts vector size in SetBranchWeights (#99064)


  Commit: a195e2d461dde7c73c6dd24da097affb1a7b6f78
      https://github.com/llvm/llvm-project/commit/a195e2d461dde7c73c6dd24da097affb1a7b6f78
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Handle privatization for global values in MLIR->LLVM translation (#104407)

Potential fix for https://github.com/llvm/llvm-project/issues/102939 and
https://github.com/llvm/llvm-project/issues/102949.

The issues occurs because the CodeExtractor component only collect
inputs (to the parallel regions) that are defined in the same function
in which the parallel regions is present. Howerver, this is problematic
because if we are privatizing a global value (e.g. a `target` variable
which is emitted as a global), then we miss finding that input and we do
not privatize the variable.

This commit attempts to fix the issue by adding a flag to the
CodeExtractor so that we can collect global inputs.


  Commit: 0e24c32a6d6659fb4aa61ad52f068dbf6cb685c7
      https://github.com/llvm/llvm-project/commit/0e24c32a6d6659fb4aa61ad52f068dbf6cb685c7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp

  Log Message:
  -----------
  [SCCP] Avoid some uses of SCCPSolver::isOverdefined (NFCI)

This is a confusingly named helper than means "is not unknown,
undef or constant". Prefer the more obvious ValueLattice API
instead. Most of these checks are for values which are forced to
overdefined by undef resolution, in which case only actual
overdefined values are relevant.


  Commit: ea625f48ab50b45da39e2a52b4287c908a1c3efc
      https://github.com/llvm/llvm-project/commit/ea625f48ab50b45da39e2a52b4287c908a1c3efc
  Author: Andrei Safronov <safronov at espressif.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    A llvm/test/CodeGen/Xtensa/load.ll

  Log Message:
  -----------
  [Xtensa] Implement sextload i8 (#106053)


  Commit: 762cb44581cf1397e76a4901e7a142ca6b0a51bb
      https://github.com/llvm/llvm-project/commit/762cb44581cf1397e76a4901e7a142ca6b0a51bb
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp

  Log Message:
  -----------
  [Mips] Use a range-based for loop (NFC) (#106004)


  Commit: bc695f522743e5408dbdfa77209106c235218654
      https://github.com/llvm/llvm-project/commit/bc695f522743e5408dbdfa77209106c235218654
  Author: Stephan T. Lavavej <stl at nuwen.net>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    R libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp
    A libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp

  Log Message:
  -----------
  [libc++][test] Add missing <concepts> in is_always_lock_free test (#105966)

That test was using std::same_as without including <concepts>.


  Commit: 5a288b9183ca3b7d2bad2b39670803e0ca195f09
      https://github.com/llvm/llvm-project/commit/5a288b9183ca3b7d2bad2b39670803e0ca195f09
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp

  Log Message:
  -----------
  [Clang] Evaluate dependent indexes of pack indexing in a constant context (#106054)

Fixes #105900


  Commit: 0f58ab851c4e9e5cb962e34144c4169dd675389b
      https://github.com/llvm/llvm-project/commit/0f58ab851c4e9e5cb962e34144c4169dd675389b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp
    R libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.pass.cpp

  Log Message:
  -----------
  [libc++] Undo unintended renaming in bc695f522743

Renaming the test will require fixing additional issues, which
I will tackle in a separate patch.


  Commit: ee737c30da0418917935b23848d4760c8324de93
      https://github.com/llvm/llvm-project/commit/ee737c30da0418917935b23848d4760c8324de93
  Author: yifeizh2 <yifei.zhang at intel.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp

  Log Message:
  -----------
  [mlir][linalg] Exclude non-convolutional ops from isaConvolutionOpInterface (#102087)

Enhance `isaConvolutionOpInterface` logic.

Currently, `isaConvolutionOpInterface` returns false positive for linalg
binary elementwise ops, because the function's underlying logic does not
require the input linalg op to have convolved dims. We avoid such false
positive by further checking the non-emptyness of convolved dims.


  Commit: e04d124a96311d3714522125bf703950863e0540
      https://github.com/llvm/llvm-project/commit/e04d124a96311d3714522125bf703950863e0540
  Author: Christopher Di Bella <cjdb at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libcxx/include/string
    M libcxx/include/string_view

  Log Message:
  -----------
  [libc++] Call basic_string_view's assume-valid constructor from basic_string operations (#105863)

`basic_string` frequently calls `basic_string_view(data(), size())`,
which accounts for ~15% of the observed overhead when hardening is
enabled. This commit removes unnecessary checks when `basic_string` is
known to already have valid data, by bypassing the public constructor,
so that we eliminate that overhead.


  Commit: 121ed07975c087291ac7faf681042d51211b9f97
      https://github.com/llvm/llvm-project/commit/121ed07975c087291ac7faf681042d51211b9f97
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/lib/MC/MCPseudoProbe.cpp

  Log Message:
  -----------
  [MC][NFC] Count pseudo probes and function records

Pre-parse pseudo probes section counting the number of probes and
function records. These numbers are used in follow-up diff to
pre-allocate vectors for decoded probes and inline tree nodes.

Additional benefit is avoiding error handling during parsing.

This pre-parsing is fast: for a 404MiB .pseudo_probe section with
43373881 probes and 25228770 function records, it only takes 0.68±0.01s.
The total time of buildAddress2ProbeMap is 21s.

Reviewers: dcci, maksfb, rafaelauler, wlei-llvm, ayermolo

Reviewed By: wlei-llvm

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


  Commit: 04ebd1907c0561831e4fcf2658e1f3614f8cdd77
      https://github.com/llvm/llvm-project/commit/04ebd1907c0561831e4fcf2658e1f3614f8cdd77
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/lib/MC/MCPseudoProbe.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp

  Log Message:
  -----------
  [MC][NFC] Statically allocate storage for decoded pseudo probes and function records

Use #102774 to allocate storage for decoded probes (`PseudoProbeVec`)
and function records (`InlineTreeVec`).

Leverage that to also shrink sizes of `MCDecodedPseudoProbe`:
- Drop Guid since it's accessible via `InlineTree`.

`MCDecodedPseudoProbeInlineTree`:
- Keep track of probes and inlinees using `ArrayRef`s now that probes
  and function records belonging to the same function are allocated
  contiguously.

This reduces peak RSS from 13.7 GiB to 9.7 GiB and pseudo probe parsing
time (as part of perf2bolt) from 15.3s to 9.6s for a large binary with
400MiB .pseudo_probe section containing 43M probes and 25M function
records.

Depends on:
#102774
#102787
#102788

Reviewers: maksfb, rafaelauler, dcci, ayermolo, wlei-llvm

Reviewed By: wlei-llvm

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


  Commit: ee09f7d1fc173f2b495838c925f2cf39a2b55369
      https://github.com/llvm/llvm-project/commit/ee09f7d1fc173f2b495838c925f2cf39a2b55369
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/lib/MC/MCPseudoProbe.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp

  Log Message:
  -----------
  [MC][NFC] Reduce Address2ProbesMap size

Replace the map from addresses to list of probes with a flat vector
containing probe references sorted by their addresses.

Reduces pseudo probe parsing time from 9.56s to 8.59s and peak RSS from
9.66 GiB to 9.08 GiB as part of perf2bolt processing a large binary.

Test Plan:
```
bin/llvm-lit -sv test/tools/llvm-profgen
```

Reviewers: maksfb, rafaelauler, dcci, ayermolo, wlei-llvm

Reviewed By: wlei-llvm

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


  Commit: a79cf0228e4ade1f69e8196fdcf9c0184b4ba1b7
      https://github.com/llvm/llvm-project/commit/a79cf0228e4ade1f69e8196fdcf9c0184b4ba1b7
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/lib/MC/MCPseudoProbe.cpp

  Log Message:
  -----------
  [MC][NFC] Use vector for GUIDProbeFunctionMap

Replace unordered_map with a vector. Pre-parse the section to statically
allocate storage. Use BumpPtrAllocator for FuncName strings, keep
StringRef in FuncDesc.

Reduces peak RSS of pseudo probe parsing from 9.08 GiB to 8.89 GiB as
part of perf2bolt with a large binary.

Test Plan:
```
bin/llvm-lit -sv test/tools/llvm-profgen
```

Reviewers: wlei-llvm, rafaelauler, dcci, maksfb, ayermolo

Reviewed By: wlei-llvm

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


  Commit: c1b3ebba7909e9e3e99a4ac45bef38d7f590cc3b
      https://github.com/llvm/llvm-project/commit/c1b3ebba7909e9e3e99a4ac45bef38d7f590cc3b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCInst.h
    M llvm/include/llvm/MC/MCInstBuilder.h
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp

  Log Message:
  -----------
  [MC] Update MCOperand::getReg/setReg/createReg and MCInstBuilder::addReg to use MCRegister. (#106015)

Replace unsigned with MCRegister.

Update some ternary operators that started giving errors.


  Commit: 625e929d4305987a85c86ad4c67f1e15b36f89e0
      https://github.com/llvm/llvm-project/commit/625e929d4305987a85c86ad4c67f1e15b36f89e0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with incorrect reduced gather node with extra use in cmp node, NFC.


  Commit: 2e426fe8ff314c2565073e73e27fdbdf36c140a3
      https://github.com/llvm/llvm-project/commit/2e426fe8ff314c2565073e73e27fdbdf36c140a3
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/unittests/Transforms/Instrumentation/CMakeLists.txt
    A llvm/unittests/Transforms/Instrumentation/MemProfilerTest.cpp

  Log Message:
  -----------
  Add unit tests for size returning new funcs in the MemProf use pass. (#105473)

We use a unit test to verify correctness since:
a) we don't have a text format profile
b) size returning new isn't supported natively
c) a raw profile will need to be manipulated artificially

The changes this test covers were made in
https://github.com/llvm/llvm-project/pull/102258.


  Commit: 710664341d72071729401d2eb86356056a3d7f46
      https://github.com/llvm/llvm-project/commit/710664341d72071729401d2eb86356056a3d7f46
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libcxx/include/forward_list
    M libcxx/include/vector

  Log Message:
  -----------
  [libc++][NFC] Don't explicitly provide propagate_on_container_swap when calling __swap_allocator (#105980)

`__swap_allocator` does this automatically when not providing it
explicitly, so this is just more code without any benefit.


  Commit: 7af61d5cf464f1d716c82bc77907fa3fe4ebc841
      https://github.com/llvm/llvm-project/commit/7af61d5cf464f1d716c82bc77907fa3fe4ebc841
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Fir/cuf-invalid.fir

  Log Message:
  -----------
  [flang][cuda] Add shape to cuf.data_transfer operation (#104631)

When doing data transfer with dynamic sized array, we are currently
generating a data transfer between two descriptors. If the shape values
can be provided, we can keep the data transfer between two references.
This patch adds the shape operands to the operation.

This will be exploited in lowering in a follow up patch.


  Commit: bbf2781bc49aee4d7ee8ec40dcf7316db360c454
      https://github.com/llvm/llvm-project/commit/bbf2781bc49aee4d7ee8ec40dcf7316db360c454
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Utility/Status.h

  Log Message:
  -----------
  [lldb] Reformat comment (NFC)


  Commit: c073821142d1bda68682f8ff640d143cbb03ae7b
      https://github.com/llvm/llvm-project/commit/c073821142d1bda68682f8ff640d143cbb03ae7b
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll

  Log Message:
  -----------
  [RISCV] Reduce VL of vmerge.vvm's true operand (#105786)

This extends the peephole added in #104689 to also reduce the VL of a
PseudoVMERGE_VVM's true operand.

We could extend this later to reduce the false operand as well, but this
starts with just the true operand since it allows vmerges that are
converted to vmv.v.vs (convertVMergeToVMv) to be potentially further
folded into their source (foldVMV_V_V).


  Commit: 2ef3dcf1fd4b3a2fc849b113644533f3e6df8b1e
      https://github.com/llvm/llvm-project/commit/2ef3dcf1fd4b3a2fc849b113644533f3e6df8b1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp:906:11: error:
  enumeration value 'EmptyConvolvedDims' not handled in switch
  [-Werror,-Wswitch]

with a workaround.  I've notified the author of the new enum value in
https://github.com/llvm/llvm-project/pull/102087.


  Commit: ec4d5a6658782b4a88c634d5b332c56b754c5949
      https://github.com/llvm/llvm-project/commit/ec4d5a6658782b4a88c634d5b332c56b754c5949
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/test/COFF/symtab.test

  Log Message:
  -----------
  [LLD][COFF] Preserve original symbol name when resolving weak aliases. (#105897)

Instead of replacing it with target's name.


  Commit: 4bab0387e9be3683a36b5ab0412b25fbab632aa5
      https://github.com/llvm/llvm-project/commit/4bab0387e9be3683a36b5ab0412b25fbab632aa5
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatible.hlsl
    A clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl

  Log Message:
  -----------
  [HLSL] Add __builtin_hlsl_is_scalarized_layout_compatible (#102227)

HLSL tends to rely pretty aggressively on scalarization occuring in the
complier, which allows for some relaxed language behaviors when types
are fully sclarized to equivalent scalar representations.

This change adds a new queryable trait builtin for scalarized layout
compatability.

Resolves #100614

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: ff5816ad29eba3762e1c5c576c1adf586c35dd91
      https://github.com/llvm/llvm-project/commit/ff5816ad29eba3762e1c5c576c1adf586c35dd91
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/all.ll

  Log Message:
  -----------
  [DirectX] Add `all` lowering (#105787)

- DXILIntrinsicExpansion.cpp: Modify `any` codegen expansion to work for
`all`
- DirectX\all.ll: Add test case

completes #88946


  Commit: 643bf6cb01bc3faa54c5510c904ea3bdcb4bf42f
      https://github.com/llvm/llvm-project/commit/643bf6cb01bc3faa54c5510c904ea3bdcb4bf42f
  Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp

  Log Message:
  -----------
  [scudo] Add partial chunk heuristic to retrieval algorithm. (#105009)

Previously the secondary cache retrieval algorithm would not allow
retrievals of memory chunks where the number of unused bytes would be
greater than than `MaxUnreleasedCachePages * PageSize` bytes. This meant
that even if a memory chunk satisfied the requirements of the optimal
fit algorithm, it may not be returned. This remains true if memory
tagging is enabled. However, if memory tagging is disabled, a new
heuristic has been put in place. Specifically, If a memory chunk is a
non-optimal fit, the cache retrieval algorithm will attempt to release
the excess memory to force a cache hit while keeping RSS down.

In the event that a memory chunk is a non-optimal fit, the retrieval
algorithm will release excess memory as long as the amount of memory to
be released is less than or equal to 4 Pages. If the amount of memory to
be released exceeds 4 Pages, the retrieval algorithm will not consider
that cached memory chunk valid for retrieval.

This change also addresses an alignment issue in a test case submitted
in #104807.


  Commit: 1387ba48a312b6e9b174d850f8c9a1322f44c623
      https://github.com/llvm/llvm-project/commit/1387ba48a312b6e9b174d850f8c9a1322f44c623
  Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/ArithToAMDGPU/ArithToAMDGPU.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
    A mlir/test/Conversion/ArithToAMDGPU/16-bit-floats.mlir
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-float-saturation.mlir
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU] Introduce fp16 packed arithmetic (#105688)

This PR is introducing rocdl.cvt.pkrtz in the ROCDL dialect and it is
using that instruction when lowering `arith::TruncFOp`.


  Commit: 924a7d83b4287b3b85dd1ca29d2d3e1f0a10ea68
      https://github.com/llvm/llvm-project/commit/924a7d83b4287b3b85dd1ca29d2d3e1f0a10ea68
  Author: Kim Gräsman <kim.grasman at gmail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
    M lldb/unittests/Expression/ClangParserTest.cpp

  Log Message:
  -----------
  Use CLANG_RESOURCE_DIR more consistently (#103388)

When Clang is consumed as a library, the CLANG_RESOURCE_DIR definition
is not exported from the CMake system, so external clients will be
unable to compute the same resource dir as Clang itself would, because
they don't know what to pass for the optional CustomResourceDir
argument.

All call sites except one would pass CLANG_RESOURCE_DIR to
Driver::GetResourcesPath. It seems the one exception in libclang
CIndexer was an oversight.

Move the use of CLANG_RESOURCE_DIR into GetResourcesPath and remove the
optional argument to avoid this inconsistency between internal and
external clients.


  Commit: f099f76bb2a55bb6a90b30b81bae9f55ea37fcb5
      https://github.com/llvm/llvm-project/commit/f099f76bb2a55bb6a90b30b81bae9f55ea37fcb5
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/lib/Parser/prescan.cpp
    M flang/test/Preprocessing/line-in-contin.F90

  Log Message:
  -----------
  [flang] Handle pp-directives better in line continuation (#105572)

The code for detecting and processing some preprocessing directives
(conditional compilation and #line) while skipping comments between one
source or compiler directive line and its continuations wasn't correctly
handling the case of such a directive following an explicit ampersand.

Fixes https://github.com/llvm/llvm-project/issues/100730 and
https://github.com/llvm/llvm-project/issues/100345.


  Commit: 2326a02357c74a1a913a3d572bf789d4d48af7f0
      https://github.com/llvm/llvm-project/commit/2326a02357c74a1a913a3d572bf789d4d48af7f0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/runtime/external-unit.cpp

  Log Message:
  -----------
  [flang] Support read-only access to an anonymous unit (#105859)

Don't require the "fort.123" file implicitly opened by READ(123, ... to
be writable.


  Commit: b52728d89bb44ec59fa60ec02e1a9cbdb86037e1
      https://github.com/llvm/llvm-project/commit/b52728d89bb44ec59fa60ec02e1a9cbdb86037e1
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/test/Semantics/undef-result01.f90

  Log Message:
  -----------
  [flang] Silence warning when inappropriate (#105867)

When a function returns an array, using an element of that array is an
actual argument in a procedure reference with an implicit interface
should suffice to avoid a warning about an undefined function result.


  Commit: 047168dae79cd6e0087eb86810006c635f017df6
      https://github.com/llvm/llvm-project/commit/047168dae79cd6e0087eb86810006c635f017df6
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/lib/Parser/io-parsers.cpp
    A flang/test/Parser/recovery05.f90

  Log Message:
  -----------
  [flang] Fix parser crash (#105875)

The production for a bare file unit number in an I/O statement checks
that the scalar integer expression isn't followed by "=", in order to
disambiguate FLUSHN from FLUSHN=1, and to not treat a control specifier
keyword as an integer expression. The implementation of this check used
!"="_tok, which has the side effect of producing no error message; this
can lead to a parsing crash later when a failed parse of an erroneous
program is found to have produced no errors. Rewrite as a lookAhead call
for those characters that acually can follow a bare unit number.

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


  Commit: f428f5fc680cfd4d72234ad078c85e868e1ac7a0
      https://github.com/llvm/llvm-project/commit/f428f5fc680cfd4d72234ad078c85e868e1ac7a0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/include/flang/Runtime/numeric.h
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Add alternate SELECTED_(INT|REAL)_KIND APIs (#105887)

Add extended versions of SELECTED_INT_KIND and SELECTED_REAL_KIND
runtime APIs that permit lowering to pass along a bit mask of acceptable
kinds. The existing APIs call the new ones with a full bit mask. If
lowering transitions to always use the new APIs the old ones can then be
deleted.


  Commit: c4b7c47fa53ee6d75b64737d475e5dbd1ed4a409
      https://github.com/llvm/llvm-project/commit/c4b7c47fa53ee6d75b64737d475e5dbd1ed4a409
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp

  Log Message:
  -----------
  [scudo] Fix expectation in ScudoTimingTest.VerifyMax (#106062)


  Commit: 961a138237947daa5ccabfc87dbfbad8b47146e4
      https://github.com/llvm/llvm-project/commit/961a138237947daa5ccabfc87dbfbad8b47146e4
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/declarations03.f90

  Log Message:
  -----------
  [flang] Silence spurious error (#106086)

Don't attempt to give an object a default binding label when it shows up
in a declaration after it has already been given an explicit binding
label in an earlier declaration.

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


  Commit: 7cc789bcfba8050eb20ecb8a24508d9a4711dba0
      https://github.com/llvm/llvm-project/commit/7cc789bcfba8050eb20ecb8a24508d9a4711dba0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/resolve82.f90

  Log Message:
  -----------
  [flang] Silence spurious errors from benign USE errors (#106097)

When USE association encounters a conflict that can't be resolved, it
produces a "UseError" symbol that will trigger an error message if that
symbol is ever actually used. UseError symbols that aren't used are
benign.

Ensure that UseError symbols don't run the gamut of declaration
checking. They were getting through, and could lead to spurious error
messages.

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


  Commit: 4e30cf7b2a94b502abb10c400255547e50f79648
      https://github.com/llvm/llvm-project/commit/4e30cf7b2a94b502abb10c400255547e50f79648
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [LTO] Introduce getSourceModules (NFC) (#105955)

This patch introduces getSourceModules to compute the list of source
modules in the ascending alphabetical order.  The new function is
intended to hide implementation details of ImportMapTy while
simplifying FunctionImporter::importFunctions a little bit.


  Commit: 7fc67b5eb53e3b99a99406ae39fba71c3f5538de
      https://github.com/llvm/llvm-project/commit/7fc67b5eb53e3b99a99406ae39fba71c3f5538de
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Port 1387ba48a312b6e9b174d850f8c9a1322f44c623


  Commit: 9b00ef5261b69541f36334308690420c99fd89f1
      https://github.com/llvm/llvm-project/commit/9b00ef5261b69541f36334308690420c99fd89f1
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfReader.h
    M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
    M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
    M llvm/unittests/Transforms/Instrumentation/CMakeLists.txt
    R llvm/unittests/Transforms/Instrumentation/MemProfilerTest.cpp

  Log Message:
  -----------
  Revert "Add unit tests for size returning new funcs in the MemProf use pass. (#105473)" (#106114)

This reverts commit 2e426fe8ff314c2565073e73e27fdbdf36c140a3.


  Commit: d88876e74f7882643546becc544a771a5e5e9787
      https://github.com/llvm/llvm-project/commit/d88876e74f7882643546becc544a771a5e5e9787
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement FenceInst (#105920)

This patch implements sandboxir::FenceInst mirroring llvm::FenceInst.


  Commit: 4b0c0ec6b8065e611640f44adce94e2da12b3a3a
      https://github.com/llvm/llvm-project/commit/4b0c0ec6b8065e611640f44adce94e2da12b3a3a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86CallingConv.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp

  Log Message:
  -----------
  [CodeGen] Use MCRegister for CCState::AllocateReg and CCValAssign::getReg. NFC (#106032)


  Commit: e1d22512906e69846c8f6a2d29b30832b7c12b46
      https://github.com/llvm/llvm-project/commit/e1d22512906e69846c8f6a2d29b30832b7c12b46
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll

  Log Message:
  -----------
  [SLP]Fix minbitwidth analysis for gather nodes with icmp users.

If the node is not in MinBWs container and the user node is icmp node,
the compiler should not check the type size of the user instruction, it
is always 1 and is not good for actual bitwidth analysis.

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


  Commit: 89c27d6b07dd03a71e5692caa4e20ab14f948921
      https://github.com/llvm/llvm-project/commit/89c27d6b07dd03a71e5692caa4e20ab14f948921
  Author: Santhosh Kumar Ellendula <quic_sellendu at quicinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/TestDAP_instruction_breakpoint.py
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPForward.h
    A lldb/tools/lldb-dap/InstructionBreakpoint.cpp
    A lldb/tools/lldb-dap/InstructionBreakpoint.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Enabling instruction breakpoint support to lldb-dap. (#105278)

Added support for "supportsInstructionBreakpoints" capability and now it
this command is triggered when we set instruction breakpoint.
We need this support as part of enabling disassembly view debugging.
Following features should work as part of this feature enablement:

1. Settings breakpoints in disassembly view: Unsetting the breakpoint is
not happening from the disassembly view. Currently we need to unset
breakpoint manually from the breakpoint List. Multiple breakpoints are
getting set for the same $

2. Step over, step into, continue in the disassembly view

The format for DisassembleRequest and DisassembleResponse at
https://raw.githubusercontent.com/microsoft/vscode/master/src/vs/workbench/contrib/debug/common/debugProtocol.d.ts
.

Ref Images:
Set instruction breakpoint in disassembly view:

![image](https://github.com/user-attachments/assets/833bfb34-86f4-40e2-8c20-14b638a612a2)

After issuing continue:

![image](https://github.com/user-attachments/assets/884572a3-915e-422b-b8dd-d132e5c00de6)

---------

Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-hyd.qualcomm.com>
Co-authored-by: Santhosh Kumar Ellendula <sellendu at hu-sellendu-lv.qualcomm.com>


  Commit: 74aaab663327cdffa591316d00f4f462c07526c7
      https://github.com/llvm/llvm-project/commit/74aaab663327cdffa591316d00f4f462c07526c7
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M .mailmap
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/test/X86/end-symbol.test
    M bolt/test/X86/instrumentation-eh_frame_hdr.cpp
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    A clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/index.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/SanitizerArgs.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/IntegralAP.h
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ByteCode/InterpFrame.cpp
    M clang/lib/AST/ByteCode/InterpState.h
    M clang/lib/AST/ByteCode/State.cpp
    M clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/CheckExprLifetime.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/test/AST/ByteCode/intap.cpp
    M clang/test/AST/ByteCode/invalid.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    M clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    M clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/Analysis/asm.cpp
    M clang/test/Analysis/cfg.c
    M clang/test/Analysis/cfg.cpp
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/CXX/drs/cwg29xx.cpp
    M clang/test/CodeGen/ignore-overflow-pattern-false-pos.c
    M clang/test/CodeGen/ignore-overflow-pattern.c
    A clang/test/CodeGen/rtsan_attribute_inserted.c
    A clang/test/CodeGen/rtsan_entry_exit_insertion.c
    A clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
    M clang/test/CodeGen/tls-maxalign-modflag.c
    A clang/test/CodeGenCXX/mangle-ms-auto-return.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-memptrs.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates-nullptr.cpp
    M clang/test/CodeGenCXX/mangle-ms-auto-templates.cpp
    M clang/test/CodeGenCXX/windows-itanium-init-guard.cpp
    M clang/test/Driver/debug-options.c
    M clang/test/Driver/fsanitize.c
    A clang/test/Driver/heinous-gnu-extensions.c
    M clang/test/Driver/ps5-linker.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/Misc/warning-flags.c
    M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
    M clang/test/ParserHLSL/hlsl_resource_class_attr_error.hlsl
    M clang/test/Sema/heinous-extensions-off.c
    M clang/test/Sema/heinous-extensions-on.c
    M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
    M clang/test/SemaCXX/constant-expression-cxx2a.cpp
    M clang/test/SemaCXX/cxx2a-constexpr-dynalloc.cpp
    A clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
    M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
    A clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatible.hlsl
    A clang/test/SemaHLSL/Types/Traits/ScalarizedLayoutCompatibleErrors.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_other.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
    A clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
    M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
    M clang/www/c_status.html
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/lib/asan/asan_flags.inc
    M compiler-rt/lib/asan/asan_globals.cpp
    M compiler-rt/lib/nsan/nsan.cpp
    M compiler-rt/lib/nsan/nsan_flags.inc
    M compiler-rt/lib/orc/macho_platform.cpp
    M compiler-rt/lib/rtsan/tests/CMakeLists.txt
    M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
    M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp
    M compiler-rt/lib/scudo/standalone/tests/timing_test.cpp
    M compiler-rt/test/asan/TestCases/Linux/initialization-nobug-lld.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicator_unregister.cpp
    M compiler-rt/test/asan/TestCases/Linux/odr_indicators.cpp
    M compiler-rt/test/asan/TestCases/Windows/dll_global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cpp
    M compiler-rt/test/asan/TestCases/Windows/global_dead_strip.c
    M compiler-rt/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cpp
    M compiler-rt/test/asan/TestCases/initialization-nobug.cpp
    M compiler-rt/test/nsan/Posix/tls_reuse.c
    A compiler-rt/test/nsan/nan.cpp
    A compiler-rt/test/nsan/softmax.cpp
    M compiler-rt/test/nsan/sum.cpp
    A compiler-rt/test/nsan/vec_sqrt.cpp
    A compiler-rt/test/nsan/vec_sqrt_ext.cpp
    M compiler-rt/test/rtsan/CMakeLists.txt
    A compiler-rt/test/rtsan/basic.cpp
    A compiler-rt/test/rtsan/inactive.cpp
    M compiler-rt/test/sanitizer_common/lit.common.cfg.py
    M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
    M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/lib/Parser/io-parsers.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/runtime/external-unit.cpp
    M flang/runtime/numeric.cpp
    R flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
    A flang/test/Analysis/AliasAnalysis/ptr-component.fir
    M flang/test/Fir/cuf-invalid.fir
    M flang/test/Lower/OpenMP/array-bounds.f90
    M flang/test/Lower/OpenMP/common-block-map.f90
    M flang/test/Lower/OpenMP/delayed-privatization-allocatable-firstprivate.f90
    M flang/test/Lower/OpenMP/derived-type-map.f90
    A flang/test/Lower/OpenMP/statement-function.f90
    M flang/test/Lower/OpenMP/target.f90
    A flang/test/Parser/recovery05.f90
    M flang/test/Preprocessing/line-in-contin.F90
    M flang/test/Semantics/data08.f90
    M flang/test/Semantics/declarations03.f90
    M flang/test/Semantics/resolve82.f90
    M flang/test/Semantics/undef-result01.f90
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/newhdrgen/yaml/stdio.yaml
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    A libc/src/stdio/vfscanf.cpp
    A libc/src/stdio/vfscanf.h
    A libc/src/stdio/vscanf.cpp
    A libc/src/stdio/vscanf.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/vfscanf_test.cpp
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/ReleaseNotes/20.rst
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx2cPapers.csv
    R libcxx/docs/Status/SpecialMath.rst
    R libcxx/docs/Status/SpecialMathProjects.csv
    R libcxx/docs/Status/Zip.rst
    R libcxx/docs/Status/ZipProjects.csv
    M libcxx/docs/index.rst
    M libcxx/include/__type_traits/is_base_of.h
    M libcxx/include/forward_list
    M libcxx/include/regex
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/type_traits
    M libcxx/include/vector
    M libcxx/include/version
    M libcxx/test/std/atomics/atomics.lockfree/is_always_lock_free.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
    A libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
    M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
    M libcxx/test/support/atomic_helpers.h
    M libcxx/utils/generate_feature_test_macro_components.py
    M lld/COFF/Chunks.cpp
    M lld/COFF/Chunks.h
    M lld/COFF/Driver.cpp
    M lld/COFF/SymbolTable.cpp
    M lld/COFF/Symbols.cpp
    M lld/COFF/Symbols.h
    M lld/COFF/Writer.cpp
    M lld/test/COFF/Inputs/loadconfig-arm64ec.s
    M lld/test/COFF/arm64ec-export-thunks.test
    M lld/test/COFF/arm64ec-patchable-thunks.test
    M lld/test/COFF/symtab.test
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/API/SBFrame.h
    M lldb/include/lldb/Host/Socket.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/StackFrame.h
    M lldb/include/lldb/Target/StackFrameList.h
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/ThreadPlanStepOut.cpp
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/commands/frame/recognizer/main.m
    M lldb/test/API/commands/frame/recognizer/recognizer.py
    A lldb/test/API/lang/cpp/std-function-recognizer/Makefile
    A lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    A lldb/test/API/lang/cpp/std-function-recognizer/main.cpp
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/TestDAP_instruction_breakpoint.py
    A lldb/test/API/tools/lldb-dap/instruction-breakpoint/main.cpp
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/Makefile
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/TestDAP_subtleFrames.py
    A lldb/test/API/tools/lldb-dap/stackTrace/subtleFrames/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/DAPForward.h
    A lldb/tools/lldb-dap/InstructionBreakpoint.cpp
    A lldb/tools/lldb-dap/InstructionBreakpoint.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Expression/ClangParserTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
    M llvm/CMakeLists.txt
    M llvm/CREDITS.TXT
    M llvm/cmake/config-ix.cmake
    M llvm/docs/DirectX/DXILResources.rst
    M llvm/docs/GitHub.rst
    M llvm/include/llvm/ADT/APFloat.h
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/include/llvm/ADT/StableHashing.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/include/llvm/Bitcode/BitcodeWriter.h
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
    M llvm/include/llvm/CodeGen/LiveVariables.h
    M llvm/include/llvm/CodeGen/MachineBasicBlock.h
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/include/llvm/IR/VPIntrinsics.def
    M llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h
    M llvm/include/llvm/MC/MCInst.h
    M llvm/include/llvm/MC/MCInstBuilder.h
    M llvm/include/llvm/MC/MCPseudoProbe.h
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/Support/float128.h
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Utils/CodeExtractor.h
    M llvm/lib/Analysis/CMakeLists.txt
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/DXILResource.cpp
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp
    M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/lib/CodeGen/MIRParser/MIParser.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineBasicBlock.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineOperand.cpp
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/RDFGraph.cpp
    M llvm/lib/CodeGen/RegAllocFast.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/Constants.cpp
    M llvm/lib/IR/StructuralHash.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCPseudoProbe.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/Support/APFloat.cpp
    M llvm/lib/Support/StringRef.cpp
    M llvm/lib/Support/VirtualFileSystem.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    A llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
    M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
    M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/MipsConstantIslandPass.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
    M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
    M llvm/lib/Target/PowerPC/PPCCallingConv.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/lib/Target/X86/X86CallingConv.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
    M llvm/lib/Target/X86/X86VZeroUpper.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/SCCP.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
    M llvm/test/Analysis/LoopAccessAnalysis/depend_diff_types.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll
    A llvm/test/CodeGen/AArch64/arm64-fold-lshr.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-dynamic-lds-test.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multi-static-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-multiple-blocks-return.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-dynamic-lds-test.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-function-param.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomic-cmpxchg-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test-atomicrmw-asan.ll
    A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-test.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/load-local-i1.ll
    M llvm/test/CodeGen/ARM/big-endian-vmov.ll
    A llvm/test/CodeGen/DirectX/CreateHandle.ll
    A llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
    A llvm/test/CodeGen/DirectX/all.ll
    R llvm/test/CodeGen/NVPTX/proxy-reg-erasure-mir.ll
    A llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
    A llvm/test/CodeGen/RISCV/inline-asm-mem-constraint-2.ll
    M llvm/test/CodeGen/RISCV/inline-asm-mem-constraint.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-masked-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    A llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
    M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
    M llvm/test/CodeGen/Thumb2/mve-be.ll
    M llvm/test/CodeGen/Thumb2/mve-vmovimm.ll
    A llvm/test/CodeGen/X86/fp16-libcalls.ll
    A llvm/test/CodeGen/Xtensa/load.ll
    A llvm/test/LTO/AMDGPU/gpu-rdc-amdgpu-attrs.ll
    M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
    M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
    M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
    A llvm/test/Transforms/Coroutines/coro-pgo-setbranchweights.ll
    M llvm/test/Transforms/FixIrreducible/basic.ll
    M llvm/test/Transforms/FixIrreducible/bug45623.ll
    M llvm/test/Transforms/FixIrreducible/nested.ll
    M llvm/test/Transforms/FixIrreducible/switch.ll
    M llvm/test/Transforms/FixIrreducible/unreachable.ll
    A llvm/test/Transforms/Inline/simplify-fp128.ll
    M llvm/test/Transforms/InstCombine/bit-checks.ll
    A llvm/test/Transforms/InstCombine/fold-select-trunc.ll
    M llvm/test/Transforms/InstCombine/phi-select-constant.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/scmp.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/ucmp.ll
    A llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/load-i1-misaligned.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
    M llvm/test/Transforms/LoopVectorize/global_alias.ll
    M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
    M llvm/test/Transforms/PGOProfile/ctx-prof-use-prelink.ll
    A llvm/test/Transforms/SCCP/ip-constant-ranges-intersection.ll
    A llvm/test/Transforms/SCCP/pointer-nonnull.ll
    M llvm/test/Transforms/SCCP/range-attribute.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/gather-node-with-no-users.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gather-with-cmp-user.ll
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fix-reducible.ll
    M llvm/test/Transforms/StructurizeCFG/workarounds/needs-fr-ule.ll
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp
    M llvm/tools/llvm-profgen/ProfiledBinary.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/OptParserEmitter.cpp
    M llvm/utils/git/requirements.txt
    M llvm/utils/git/requirements_formatting.txt
    M llvm/utils/lit/lit/TestRunner.py
    M mlir/include/mlir/Analysis/DataFlow/DeadCodeAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/include/mlir/Conversion/ArithToAMDGPU/ArithToAMDGPU.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
    M mlir/lib/Analysis/DataFlowFramework.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
    M mlir/lib/Conversion/ArithToAMDGPU/CMakeLists.txt
    M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
    M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
    M mlir/lib/Dialect/AMDGPU/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/lib/Transforms/Utils/InliningUtils.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    A mlir/test/Conversion/ArithToAMDGPU/16-bit-floats.mlir
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-float-saturation.mlir
    M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Dialect/Bufferization/Transforms/finalizing-bufferize.mlir
    M mlir/test/Dialect/SCF/canonicalize.mlir
    M mlir/test/Dialect/SCF/loop-pipelining.mlir
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/tiling.mlir
    A mlir/test/Integration/Dialect/Arith/CPU/comparison.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-kernel.mlir
    R mlir/test/Integration/Dialect/SparseTensor/CPU/iterator-based-sqsum.mlir
    M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/Transforms/inlining.mlir
    M mlir/test/Transforms/test-legalize-type-conversion.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDeadCodeAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
    M mlir/test/lib/Analysis/TestDataFlowFramework.cpp
    M mlir/test/lib/Dialect/Linalg/TestLinalgDropUnitDims.cpp
    A offload/test/offloading/fortran/local-descriptor-map-regress.f90
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

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

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/0d0a1d8235ad...74aaab663327

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