[all-commits] [llvm/llvm-project] 69f76c: [LLD] [MinGW] Recognize the -rpath option (#102886)

Necip Fazil Yildiran via All-commits all-commits at lists.llvm.org
Wed Nov 13 17:00:50 PST 2024


  Branch: refs/heads/users/Prabhuk/sprmain.callsiteinfocallgraphsection-extract-and-propagate-indirect-call-type-ids
  Home:   https://github.com/llvm/llvm-project
  Commit: 69f76c782b554a004078af6909c19a11e3846415
      https://github.com/llvm/llvm-project/commit/69f76c782b554a004078af6909c19a11e3846415
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD] [MinGW] Recognize the -rpath option (#102886)

GNU ld silently accepts the -rpath option for Windows targets, as a
no-op.

This has lead to some build systems (and users) passing this option
while building for Windows/MinGW, even if Windows doesn't have any
concept like rpath.

Older versions of Conan did include -rpath in the pkg-config files it
generated, see e.g.

https://github.com/conan-io/conan/blob/17c58f0c61931f9de218ac571cd97a8e0befa68e/conans/client/generators/pkg_config.py#L104-L114
and
https://github.com/conan-io/conan/blob/17c58f0c61931f9de218ac571cd97a8e0befa68e/conans/client/build/compiler_flags.py#L26-L34
- and see https://github.com/mstorsjo/llvm-mingw/issues/300 for user
reports about this issue.

Recognize the option in LLD for MinGW targets, to improve drop-in
compatibility compared to GNU ld, but produce a warning to alert users
that the option really has no effect for these targets.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Use getAllOnesConstant.


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

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/X86/X86ISelLoweringCall.cpp

  Log Message:
  -----------
  [ARM] Use SelectonDAG::getSignedConstant.


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

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

  Log Message:
  -----------
  [AArch64] Use SelectionDAG::getSignedConstant/getAllOnesConstant.


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

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/TargetPassConfig.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/LinkAllPasses.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Transforms/Scalar.h
    A llvm/include/llvm/Transforms/Scalar/LoopTermFold.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Transforms/Scalar/CMakeLists.txt
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/lib/Transforms/Scalar/LoopTermFold.cpp
    M llvm/lib/Transforms/Scalar/Scalar.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/lsr-cost-compare.ll
    M llvm/test/Transforms/LoopStrengthReduce/RISCV/term-fold-crash.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold-negative-testcase.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-term-fold.ll
    M llvm/test/Transforms/LoopStrengthReduce/lsr-unreachable-bb-phi-node.ll

  Log Message:
  -----------
  [LSR] Split the -lsr-term-fold transformation into it's own pass (#104234)

This transformation doesn't actually use any of the internal state of
LSR and recomputes all information from SCEV.  Splitting it out makes
it easier to test.
    
Note that long term I would like to write a version of this transform
which *is* integrated with LSR's solver, but if that happens, we'll
just delete the extra pass.
    
Integration wise, I switched from using TTI to using a pass configuration
variable.  This seems slightly more idiomatic, and means we don't run
the extra logic on any target other than RISCV.


  Commit: addeb22f109158921bae9d91fb76eda99081fa82
      https://github.com/llvm/llvm-project/commit/addeb22f109158921bae9d91fb76eda99081fa82
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 27a62ec72aed


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

  Changed paths:
    M llvm/lib/Target/VE/VECustomDAG.cpp
    M llvm/lib/Target/VE/VEInstrInfo.td

  Log Message:
  -----------
  [VE] Use SelectionDAG::getSignedConstant/getAllOnesConstant.


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

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-firstprivate.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Fix MLIR->LLVM value matching in privatization logic (#103718)

Fixes #102935

Updates matching logic for finding the LLVM value that corresponds to an
MLIR value. We need that matching to find the delayed privatizer for an
LLVM value being privatized.

The issue occures when there is an "indirect" correspondence between
MLIR and LLVM values: in some cases the values we are trying to match
stem from a pair of load/store ops that point to the same memref. This
PR adds such matching logic.


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

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h

  Log Message:
  -----------
  [APInt] Replace enum with static constexpr member variables. NFC

With C++17 we no longer need the enum to prevent ODR use.


  Commit: 88f801037338a2c273a8f6dea8ebcb0c48a2cc06
      https://github.com/llvm/llvm-project/commit/88f801037338a2c273a8f6dea8ebcb0c48a2cc06
  Author: Mike Crowe <mac at mcrowe.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy] Correct typo in ReleaseNotes.rst (#104674)


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

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp

  Log Message:
  -----------
  [PowerPC] Use MathExtras helpers to simplify code. NFC (#104691)


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

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td

  Log Message:
  -----------
  [RISCV] Remove unused tablegen classes from unratified Zbp instructions. NFC

These weren't removed when we removed Zbp.


  Commit: 07bd3bb9b7eb34426a81de2b988f53f08611ab35
      https://github.com/llvm/llvm-project/commit/07bd3bb9b7eb34426a81de2b988f53f08611ab35
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Pointer.cpp

  Log Message:
  -----------
  [clang][bytecode][NFC] Improve Pointer::print()

Do not access PointeeStorage.BS.Pointee if we have a non-block pointer
and extend printing to handle function pointers as well.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.cpp
    M clang/lib/AST/ByteCode/Pointer.h
    A clang/test/AST/ByteCode/codegen.c

  Log Message:
  -----------
  [clang][bytecode] IntPointer::atOffset() should append (#104686)

... to current offset. This breaks other tests which this commit also
fixes. Namely, getIndex() should return the integer representation for
non-block pointers.


  Commit: 11259343593043c77678b59d420159fcd147a858
      https://github.com/llvm/llvm-project/commit/11259343593043c77678b59d420159fcd147a858
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ByteCode/InterpBuiltin.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/Sema/constant-builtins-2.c

  Log Message:
  -----------
  [Clang] `constexpr` builtin floating point classification / comparison functions (#94118)

As per [P0533R9](https://wg21.link/P0533R9), the corresponding C++
`[c.math.fpclass]` standard library functions for the C macros are now
`constexpr`.

The only classification function that wasn't already `constexpr` was
`__builtin_signbit`.
The floating point comparison functions `__builtin_isgreater`,
`__builtin_isgreaterequal`, `__builtin_isless`, `__builtin_islessequal`,
`__builtin_islessgreater` and `__builtin_isunordered` are now
`constexpr`.
The C23 macro `iseqsig` is not currently supported because
`__bulitin_iseqsig` doesn't exist yet (and C++26 is still currently
based on C18).

This also allows them to be constant folded in C, matching the behaviour
of GCC.


  Commit: 10fe531d6c9d46fb9584d33782f26d27887c72fd
      https://github.com/llvm/llvm-project/commit/10fe531d6c9d46fb9584d33782f26d27887c72fd
  Author: David Green <david.green at arm.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-cxx.td

  Log Message:
  -----------
  [GlobalISel] Add and use an Opcode variable and update match-table-cxx.td checks. NFC


  Commit: c4092d326ae4989f54c5f01d3a077841fd76bc2f
      https://github.com/llvm/llvm-project/commit/c4092d326ae4989f54c5f01d3a077841fd76bc2f
  Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaStmt.cpp
    M clang/test/Sema/c2x-nodiscard.c

  Log Message:
  -----------
  [Clang] warn on discarded [[nodiscard]] function results after casting in C (#104677)

Fixes #104391


  Commit: 71801707e33c235656b172fa7dfb8662473a95c2
      https://github.com/llvm/llvm-project/commit/71801707e33c235656b172fa7dfb8662473a95c2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/test/Sema/constant-builtins-2.c

  Log Message:
  -----------
  [clang][test] Remove bytecode interpreter RUN line from test

Specifically, from constant-builtins2. This breaks runners using
sanitizers.

See https://github.com/llvm/llvm-project/pull/94118


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll

  Log Message:
  -----------
  [LV] Don't cost branches and conditions to empty blocks.

Update the legacy cost model skip branches with successors blocks
that are empty or only contain dead instructions, together with their
conditions. Such branches and conditions won't result in any
generated code and will be cleaned up by VPlan transforms.

This fixes a difference between the legacy and VPlan-based cost model.

When running LV in its usual pipeline position, such dead blocks should
already have been cleaned up, but they might be generated manually or by
fuzzers.

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


  Commit: ff80e1ffe79d893be990cda981526a321697eb9a
      https://github.com/llvm/llvm-project/commit/ff80e1ffe79d893be990cda981526a321697eb9a
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/saturating-add-sub.ll

  Log Message:
  -----------
  [InstSimplify] Simplify `uadd.sat(X, Y) u>= X + Y` and `usub.sat(X, Y) u<= X, Y` (#104698)

These patterns are found in harfbuzz/typst.

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


  Commit: 29811a81f77c22523dbfffbd2d39ac731baea37b
      https://github.com/llvm/llvm-project/commit/29811a81f77c22523dbfffbd2d39ac731baea37b
  Author: PaulXiCao <paulxicao7 at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17.rst

  Log Message:
  -----------
  [libc++][docs] Fixing hyperlink for mathematical special function documentation (#104444)

Inter-documentation link for progress tracking of mathematical special
function is fixed.


  Commit: 6ed2a6bf0d26122210c8732d80431529784c4000
      https://github.com/llvm/llvm-project/commit/6ed2a6bf0d26122210c8732d80431529784c4000
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M flang/include/flang/Evaluate/integer.h
    M flang/lib/Evaluate/integer.cpp

  Log Message:
  -----------
  [Flang]: Use actual endianness for Integer<80> (#103928)

This PR is to use the actual endianness of the platform when instantiate
Integer<80> so that AIX (big-endian) will not get confused.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Boolean.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td

  Log Message:
  -----------
  [clang][bytecode] Only booleans can be inverted

No need to have the Inv() function be templated.


  Commit: e05307f6633ca405834a4fd24d858ffb676c9170
      https://github.com/llvm/llvm-project/commit/e05307f6633ca405834a4fd24d858ffb676c9170
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Avoid multiple calls to getCurrentDirective in DSAChecker, NFC


  Commit: dd40632b52d8da2146a12254afc900315ac3c2e4
      https://github.com/llvm/llvm-project/commit/dd40632b52d8da2146a12254afc900315ac3c2e4
  Author: c8ef <c8ef at outlook.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/constant-expression-cxx11.cpp

  Log Message:
  -----------
  [clang] fix divide by zero in ComplexExprEvaluator (#104666)

fix: #55390.

---------

Co-authored-by: Sergei Barannikov <barannikov88 at gmail.com>


  Commit: bbcb625798514f1cd6ef04818381d38ea26b23e5
      https://github.com/llvm/llvm-project/commit/bbcb625798514f1cd6ef04818381d38ea26b23e5
  Author: Mike Crowe <mac at mcrowe.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp

  Log Message:
  -----------
  [clang-tidy] Support member functions with modernize-use-std-print/format (#104675)

These checks can be made to work on member functions quite easily and
it's not unknown to have at least printf-style functions as members.
Let's remove the restriction.


  Commit: de5ea2d122c31e1551654ff506c33df299f351b8
      https://github.com/llvm/llvm-project/commit/de5ea2d122c31e1551654ff506c33df299f351b8
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

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

  Log Message:
  -----------
  [clang][OpenMP] Change /* ParamName */ to /*ParamName=*/, NFC

Change
  foo(/* Index */ 0);
to
  foo(/*Index=*/0);

There was a mix of these two formats in the source. Clang-format treats
the latter one a bit better, so use that one consistently.


  Commit: bcbe9d6c776bc02bfe8f911607240af0d1775d79
      https://github.com/llvm/llvm-project/commit/bcbe9d6c776bc02bfe8f911607240af0d1775d79
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/attr-lifetimebound.cpp

  Log Message:
  -----------
  [Clang] Do not allow `[[clang::lifetimebound]]` on explicit object member functions (#96113)

Previously, `[[clang::lifetimebound]]` applied to an explicit object
member function did nothing and was silently ignored.

Now issue the error diagnostic `'lifetimebound' attribute cannot be
applied; explicit object member function has no implicit object
parameter`


  Commit: 0d150db214e2aa13a825b563c7238e1243d61db1
      https://github.com/llvm/llvm-project/commit/0d150db214e2aa13a825b563c7238e1243d61db1
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    R clang/include/clang/Rewrite/Core/DeltaTree.h
    M clang/include/clang/Rewrite/Core/HTMLRewrite.h
    R clang/include/clang/Rewrite/Core/RewriteBuffer.h
    R clang/include/clang/Rewrite/Core/RewriteRope.h
    M clang/include/clang/Rewrite/Core/Rewriter.h
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
    M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
    M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Rewrite/CMakeLists.txt
    R clang/lib/Rewrite/DeltaTree.cpp
    M clang/lib/Rewrite/HTMLRewrite.cpp
    R clang/lib/Rewrite/RewriteRope.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/unittests/Rewrite/CMakeLists.txt
    R clang/unittests/Rewrite/RewriteBufferTest.cpp
    A llvm/include/llvm/ADT/DeltaTree.h
    A llvm/include/llvm/ADT/RewriteBuffer.h
    A llvm/include/llvm/ADT/RewriteRope.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/DeltaTree.cpp
    A llvm/lib/Support/RewriteBuffer.cpp
    A llvm/lib/Support/RewriteRope.cpp
    M llvm/unittests/ADT/CMakeLists.txt
    A llvm/unittests/ADT/RewriteBufferTest.cpp

  Log Message:
  -----------
  [llvm][clang] Move RewriterBuffer to ADT. (#99770)

These classes are not specific to clang and useful for other rewriter
tools (flagged in previous review).


  Commit: a28c20244242e6f4faad3e8ac673cb8f972c9d7a
      https://github.com/llvm/llvm-project/commit/a28c20244242e6f4faad3e8ac673cb8f972c9d7a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Rewrite/BUILD.gn
    M llvm/utils/gn/secondary/clang/unittests/Rewrite/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 0d150db214e2


  Commit: caa1070b1c880627b223dc3884860a64e4b510c7
      https://github.com/llvm/llvm-project/commit/caa1070b1c880627b223dc3884860a64e4b510c7
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/test/Driver/hip-toolchain-rdc.hip

  Log Message:
  -----------
  [HIP] search fatbin symbols for libs passed by -l (#104638)

For -fgpu-rdc linking, clang needs to collect undefined fatbin symbols
and resolve them to the embedded fatbin.

This has been done for object files and archive files passed as input
files to clang.

However, the same action is not performed for archive files passed
through -l options, which causes missing symbols.

This patch adds that.


  Commit: 5c13f9aea280f1d499be7eca45b85371b0240c48
      https://github.com/llvm/llvm-project/commit/5c13f9aea280f1d499be7eca45b85371b0240c48
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M libc/startup/gpu/amdgpu/start.cpp

  Log Message:
  -----------
  [libc] Add single threaded kernel attributes to AMDGPU startup utility (#104651)

Summary:
I fixed the errors here recently so I can actually use these. This
shouldn't impact much, just should hopefully make the code generated
slightly better.


  Commit: deb6b45c32687275a6d4e24326ffc9700f8ae52c
      https://github.com/llvm/llvm-project/commit/deb6b45c32687275a6d4e24326ffc9700f8ae52c
  Author: jameshu15869 <55058507+jameshu15869 at users.noreply.github.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M libc/benchmarks/gpu/LibcGpuBenchmark.cpp
    M libc/benchmarks/gpu/LibcGpuBenchmark.h
    M libc/benchmarks/gpu/src/math/CMakeLists.txt
    A libc/benchmarks/gpu/src/math/atan2_benchmark.cpp
    M libc/benchmarks/gpu/timing/amdgpu/timing.h
    M libc/benchmarks/gpu/timing/nvptx/timing.h

  Log Message:
  -----------
  [libc][gpu] Add Atan2 Benchmarks (#104708)

This PR adds benchmarking for `atan2()`, `__nv_atan2()`, and
`__ocml_atan2_f64()` using the same setup as `sin()`. This PR also adds
support for throughout bencmarking for functions with 2 inputs.


  Commit: 79d021116d8434d28e179660d31f4bd6cdbccd62
      https://github.com/llvm/llvm-project/commit/79d021116d8434d28e179660d31f4bd6cdbccd62
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    A llvm/test/MC/ELF/relax-branch.s

  Log Message:
  -----------
  [MC] Add test that requires multiple relaxation steps

This can catch the code size regression
due to the reverted be5a845e4c29aadb513ae6e5e2879dccf37efdbb
("[MC] Compute fragment offsets eagerly").


  Commit: bf5cd4220d20d0ee5533d55f463612fbe2980071
      https://github.com/llvm/llvm-project/commit/bf5cd4220d20d0ee5533d55f463612fbe2980071
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp

  Log Message:
  -----------
  [MIPS] Remove expensive LLVM_DEBUG relocation dump

The input is usually ordered by offset, so inspecting the output is
sufficient. The super expensive relocation dump is not conventional.


  Commit: 3496245ed3d0b4d24444260da77dcdb93512fb5a
      https://github.com/llvm/llvm-project/commit/3496245ed3d0b4d24444260da77dcdb93512fb5a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

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

  Log Message:
  -----------
  [clang-format] Change GNU style language standard to LS_Latest (#104669)

Fixes #104655.


  Commit: 0224d8355d84b3eee2390cd13bb0b749ba40b0db
      https://github.com/llvm/llvm-project/commit/0224d8355d84b3eee2390cd13bb0b749ba40b0db
  Author: Frederic Cambus <fred at statdns.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M clang/tools/scan-build/man/scan-build.1

  Log Message:
  -----------
  Update Clang version from 19 to 20 in scan-build.1.

Similar to D110763.


  Commit: 70f3863b5f30e856278f399b068a30bc4d5d16c2
      https://github.com/llvm/llvm-project/commit/70f3863b5f30e856278f399b068a30bc4d5d16c2
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SDPatternMatch.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp

  Log Message:
  -----------
  [DAG][PatternMatch] Add support for matchers with flags; NFC

Add support for matching with `SDNodeFlags` i.e `add` with `nuw`.

This patch adds helpers for `or disjoint` or `zext nneg` with the same
names as we have in IR/PatternMatch api.

Closes #103060


  Commit: c6e16a49ef41261b01aabc27f4b806af6cc81a20
      https://github.com/llvm/llvm-project/commit/c6e16a49ef41261b01aabc27f4b806af6cc81a20
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
    M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
    M llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  [TLI] Add support for inferring attr `cold`/`noreturn` on `std::terminate` and `__cxa_throw`

These functions are both inherently on the error path so `cold` seems
appropriate. `noreturn` is definitional.

Closes #101622


  Commit: 1a6bf94407af7962345ffaf6ac9e9a9766fd8913
      https://github.com/llvm/llvm-project/commit/1a6bf94407af7962345ffaf6ac9e9a9766fd8913
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp

  Log Message:
  -----------
  [MC] Remove ELFRelocationEntry::OriginalAddend

For MIPS's o32 ABI (REL), https://reviews.llvm.org/D19718 introduced
`OriginalAddend` to find the matching R_MIPS_LO16 relocation for
R_MIPS_GOT16 when STT_SECTION conversion is applicable.

    lw $2, %lo(local1)
    lui $2, %got(local1)

However, we could just store the original `Addend` in
`ELFRelocationEntry` and remove `OriginalAddend`.

Note: The relocation ordering algorithm in
https://reviews.llvm.org/D19718 is inefficient (#104562), which will be
addressed by another patch.


  Commit: f16125a13ce725b1e936468e08257c0fbb80c0fa
      https://github.com/llvm/llvm-project/commit/f16125a13ce725b1e936468e08257c0fbb80c0fa
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/X86/fold-loop-of-urem.ll
    A llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll

  Log Message:
  -----------
  [CodeGenPrepare][X86] Add tests for folding `urem` with loop invariant value; NFC


  Commit: c64ce8bf283120fd145a57d0e61f9697f719139d
      https://github.com/llvm/llvm-project/commit/c64ce8bf283120fd145a57d0e61f9697f719139d
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll

  Log Message:
  -----------
  [CodeGenPrepare] Folding `urem` with loop invariant value

```
for(i = Start; i < End; ++i)
   Rem = (i nuw+ IncrLoopInvariant) u% RemAmtLoopInvariant;
```
 ->
```
Rem = (Start nuw+ IncrLoopInvariant) % RemAmtLoopInvariant;
for(i = Start; i < End; ++i, ++rem)
   Rem = rem == RemAmtLoopInvariant ? 0 : Rem;
```

In its current state, only if `IncrLoopInvariant` and `Start` both
being zero.

Alive2 seemed unable to prove this (see:
https://alive2.llvm.org/ce/z/ATGDp3 which is clearly wrong but still
checks out...) so wrote an exhaustive test here:
https://godbolt.org/z/WYa561388

Closes #96625


  Commit: 7d5281a66d5d42c65cfb9d95eaf9aa01afb089fb
      https://github.com/llvm/llvm-project/commit/7d5281a66d5d42c65cfb9d95eaf9aa01afb089fb
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU][NFC] Fix preload-kernarg.ll test after attributor move (#98840)

Update was to stale version of the test with missing functions and extra
runlines that had been removed.


  Commit: 4eefc8d4cee1808f44710622c8c3b66281feb8a3
      https://github.com/llvm/llvm-project/commit/4eefc8d4cee1808f44710622c8c3b66281feb8a3
  Author: Bimo <rui.xu at intel.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/python/mlir/dialects/tensor.py
    M mlir/test/python/dialects/linalg/opdsl/emit_matmul.py
    M mlir/test/python/dialects/linalg/ops.py

  Log Message:
  -----------
  [MLIR][Python] enhance python api for tensor.empty (#103087)

Since we have extended `EmptyOp`, maybe we should also provide a
corresponding `tensor.empty` method. In the downstream usage, I tend to
use APIs with all lowercase letters to create ops, so having a
`tensor.empty` to replace the extended `tensor.EmptyOp` would keep my
code style consistent.


  Commit: 7f87b5bf0e2f0e01735e5abe724d7fe5c69d202e
      https://github.com/llvm/llvm-project/commit/7f87b5bf0e2f0e01735e5abe724d7fe5c69d202e
  Author: Tianqing Wang <tianqing.wang at intel.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SwitchLoweringUtils.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/unpredictable-brcond.ll

  Log Message:
  -----------
  [SelectionDAG][X86] Preserve unpredictable metadata for conditional branches in SelectionDAG, as well as JCCs generated by X86 backend. (#102101)

This builds on 09515f2c2, which preserves unpredictable metadata in
CodeGen for `select`. This patch does it for conditional branches.


  Commit: 731ae694a3d8f4d39e855c9a82c97d4f170fd48a
      https://github.com/llvm/llvm-project/commit/731ae694a3d8f4d39e855c9a82c97d4f170fd48a
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-18 (Sun, 18 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll

  Log Message:
  -----------
  Revert "[CodeGenPrepare] Folding `urem` with loop invariant value"

This reverts commit c64ce8bf283120fd145a57d0e61f9697f719139d.

Seems to be causing stage2 failures on buildbots. Reverting while I
investigate.


  Commit: a80a90e34b1f26422ebf56e922abe2c193607c81
      https://github.com/llvm/llvm-project/commit/a80a90e34b1f26422ebf56e922abe2c193607c81
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/rvv/zvbc.s
    A llvm/test/MC/RISCV/rvv/zvkgs.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV][MC] Support experimental extensions Zvbc32e and Zvkgs (#103709)

These two extensions add addtional instructions for carryless
multiplication with 32-bits elements and Vector-Scalar GCM
instructions.

Please see https://github.com/riscv/riscv-isa-manual/pull/1306.


  Commit: 82fdfd4aa7f60b1f8e715211b925a7f2bfe57ea9
      https://github.com/llvm/llvm-project/commit/82fdfd4aa7f60b1f8e715211b925a7f2bfe57ea9
  Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/Error.cpp

  Log Message:
  -----------
  [TableGen] Print Error and not crash on dumping non-string values (#104568)

Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>


  Commit: 7faf1a0868cb6a6a05e454044239292c454e0a71
      https://github.com/llvm/llvm-project/commit/7faf1a0868cb6a6a05e454044239292c454e0a71
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Sparc/DelaySlotFiller.cpp
    M llvm/lib/Target/Sparc/LeonFeatures.td
    M llvm/lib/Target/Sparc/LeonPasses.cpp
    M llvm/lib/Target/Sparc/LeonPasses.h
    M llvm/lib/Target/Sparc/Sparc.h
    M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
    M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
    A llvm/test/CodeGen/SPARC/tn0009.mir
    A llvm/test/CodeGen/SPARC/tn0010.mir
    A llvm/test/CodeGen/SPARC/tn0011.ll
    A llvm/test/CodeGen/SPARC/tn0012.mir
    A llvm/test/CodeGen/SPARC/tn0013.mir

  Log Message:
  -----------
  [Sparc] Add errata workaround pass for GR712RC and UT700 (#103843)

This patch adds a pass that provides workarounds for the errata
described in GRLIB-TN-0009, GRLIB-TN-0010, GRLIB-TN-0011, GRLIB-TN-0012,
and GRLIB-TN-0013, that are applicable to the GR712RC and UT700. The
documents are available for download from here:

https://www.gaisler.com/index.php/information/app-tech-notes

The pass will detect certain sensitive instruction sequences and prevent
them from occurring by inserting NOP instruction. Below is an overview
of each of the workarounds. A similar implementation is available in
GCC.

GRLIB-TN-0009:

* Insert NOPs to prevent the sequence (stb/sth/st/stf) -> (single
non-store/load instruction) -> (any store)

* Insert NOPs to prevent the sequence (std/stdf) -> (any store)

GRLIB-TN-0010:

* Insert a NOP between load instruction and atomic instruction (swap and
casa).

* Insert a NOP at branch target if load in delay slot and atomic
instruction at branch target.

* Do not allow functions to begin with atomic instruction.

GRLIB-TN-0011:

* Insert .p2align 4 before atomic instructions (swap and casa).

GRLIB-TN-0012:

* Place a NOP at the branch target of an integer branch if it is a
floating-point operation or a floating-point branch.

GRLIB-TN-0013:

* Prevent (div/sqrt) instructions in the delay slot.

* Insert NOPs to prevent the sequence (div/sqrt) -> (two or three
floating point operations or loads) -> (div/sqrt).

* Do not insert NOPs if any of the floating point operations have a
dependency on the destination register of the first (div/sqrt).

* Do not insert NOPs if one of the floating point operations is a
(div/sqrt).

* Insert NOPs to prevent (div/sqrt) followed by a branch.


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

  Changed paths:
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add more tests for RISCVISAInfo::checkDependency(). NFC


  Commit: 164d1230f78b32647e1a6e948245e75f557a8068
      https://github.com/llvm/llvm-project/commit/164d1230f78b32647e1a6e948245e75f557a8068
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp

  Log Message:
  -----------
  [RISCV] Simplify reserse fixed regs (#104736)

Add a macro to simplify some codes.


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

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Merge some ISA error reporting together and make some errors more precise.

Loop over the extension names that have the same error message.

Print the name of Zvk* extensions instead of 'zvk*'.


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

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Add helper functions to exploit similarity of some RISCVISAInfo::checkDependency() error strings. NFC


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

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Make extension names lower case in RISCVISAInfo::checkDependency() error messages.


  Commit: 985d64b03accbed8500a85372d716367d89b61be
      https://github.com/llvm/llvm-project/commit/985d64b03accbed8500a85372d716367d89b61be
  Author: hev <wangrui at loongson.cn>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
    M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
    M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-as-xvshuf.ll
    M llvm/test/CodeGen/LoongArch/lasx/vselect.ll
    M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/shuffle-as-vshuf.ll
    M llvm/test/CodeGen/LoongArch/lsx/vselect.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll

  Log Message:
  -----------
  [LoongArch] Merge base and offset for LSX/LASX memory accesses (#104452)


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/CodeGen/Hexagon/block-addr.ll
    M llvm/test/DebugInfo/ARM/single-constant-use-preserves-dbgloc.ll
    M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
    M llvm/test/Transforms/SimplifyCFG/sink-and-convert-switch.ll

  Log Message:
  -----------
  [SimplifyCFG] Don't block sinking for allocas if no phi created (#104579)

SimplifyCFG sinking currently does not sink loads/stores of allocas,
because historically SROA was unable to handle the resulting IR. Since
then, SROA both learned to speculate loads/stores over selects and phis,
*and* SimplifyCFG sinking has been deferred to the end of the function
simplification pipeline, which means that SROA happens before it.

As such, I believe that this workaround should no longer be necessary.
Given how sensitive SimplifyCFG sinking seems to be, this patch takes a
very conservative step towards removing this, by allowing sinking if we
don't actually need to form a phi over the pointer argument.

This fixes https://github.com/llvm/llvm-project/issues/104567, where
sinking a store to an escaped alloca allows converting a switch into
arithmetic.


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

  Changed paths:
    M mlir/docs/BytecodeFormat.md

  Log Message:
  -----------
  [mlir][docs] Update Bytecode documentation (#99854)

There were some discrepancies between the dialect section documentation
and the implementation.


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

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

  Log Message:
  -----------
  [VPlan] Move some LoopVectorizationPlanner helpers to VPlan.cpp (NFC).

Members not requiring access to LoopVectorizationLegality or
LoopVectorizationCostModel can safely be moved out of the very large
LoopVectorization.cpp and are more accurately placed in VPlan.cpp


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver2.td
    M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Znver2/resources-avx2.s

  Log Message:
  -----------
  [X86] VPERM2*128 instructions aren't microcoded on znver2

This appears to be a copy+paste error from znver1 (which isn't really microcoded either - but it is rather complex!).

Confirmed with Agner + uops.info.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ScheduleZnver1.td
    M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/Znver1/resources-avx2.s

  Log Message:
  -----------
  [X86] VPERM2*128 instructions aren't microcoded on znver1

AMD refer to them as microcoded, but not in the same way as LLVM - the uop count and pipe usage is high but predictable

Confirmed with Agner + uops.info.


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

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

  Log Message:
  -----------
  [X86] Cleanup lowerShuffleWithUNPCK/PACK signatures to match (most) other lowerShuffle* methods. NFC.


  Commit: 9211977d134d81cbc7a24f13e244334484c31b87
      https://github.com/llvm/llvm-project/commit/9211977d134d81cbc7a24f13e244334484c31b87
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll

  Log Message:
  -----------
  [AArch64][SME] Return false from produceCompactUnwindFrame if VG save required. (#104588)

The compact unwind format requires all registers are stored in pairs, so
return false from produceCompactUnwindFrame if we require saving VG.


  Commit: 63267ca9016aa334b329aa408716456b4e3799c8
      https://github.com/llvm/llvm-project/commit/63267ca9016aa334b329aa408716456b4e3799c8
  Author: Weining Lu <luweining at loongson.cn>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll

  Log Message:
  -----------
  [LoongArch] Fix the assertion for atomic store with 'ptr' type


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

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Improve the noalias propagation during inlining (#104750)

This commit changes the LLVM dialect's inliner interface to properly
propagate noalias information to memory accesses that have different
underlying object. By always introducing an SSACopy intrinsic, it's
possible to understand that specific memory operations are using
unrelated pointers. Previously, the backwards slice walk did continue
beyond the boundary of the original function and failed to reason about
the "underlying objects".


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

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

  Log Message:
  -----------
  [VPlan] Rename getBestVF -> computeBestVF (NFC).

As suggested in https://github.com/llvm/llvm-project/pull/103033, more
accurately rename to computeBestVF, as it now does not simply return the
best VF, but directly computes it.


  Commit: de5deb7b07db39810c4b07870c75ccc8dccc5fe9
      https://github.com/llvm/llvm-project/commit/de5deb7b07db39810c4b07870c75ccc8dccc5fe9
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/aarch64-elf-pauthabi.c
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/test/CodeGen/AArch64/note-gnu-property-elf-pauthabi.ll
    M llvm/test/tools/llvm-readobj/ELF/AArch64/aarch64-feature-pauth.s
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [PAC][ELF][AArch64] Encode several ptrauth features in PAuth core info (#102508)

For llvm_linux platform, define the following meaning for bits 9, 10,
11:

- bit 9: set if indirect gotos signing is enabled;
- bit 10: set if type info vtable pointer discrimination is enabled;
- bit 11: set if function pointer type discrimination is enabled.


  Commit: b6d1df2afd0a464f3f37055f16fb9321a3b2eaaf
      https://github.com/llvm/llvm-project/commit/b6d1df2afd0a464f3f37055f16fb9321a3b2eaaf
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/flags.c
    A llvm/test/CodeGen/PowerPC/noredzone.ll

  Log Message:
  -----------
  [PowerPC] Support -mno-red-zone option (#94581)


  Commit: cde806b0e63fddcca013536b4bd55e45607205d1
      https://github.com/llvm/llvm-project/commit/cde806b0e63fddcca013536b4bd55e45607205d1
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld][MachO] Fix a suspicous assert in SyntheticSections.cpp

This was comparing some .size() (uint64_t) against the sizeof a size_t
which changes with system bitness. This produced a warning that
brought this to my attention.

These tests were failing too on 32 bit Arm only:
  lld :: MachO/objc-category-merging-complete-test.s
  lld :: MachO/objc-category-merging-minimal.s

The assert I think meant to check the value of target->wordSize,
not the size of its type. Which is a type that changes size between
systems.


  Commit: 74a512df2bea0f0d1f314c6b8dc33c97f9086336
      https://github.com/llvm/llvm-project/commit/74a512df2bea0f0d1f314c6b8dc33c97f9086336
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
    M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp

  Log Message:
  -----------
  [mlir][vector] Populate sink patterns in apply_patterns.vector.reduction_to_contract (#104754)

This restores the functionality to before:
https://github.com/llvm/llvm-project/commit/42944da5ba7617bbc02f341e9ef401c325310a73
This fixes a buildbot failure:
https://lab.llvm.org/buildbot/#/builders/143/builds/1487


  Commit: 00def06c6e9a0582e85bef5f3a186839c48d1ae2
      https://github.com/llvm/llvm-project/commit/00def06c6e9a0582e85bef5f3a186839c48d1ae2
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Transforms/PassBuilder.h
    M llvm/lib/Passes/PassBuilderBindings.cpp
    M llvm/unittests/Passes/PassBuilderBindings/PassBuilderBindingsTest.cpp

  Log Message:
  -----------
  [LLVM][NewPM] Add C API for running the pipeline on a single function. (#103773)

By adding a new entrypoint, `LLVMRunPassesOnFunction`, as suggested in
https://discourse.llvm.org/t/newpm-c-api-questions/80598.

Also removes erroneous `LLVMConsumeError`s from the pass builder unit
tests as the string conversion already consumes the error, causing an
abort when the test would fail.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/unsafe-vf-hint-remark.ll

  Log Message:
  -----------
  [VPlan] Emit note when UserVF > MaxUserVF (NFCI).

As suggested in https://github.com/llvm/llvm-project/pull/103033, add a
remark when the UserVF is ignored due to it being larger than MaxUserVF.

Only changes behavior of diagnostic/debug output.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    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
    M llvm/test/Transforms/PhaseOrdering/partialord-ule.ll

  Log Message:
  -----------
  [InstCombine] Fold `(x < y) ? -1 : zext(x != y)` into `u/scmp(x,y)` (#101049)

This patch adds the aforementioned fold to InstCombine. This pattern is
produced after naive implementations of 3-way comparison in high-level
languages are transformed into LLVM IR and then optimized.

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


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

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

  Log Message:
  -----------
  [VPlan] Rename getBestPlanFor -> getPlanFor (NFC).

As suggested in https://github.com/llvm/llvm-project/pull/103033, more
accurately rename to getPlanFor , as it simplify returns the VPlan for
VF, relying on the fact that there is a single VPlan for each VF at the
moment.


  Commit: 816068e462888f31f4bcf71f2f728eb77ff2ea15
      https://github.com/llvm/llvm-project/commit/816068e462888f31f4bcf71f2f728eb77ff2ea15
  Author: tcwzxx <tcwzxx at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [NFC][SLP] Remove useless code of the schedule (#104697)

Currently, the SLP schedule has two containers of `ScheduleData`:
`ExtraScheduleDataMap` and `ScheduleDataMap`. However, the
`ScheduleData` in `ExtraScheduleDataMap` is only used to indicate
whether the instruction is processed or not and does not participate in
the schedule, which is useless. `ScheduleDataMap` is sufficient for this
purpose. The `OpValue` member is used only in `ExtraScheduleDataMap`,
which is also useless.


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

  Changed paths:
    M llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
    M llvm/test/Analysis/CostModel/X86/icmp-latency.ll
    M llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/icmp.ll

  Log Message:
  -----------
  [CostModel][X86] Add cost tests for scmp/ucmp intrinsics


  Commit: 0cc6b464f8adb739e6f9bcc9bda8cff9bb1f1c2a
      https://github.com/llvm/llvm-project/commit/0cc6b464f8adb739e6f9bcc9bda8cff9bb1f1c2a
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/docs/ExtendingLLVM.rst

  Log Message:
  -----------
  [docs] Update a filename, fix indentation (#103018)


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/abds-neg.ll
    M llvm/test/CodeGen/X86/abds.ll
    M llvm/test/CodeGen/X86/abdu-neg.ll
    M llvm/test/CodeGen/X86/abdu.ll

  Log Message:
  -----------
  [X86] LowerABD - simplify i32/i64 to use sub+sub+cmov instead of repeating nodes via abs (#102174)

Using X86ISD::SUB nodes directly allows us to drive the X86ISD::CMOV node with exact flags instead of trying to cleanup the generic codegen via ICMP/SUBO nodes.


  Commit: 50daa2397f831f3577cf8f9057f047021867dc88
      https://github.com/llvm/llvm-project/commit/50daa2397f831f3577cf8f9057f047021867dc88
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/IR/DataLayout.cpp
    M llvm/test/Transforms/InstCombine/crash.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/unittests/IR/DataLayoutTest.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [DataLayout] Refactor parsing of i/f/v/a specifications (#104699)

Split off of #104545 to reduce patch size.


  Commit: 3e999bbc2ddfc8be7b2d1a250c9905c905e6ce81
      https://github.com/llvm/llvm-project/commit/3e999bbc2ddfc8be7b2d1a250c9905c905e6ce81
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Program.cpp
    M clang/test/Modules/merge-using-decls.cpp

  Log Message:
  -----------
  [clang][bytecode] Use first FieldDecl instead of asserting (#104760)

This assertion fails sometimes. We use the first decl for lookup later,
so let's use the first decl here as well.


  Commit: 13865b09c6b0c767a8c3d4f49662e6c503260976
      https://github.com/llvm/llvm-project/commit/13865b09c6b0c767a8c3d4f49662e6c503260976
  Author: David Green <david.green at arm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll

  Log Message:
  -----------
  [AArch64] Add fneg(fmul) and fmul(fneg) tests. NFC


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

  Changed paths:
    M clang/lib/AST/ByteCode/MemberPointer.cpp
    M clang/test/AST/ByteCode/memberpointers.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix member pointers to IndirectFieldDecls (#104756)


  Commit: a567d4598755219e535eb04d21b43c3624526714
      https://github.com/llvm/llvm-project/commit/a567d4598755219e535eb04d21b43c3624526714
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c

  Log Message:
  -----------
  Require !windows instead of XFAIL'ing ubsan/TestCases/Integer/bit-int.c

The test would unexpectedly pass on Windows when there's 128-bit runtime
routines available. See comment on #104494


  Commit: 3188e9b4e0f106abd683829906a21a98655bb794
      https://github.com/llvm/llvm-project/commit/3188e9b4e0f106abd683829906a21a98655bb794
  Author: Julian Brown <julian.brown at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/OpenMP/loop_collapse_1.c
    A clang/test/OpenMP/loop_collapse_2.cpp

  Log Message:
  -----------
  [clang][OpenMP] Diagnose badly-formed collapsed imperfect loop nests (#60678) (#101305)

This patch fixes a couple of cases where Clang aborts with loop nests
that are being collapsed (via the relevant OpenMP clause) into a new,
combined loop.

The problematic cases happen when a variable declared within the loop
nest is used in the (init, condition, iter) statement of a more
deeply-nested loop. I don't think these cases (generally?) fall under
the non-rectangular loop nest rules as defined in OpenMP 5.0+, but I
could be wrong (and anyway, emitting an error is better than crashing).

In terms of implementation: the crash happens because (to a first
approximation) all the loop bounds calculations are pulled out to the
start of the new, combined loop, but variables declared in the loop nest
"haven't been seen yet". I believe there is special handling for
iteration variables declared in "for" init statements, but not for
variables declared elsewhere in the "imperfect" parts of a loop nest.

So, this patch tries to diagnose the troublesome cases before they can
cause a crash. This is slightly awkward because at the point where we
want to do the diagnosis (SemaOpenMP.cpp), we don't have scope
information readily available. Instead we "manually" scan through the
AST of the loop nest looking for var decls (ForVarDeclFinder), then we
ensure we're not using any of those in loop control subexprs
(ForSubExprChecker). All that is only done when we have a "collapse"
clause.

Range-for loops can also cause crashes at present without this patch, so
are handled too.


  Commit: 7efa068f7a7ed4f42ba09cce73e8c09bb8b4e8ce
      https://github.com/llvm/llvm-project/commit/7efa068f7a7ed4f42ba09cce73e8c09bb8b4e8ce
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
    M llvm/test/tools/llvm-mca/RISCV/SiFiveP400/load.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vislide-vx.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlseg-vsseg.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vmv.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vreduce.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vrgather.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vshift-vmul.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvbc.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkg.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvkned.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvknhb.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksed.s
    A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/zvksh.s

  Log Message:
  -----------
  [RISCV] Add vector and vector crypto to SiFiveP400 scheduler model (#102155)

The SiFiveP400 scheduler model did not support vector or vector crypto.
With the addition of the sifive-p470 processor, this model needs to support
these extensions.

The processors who use this model but do not have vector or vector
crypto will never produce these instructions, so there is no impact to these
processors.

Co-authored-by: Min Hsu <min.hsu at sifive.com>


  Commit: ea28668f8c980c9987b0e2f305b0a8eff9797401
      https://github.com/llvm/llvm-project/commit/ea28668f8c980c9987b0e2f305b0a8eff9797401
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
    M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/outerproduct-i8i8i32.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Remove XFAILs (#104758)

Buildbots have been updated to QEMU 9.0.2: 
https://github.com/llvm/llvm-project/pull/104758#issuecomment-2296592845


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

  Changed paths:
    M llvm/test/DebugInfo/COFF/AArch64/arm64-register-variables.ll
    M llvm/test/DebugInfo/COFF/ARMNT/arm-register-variables.ll

  Log Message:
  -----------
  [DebugInfo] Make tests SimplifyCFG-independent (NFC)

Run SimplifyCFG over the test input and disable the SimplifyCFG
run in the backend, so that these tests are not affected by changes
to SimplifyCFG.


  Commit: 79f6ae05c139d3d5b6446f8a265a3c6e3f5b18f8
      https://github.com/llvm/llvm-project/commit/79f6ae05c139d3d5b6446f8a265a3c6e3f5b18f8
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [Clang][NFC] Fix potential null dereference in encodeTypeForFunctionPointerAuth (#104737)

This patch replaces getAs with castAs in
encodeTypeForFunctionPointerAuth to prevent dereferencing a potential
null pointer, enhancing type safety as reported by static analyzer tool.


  Commit: c60da1a271a6bb271e7703b2f7c71fbece67ab78
      https://github.com/llvm/llvm-project/commit/c60da1a271a6bb271e7703b2f7c71fbece67ab78
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c

  Log Message:
  -----------
  [clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)

- Introduce primitives for removing records from `APISet` and managing
the record chain of `RecordContext`
- Detect nested anonymous record types and remove them from the `APISet`
after they have been fully traversed and transfer ownership of child
records to the parent context (if any)


  Commit: a566635915730e6720e1b341f014c7c62af748bf
      https://github.com/llvm/llvm-project/commit/a566635915730e6720e1b341f014c7c62af748bf
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.cpp
    R llvm/lib/Target/AMDGPU/AMDGPUCodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Move AMDGPUCodeGenPassBuilder into AMDGPUTargetMachine(NFC) (#103720)

This will allow us to reuse the existing flags and the static
functions while building the pipeline for new pass manager.


  Commit: 7dd6340bdadf86bd0facdea89d1876a5c36dc33b
      https://github.com/llvm/llvm-project/commit/7dd6340bdadf86bd0facdea89d1876a5c36dc33b
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  MathExtras: template'ize alignToPowerOf2 (#97814)

Follow up on 5627794 (MathExtras: avoid unnecessarily widening types) to
change the overflow behavior of alignToPowerOf2 to only overflow if the
result is not representable in the return type. This allows us to
template'ize it, and avoid unnecessarily widening the types of
arguments.


  Commit: b18b4547f1bfaf6da37b29440a96176e807c2e6c
      https://github.com/llvm/llvm-project/commit/b18b4547f1bfaf6da37b29440a96176e807c2e6c
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c

  Log Message:
  -----------
  Revert "[clang][ExtractAPI] Stop dropping fields of nested anonymous record types when they aren't attached to variable declaration (#104600)"

This reverts commit c60da1a271a6bb271e7703b2f7c71fbece67ab78.


  Commit: a449b857241dd29a1164c483d3ee73612e45cbb4
      https://github.com/llvm/llvm-project/commit/a449b857241dd29a1164c483d3ee73612e45cbb4
  Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp
    R llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h
    M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.cpp
    M llvm/lib/Target/AMDGPU/R600TargetMachine.h

  Log Message:
  -----------
  [AMDGPU][R600] Move R600CodeGenPassBuilder into R600TargetMachine(NFC). (#103721)


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

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/hoist-common-code.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for hoisting of commutative instructions (NFC)


  Commit: b1d75fe48c940ba677614db3d891fbebcb8a41a2
      https://github.com/llvm/llvm-project/commit/b1d75fe48c940ba677614db3d891fbebcb8a41a2
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/unittests/Callback/TestBreakpointSetCallback.cpp

  Log Message:
  -----------
  [lldb][test] Fix cast dropping const warnin in TestBreakpointSetCallback.cpp

When building with gcc I get this warning:
```
<...>TestBreakpointSetCallback.cpp:58:25: warning: cast from type ‘const char*’ to type ‘void*’ casts away qualifiers [-Wcast-qual]
   58 |   void *baton = (void *)"hello";
      |                         ^~~~~~~
```

Use the address of a mutable global variable instead. All we care about
is that the address passed as the baton is the same one we get later.


  Commit: c7a54bfd1d25330199c96dd0a46cef1644b1b1ce
      https://github.com/llvm/llvm-project/commit/c7a54bfd1d25330199c96dd0a46cef1644b1b1ce
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h

  Log Message:
  -----------
  [lldb][ASTUtils] Remove unused SemaSourceWithPriorities::addSource API

As far as I can tell, this has always been unused. My hunch is that
this was supposed to mimick the `MultiplexExternalSemaSource::AddSource`
API which `SemaSourceWithPriorities` is based on.


  Commit: 0abb7791614947bc24931dd851ade31d02496977
      https://github.com/llvm/llvm-project/commit/0abb7791614947bc24931dd851ade31d02496977
  Author: Wesley Wiser <wwiser at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    A llvm/test/CodeGen/X86/avx512f-large-stack.ll
    M llvm/test/CodeGen/X86/huge-stack.ll
    M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll

  Log Message:
  -----------
  [LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)

Fix 32-bit integer overflows in the X86 target frame layout when dealing
with frames larger than 4gb. When this occurs, we'll scavenge a scratch
register to be able to hold the correct stack offset for frame locals.

This completes reapplying #84114.

Fixes #48911
Fixes #75944 
Fixes #87154


  Commit: 576aa3a50960f02e4dfe2d6ed2c55aa66006adcf
      https://github.com/llvm/llvm-project/commit/576aa3a50960f02e4dfe2d6ed2c55aa66006adcf
  Author: Akshat Oke <76596238+Akshat-Oke at users.noreply.github.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/test/TableGen/dump.td

  Log Message:
  -----------
  [TableGen] Resolve References at top level (#104578)

Add a dummy resolver to resolve references outside records. This invokes
Fold() with isFinal to force resolution.

Fixes #102447

Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>


  Commit: 08201cb4245b0a03e1af664e00a22ea4db1fc2fb
      https://github.com/llvm/llvm-project/commit/08201cb4245b0a03e1af664e00a22ea4db1fc2fb
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/unittests/Disassembler/x86/TestGetControlFlowKindx86.cpp

  Log Message:
  -----------
  [lldb][test] Fix GCC warnings in TestGetControlFlowKindX86.cpp

```
<...>/TestGetControlFlowKindx86.cpp:148:8: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wdangling-else]
  148 |     if (kind == eInstructionControlFlowKindReturn)
      |        ^
```

Usually llvm is a "no braces for single line body" project but
for whatever reason gcc objects to it here. Perhaps because it's
within a for loop.

Added the newlines just for readability.


  Commit: 8d165136ac36a53e51b50c620a12039d6c1e628e
      https://github.com/llvm/llvm-project/commit/8d165136ac36a53e51b50c620a12039d6c1e628e
  Author: meehatpa <gune30 at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
    M mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
    M mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir

  Log Message:
  -----------
  [mlir][[spirv] Add support for math.log2 and math.log10 to GLSL/OpenCL SPIRV Backends (#104608)

As log2 and log10 are not available in spirv, realize them as a
decomposition using spirv.CL.log/spirv.GL.Log.


  Commit: 7a06ebdeb6440d80fbcaeccd33314c6e039c6795
      https://github.com/llvm/llvm-project/commit/7a06ebdeb6440d80fbcaeccd33314c6e039c6795
  Author: Fred Grim <fgrim at apple.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp

  Log Message:
  -----------
  [lldb] PopulatePrpsInfoTest can fail due to hardcoded priority value (#104617)

In implementing this test one of the assertions assumes that the
priority is the default in linux (0) but, evidently, some of the build
runners prioritize the test to, at least, 5. This ensures that
regardless of the priority the test passes by validating that its the
process's priority
```
fgrim at host001 :~/llvm-project/debug_build> nice -n 15 tools/lldb/unittests/Process/elf-core/ProcessElfCoreTests
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from ElfCoreTest
[ RUN      ] ElfCoreTest.PopulatePrpsInfoTest
[       OK ] ElfCoreTest.PopulatePrpsInfoTest (4 ms)
[ RUN      ] ElfCoreTest.PopulatePrStatusTest
[       OK ] ElfCoreTest.PopulatePrStatusTest (3 ms)
[----------] 2 tests from ElfCoreTest (7 ms total)

[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (8 ms total)
[  PASSED  ] 2 tests.
===(10:03)===
fgrim at host001 :~/llvm-project/debug_build>
```


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/codegen.cpp

  Log Message:
  -----------
  [clang][bytecode] Discard NullToPointer cast SubExpr (#104782)

So we still properly abort if they fail.


  Commit: fade54ac6608255e9b3c425432871f177236d6e8
      https://github.com/llvm/llvm-project/commit/fade54ac6608255e9b3c425432871f177236d6e8
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

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


  Commit: c6d6186b586f4249e393910b099815e616138cde
      https://github.com/llvm/llvm-project/commit/c6d6186b586f4249e393910b099815e616138cde
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

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


  Commit: 0ee0857363aadf9ce0f403e7e0da10f0a9d94887
      https://github.com/llvm/llvm-project/commit/0ee0857363aadf9ce0f403e7e0da10f0a9d94887
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h

  Log Message:
  -----------
  [lldb][Python] Silence GCC warning for modules error workaround

```
lldb-python.h:16:30: warning: ‘g_fcxx_modules_workaround’ defined but not used [-Wunused-variable]
   16 | static llvm::Expected<bool> *g_fcxx_modules_workaround;
      |
```

Workaround originally added in 36cb29cbbe1b22dcd298ad65e1fabe899b7d7249.


  Commit: 42386dc46d8217b2dfed8dfc41afeec366ec2015
      https://github.com/llvm/llvm-project/commit/42386dc46d8217b2dfed8dfc41afeec366ec2015
  Author: Phil Camp <phil.camp at sony.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    A llvm/test/tools/llvm-mca/JSON/X86/views-bottleneck.s
    M llvm/test/tools/llvm-mca/JSON/X86/views-custom-parameters.s
    M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-anonymous-regions.s
    M llvm/test/tools/llvm-mca/JSON/X86/views-multiple-region.s
    M llvm/test/tools/llvm-mca/JSON/X86/views.s
    M llvm/tools/llvm-mca/Views/BottleneckAnalysis.cpp
    M llvm/tools/llvm-mca/Views/BottleneckAnalysis.h

  Log Message:
  -----------
  [llvm-mca] Add bottle-neck analysis to JSON output. (#90056)

This patch implements the bottle-neck analysis data in the JSON dump
mode.


  Commit: f95026dbf66e353128a3a3d7b55f3e52d5985535
      https://github.com/llvm/llvm-project/commit/f95026dbf66e353128a3a3d7b55f3e52d5985535
  Author: Lei Huang <lei at ca.ibm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    A clang/test/CodeGen/PowerPC/transparent_union.c

  Log Message:
  -----------
  [PowerPC] Fix codegen for transparent_union function params (#101738)

Update codegen for func param with transparent_union attr to be that of
the first union member.

PPC fix for: https://github.com/llvm/llvm-project/issues/76773


  Commit: a3fea0643da544b2e5d5c48f2ea942dad22d01f2
      https://github.com/llvm/llvm-project/commit/a3fea0643da544b2e5d5c48f2ea942dad22d01f2
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/SmallPtrSet.h
    M llvm/lib/Support/SmallPtrSet.cpp

  Log Message:
  -----------
  [SmallPtrSet] Optimize find/erase

Port #100517 for DenseMap.

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


  Commit: e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31
      https://github.com/llvm/llvm-project/commit/e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGen/bpf-attr-bpf-fastcall-1.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/bpf-attr-bpf-fastcall.c
    M llvm/lib/Target/BPF/BPFCallingConv.td
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.h
    A llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll

  Log Message:
  -----------
  [BPF] introduce `__attribute__((bpf_fastcall))` (#101228)

This commit introduces attribute bpf_fastcall to declare BPF functions
that do not clobber some of the caller saved registers (R0-R5).

The idea is to generate the code complying with generic BPF ABI, but
allow compatible Linux Kernel to remove unnecessary spills and fills of
non-scratched registers (given some compiler assistance).

For such functions do register allocation as-if caller saved registers
are not clobbered, but later wrap the calls with spill and fill patterns
that are simple to recognize in kernel.

For example for the following C code:

     #define __bpf_fastcall __attribute__((bpf_fastcall))

     void bar(void) __bpf_fastcall;
     void buz(long i, long j, long k);

     void foo(long i, long j, long k) {
       bar();
       buz(i, j, k);
     }

First allocate registers as if:

    foo:
      call bar    # note: no spills for i,j,k (r1,r2,r3)
      call buz
      exit

And later insert spills fills on the peephole phase:

    foo:
      *(u64 *)(r10 - 8) = r1;  # Such call pattern is
      *(u64 *)(r10 - 16) = r2; # correct when used with
      *(u64 *)(r10 - 24) = r3; # old kernels.
      call bar
      r3 = *(u64 *)(r10 - 24); # But also allows new
      r2 = *(u64 *)(r10 - 16); # kernels to recognize the
      r1 = *(u64 *)(r10 - 8);  # pattern and remove spills/fills.
      call buz
      exit

The offsets for generated spills/fills are picked as minimal stack
offsets for the function. Allocated stack slots are not used for any
other purposes, in order to simplify in-kernel analysis.

Corresponding functionality had been merged in Linux Kernel as
[this](https://lore.kernel.org/bpf/172179364482.1919.9590705031832457529.git-patchwork-notify@kernel.org/)
patch set (the patch assumed that `no_caller_saved_regsiters` attribute
would be used by LLVM, naming does not matter for the Kernel).


  Commit: 9b65558d2f20463b1a32374165d6fa06696623e9
      https://github.com/llvm/llvm-project/commit/9b65558d2f20463b1a32374165d6fa06696623e9
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/test/ELF/riscv-section-layout.s
    M lld/test/ELF/section-name.s

  Log Message:
  -----------
  [lld][ELF] Combine uniqued small data sections (#104485)

RISC-V GCC with `-fdata-sections` will emit `.sbss.<name>`,
`.srodata.<name>`, and `.sdata.<name>` sections for small data items of
different kinds. Clang/LLVM already emits `.srodata.*` sections, and we
intend to emit the other two section name patterns in #87040.

This change ensures that any input sections starting `.sbss` are
combined into one output section called `.sbss`, and the same
respectively for `.srodata` and `.sdata`. This also allows the existing
RISC-V specific code for determining an output order for `.sbss` and
`.sdata` sections to apply to placing the sections.


  Commit: 93d0f82272dc230ff4d53d48c43b2f1518754a7b
      https://github.com/llvm/llvm-project/commit/93d0f82272dc230ff4d53d48c43b2f1518754a7b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/docs/CodeReview.rst

  Log Message:
  -----------
  [docs] Add note about "Re-request review" (#104735)


  Commit: 7d60f4648b9f794b8965b84a7a5641dfc5e07fae
      https://github.com/llvm/llvm-project/commit/7d60f4648b9f794b8965b84a7a5641dfc5e07fae
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp

  Log Message:
  -----------
  [DirectX] Differentiate between 0/1 overloads in the OpBuilder. NFC

DXIL operations that only have one signature behave one of two ways - either
they are always suffixed with a type like `dx.op.ThreadId.i32` and hence have
exactly one overload, or they're never suffixed like `dx.op.CreateHandle` and
hence have zero overloads.

Update DXIL.td for operations that have one overload and remove the hack in the
builder that was adjusting names for unoverloaded ops.

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


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/SemaTemplate/explicit-instantiation-cxx20.cpp

  Log Message:
  -----------
  [Clang] Check constraints for an explicit instantiation of a member function (#104438)

Because there may be multiple constrained function of the same type, we
need to perform overload resolution to find the best viable function to
specialize.


Fixes #46029


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

  Changed paths:
    M llvm/docs/DirectX/DXILOpTableGenDesign.rst
    M llvm/include/llvm/Support/DXILABI.h
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILConstants.h
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX] Disentangle DXIL.td's op types from LLVMType. NFC

LLVMType is both too broad and too narrow for defining DXIL operations, in
different ways. It's too broad in the sense that we don't need the full set of
MVTs - the set of types DXIL operations work on is much smaller. It's too
narrow in the sense that it's difficult to use it for the various fixed
structure types in DXIL, like `%dx.types.Handle` or `%dx.Types.ResRet.f32`.

Replace the usage of LLVMType in DXIL.td with DXILOpParamType, a simple class
that we can define an enum of types from. Further, use this to replace the
"ParameterKind" enum in DXILABI.h that has nothing to do with DXIL's ABI.

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


  Commit: 340fb6597116acf026a8ac49edca4d993fb1d7f3
      https://github.com/llvm/llvm-project/commit/340fb6597116acf026a8ac49edca4d993fb1d7f3
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp
    A llvm/test/TableGen/invalid-macro-name-command-line.td

  Log Message:
  -----------
  [TableGen] Detect invalid -D arguments and fail (#102813)

- Detect invalid macro names specified on command line and fail if one
found.
- Specifically, -DXYZ=1 for example, will fail instead is being silently
accepted.


  Commit: 2258bc429b6f76ade78059f3c4f6c7c77f93a996
      https://github.com/llvm/llvm-project/commit/2258bc429b6f76ade78059f3c4f6c7c77f93a996
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mbcnt.ll

  Log Message:
  -----------
  [AMDGPU] Simplify, fix and improve known bits for mbcnt (#104768)

Simplify by using KnownBits::add.

Fix GlobalISel path which was ignoring the known bits of src1.

Improve analysis of mbcnt.hi which adds at most 31 even in wave64.


  Commit: 564bd206588d330211914ba2e94bd13caa4e0431
      https://github.com/llvm/llvm-project/commit/564bd206588d330211914ba2e94bd13caa4e0431
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-addrspacecast.mir

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Save a copy in one case of addrspacecast (#104789)

Refactor legalization of addrspacecast local/private -> flat to avoid
building a copy in the nonnull case.


  Commit: 2575ea6e17889e6d83198fc1c80963f81485bfcc
      https://github.com/llvm/llvm-project/commit/2575ea6e17889e6d83198fc1c80963f81485bfcc
  Author: Samira Bazuzi <bazuzi at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/unittests/Analysis/FlowSensitive/ASTOpsTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Collect local variables referenced within a functio… (#104459)

…n/statement.

We don't need these for the same in-tree purposes as the other sets,
i.e. for making sure we model these Decls that are declared outside the
function, but we have an out-of-tree use for these sets that would
benefit from this simple addition and would avoid duplicating so much of
this code.


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

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

  Log Message:
  -----------
  [RISCV] Improve BCLRITwoBitsMaskHigh SDNodeXForm. NFC

Use getZExtValue instead of getSExtValue since we are going to
overwrite the sign extension on RV32. getZExtValue should be cheaper than
getSExtValue.

Use maskLeadingOnes to improve readability.


  Commit: 865952bbbb97655410d2c34c21938134059c4076
      https://github.com/llvm/llvm-project/commit/865952bbbb97655410d2c34c21938134059c4076
  Author: Sergey Kozub <skozub at nvidia.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/convert-sm89.ll

  Log Message:
  -----------
  [NVPTX] Add conversion intrinsics from/to fp8 types (e4m3, e5m2) (#102969)

PTX ISA 8.1 supports FP8 conversions:

https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt

This PR adds the support for:

- cvt.rn.satfinite{.relu}.f8x2type.f32 d, a, b;
- cvt.rn.satfinite{.relu}.f8x2type.f16x2 d, a;
- cvt.rn.{.relu}.f16x2.f8x2type d, a;

where .f8x2type = { .e4m3x2, .e5m2x2 };


  Commit: 4e332bba2f3a51966817088cb4dc4a9188955b64
      https://github.com/llvm/llvm-project/commit/4e332bba2f3a51966817088cb4dc4a9188955b64
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M compiler-rt/lib/asan/asan_allocator.h

  Log Message:
  -----------
  [asan] Change Apple back to fixed allocator base address (#104818)

This partially reverts https://github.com/llvm/llvm-project/pull/98511
- specifically, the SANITIZER_APPLE case - because of a suspected
breakage for clang on Mac
(https://g-issues.chromium.org/issues/360160858;
https://github.com/llvm/llvm-project/pull/98511#issuecomment-2296749757).


  Commit: e306db0ff0d348da49b44bd0bcae3df5bf8f02a9
      https://github.com/llvm/llvm-project/commit/e306db0ff0d348da49b44bd0bcae3df5bf8f02a9
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [Flang] Fix test case for AIX(big-endian) system for issuing an extra message. (#104792)

The 10-byte FP on big-endian system such as AIX is not represented as a
valid number in FE, so Flang issues an extra WARNING message as
`underflow on REAL(10) to REAL(4) conversion` for `_10` for such a
number.
This PR is to fix the test case.


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

  Changed paths:
    A compiler-rt/test/nsan/stable_sort.cpp
    A compiler-rt/test/nsan/swap.cpp

  Log Message:
  -----------
  [compiler-rt][nsan] Add more tests for shadow memory (#100906)

Add more tests for shadow memory.


  Commit: 05d17a1c705e1053f95b90aa37d91ce4f94a9287
      https://github.com/llvm/llvm-project/commit/05d17a1c705e1053f95b90aa37d91ce4f94a9287
  Author: David Green <david.green at arm.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/Target/ARM/ARMCallLowering.cpp
    M llvm/lib/Target/ARM/ARMCallLowering.h
    A llvm/test/CodeGen/AArch64/GlobalISel/endian_fallback.ll
    M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
    M llvm/test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll

  Log Message:
  -----------
  [GlobalISel] Bail out early for big-endian (#103310)

If we continue through the function we can currently hit crashes. We can
bail out early and fall back to SDAG.

Fixes #103032


  Commit: dde8280ded53f7167dcd2e8f6c50d7c9b5796a10
      https://github.com/llvm/llvm-project/commit/dde8280ded53f7167dcd2e8f6c50d7c9b5796a10
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
    M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
    M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Add `GroupNonUniformBallotFindLSB` and `GroupNonUniformBallotFindMSB` ops (#104791)


  Commit: 51785856ec5fb6c3f17834b212086d9fc7183868
      https://github.com/llvm/llvm-project/commit/51785856ec5fb6c3f17834b212086d9fc7183868
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [NFC][Instrumentation] Use `Twine` in `createPrivateGlobalForString` (#104726)


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

  Changed paths:
    M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
    M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll

  Log Message:
  -----------
  [NFC][asan] Don't `cd` after `split-file` (#104727)

Helps with copy-pasting of command line
with error.


  Commit: 5e8f4618ce9502190fac96eb8a856146acce2a3a
      https://github.com/llvm/llvm-project/commit/5e8f4618ce9502190fac96eb8a856146acce2a3a
  Author: Eduard Zingerman <eddyz87 at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGCall.cpp
    R clang/test/CodeGen/bpf-attr-bpf-fastcall-1.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    R clang/test/Sema/bpf-attr-bpf-fastcall.c
    M llvm/lib/Target/BPF/BPFCallingConv.td
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.h
    R llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
    R llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
    R llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
    R llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll

  Log Message:
  -----------
  Revert "[BPF] introduce `__attribute__((bpf_fastcall))` (#101228)"

This reverts commit e9b2e16dc98345bb1b91b1a6dacb3cec85f49e31.
Reverting because of the test failure:
https://lab.llvm.org/buildbot/#/builders/187/builds/509


  Commit: 92a8ec7abbd853e89556c7b942f30054273af9c6
      https://github.com/llvm/llvm-project/commit/92a8ec7abbd853e89556c7b942f30054273af9c6
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  LSV: fix style after cursory reading (NFC) (#104793)


  Commit: 22b4496e86c32127e997f3e7385ef64d2d80cc4b
      https://github.com/llvm/llvm-project/commit/22b4496e86c32127e997f3e7385ef64d2d80cc4b
  Author: Dmitry Yanovsky <kerambyte at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/FunctionExtras.h
    M llvm/unittests/ADT/FunctionExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Fix alignment check in unique_function constructor (#99403)

Right now the check fails for any state-capturing lambda since this
expression - `alignof(decltype(StorageUnion.InlineStorage))` - returns 1
for the alignment value and not 4/8 as expected
([MSVC|Clang|GCC](https://godbolt.org/z/eTEdq4xjM)). So this check fails
for pretty much any state-capturing callable we try to store into a
`unique_function` and we take the out-of-line storage path:

\llvm-project\llvm\include\llvm\ADT\FunctionExtras.h,
`UniqueFunctionBase` constructor (line ~266):

```
if (sizeof(CallableT) > InlineStorageSize ||
    alignof(CallableT) > alignof(decltype(StorageUnion.InlineStorage))) {
  // ...
}
```

The fix is simply to use an explicit const variable to store the
alignment value.

There is no easy way to unit-test the fix since inline storage is
considered to be an implementation detail so we shouldn't assume how the
lambda ends up being stored.


  Commit: 3b80a28c8f27536f49e5fa30a7e2b7050bad6cd6
      https://github.com/llvm/llvm-project/commit/3b80a28c8f27536f49e5fa30a7e2b7050bad6cd6
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/lib/Target/SPIRV/SPIRVBinaryUtils.cpp

  Log Message:
  -----------
  [mlir][spirv] Fix incorrect metadata in SPIR-V Header (#104242)

SRIP-V Generator Magic Number is a 32 bit word: The high order 16 bits
are a tool ID. The low order 16 bits are for verion number, currently
the tool id is not on the high order 16 bit so it must shifed

fixes: #99071


  Commit: 7597e0930638e0a20ca9bfc193a3d89575ce4469
      https://github.com/llvm/llvm-project/commit/7597e0930638e0a20ca9bfc193a3d89575ce4469
  Author: Amr Hesham <amr96 at programmer.net>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/test/Parser/parser_overflow.c

  Log Message:
  -----------
  [clang] Increase the default expression nesting limit (#104717)

Increase the default expression nesting limit from 256 to 1024

Fixes: #94728

Compile time with different Bracket depth

Clang version 20.0.0git
(https://github.com/AmrDeveloper/llvm-project.git
673b9e08de8a661c9deed2ee497889312f059f3d)
Target: arm64-apple-darwin23.5.0

Bracket depth = 256, time = 0.243
Bracket depth = 512, time = 0.329
Bracket depth = 1024, time = 0.489
Bracket depth = 2048, time = 0.851


  Commit: 4c967afcc6f3a109e8a325a0327f869c4bfc57c2
      https://github.com/llvm/llvm-project/commit/4c967afcc6f3a109e8a325a0327f869c4bfc57c2
  Author: Michael Kenzel <michael.kenzel at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M libcxxabi/src/cxa_default_handlers.cpp

  Log Message:
  -----------
  [libc++abi] Remove unnecessary dependency on std::unique_ptr (#73277)

The demangling terminate handler uses a function `demangle()` to perform
the demangling. This function returns an `std::unique_ptr`, relying on
custom deleter and `const_cast` hacks to deal with the facts that only
one branch actually allocates, and that the pointer type needs to be
`const char*`. However, the destructor of the returned `std::unique_ptr`
will never actually run, because the sole place this function is ever
called is right before the terminate handler aborts the program. So all
this is unnecessary, and creates a dependency onto `<memory>`. This
change removes the `demangle()` function and replaces the call with an
immediately invoked lambda expression that simply returns a raw pointer
in both cases, which should be fine because the memory can never be
freed here anyways.


  Commit: 87dd31234a3c46ace097af73ecaedcdb6b306ef3
      https://github.com/llvm/llvm-project/commit/87dd31234a3c46ace097af73ecaedcdb6b306ef3
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h

  Log Message:
  -----------
  [ADT] Minor code cleanup in STLExtras.h (#104808)

- Remove unnecessary return from `replace`.
- Add comment for `min_element` and `max_element`.


  Commit: e8ca306fbefdb8385c53d6cc029251d1d5be7049
      https://github.com/llvm/llvm-project/commit/e8ca306fbefdb8385c53d6cc029251d1d5be7049
  Author: Dmitry Yanovsky <kerambyte at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/FunctionExtras.h
    M llvm/unittests/ADT/CountCopyAndMove.cpp
    M llvm/unittests/ADT/CountCopyAndMove.h
    M llvm/unittests/ADT/FunctionExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Add a missing call to a unique_function destructor after move (#98747)

Right now immediately after moving the captured state, we 'disarm' the
moved-from object's destructor by resetting the
`RHS.CallbackAndInlineFlag`. This means that we never properly destroy
the RHS object's captured state.


  Commit: 1393aeb91e88381ced7512788761e42bde8fd1cc
      https://github.com/llvm/llvm-project/commit/1393aeb91e88381ced7512788761e42bde8fd1cc
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expamd-masked-load.ll
    A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-gather.ll
    A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-scatter.ll
    A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-store.ll
    A llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/lit.local.cfg

  Log Message:
  -----------
  Pre-commit AMDGPU tests for masked load/store/scatter/gather (#104645)

I'm planning to fix the masked operation scalarazer to not generate
suboptimal code on AMD GPUs and other SIMT machines, and so am adding
tests now.


  Commit: 22825ddd88aa29994a8a260a31c959aed0b35b5b
      https://github.com/llvm/llvm-project/commit/22825ddd88aa29994a8a260a31c959aed0b35b5b
  Author: Scott Linder <Scott.Linder at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][Docs] DWARF aspace-aware base types

Propose an extension to base type DIEs such that DW_ATE_address-encoded
base types can include an architecture specific address space. Use this
to implement DW_OP_convert conversions between AMDGPU address space
addresses where meaningful.


  Commit: 7022498ac2f236e411e8a0f9a48669e754000a4b
      https://github.com/llvm/llvm-project/commit/7022498ac2f236e411e8a0f9a48669e754000a4b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

  Log Message:
  -----------
  AMDGPU/NewPM: Start implementing addCodeGenPrepare (#102816)


  Commit: 435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
      https://github.com/llvm/llvm-project/commit/435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/SemaCXX/gh102293.cpp

  Log Message:
  -----------
  [C++23] Fix infinite recursion (Clang 19.x regression) (#104829)

d469794d0cdfd2fea50a6ce0c0e33abb242d744c was fixing an issue with
triggering vtable instantiations, but it accidentally introduced
infinite recursion when the type to be checked is the same as the type
used in a base specifier or field declaration.

Fixes #104802


  Commit: ff2e619dfcd77328812a42d2ba2b11c3ff96f410
      https://github.com/llvm/llvm-project/commit/ff2e619dfcd77328812a42d2ba2b11c3ff96f410
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [MC] Remove duplicate getFixupKindInfo calls. NFC

Due to 8728e097dfbec3630a1dd907431c0f14274a1ae8
(`std::unique_ptr<MCAsmBackend> Backend`), the compiler doesn't know
that `Backend` will not be modified across function calls.


  Commit: e732d1ce86783b1d7fe30645fcb30434109505b9
      https://github.com/llvm/llvm-project/commit/e732d1ce86783b1d7fe30645fcb30434109505b9
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/lib/Sema/SemaOpenMP.cpp
    A clang/test/SemaOpenMP/gh104810.cpp

  Log Message:
  -----------
  [Clang] Fix ICE in SemaOpenMP with structured binding (#104822)

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

Clang currently crashes on the following program:
```
struct S {
  int i;
};

auto [a] = S{1};

void foo() {
    a;
}
```
when `-fopenmp` is enabled. 

Because `a` is neither `VarDecl` nor `FieldDecl`. It's a `BindingDecl`
that's not handled in `SemaOpenMP.cpp`'s `getCanonicalDecl`. It appears
to me that this pattern matching is merely just for a refined return
type of the overrides. It can also be achieved with just using the
virtual `Decl::getCanonicalDecl()` instead. Do the final casting should
be safe for `ValueDecl`s.


  Commit: 8a677c194072dc19ef680bebba9aa7eafb05b373
      https://github.com/llvm/llvm-project/commit/8a677c194072dc19ef680bebba9aa7eafb05b373
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/STLExtras.h

  Log Message:
  -----------
  [NFC][ADT] Add range wrapper for std::mismatch (#104838)


  Commit: 6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
      https://github.com/llvm/llvm-project/commit/6a125c7e77cd0e73abc9e60ad1c8eb06e31b11d7
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/asan-funclet.ll
    M llvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
    M llvm/test/Instrumentation/AddressSanitizer/global_metadata.ll
    M llvm/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
    M llvm/test/Instrumentation/AddressSanitizer/global_with_comdat.ll
    M llvm/test/Instrumentation/AddressSanitizer/instrument_global.ll
    M llvm/test/Instrumentation/AddressSanitizer/instrument_late_initializer.ll
    M llvm/test/Instrumentation/AddressSanitizer/local_alias.ll
    M llvm/test/Instrumentation/AddressSanitizer/odr-check-ignore.ll
    M llvm/test/Instrumentation/AddressSanitizer/win-string-literal.ll

  Log Message:
  -----------
  [asan] Better `___asan_gen_` names (#104728)

Use different suffixes for each of 3 types
of objects using `___asan_gen_`.


  Commit: 5af3dfb1d9caee206d080db2afab01006210739f
      https://github.com/llvm/llvm-project/commit/5af3dfb1d9caee206d080db2afab01006210739f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [NFC][asan] Create `ModuleName` lazily (#104729)

Avoids tracking conditions when it's needed.


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

  Changed paths:
    M compiler-rt/test/asan/TestCases/initialization-bug-no-global.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/test/Instrumentation/AddressSanitizer/instrument_initializer_without_global.ll

  Log Message:
  -----------
  Reland "[asan] Catch `initialization-order-fiasco` in modules without…" (#104730)

Re-land https://github.com/llvm/llvm-project/pull/104621

After https://github.com/llvm/llvm-project/pull/104729 this patch will
not create unused module names, failing some test checks.

This reverts commit 34f941a2f96b804dd24c2a25770d899b018339ff.


  Commit: 54c6b93bcb4e751ec67ebd69e24c11811b970f1e
      https://github.com/llvm/llvm-project/commit/54c6b93bcb4e751ec67ebd69e24c11811b970f1e
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    A libc/utils/mathtools/worst_case.sollya

  Log Message:
  -----------
  [libc][NFC] Add sollya script to compute worst case range reduction. (#104803)


  Commit: 24052538a0bb0144e6997e6b61687e3b8716b6ac
      https://github.com/llvm/llvm-project/commit/24052538a0bb0144e6997e6b61687e3b8716b6ac
  Author: Michael Park <mcypark at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  Emit `BeginSourceFile` failure with `elog`. (#104845)

There are 3 ways in which `ParseAST::build` can fail and return
`std::nullopt`. 2 of the ways we emit the error message using `elog`,
but for the 3rd way, `log` is used. We should emit all 3 of these
reasons with `elog`.


  Commit: 98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
      https://github.com/llvm/llvm-project/commit/98f2eb7ddab0cadd1eb6e631458ae8406f7d39a1
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Fix StartDebuggingRequestHandler/ReplModeRequestHandler in lldb-dap (#104824)

`SBCommand::AddCommand()` requires `SBCommandPluginInterface` to be heap
based because it will be stored inside
`std::shared_ptr<lldb::SBCommandPluginInterface>` later for reference
counting. But lldb-dap passes
`StartDebuggingRequestHandler/ReplModeRequestHandler` static function
pointer to it which will cause corruption later during destruction.

This PR fixes this issue by making these two handler heap based.

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


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

  Changed paths:
    M compiler-rt/lib/hwasan/scripts/hwasan_symbolize
    A compiler-rt/test/hwasan/TestCases/hwasan_symbolize_stack_overflow.cpp

  Log Message:
  -----------
  Reapply "[HWASan] symbolize stack overflows" (#102951) (#104036)

This reverts commit d4f6fcf5aaa0911a91317c0b06779f13077d6b58.

Relanding with fixed obj_offset calculation (precedence of operations
was wrong),
and the suggestion in
https://github.com/llvm/llvm-project/pull/95308#discussion_r1714317539


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

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

  Log Message:
  -----------
  [Support] Do not ignore unterminated open { in formatv (#104688)

- When an unterminated open { is detected in the format string, instead
of asserting and ignoring the error, replace that string with another to
indicate the error, and remove the assert as well.
- This will make the error evident in both assert and release builds and
make observing the error more convenient (as several uses of this
function are in TableGen and it is often built in release mode even in
debug builds)


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

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp

  Log Message:
  -----------
  [compiler-rt][fuzzer] implements SetThreadName for fuchsia. (#99953)


  Commit: 5fcd05967aaa0447d8da01b3f19139f2136863b4
      https://github.com/llvm/llvm-project/commit/5fcd05967aaa0447d8da01b3f19139f2136863b4
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/vopd-combine.mir

  Log Message:
  -----------
  [AMDGPU] Add VOPD combine dependency tests. NFC. (#104841)


  Commit: 42ce62800dd24760ab6e400a3d5f898f11fe818a
      https://github.com/llvm/llvm-project/commit/42ce62800dd24760ab6e400a3d5f898f11fe818a
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

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

  Log Message:
  -----------
  [ValueTracking] Handle incompatible types instead of asserting in `isKnownNonEqual`; NFC

Downstream hit this assert, since it doesn't really make any
difference, just change code to return false.


  Commit: ea8bb4d633683f5cbfd82491620be3056f347a02
      https://github.com/llvm/llvm-project/commit/ea8bb4d633683f5cbfd82491620be3056f347a02
  Author: estewart08 <ethan.stewart at amd.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M offload/plugins-nextgen/common/CMakeLists.txt

  Log Message:
  -----------
  [offload] - Fix issue with standalone debug offload build (#104647)

Error: CommandLine Error: Option 'attributor-manifest-internal'
registered more than once

During the standalone debug build of offload the above error is seen at
app runtime when using a prebuilt llvm with LLVM_LINK_LLVM_DYLIB=ON.
This is caused by linking both libLLVM.so and various archives that are
found via llvm_map_components_to_libnames for jit support.


  Commit: 43b508566799751aa180f1eaaafc5be693f2f1ae
      https://github.com/llvm/llvm-project/commit/43b508566799751aa180f1eaaafc5be693f2f1ae
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
    M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
    M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
    M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt

  Log Message:
  -----------
  [mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)

This change removes dependencies declared as either 'LINK_LIBS' or
'LINK_COMPONENTS' across several MLIR libraries. The removed
dependencies appear
to be incorrect and may have been required in older versions of the
project.
These dependencies cause many high level dialects to have transitive
dependence on the LLVM dialect and the LLVM 'Core' library
('llvm/lib/IR').

Note that if using the 'Ninja' CMake generator, one can inspect the
dependencies
(including all transitive libraries) of any given MLIR target but using
the command `ninja -C <build dir> -t browse` and navigating to the
library
of interest in a web browser.


  Commit: 27dc247964472aaf92ea55cc37310cda25a002ab
      https://github.com/llvm/llvm-project/commit/27dc247964472aaf92ea55cc37310cda25a002ab
  Author: Joshua Baehring <98630690+JoshuaMBa at users.noreply.github.com>
  Date:   2024-08-19 (Mon, 19 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. (#104807)

Previously the secondary cache retrieval algorithm would not allow
retrievals of memory chunks where the number of unused bytes would be
greater than than `MaxUnusedCachePages * 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 16 KB. If the amount of memory to
be released exceeds 16 KB, the retrieval algorithm will not consider
that cached memory chunk valid for retrieval.


  Commit: baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
      https://github.com/llvm/llvm-project/commit/baa6627a0af6d31ddf57036c6f05a7d0fb31f8f2
  Author: Billy Zhu <billyzhu at modular.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalize-target-materialization-no-uses.mlir

  Log Message:
  -----------
  [MLIR][Transforms] Fix dialect conversion inverse mapping (#104648)

Inverse mapping needs to be updated for the result that was remapped (it
was previously only updated halfway).


  Commit: b5f3e28eca9bae94412415e5a77f769cf1e4fc61
      https://github.com/llvm/llvm-project/commit/b5f3e28eca9bae94412415e5a77f769cf1e4fc61
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [docs] Revise the doc for __builtin_allow_runtime_check

Fix list formatting, improve the wording, and fix the description when
both options (note: prefer "option" to "flag" when arguments are
supported) are specified.

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


  Commit: d3864d946a178807bb5a87d3d1690e213c89e5be
      https://github.com/llvm/llvm-project/commit/d3864d946a178807bb5a87d3d1690e213c89e5be
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
    R clang/test/Driver/riscv-sdata-warning.c
    A clang/test/Driver/riscv-sdata.c
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h

  Log Message:
  -----------
  [Driver] Default -msmall-data-limit= to 0 and clean up code

D57497 added -msmall-data-limit= as an alias for -G and defaulted it to 8 for
-fno-pic/-fpie.

The behavior is already different from GCC in a few ways:

* GCC doesn't accept -G.
* GCC -fpie doesn't seem to use -msmall-data-limit=.
* GCC emits .srodata.cst* that we don't use (#82214). Writable contents
  caused confusion (https://bugs.chromium.org/p/llvm/issues/detail?id=61)

In addition,

* claiming `-shared` means we don't get a desired `-Wunused-command-line-argument` for `clang --target=riscv64-linux-gnu -fpic -c -shared a.c`.
* -mcmodel=large doesn't work for RISC-V yet, so the special case is strange.
* It's quite unusual to emit a warning when an option (unrelated to relocation model) is used with -fpic.
* We don't want future configurations (Android) to continue adding customization to `SetRISCVSmallDataLimit`.

I believe the extra code just doesn't pull its weight and should be
cleaned up. This patch also changes the default to 0. GP relaxation
users are encouraged to specify these customization options explicitly.

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


  Commit: 52bfb2611f8d30fae3306c652af7ba5c7e88c147
      https://github.com/llvm/llvm-project/commit/52bfb2611f8d30fae3306c652af7ba5c7e88c147
  Author: Dmitry Yanovsky <kerambyte at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/unittests/ADT/FunctionExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Fix a minor build error (#104840)

A quick follow-up fix for
https://github.com/llvm/llvm-project/pull/99403

Buildbot
[reported](https://lab.llvm.org/buildbot/#/builders/168/builds/2330) an
error:

```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ADT/FunctionExtrasTest.cpp:320:8: error: variable 'ptr' is uninitialized when used here [-Werror,-Wuninitialized]
  320 |       [ptr](void *self) {
      |        ^~~
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ADT/FunctionExtrasTest.cpp:318:12: note: initialize the variable 'ptr' to silence this warning
  318 |   void *ptr;
      |            ^
      |             = nullptr
1 error generated.
```

So that PR does exactly what's sugested.


  Commit: 06fd808654ff814c2f79c2619a5b2be50c56521b
      https://github.com/llvm/llvm-project/commit/06fd808654ff814c2f79c2619a5b2be50c56521b
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/AffineToStandard/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToSCF/CMakeLists.txt
    M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
    M mlir/lib/Conversion/SCFToControlFlow/CMakeLists.txt
    M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
    M mlir/lib/Conversion/VectorToSCF/CMakeLists.txt
    M mlir/lib/Dialect/Affine/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Complex/IR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/IR/CMakeLists.txt
    M mlir/lib/Dialect/MemRef/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt

  Log Message:
  -----------
  Revert "[mlir] NFC: fix dependence of (Tensor|Linalg|MemRef|Complex) dialects on LLVM Dialect and LLVM Core in CMake build (#104832)"

This reverts commit 43b508566799751aa180f1eaaafc5be693f2f1ae since it
caused the build to break with BUILD_SHARED_LIBS=ON.


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

  Changed paths:
    M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    M clang/lib/AST/ByteCode/ByteCodeEmitter.h
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Compiler.h
    M clang/lib/AST/ByteCode/Context.cpp
    M clang/lib/AST/ByteCode/Function.cpp
    M clang/lib/AST/ByteCode/Function.h
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/Sema/block-misc.c
    M clang/test/Sema/block-return.c
    M clang/test/SemaCXX/consteval-cleanup.cpp

  Log Message:
  -----------
  [clang][bytecode] Support ObjC blocks (#104551)

I started out by adding a new pointer type for blocks, and I was fully
prepared to compile their AST to bytecode and later call them.

... then I found out that the current interpreter doesn't support
calling blocks at all. So we reuse `Function` to support sources other
than `FunctionDecl`s and classify `BlockPointerType` as `PT_FnPtr`.


  Commit: 5403123197f8e331d3c2c24d82439ca1fe7e702d
      https://github.com/llvm/llvm-project/commit/5403123197f8e331d3c2c24d82439ca1fe7e702d
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    A lld/test/wasm/archive-local-sym.s
    M lld/wasm/InputFiles.cpp

  Log Message:
  -----------
  [lld][WebAssembly] Ignore local symbols when parsing lazy object files. (#104876)

This was broken back in #78658 when we transitioned away from archive
indexes to parsing lazy object files.

Fixes: #94077
Fixes: https://github.com/emscripten-core/emscripten/issues/22008


  Commit: 2a6136e552d24b6bf665c42a6e32efc0b2d88fbf
      https://github.com/llvm/llvm-project/commit/2a6136e552d24b6bf665c42a6e32efc0b2d88fbf
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M lld/wasm/Writer.cpp
    M llvm/lib/ObjCopy/wasm/WasmObjcopy.cpp
    M llvm/lib/ObjCopy/wasm/WasmObject.cpp
    M llvm/lib/ObjCopy/wasm/WasmObject.h
    M llvm/lib/ObjCopy/wasm/WasmReader.cpp
    M llvm/lib/ObjectYAML/WasmEmitter.cpp
    M llvm/test/ObjectYAML/wasm/invalid_section_order.yaml
    M llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test
    M llvm/test/tools/llvm-objcopy/wasm/only-keep-debug.test
    M llvm/test/tools/llvm-objcopy/wasm/strip-all.test
    M llvm/test/tools/llvm-objcopy/wasm/strip-debug.test
    M llvm/test/tools/llvm-objcopy/wasm/strip-reloc.test

  Log Message:
  -----------
  [llvm-objcopy][WebAssembly] Allow --strip-debug to operate on relocatable files. (#102978)

This change is enough to allow `--strip-debug` to work on object files,
without breaking the relocation information or symbol table.

A more complete version of this change would instead reconstruct the
symbol table and relocation sections, but that is much larger change.

Bug: #102002


  Commit: ea1f05e6189fbe2b567e795677e1d64acbadc0a2
      https://github.com/llvm/llvm-project/commit/ea1f05e6189fbe2b567e795677e1d64acbadc0a2
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/test/CodeGen/X86/fminimum-fmaximum.ll

  Log Message:
  -----------
  [SelectionDAG] Fix lowering of IEEE 754 2019 minimum/maximum

We used integer comparisons instead of floating point comparisons
resulting in very odd behavior.


  Commit: a9ce1818174b3e690545b573cc5804d73491ca1a
      https://github.com/llvm/llvm-project/commit/a9ce1818174b3e690545b573cc5804d73491ca1a
  Author: David Majnemer <david.majnemer at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/bf16-instructions.ll

  Log Message:
  -----------
  [NVPTX] Fix bugs involving maximum/minimum and bf16

We would crash on sufficiently old NV hardware (Volta or so) due to
incorrectly marking certain operations legal.


  Commit: f9031f00f2c90bc0af274b45ec3e169b5250a688
      https://github.com/llvm/llvm-project/commit/f9031f00f2c90bc0af274b45ec3e169b5250a688
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-08-19 (Mon, 19 Aug 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp

  Log Message:
  -----------
  Revert "[scudo] Add partial chunk heuristic to retrieval algorithm." (#104894)

Reverts llvm/llvm-project#104807


  Commit: bf68e9047f62c22ca87f9a4a7c59a46b3de06abb
      https://github.com/llvm/llvm-project/commit/bf68e9047f62c22ca87f9a4a7c59a46b3de06abb
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/SliceWalk.h
    M mlir/include/mlir/Dialect/Arith/IR/Arith.h
    M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVLogicalOps.td
    M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
    M mlir/lib/Analysis/SliceWalk.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
    M mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir

  Log Message:
  -----------
  [MLIR] Introduce a SelectLikeOpInterface (#104751)

This commit introduces a `SelectLikeOpInterface` that can be used to
handle select-like operations generically. Select operations are similar
to control flow operations, as they forward operands depending on
conditions. This is the reason why it was placed to the already existing
control flow interfaces.


  Commit: 08a0dece2b2431db8abe650bb43cba01e781e1ce
      https://github.com/llvm/llvm-project/commit/08a0dece2b2431db8abe650bb43cba01e781e1ce
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-20 (Tue, 20 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

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: 472c79ca52806856c0dc7548a6f82d3bd9e7530c
      https://github.com/llvm/llvm-project/commit/472c79ca52806856c0dc7548a6f82d3bd9e7530c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Instrumentation/ThreadSanitizer/tsan_basic.ll
    M llvm/test/Transforms/Attributor/nonnull.ll
    M llvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
    M llvm/test/Transforms/FunctionAttrs/nonnull.ll
    A llvm/test/Verifier/naked.ll

  Log Message:
  -----------
  [IR] Check that arguments of naked function are not used (#104757)

Verify that the arguments of a naked function are not used. They can
only be referenced via registers/stack in inline asm, not as IR values.
Doing so will result in assertion failures in the backend.

There's probably more that we should verify, though I'm not completely
sure what the constraints are (would it be correct to require that naked
functions are exactly an inline asm call + unreachable, or is more
allowed?)

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


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

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp

  Log Message:
  -----------
  [Coroutines] Fix -Wunused-variable in CoroFrame.cpp (NFC)

/llvm-project/llvm/lib/Transforms/Coroutines/CoroFrame.cpp:1124:15:
error: unused variable 'PromiseAlloca' [-Werror,-Wunused-variable]
  AllocaInst *PromiseAlloca = Shape.getPromiseAlloca();
              ^
1 error generated.


  Commit: c29aba7159473c5fc225d4aea75647939497e3ac
      https://github.com/llvm/llvm-project/commit/c29aba7159473c5fc225d4aea75647939497e3ac
  Author: PeterChou1 <peter.chou at mail.utoronto.ca>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/test/clang-doc/basic-project.test

  Log Message:
  -----------
  [clang-doc] add support for block commands in clang-doc html output (#101108)


  Commit: f5f0055a77c14df17809d7c5a977dac88c43f905
      https://github.com/llvm/llvm-project/commit/f5f0055a77c14df17809d7c5a977dac88c43f905
  Author: Bimo <rui.xu at intel.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    R mlir/python/mlir/extras/__init__.py

  Log Message:
  -----------
  [MLIR][Python] remove unused init python file (#104890)

remove unused `__init__.py` under `mlir/python/mlir/extras`


  Commit: 513e0af0a940f3a823f8f0e83189cb33cb81496f
      https://github.com/llvm/llvm-project/commit/513e0af0a940f3a823f8f0e83189cb33cb81496f
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lld/COFF/Symbols.cpp
    A lld/test/COFF/weak-external-cycle.test

  Log Message:
  -----------
  [LLD][COFF] Detect weak reference cycles. (#104463)

Instead of entering an infinite loop.


  Commit: c91cc459d396dd4625d3dbf9a2af6fac8151eb4b
      https://github.com/llvm/llvm-project/commit/c91cc459d396dd4625d3dbf9a2af6fac8151eb4b
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lld/test/ELF/exclude-libs.s
    M llvm/lib/IR/DataLayout.cpp
    M llvm/test/Assembler/invalid-datalayout-override.ll
    M llvm/test/Bitcode/function-default-address-spaces.ll
    R llvm/test/Bitcode/invalid-functionptr-align.ll
    R llvm/test/Bitcode/invalid-functionptr-align.ll.bc
    A llvm/test/Bitcode/invalid-stack-align.ll
    A llvm/test/Bitcode/invalid-stack-align.ll.bc
    M llvm/test/CodeGen/PowerPC/pr15359.ll
    M llvm/test/CodeGen/PowerPC/pr16556-2.ll
    M llvm/test/CodeGen/PowerPC/pr16556.ll
    M llvm/unittests/IR/DataLayoutTest.cpp
    M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
    M mlir/test/Target/LLVMIR/Import/data-layout.ll

  Log Message:
  -----------
  [DataLayout] Refactor the rest of `parseSpecification` (#104545)

The aim is to improve test coverage of data layout string parsing.

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


  Commit: 7452014c95f97d2f25ad3e5cfea29085648428da
      https://github.com/llvm/llvm-project/commit/7452014c95f97d2f25ad3e5cfea29085648428da
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [LV] Simplify !UserVF.isZero() -> UserVF (NFC).

Address post-commit comment for b8dccb7d56c to simplify code.


  Commit: a6d81cdf896d901e0f5e672b9a3eccc4ae8759ce
      https://github.com/llvm/llvm-project/commit/a6d81cdf896d901e0f5e672b9a3eccc4ae8759ce
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td

  Log Message:
  -----------
  [MLIR][Bufferize][NFC] Fix documentation typo (#104881)


  Commit: b804516dc5cf2bb99ff02aa49f9d4da76d721ea9
      https://github.com/llvm/llvm-project/commit/b804516dc5cf2bb99ff02aa49f9d4da76d721ea9
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBBreakpointLocation.cpp
    M lldb/source/API/SBBreakpointName.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
    M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/InstrumentationRuntimeMainThreadChecker.cpp
    M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
    M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/Process/Utility/ThreadMemory.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
    M lldb/source/Symbol/DWARFCallFrameInfo.cpp

  Log Message:
  -----------
  [lldb][AIX] 1. Avoid namespace collision on other platforms (#104679)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:
1.  https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2.  #101657 

The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

The changes on this PR are intended to avoid namespace collision for
certain typedefs between lldb and other platforms:
1. tid_t --> lldb::tid_t
2. offset_t --> lldb::offset_t


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

  Changed paths:
    A clang/test/CodeGenCoroutines/coro-dwarf-O2.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-debug-O2.ll

  Log Message:
  -----------
  [Coroutines] Salvage the debug information for coroutine frames within optimizations

This patch tries to salvage the debug information for the coroutine
frames within optimizations by creating the help alloca varaibles with
optimizations too. We didn't do this when I implement it initially. I
roughtly remember the reason was, we feel the additional help alloca
variable may pessimize the performance, which is almost the most
important thing under optimizations. But now, it looks like the new
inserted help alloca variables can be optimized out by the following
optimizations. So it looks like the time to make it available within
optimizations.

And also, it looks like the following optimizations will convert the
generated dbg.declare instrinsic into dbg.value intrinsic within
optimizations.

In LLVM's test, there is a slightly regression
that a dbg.declare for the promise object failed to be remained after
this change. But it looks like we won't have a chance to see dbg.declare
for the promise object when we split the coroutine as that dbg.declare
will be converted into a dbg.value in early stage.

So everything looks fine.


  Commit: 5adbce072c1d9036eb1b31daafc085e318126f3d
      https://github.com/llvm/llvm-project/commit/5adbce072c1d9036eb1b31daafc085e318126f3d
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [llvm][GitHub] Fix formatting of new contributor comments

GitHub won't reflow the text unless we put it all on one line.

If we try to make our own paragrpahs it comes out too narrow or
too wide.


  Commit: 66953c9582b0ad960ccbb8463158273cdc40cd8f
      https://github.com/llvm/llvm-project/commit/66953c9582b0ad960ccbb8463158273cdc40cd8f
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSME/Transforms/Passes.td

  Log Message:
  -----------
  [mlir][ArmSME][docs] Update example (NFC)


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/Modules/merge-using-decls.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix initializing base casts (#104901)

Use delegate() there. To fix a follow-up problem, abort when a cast ends
up on a valid Pointer that isn't a base class.


  Commit: f1b642775f11c6defd06eea64df22a465b46a0ce
      https://github.com/llvm/llvm-project/commit/f1b642775f11c6defd06eea64df22a465b46a0ce
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/test/AST/ByteCode/builtin-functions.cpp

  Log Message:
  -----------
  [Clang][test] Add bytecode interpreter tests for floating comparison functions (#104703)

See also: #94118, 71801707e33c235656b172fa7dfb8662473a95c2


  Commit: 3c5374595bf20bd9665dce5b832d7cc1f09b8415
      https://github.com/llvm/llvm-project/commit/3c5374595bf20bd9665dce5b832d7cc1f09b8415
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir

  Log Message:
  -----------
  [mlir][EmitC] Do not convert illegal types in EmitC (#104571)

This patch adds check for unsupported types in emitc, which fixes a
crash. Fix #103706.


  Commit: e47b507562624bf291ab2515699d39c2669b6131
      https://github.com/llvm/llvm-project/commit/e47b507562624bf291ab2515699d39c2669b6131
  Author: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Conversion/SCFToEmitC/for.mlir
    M mlir/test/Conversion/SCFToEmitC/if.mlir
    M mlir/test/Conversion/SCFToEmitC/switch.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/invalid_types.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/EmitC/transforms.mlir
    M mlir/test/Dialect/EmitC/types.mlir
    M mlir/test/Target/Cpp/common-cpp.mlir
    M mlir/test/Target/Cpp/expressions.mlir
    M mlir/test/Target/Cpp/for.mlir
    M mlir/test/Target/Cpp/global.mlir
    M mlir/test/Target/Cpp/if.mlir
    M mlir/test/Target/Cpp/invalid.mlir
    M mlir/test/Target/Cpp/invalid_declare_variables_at_top.mlir
    A mlir/test/Target/Cpp/lvalue.mlir
    M mlir/test/Target/Cpp/member.mlir
    M mlir/test/Target/Cpp/subscript.mlir
    M mlir/test/Target/Cpp/switch.mlir
    M mlir/test/Target/Cpp/variable.mlir

  Log Message:
  -----------
  [mlir][EmitC] Model lvalues as a type in EmitC (#91475)

This adds an `emitc.lvalue` type which models assignable lvlaues in the
type system. Operations modifying memory are restricted to this type
accordingly.

See also the discussion on
[discourse](https://discourse.llvm.org/t/rfc-separate-variables-from-ssa-values-in-emitc/75224/9).
The most notable changes are as follows.

- `emitc.variable` and `emitc.global` ops are restricted to return
`emitc.array` or `emitc.lvalue` types
- Taking the address of a value is restricted to operands with lvalue
type
- Conversion from lvalues into SSA values is done with the new
`emitc.load` op
- The var operand of the `emitc.assign` op is restricted to lvalue type 
- The result of the `emitc.subscript` and `emitc.get_global` ops is a
lvalue type
- The operands and results of the `emitc.member` and
`emitc.member_of_ptr` ops are restricted to lvalue types

---------

Co-authored-by: Matthias Gehre <matthias.gehre at amd.com>


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

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/include/llvm/ADT/GenericSSAContext.h
    M llvm/include/llvm/Analysis/CycleAnalysis.h
    M llvm/include/llvm/CodeGen/MachineSSAContext.h
    M llvm/include/llvm/IR/SSAContext.h
    M llvm/lib/Analysis/CycleAnalysis.cpp
    M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
    M llvm/lib/IR/CycleInfo.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/CycleInfo/basic.ll
    M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll

  Log Message:
  -----------
  [CycleAnalysis] Methods to verify cycles and their nesting. (#102300)

The original implementation provided a simple method to check whether
the forest of nested cycles is well-formed. This is now augmented with
other methods to check well-formedness of all cycles, either
invdividually, or as the entire forest. These will be used by future
transforms that modify CycleInfo.


  Commit: ba84cfbe0ce2c697702c377b32e4dbf50dd1e114
      https://github.com/llvm/llvm-project/commit/ba84cfbe0ce2c697702c377b32e4dbf50dd1e114
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    A llvm/test/Analysis/BasicAA/gep-nuw-alias.ll

  Log Message:
  -----------
  [BasicAA] Use nuw attribute of GEPs (#98608)

Use the nuw attribute of GEPs to prove that pointers do not alias, in
cases matching the following:

   +                +                     +
   | BaseOffset     |   +<nuw> Indices    |
   ---------------->|-------------------->|
   |-->V2Size       |                     |-------> V1Size
  LHS                                    RHS

If the difference between pointers is Offset +<nuw> Indices then we know
that the addition does not wrap the pointer index type (add nuw) and the
constant Offset is a lower bound on the distance between the pointers. We
can then prove NoAlias via Offset u>= V2Size.


  Commit: aa875cfe11ddec239934e37ce07c1cf7804bb73b
      https://github.com/llvm/llvm-project/commit/aa875cfe11ddec239934e37ce07c1cf7804bb73b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Decomposer.cpp
    M flang/lib/Lower/OpenMP/Decomposer.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Lower/OpenMP/Todo/omp-do-simd-linear.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    R llvm/include/llvm/Frontend/OpenMP/ConstructCompositionT.h

  Log Message:
  -----------
  [Flang][OpenMP] Prevent re-composition of composite constructs (#102613)

After decomposition of OpenMP compound constructs and assignment of
applicable clauses to each leaf construct, composite constructs are then
combined again into a single element in the construct queue. This helped
later lowering stages easily identify composite constructs.

However, as a result of the re-composition stage, the same list of
clauses is used to produce all MLIR operations corresponding to each
leaf of the original composite construct. This undoes existing logic
introducing implicit clauses and deciding to which leaf construct(s)
each clause applies.

This patch removes construct re-composition logic and updates Flang
lowering to be able to identify composite constructs from a list of leaf
constructs. As a result, the right set of clauses is produced for each
operation representing a leaf of a composite construct.

PR stack:
- #102612
- #102613


  Commit: 34a88bbc34870e43fc00a9fc39f9267c844ac207
      https://github.com/llvm/llvm-project/commit/34a88bbc34870e43fc00a9fc39f9267c844ac207
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
    M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
    M mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
    M mlir/test/Dialect/DLTI/invalid.mlir
    M mlir/test/Dialect/DLTI/query.mlir
    M mlir/test/Dialect/DLTI/valid.mlir
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [MLIR][DLTI] Introduce DLTIQueryInterface and impl for DLTI attrs (#104595)

This new interface is supposed to capture the core functionality of
DLTI: querying for values at keys. As such this new interface unifies
the ability to query DLTI attributes in a single method: query(). All
existing DLTI interfaces exposing their own query methods now 1) now
extend this new interface and 2) provide a default implementation for
`query()`.

As DLTIQueryInterface::query() returns an attribute, it naturally
enables recursive queries on nested DLTI attrs. A utility function,
`dlti::query()`, implements the logic for nested lookups.

A new `#dlti.map` attribute is introduced to capture the most generic
form of a finite DLTI-mapping. One of the benefits is that it allows for
more easily encoding hierachical information that is suitably queryable,
i.e. by means of nested attributes.

In line with the above, `transform.dlti.query` is modified so as to take
an arbitrary number of keys and to perform a nested lookup using the
above utility function.


  Commit: b9864387d9d00e1d4888181460d05dbc92364d75
      https://github.com/llvm/llvm-project/commit/b9864387d9d00e1d4888181460d05dbc92364d75
  Author: Ian Anderson <iana at apple.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    A clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
    M clang/test/Driver/darwin-builtin-modules.c

  Log Message:
  -----------
  [clang][modules] Built-in modules are not correctly enabled for Mac Catalyst (#104872)

Mac Catalyst is the iOS platform, but it builds against the macOS SDK
and so it needs to be checking the macOS SDK version instead of the iOS
one. Add tests against a greater-than SDK version just to make sure this
works beyond the initially supporting SDKs.


  Commit: 42067f26cd084d29fdd08a75a36b8785ae9f3982
      https://github.com/llvm/llvm-project/commit/42067f26cd084d29fdd08a75a36b8785ae9f3982
  Author: Robert Barinov <165884206+rbintel at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    A llvm/test/tools/llvm-reduce/Inputs/reduce-distinct-metadata.py
    A llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
    M llvm/test/tools/llvm-reduce/remove-metadata.ll
    M llvm/tools/llvm-reduce/CMakeLists.txt
    M llvm/tools/llvm-reduce/DeltaManager.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
    A llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
    M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp

  Log Message:
  -----------
  [LLVM-Reduce] - Distinct Metadata Reduction (#104624)


  Commit: 4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b
      https://github.com/llvm/llvm-project/commit/4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/include/llvm/ADT/GenericSSAContext.h
    M llvm/include/llvm/Analysis/CycleAnalysis.h
    M llvm/include/llvm/CodeGen/MachineSSAContext.h
    M llvm/include/llvm/IR/SSAContext.h
    M llvm/lib/Analysis/CycleAnalysis.cpp
    M llvm/lib/CodeGen/MachineCycleAnalysis.cpp
    M llvm/lib/IR/CycleInfo.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/CycleInfo/basic.ll
    M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll

  Log Message:
  -----------
  Revert "[CycleAnalysis] Methods to verify cycles and their nesting. (#102300)"

This reverts commit b432afc28406b670a58933c2fe56c73e6f85911e.

Reverted due to linker failures in expensive-checks.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/c23.c

  Log Message:
  -----------
  [clang][bytecode] Fix discarding CompoundLiteralExprs (#104909)


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

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

  Log Message:
  -----------
  [SimplifyCFG] Add support for hoisting commutative instructions (#104805)

This extends SimplifyCFG hoisting to also hoist instructions with
commuted operands, for example a+b on one side and b+a on the other
side.

This should address the issue mentioned in:
https://github.com/llvm/llvm-project/pull/91185#issuecomment-2097447927


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

  Changed paths:
    A clang/test/CodeGen/X86/strictfp_patterns.c

  Log Message:
  -----------
  [X86] Add clang codegen test coverage for #104848


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

  Changed paths:
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/test/CodeGen/X86/strictfp_patterns.c

  Log Message:
  -----------
  [X86] Use correct fp immediate types in _mm_set_ss/sd

Avoids implicit sint_to_fp which wasn't occurring on strict fp codegen

Fixes #104848


  Commit: 21de04918e0b4b6835d331b726861740525d06d9
      https://github.com/llvm/llvm-project/commit/21de04918e0b4b6835d331b726861740525d06d9
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 42067f26cd08


  Commit: f321456e1aaff050a44698f1273da9589e74ebb4
      https://github.com/llvm/llvm-project/commit/f321456e1aaff050a44698f1273da9589e74ebb4
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/ScheduleDAG.cpp
    M llvm/test/CodeGen/AArch64/abds.ll

  Log Message:
  -----------
  [ScheduleDAG] Dirty height/depth in addPred/removePred even for latency zero (#102915)

A long time ago (back in 2009) there was a commit 52d4d8244b7c39c5cd
that changed the scheduler to not dirty height/depth when adding or
removing SUnit predecessors when the latency on the edge was zero. That
commit message is claiming that the depth or height isn't affected when
the latency is zero.

As a matter of fact, the depth/height can change even with a zero
latency on the edge. If for example adding a new SUnit A, with zero
latency, but as a predecessor to a SUnit B, then both height of A and
depth of B should be marked as dirty. If for example B has a greater
height than A, then the height of A needs to be adjusted even if the
latency is zero.

I think this has been wrong for many years. Downstream we have had
commit 52d4d8244b7c39c5cd reverted since back in 2016. There is no
motivating lit test for 52d4d8244b7c39c5cd (only an incomplete C level
reproducer in https://github.com/llvm/llvm-project/issues/3613).

After commit 13d04fa560e156797c21f1 there finally appeared an upstream
lit test that shows that we get better code if marking height/depth as
dirty (llvm/test/CodeGen/AArch64/abds.ll).


  Commit: 3f25f23a2b8aaff300e751d4724a3ddba4d694eb
      https://github.com/llvm/llvm-project/commit/3f25f23a2b8aaff300e751d4724a3ddba4d694eb
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Headers/avx2intrin.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/gfniintrin.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/pmmintrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/test/CodeGen/X86/avx512vlbw-builtins.c

  Log Message:
  -----------
  [X86][AVX10] Fix unexpected error and warning when using intrinsic (#104781)

E.g.: https://godbolt.org/z/G8zK5svjK

Based on Evgenii's work.


  Commit: 39e3085a55880dbbc5aeddc3661342980d5e1467
      https://github.com/llvm/llvm-project/commit/39e3085a55880dbbc5aeddc3661342980d5e1467
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    R clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Misc/target-invalid-cpu-note/aarch64.c
    A clang/test/Misc/target-invalid-cpu-note/amdgcn.c
    A clang/test/Misc/target-invalid-cpu-note/arm.c
    A clang/test/Misc/target-invalid-cpu-note/avr.c
    A clang/test/Misc/target-invalid-cpu-note/bpf.c
    A clang/test/Misc/target-invalid-cpu-note/hexagon.c
    A clang/test/Misc/target-invalid-cpu-note/lanai.c
    A clang/test/Misc/target-invalid-cpu-note/mips.c
    A clang/test/Misc/target-invalid-cpu-note/nvptx.c
    A clang/test/Misc/target-invalid-cpu-note/powerpc.c
    A clang/test/Misc/target-invalid-cpu-note/r600.c
    A clang/test/Misc/target-invalid-cpu-note/riscv.c
    A clang/test/Misc/target-invalid-cpu-note/sparc.c
    A clang/test/Misc/target-invalid-cpu-note/systemz.c
    A clang/test/Misc/target-invalid-cpu-note/wasm.c
    A clang/test/Misc/target-invalid-cpu-note/x86.c

  Log Message:
  -----------
  [clang][NFC] Split invalid-cpu-note tests (#104601)

This change does two kinds of splits:
- Splits each target into a different file. Some targets are left in the
same files, such as riscv32/64 and x86/_64 as these tests and lists are
very similar.
- Splits up the very long 'note:' lines which contain a list of CPUs,
using `CHECK-SAME`. There was a note about this not being possible
before, but with `{{^}}`, this is now possible -- I have
verified that this does the right thing if a single CPU anywhere in the
list is left out.

These tests had become quite annoying to change when adding a CPU, and I
believe this change makes these easier to maintain, and should cut down
on conflicts in these files (or at least makes conflicts easier to
resolve).

I apologise in advance for downstream conflicts, but hopefully that's a
small amount of short term pain, in return for fewer conflicts in
future.


  Commit: 7cfc9a3a3d87e39611438e4bd178358329573294
      https://github.com/llvm/llvm-project/commit/7cfc9a3a3d87e39611438e4bd178358329573294
  Author: Bogdan-Alexandru Geană <1569265+abgeana at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp

  Log Message:
  -----------
  [llvm-c] Add getters for LLVMContextRef for various types (#99087)

Small PR to add additional getters for LLVMContextRef in the C API.


  Commit: eb7d535199d7fc3de763276093b97141a041d3d6
      https://github.com/llvm/llvm-project/commit/eb7d535199d7fc3de763276093b97141a041d3d6
  Author: Tim Besard <tim.besard at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/IR/Core.cpp
    M llvm/test/Bindings/llvm-c/echo.ll
    M llvm/tools/llvm-c-test/attributes.c
    M llvm/tools/llvm-c-test/echo.cpp
    M llvm/tools/llvm-c-test/llvm-c-test.h
    M llvm/tools/llvm-c-test/module.c
    M llvm/unittests/IR/InstructionsTest.cpp

  Log Message:
  -----------
  [LLVM] Add a C API for creating instructions with custom syncscopes. (#104775)

Another upstreaming of C API extensions we have in Julia/LLVM.jl.
Although [we went](https://github.com/maleadt/LLVM.jl/pull/431) with a
string-based API there, here I'm proposing something that's similar to
existing metadata/attribute APIs:
- explicit functions to map syncscope names to IDs, and back
- `LLVM*SyncScope` versions of builder APIs that already take a
`SingleThread` argument: atomic rmw, atomic xchg, fence
- `LLVMGetAtomicSyncScopeID` and `LLVMSetAtomicSyncScopeID` for other
atomic instructions
- testing through `llvm-c-test`'s `--echo` functionality


  Commit: 2511cdb078b168796080150a23619c806ed350f2
      https://github.com/llvm/llvm-project/commit/2511cdb078b168796080150a23619c806ed350f2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Adjust fixpoint error message (NFC)

Add a hint to use the no-verify-fixpoint option.


  Commit: 34e15adb5a725a5ecc7c0d5ef5571d307d751a93
      https://github.com/llvm/llvm-project/commit/34e15adb5a725a5ecc7c0d5ef5571d307d751a93
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Remove TargetParser CPU/Arch feature tests (#104587)

These are annoying to update, and are redundant since the tests in
clang/test/Driver/print-enabled-extensions/ were added.


  Commit: 5f3c0b23759faa80b0be59531f7e6643f9c95d32
      https://github.com/llvm/llvm-project/commit/5f3c0b23759faa80b0be59531f7e6643f9c95d32
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll

  Log Message:
  -----------
  [AArch64][NEON] Extend faminmax patterns with fminnm/fmaxnm (#104766)

Patterns were previously added to allow the following reductions
- fminimum(abs(a), abs(b)) -> famin(a, b)
- fmaximum(abs(a), abs(b)) -> famax(a, b)
- https://github.com/llvm/llvm-project/pull/103027
 
It was suggested by @davemgreen that the following reductions are also
possible
- fminnum[nnan](abs(a), abs(b)) -> famin(a, b)
- fmaxnum[nnan](abs(a), abs(b)) -> famax(a, b)

('nnan' documenatation:
https://llvm.org/docs/LangRef.html#fast-math-flags)

The 'no NaNs' flag allows optimisations to assume that neither argument
is a NaN, and so the differing NaN propagation semantics of
llvm.maxnum/llvm.minnum and FAMAX/FAMIN can be ignored in this
reduction.
(llvm.maxnum/llvm.minnum:
https://llvm.org/docs/LangRef.html#llvm-minnum-intrinsic)

- Changes to LLVM
	- lib/target/AArch64/AArch64InstrInfo.td
- add 'fminnm_nnan' and 'fmaxnm_nnan'; patfrags on fminnm/fmaxnm that
are predicated on the instrinsic call having the 'nnan' flag.
- add AArch64famin and AArch64famax patfrags, containing the new and
existing reductions.
	- test/CodeGen/AArch64/aarch64-neon-faminmax.ll
- add positive and negative tests for the new reduction, based on the
presence of 'nnan' in the IR intrinsic call.


  Commit: cfc76b6498a3c03268b3f319249afa4512d68e1c
      https://github.com/llvm/llvm-project/commit/cfc76b6498a3c03268b3f319249afa4512d68e1c
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/Offloading/Utility.h
    M llvm/lib/Frontend/Offloading/CMakeLists.txt
    M llvm/lib/Frontend/Offloading/Utility.cpp
    M offload/plugins-nextgen/amdgpu/CMakeLists.txt
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h

  Log Message:
  -----------
  [llvm][offload] Move AMDGPU offload utilities to LLVM (#102487)

This patch moves utilities from
`offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h` to
`llvm/Frontend/Offloading/Utility.h` to be reused by
other projects.

Concretely the following changes were made:
- Rename `KernelMetaDataTy` to `AMDGPUKernelMetaData`.
- Remove unused fields `KernelObject`, `KernelSegmentSize`,
`ExplicitArgumentCount` and `ImplicitArgumentCount` from
`AMDGPUKernelMetaData`.
- Return the produced error if `ELFObj.sections()` failed instead of
using `cantFail`.
- Added `AGPRCount` field to `AMDGPUKernelMetaData`.
- Added a default invalid value to all the fields in
`AMDGPUKernelMetaData`.


  Commit: 576b7a781aac6b1d60a72248894b50e565e9185a
      https://github.com/llvm/llvm-project/commit/576b7a781aac6b1d60a72248894b50e565e9185a
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
    M llvm/test/CodeGen/SPARC/inlineasm.ll

  Log Message:
  -----------
  [SPARC] Remove assertions in printOperand for inline asm operands (#104692)

Inline asm operands could contain any kind of relocation, so remove the
checks.

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


  Commit: fc044901a2b8ae277b62bdde9140917913bd1644
      https://github.com/llvm/llvm-project/commit/fc044901a2b8ae277b62bdde9140917913bd1644
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/test/API/functionalities/breakpoint/breakpoint_with_realpath_and_source_map/TestBreakpoint.py

  Log Message:
  -----------
  [lldb][Windows] Fixed the API test breakpoint_with_realpath_and_source_map (#104918)

This test is already disabled for Windows because of symlinks. Disable
it for cross build on Windows host too.


  Commit: ee572ed4ac2d9e2ff37217d6bedc20f530a5d3af
      https://github.com/llvm/llvm-project/commit/ee572ed4ac2d9e2ff37217d6bedc20f530a5d3af
  Author: hanbeom <kese111 at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  [AArch64] Optimize when storing symmetry constants (#93717)

This change looks for instructions of storing symmetric constants
instruction 32-bit units. usually consisting of several 'MOV' and
one or less 'ORR'.

If found, load only the lower 32-bit constant and change it to copy
and save to the upper 32-bit using the 'STP' instruction.

For example:
  renamable $x8 = MOVZXi 49370, 0
  renamable $x8 = MOVKXi $x8, 320, 16
  renamable $x8 = ORRXrs $x8, $x8, 32
  STRXui killed renamable $x8, killed renamable $x0, 0
becomes
  $w8 = MOVZWi 49370, 0
  $w8 = MOVKWi $w8, 320, 16
STPWi killed renamable $w8, killed renamable $w8, killed renamable $x0,
0


related issue : https://github.com/llvm/llvm-project/issues/51483


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

  Changed paths:
    M llvm/include/llvm/ADT/GenericCycleImpl.h
    M llvm/include/llvm/ADT/GenericCycleInfo.h
    M llvm/include/llvm/Analysis/CycleAnalysis.h
    M llvm/lib/Analysis/CycleAnalysis.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/test/Analysis/CycleInfo/basic.ll
    M llvm/test/Analysis/CycleInfo/unreachable-predecessor.ll

  Log Message:
  -----------
  Reapply "[CycleAnalysis] Methods to verify cycles and their nesting. (#102300)"

This reverts commit 4aacc60fe7e1f7b3f788bba8382ea1fa5189ef3b.

The original implementation provided a simple method to check whether the forest
of nested cycles is well-formed. This is now augmented with other methods to
check well-formedness of every cycle, either individually, or as the entire
forest. These will be used by future transforms that modify CycleInfo.


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/aarch64-mull-masks.ll
    M llvm/test/CodeGen/AArch64/peephole-sxtw.mir

  Log Message:
  -----------
  [AArch64] Extend sxtw peephole to uxtw. (#104516)

This extends the existing sxtw peephole optimization (#96293) to uxtw,
which in llvm is a ORRWrr which clears the top bits.

Fixes #98481


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

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

  Log Message:
  -----------
  [InstCombine] Thwart complexity-based canonicalization in test (NFC)


  Commit: 27e5f505e5eee3da27c1515d6ed95d66fbe543ea
      https://github.com/llvm/llvm-project/commit/27e5f505e5eee3da27c1515d6ed95d66fbe543ea
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGen/ffp-model.c
    M clang/test/Driver/fp-model.c

  Log Message:
  -----------
  [Driver] Make ffp-model=fast honor non-finite-values, introduce ffp-model=aggressive (#100453)

This change modifies -ffp-model=fast to select options that more closely
match -funsafe-math-optimizations, and introduces a new model,
-ffp-model=aggressive which matches the existing behavior (except for a
minor change in the fp-contract behavior).

The primary motivation for this change is to make -ffp-model=fast more
user friendly, particularly in light of LLVM's aggressive optimizations
when -fno-honor-nans and -fno-honor-infinites are used.

This was previously proposed here:

https://discourse.llvm.org/t/making-ffp-model-fast-more-user-friendly/78402


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/ctlz-latency.ll
    M llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/ctlz.ll
    M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
    M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/cttz.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Transforms/LoopIdiom/X86/ctlz.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
    M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-zero.ll

  Log Message:
  -----------
  [CostModel][X86] Add missing costkinds for scalar CTLZ/CTTZ instructions

Baed off worst case llvm-mca numbers for CTLZ/CTTZ(+ZERO_UNDEF) codegen

Prep work for #102885


  Commit: 9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1
      https://github.com/llvm/llvm-project/commit/9bb555688caf6ae4ba89fee5baa3dc29fec6a9b1
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    A llvm/include/llvm/CGData/CodeGenData.h
    A llvm/include/llvm/CGData/CodeGenData.inc
    A llvm/include/llvm/CGData/CodeGenDataReader.h
    A llvm/include/llvm/CGData/CodeGenDataWriter.h
    A llvm/include/llvm/CGData/OutlinedHashTree.h
    A llvm/include/llvm/CGData/OutlinedHashTreeRecord.h
    R llvm/include/llvm/CodeGenData/OutlinedHashTree.h
    R llvm/include/llvm/CodeGenData/OutlinedHashTreeRecord.h
    A llvm/lib/CGData/CMakeLists.txt
    A llvm/lib/CGData/CodeGenData.cpp
    A llvm/lib/CGData/CodeGenDataReader.cpp
    A llvm/lib/CGData/CodeGenDataWriter.cpp
    A llvm/lib/CGData/OutlinedHashTree.cpp
    A llvm/lib/CGData/OutlinedHashTreeRecord.cpp
    M llvm/lib/CMakeLists.txt
    R llvm/lib/CodeGenData/CMakeLists.txt
    R llvm/lib/CodeGenData/OutlinedHashTree.cpp
    R llvm/lib/CodeGenData/OutlinedHashTreeRecord.cpp
    M llvm/test/CMakeLists.txt
    M llvm/test/lit.cfg.py
    A llvm/test/tools/llvm-cgdata/convert.test
    A llvm/test/tools/llvm-cgdata/empty.test
    A llvm/test/tools/llvm-cgdata/error.test
    A llvm/test/tools/llvm-cgdata/merge-archive.test
    A llvm/test/tools/llvm-cgdata/merge-concat.test
    A llvm/test/tools/llvm-cgdata/merge-double.test
    A llvm/test/tools/llvm-cgdata/merge-single.test
    A llvm/test/tools/llvm-cgdata/show.test
    A llvm/tools/llvm-cgdata/CMakeLists.txt
    A llvm/tools/llvm-cgdata/Opts.td
    A llvm/tools/llvm-cgdata/llvm-cgdata.cpp
    A llvm/unittests/CGData/CMakeLists.txt
    A llvm/unittests/CGData/OutlinedHashTreeRecordTest.cpp
    A llvm/unittests/CGData/OutlinedHashTreeTest.cpp
    M llvm/unittests/CMakeLists.txt
    R llvm/unittests/CodeGenData/CMakeLists.txt
    R llvm/unittests/CodeGenData/OutlinedHashTreeRecordTest.cpp
    R llvm/unittests/CodeGenData/OutlinedHashTreeTest.cpp

  Log Message:
  -----------
  Reland [CGData] llvm-cgdata #89884 (#101461)

Reland [CGData] llvm-cgdata #89884 using `Opt` instead of `cl`
- Action options are required, `--convert`, `--show`, `--merge`. This
was similar to sub-commands previously implemented, but having a prefix
`--`.
- `--format` option is added, which specifies `text` or `binary`.

---------

Co-authored-by: Kyungwoo Lee <kyulee at fb.com>


  Commit: 74f5ee4ffe89da4a0e9c762c69f8a68536fbf754
      https://github.com/llvm/llvm-project/commit/74f5ee4ffe89da4a0e9c762c69f8a68536fbf754
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILMetadataAnalysis.h
    M llvm/lib/Analysis/DXILMetadataAnalysis.cpp
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
    A llvm/test/CodeGen/DirectX/Metadata/empty-valver1.8.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-as.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs-val-ver-0.0.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-cs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-gs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-hs.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-lib.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ms.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-ps.ll
    M llvm/test/CodeGen/DirectX/Metadata/shaderModel-vs.ll

  Log Message:
  -----------
  [DXIL][Analysis] Add validator version to info collected by Module Metadata Analysis  (#104828)

Add Validator Version to information collected by Module Metadata
Analysis pass. An earlier change (#104040) added a default hardcoded
value for validator version to be associated with DXIL module created
during HLSL source compilation.

Add tests to verify validator version info collected
 - Updated existing tests
 - Added a test with validator version specified in DXIL metadata


  Commit: 8f4f3df3c0ffc22c09d9201980a88ebb8aecc8f8
      https://github.com/llvm/llvm-project/commit/8f4f3df3c0ffc22c09d9201980a88ebb8aecc8f8
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c

  Log Message:
  -----------
  Reenable anon structs (#104922)

Add back missing includes and revert revert "[clang][ExtractAPI] Stop
dropping fields of nested anonymous record types when they aren't
attached to variable declaration (#104600)"


  Commit: 723a9b87e212a06ae1183f52aa51fa5e367d5a68
      https://github.com/llvm/llvm-project/commit/723a9b87e212a06ae1183f52aa51fa5e367d5a68
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/tools/llvm-cgdata/llvm-cgdata.cpp

  Log Message:
  -----------
  [llvm-cgdata] Fix -Wcovered-switch-default (NFC)

/llvm-project/llvm/tools/llvm-cgdata/llvm-cgdata.cpp:349:3:
error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  default:
  ^
1 error generated.


  Commit: b5f7b6961d2bc4d852fc3a5992aecf5e2e48baee
      https://github.com/llvm/llvm-project/commit/b5f7b6961d2bc4d852fc3a5992aecf5e2e48baee
  Author: Tomas Matheson <tomas.matheson at arm.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] fix buildbot by removing dead code

Failure with -Werror buildbot caused by #104587


  Commit: 1c3955f9dff9b653be88d5dea5bc3cd007904e90
      https://github.com/llvm/llvm-project/commit/1c3955f9dff9b653be88d5dea5bc3cd007904e90
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/include/clang/AST/OpenMPClause.h

  Log Message:
  -----------
  [clang][OpenMP] Fix typo in comment, NFC


  Commit: 55d744eea36194809c4d16437db08aaa91c74292
      https://github.com/llvm/llvm-project/commit/55d744eea36194809c4d16437db08aaa91c74292
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [AMDGPU] Move AMDGPUMemoryUtils out of Utils. NFC. (#104930)

It is only used by CodeGen so does not need to be shared with the
assembler/disassembler.


  Commit: d5e9691509aa774d1acedc4d3fa2d497757a2d6d
      https://github.com/llvm/llvm-project/commit/d5e9691509aa774d1acedc4d3fa2d497757a2d6d
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/elect.ll

  Log Message:
  -----------
  [NVPTX] Add elect.sync Intrinsic (#104780)

This patch adds an NVVM intrinsic and NVPTX codegen for the elect.sync
PTX instruction. Lit tests are
added in elect.ll and verified through ptxas.

PTX ISA reference:

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-elect-sync

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


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

  Changed paths:
    M llvm/docs/BitCodeFormat.rst

  Log Message:
  -----------
  [NFC] Remove explicit bitcode enumeration from BitCodeFormat.rst (#102618)

This explicit listing of the bitcodes is out of date, and had fallen out of date in the past as well.

Delete the explicit listing and point users to where they can find it.


  Commit: 5032fa89ad1ea1b460a0b9ef1375d7c868db1712
      https://github.com/llvm/llvm-project/commit/5032fa89ad1ea1b460a0b9ef1375d7c868db1712
  Author: Marius Brehler <marius.brehler at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir

  Log Message:
  -----------
  [MLIR][EmitC] Allow ptrdiff_t as result in sub op (#104921)

This explicitly allows the `emitc.ptrdiff_t` type for the result of
substrating two pointers and changes the example accordingly.


  Commit: c670cb47d109b68158dd53885aff94542a8312c5
      https://github.com/llvm/llvm-project/commit/c670cb47d109b68158dd53885aff94542a8312c5
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    R llvm/test/CodeGen/DirectX/Metadata/empty-valver1.8.ll

  Log Message:
  -----------
  [DXIL][Analysis] Delete unnecessary test (#105025)

Delete an unnecessary test added in an earlier PR.


  Commit: 90a8e5a7ac52d05c2331f0f3d1461fcab6b7d520
      https://github.com/llvm/llvm-project/commit/90a8e5a7ac52d05c2331f0f3d1461fcab6b7d520
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp

  Log Message:
  -----------
  InferAddressSpaces: Factor replacement loop into function [NFC] (#104430)


  Commit: f9e2a86b2e852dbed027e6aea5b48f32f2415b13
      https://github.com/llvm/llvm-project/commit/f9e2a86b2e852dbed027e6aea5b48f32f2415b13
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [clang][ASTMatcher] Fix execution order of hasOperands submatchers (#104148)

`hasOperands` does not always execute matchers in the order they are
written. This can cause issue in code using bindings when one operand
matcher is relying on a binding set by the other. With this change, the
first matcher present in the code is always executed first and any
binding it sets are available to the second matcher.

Simple example with current version (1 match) and new version (2
matches):
```bash
> cat tmp.cpp
int a = 13;
int b = ((int) a) - a;
int c = a - ((int) a);

> clang-query tmp.cpp
clang-query> set traversal IgnoreUnlessSpelledInSource
clang-query> m binaryOperator(hasOperands(cStyleCastExpr(has(declRefExpr(hasDeclaration(valueDecl().bind("d"))))), declRefExpr(hasDeclaration(valueDecl(equalsBoundNode("d"))))))

Match #1:

tmp.cpp:1:1: note: "d" binds here
int a = 13;
^~~~~~~~~~
tmp.cpp:2:9: note: "root" binds here
int b = ((int)a) - a;
        ^~~~~~~~~~~~
1 match.

> ./build/bin/clang-query tmp.cpp
clang-query> set traversal IgnoreUnlessSpelledInSource
clang-query> m binaryOperator(hasOperands(cStyleCastExpr(has(declRefExpr(hasDeclaration(valueDecl().bind("d"))))), declRefExpr(hasDeclaration(valueDecl(equalsBoundNode("d"))))))

Match #1:

tmp.cpp:1:1: note: "d" binds here
    1 | int a = 13;
      | ^~~~~~~~~~
tmp.cpp:2:9: note: "root" binds here
    2 | int b = ((int)a) - a;
      |         ^~~~~~~~~~~~

Match #2:

tmp.cpp:1:1: note: "d" binds here
    1 | int a = 13;
      | ^~~~~~~~~~
tmp.cpp:3:9: note: "root" binds here
    3 | int c = a - ((int)a);
      |         ^~~~~~~~~~~~
2 matches.
```

If this should be documented or regression tested anywhere please let me
know where.


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

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [docs] Fix typo in llvm.experimental.vector.compress code-block snippet


  Commit: c106e8d729d121bb70739d9703be8b8cd416916f
      https://github.com/llvm/llvm-project/commit/c106e8d729d121bb70739d9703be8b8cd416916f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/Compiler.h

  Log Message:
  -----------
  [Support] Remove unneeded __has_include fallback

This is a C++17 feature implemented in all supported compilers.

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


  Commit: 7c06786479311fbf19f54c7980c6e96936fa05a8
      https://github.com/llvm/llvm-project/commit/7c06786479311fbf19f54c7980c6e96936fa05a8
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/cmake/config-ix.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/lib/Support/Unix/Signals.inc
    M llvm/unittests/Support/SignalsTest.cpp
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm-project-overlay/llvm/config.bzl
    M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
    M utils/bazel/llvm_configs/config.h.cmake

  Log Message:
  -----------
  [CMake] Remove HAVE_LINK_H

We can remove the variable from https://reviews.llvm.org/D5610 since
link.h is available on Linux (glibc/musl/Bionic), FreeBSD, and NetBSD.
Use `__has_include(<link.h>)` before including it.

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


  Commit: 61f8ab3a367505ac8fab900f9160ecd629a85859
      https://github.com/llvm/llvm-project/commit/61f8ab3a367505ac8fab900f9160ecd629a85859
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/IRDL/IR/IRDL.td
    M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td

  Log Message:
  -----------
  [mlir] [irdl] Improve IRDL documentation (#104928)

Updates some of the irdl documentation to be in line with the current
state of IRDL. Also removes some trailing spaces in this documentation.


  Commit: 2641ed7d26198557a63ce447a0584a96494a5ac4
      https://github.com/llvm/llvm-project/commit/2641ed7d26198557a63ce447a0584a96494a5ac4
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/test/Transforms/OpenMP/spmdization.ll

  Log Message:
  -----------
  [OpenMP][FIX] Check for requirements early (#104836)

If we can't transform the region to SPMD, we should not wait till the
end to decide that. Other AAs might assume SPMD, and we did set the
constant initializer to indicate SPMD, but we did not change the code
properly.


  Commit: dfc3494d48f06be9144b9a1d5cb76e519c194215
      https://github.com/llvm/llvm-project/commit/dfc3494d48f06be9144b9a1d5cb76e519c194215
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:

  Log Message:
  -----------
  Fix a warning for -Wcovered-switch-default (#105054)

This fixes a build break from [llvm/llvm-project] Reland [CGData]
llvm-cgdata #89884 (PR #101461)


  Commit: 9b25ad818c0b82fe4db8b43e9c9700805a2c7322
      https://github.com/llvm/llvm-project/commit/9b25ad818c0b82fe4db8b43e9c9700805a2c7322
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll

  Log Message:
  -----------
  [CodeGenPrepare][X86] Add tests for fixing `urem` transform; NFC


  Commit: e4c67ba67ee25e74bbcb719f90dba6e2e9ce41a0
      https://github.com/llvm/llvm-project/commit/e4c67ba67ee25e74bbcb719f90dba6e2e9ce41a0
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/X86/fold-loop-of-urem.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll

  Log Message:
  -----------
  Recommit "[CodeGenPrepare] Folding `urem` with loop invariant value"

Was missing remainder on `Start` value.

Also changed logic as as nikic suggested (getting loop from `PN`
instead of `Rem`). The prior impl increased the complexity of the code
and made debugging it more difficult.

Closes #104877


  Commit: aaba552f51e1a96f829afa8b422ca8d7ace55781
      https://github.com/llvm/llvm-project/commit/aaba552f51e1a96f829afa8b422ca8d7ace55781
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdiv-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vdivu-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrem-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vremu-vp.ll

  Log Message:
  -----------
  [RISCV] Add coverage for VP div[u]/rem[u] with non-power-of-2 vectors

This already works, just adding coverage to show that before a change
which depends on this functionality.


  Commit: 0e24686af49d2f9e50438d3a27db6f1ade594855
      https://github.com/llvm/llvm-project/commit/0e24686af49d2f9e50438d3a27db6f1ade594855
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/FormatString.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/CXX/drs/cwg722.cpp
    M clang/test/CXX/drs/cwg7xx.cpp
    A clang/test/Sema/format-pointer.c
    M clang/test/Sema/format-strings-pedantic.c
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] CWG722: nullptr to ellipses (#104704)

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

nullptr passed to a variadic function now converted to void* in C++.
This does not affect C23 nullptr.

Also fixes -Wformat-pedantic so that it no longer warns for nullptr
passed to %p (because it is converted to void* in C++ and it is allowed
for va_arg(ap, void*) in C23)


  Commit: 8ac924744e93258d0c490e2fa2d4518e24cb458d
      https://github.com/llvm/llvm-project/commit/8ac924744e93258d0c490e2fa2d4518e24cb458d
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Port bf68e9047f62c22ca87f9a4a7c59a46b3de06abb (#104907)

Add dep on ControlFlowInterfaces for arith td files


  Commit: abd3a2ded32a4dfad63ed6397f291c64453d744f
      https://github.com/llvm/llvm-project/commit/abd3a2ded32a4dfad63ed6397f291c64453d744f
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Add missing deps in {Arith,DLTI}DialectTdFiles (#105091)


  Commit: 514481736cf943464125ef34570a7df0a19290de
      https://github.com/llvm/llvm-project/commit/514481736cf943464125ef34570a7df0a19290de
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

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

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: 6a38e19c92ed09eeecb70d5f61c3b822acb4964d
      https://github.com/llvm/llvm-project/commit/6a38e19c92ed09eeecb70d5f61c3b822acb4964d
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/saturate.hlsl
    A clang/test/SemaHLSL/BuiltIns/saturate-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/saturate.ll
    A llvm/test/CodeGen/DirectX/saturate_errors.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/saturate.ll

  Log Message:
  -----------
  [HLSL] Implement support for HLSL intrinsic  - saturate (#104619)

Implement support for HLSL intrinsic saturate.
Implement DXIL codegen for the intrinsic saturate by lowering it to DXIL
Op dx.saturate.
Implement SPIRV codegen by transforming saturate(x) to clamp(x, 0.0f,
1.0f).

Add tests for DXIL and SPIRV CodeGen.


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

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp

  Log Message:
  -----------
  [NFC][TableGen] Elminate use of isalpha/isdigit from TGLexer (#104837)

- Replace use of std::isalpha, std::isdigit, std:isxdigit with LLVM's
StringExtras versions, to avoid possibly locale dependent behavior (e.g.
glibc).
- Create helper function for common checks for valid identifier
characters.


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

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/test/OpenMP/nvptx_allocate_codegen.cpp
    M offload/test/api/omp_device_alloc.c

  Log Message:
  -----------
  [OpenMP] Map `omp_default_mem_alloc` to global memory (#104790)

Summary:
Currently, we assign this to private memory. This causes failures on
some SOLLVE tests. The standard isn't clear on the semantics of this
allocation type, but there seems to be a consensus that it's supposed to
be shared memory.


  Commit: e0441d587b3c5c5d11b08cbcfbbbb66ea8185510
      https://github.com/llvm/llvm-project/commit/e0441d587b3c5c5d11b08cbcfbbbb66ea8185510
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__chrono/leap_second.h

  Log Message:
  -----------
  [libc++][chono] Use hidden friends for leap_second comparison. (#104713)

The function

    template<class Duration>
requires three_way_comparable_with<sys_seconds, sys_time<Duration>>
constexpr auto operator<=>(const leap_second& x, const
sys_time<Duration>& y) noexcept;

Has a recursive constrained. This caused an infinite loop in GCC and is
now hit by https://github.com/llvm/llvm-project/pull/102857.

A fix would be to make this function a hidden friend, this solution is
propsed in LWG4139.

For consistency all comparisons are made hidden friends. Since the issue
causes compilation failures no additional test are needed.

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


  Commit: 93eda08babe95188ee41400035abaade79cda7d1
      https://github.com/llvm/llvm-project/commit/93eda08babe95188ee41400035abaade79cda7d1
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    A mlir/test/Conversion/ConvertToSPIRV/argmax-kernel.mlir
    A mlir/test/Conversion/ConvertToSPIRV/gpu.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][spirv] Support `gpu` in `convert-to-spirv` pass (#105010)

This PR adds conversion patterns for GPU to the `convert-to-spirv` pass,
introduced in #95942. Now the pass is able to convert each `gpu.module`
and its ops within a `builtin.module` into a `spirv.module`.

**Future Plans**
- Use `gpu.launch_func` to invoke kernel from host functions
- Potentially integrate into the `mlir-vulkan-runner` for e2e testing


  Commit: 7aa22f013e24d20291aad745368ff907baa9dfa4
      https://github.com/llvm/llvm-project/commit/7aa22f013e24d20291aad745368ff907baa9dfa4
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
    M mlir/test/Dialect/GPU/canonicalize.mlir
    M mlir/test/Dialect/GPU/invalid.mlir
    M mlir/test/Dialect/GPU/subgroup-reduce-lowering.mlir

  Log Message:
  -----------
  [mlir][gpu] Add 'cluster_size' attribute to gpu.subgroup_reduce (#104851)

This enables performing several reductions in parallel, each smaller
than the size of the subgroup.

One potential application is flash attention with subgroup-wide matrix
multiplication and reduction combined in one kernel. The multiplication
operation requires a 2D matrix to be distributed over the lanes of the
subgroup, which then constrains the shape the following reduction can
have if we want to keep data in registers.


  Commit: 770cd24140038646539602406fff54497793dae8
      https://github.com/llvm/llvm-project/commit/770cd24140038646539602406fff54497793dae8
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp

  Log Message:
  -----------
  [lldb][ClangExpressionParser] Don't leak memory when multiplexing ExternalASTSources (#104799)

When we use `SemaSourceWithPriorities` as the `ASTContext`s
ExternalASTSource, we allocate a `ClangASTSourceProxy` (via
`CreateProxy`) and two `ExternalASTSourceWrapper`. Then we push these
sources into a vector in `SemaSourceWithPriorities`. The allocated
`SemaSourceWithPriorities` itself will get properly deallocated because
the `ASTContext` wraps it in an `IntrusiveRefCntPtr`. But the three
sources we allocated earlier will never get released.

This patch fixes this by mimicking what `MultiplexExternalSemaSource`
does (which is what `SemaSourceWithPriorities` is based on anyway).
I.e., when `SemaSourceWithPriorities` gets constructed, it increments
the use count of its sources. And on destruction it decrements them.

Similarly, to make sure we dealloacted the `ClangASTProxy` properly, the
`ExternalASTSourceWrapper` now assumes shared ownership of the
underlying source.


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

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp

  Log Message:
  -----------
  Revert "[compiler-rt][fuzzer] implements SetThreadName for fuchsia." (#105162)

Reverts llvm/llvm-project#99953


  Commit: 8056d92bc201906edbb27f4efa1cc80a18359880
      https://github.com/llvm/llvm-project/commit/8056d92bc201906edbb27f4efa1cc80a18359880
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    A lldb/test/Shell/Expr/TestAnonNamespaceParamFunc.cpp

  Log Message:
  -----------
  [lldb][ClangExpressionParser] Implement ExternalSemaSource::ReadUndefinedButUsed (#104817)

While parsing an expression, Clang tries to diagnose usage of decls
(with possibly non-external linkage) for which it hasn't been provided
with a definition. This is the case, e.g., for functions with parameters
that live in an anonymous namespace (those will have `UniqueExternal`
linkage, this is computed [here in
computeTypeLinkageInfo](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/AST/Type.cpp#L4647-L4653)).
Before diagnosing such situations, Clang calls
`ExternalSemaSource::ReadUndefinedButUsed`. The intended use of this API
is to extend the set of "used but not defined" decls with additional
ones that the external source knows about. However, in LLDB's case, we
never provide `FunctionDecl`s with a definition, and instead rely on the
expression parser to resolve those symbols by linkage name. Thus, to
avoid the Clang parser from erroring out in these situations, this patch
implements `ReadUndefinedButUsed` which just removes the "undefined"
non-external `FunctionDecl`s that Clang found.

We also had to add an `ExternalSemaSource` to the `clang::Sema` instance
LLDB creates. We previously didn't have any source on `Sema`. Because we
add the `ExternalASTSourceWrapper` here, that means we'd also
technically be adding the `ClangExpressionDeclMap` as an
`ExternalASTSource` to `Sema`, which is fine because `Sema` will only be
calling into the `ExternalSemaSource` APIs (though nothing currently
strictly enforces this, which is a bit worrying).

Note, the decision for whether to put a function into `UndefinedButUsed`
is done in
[Sema::MarkFunctionReferenced](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/Sema/SemaExpr.cpp#L18083-L18087).
The `UniqueExternal` linkage computation is done in
[getLVForNamespaceScopeDecl](https://github.com/llvm/llvm-project/blob/ea8bb4d633683f5cbfd82491620be3056f347a02/clang/lib/AST/Decl.cpp#L821-L833).

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


  Commit: 356533246aa33db44c75afb2d3eb6e0e08f0d7a6
      https://github.com/llvm/llvm-project/commit/356533246aa33db44c75afb2d3eb6e0e08f0d7a6
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface/OperatingSystemPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPlatformPythonInterface/ScriptedPlatformPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedProcessPythonInterface/ScriptedProcessPythonInterface.h
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface.h
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/CMakeLists.txt
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.cpp
    R lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedThreadPlanPythonInterface/ScriptedThreadPlanPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp

  Log Message:
  -----------
  [lldb] Fix windows debug build after 9d07f43 (#104896)

This patch tries to fix an issue with the windows debug builds where the
PDB file for python scripted interfaces cannot be opened since its path
length exceed the windows `MAX_PATH` limit:

https://github.com/llvm/llvm-project/pull/101672#issuecomment-2289481324

This patch addresses the issue by building all the interfaces as a
single library plugin that initiliazes each component as part of its
`Initialize` method, instead of building each interface as its own
library plugin.

This keeps the build artifact path length smaller while respecting the
naming convention and without making any exception in the build system.

Fixes #104895.

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


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

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/unittests/Analysis/CMakeLists.txt
    A llvm/unittests/Analysis/CtxProfAnalysisTest.cpp

  Log Message:
  -----------
  [ctx_prof] Add analysis utility to fetch ID of a callsite (#104491)

This will be needed when maintaining the contextual profile for ICP or inlining - we'll need to first fetch the ID of a callsite, which is in an instrumentation instruction (intrinsic) preceding the callsite.


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

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/DirectX/DXILOpBuilder.h
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp

  Log Message:
  -----------
  [DirectX] Encapsulate DXILOpLowering's state into a class. NFC

This introduces an anonymous class "OpLowerer" to help with lowering DXIL ops,
and moves the DXILOpBuilder there instead of creating a new one for every
operation. DXILOpBuilder is also changed to own its IRBuilder, since that makes
it simpler to ensure that it isn't misused.

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


  Commit: 655d62c4b326f2606b1e89a4dff0212c1d9226ab
      https://github.com/llvm/llvm-project/commit/655d62c4b326f2606b1e89a4dff0212c1d9226ab
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/IR/CommonTypeConstraints.td

  Log Message:
  -----------
  [mlir][tablegen] Fix tablegen bug with `Complex` class (#104974)

The `Complex` class in tablegen tries to store its element type, but due
to a name collision it actually ends up storing the `type` field of the
`ConfinedType` superclass, and so `elementType` is always set to
`AnyComplex`.

This renames the field so that it gets correctly set.


  Commit: 30318401ad64b11dcad891d8ba86b81715caa408
      https://github.com/llvm/llvm-project/commit/30318401ad64b11dcad891d8ba86b81715caa408
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/unittests/Analysis/CMakeLists.txt

  Log Message:
  -----------
  Fix post-104491 (#105191)


  Commit: c44202574ff9a8c0632aba30c2765b134557435f
      https://github.com/llvm/llvm-project/commit/c44202574ff9a8c0632aba30c2765b134557435f
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-08-20 (Tue, 20 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/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenEnv.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
    M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir

  Log Message:
  -----------
  [mlir][sparse] support sparsification to coiterate operations. (#102546)


  Commit: b941ba1e126d44f94ff317c9a996143c3165774b
      https://github.com/llvm/llvm-project/commit/b941ba1e126d44f94ff317c9a996143c3165774b
  Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Assembler/lround.ll
    M llvm/test/MachineVerifier/test_g_llround.mir
    M llvm/test/MachineVerifier/test_g_lround.mir

  Log Message:
  -----------
  llvm.lround: Update verifier to validate support of vector types. (#98950)

Both IRVerifier and Machine Verifier are updated


  Commit: 31e55d461693df035049e09cbeeb8886ca2cb6d3
      https://github.com/llvm/llvm-project/commit/31e55d461693df035049e09cbeeb8886ca2cb6d3
  Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/test/API/lang/cpp/bitfields/TestCppBitfields.py

  Log Message:
  -----------
  [lldb] Disable the API test TestCppBitfields on Windows (#105037)

This test causes the assert in clang CodeGen and python crashes with the
error code 0x80000003. See #105019 for more details. Note the similar
test lldb/test/API/lang/c/bitfields/TestBitfields.py is already disabled
on Windows.


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

  Changed paths:
    M libcxx/include/__algorithm/partition.h
    M libcxx/include/__pstl/backends/default.h
    M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
    M libcxx/test/std/algorithms/alg.nonmodifying/alg.ends_with/ranges.ends_with.pass.cpp
    M libcxx/test/std/containers/associative/from_range_associative_containers.h
    M libcxx/test/std/containers/container.adaptors/from_range_container_adaptors.h
    M libcxx/test/std/containers/sequences/from_range_sequence_containers.h
    M libcxx/test/std/containers/unord/from_range_unordered_containers.h
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp
    M libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/range.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.counted/counted.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.elements/iterator/increment.pass.cpp
    M libcxx/test/std/ranges/range.adaptors/range.split/begin.pass.cpp
    A libcxx/test/std/ranges/range.utility/range.subrange/begin_end.pass.cpp
    M libcxx/test/std/strings/basic.string/string.cons/from_range.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
    A libcxx/test/support/double_move_tracker.h
    M libcxx/test/support/test_iterators.h

  Log Message:
  -----------
  [libc++] Fix several double-moves in the code base (#104616)

This patch hardens the "test iterators" we use to test algorithms by
ensuring that they don't get double-moved. As a result of this
hardening, the tests started reporting multiple failures where we would
double-move iterators, which are being fixed in this patch.

In particular:
- Fixed a double-move in pstl.partition
- Add coverage for begin()/end() in subrange tests
- Fix tests for ranges::ends_with and ranges::contains, which were
  incorrectly calling begin() twice on the same subrange containing
  non-copyable input iterators.

Fixes #100709


  Commit: fd4f9520a6a08c3dcf15622e3b887d8f3624fc42
      https://github.com/llvm/llvm-project/commit/fd4f9520a6a08c3dcf15622e3b887d8f3624fc42
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/MachO.h
    M llvm/lib/BinaryFormat/MachO.cpp
    M llvm/lib/MC/MachObjectWriter.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/test/MC/AArch64/arm64e-subtype.s
    A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-kernel-ptrauth-abi
    A llvm/test/tools/llvm-objdump/AArch64/Inputs/fat.macho-arm64e-ptrauth-abi
    A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-kernel-ptrauth-abi.test
    A llvm/test/tools/llvm-objdump/AArch64/macho-universal-arm64e-ptrauth-abi.test
    A llvm/test/tools/llvm-objdump/macho-ptrauth-cpusubtype.test
    M llvm/tools/dsymutil/MachOUtils.cpp
    M llvm/tools/llvm-objdump/MachODump.cpp
    M llvm/unittests/BinaryFormat/MachOTest.cpp

  Log Message:
  -----------
  [AArch64][MachO] Add ptrauth ABI version to arm64e cpusubtype. (#104650)

In a mach_header, the cpusubtype is a 32-bit field, but it's split in 2
subfields:
- the low 24 bits containing the cpu subtype proper, (e.g.,
CPU_SUBTYPE_ARM64E 2)
- the high 8 bits containing a capability field used for additional
feature flags.

Notably, it's only the subtype subfield that participates in fat file
slice discrimination: the caps are ignored.

arm64e uses the caps subfield to encode a ptrauth ABI version:
- 0x80 (CPU_SUBTYPE_PTRAUTH_ABI) denotes a versioned binary
- 0x40 denotes a kernel-ABI binary
- 0x00-0x0F holds the ptrauth ABI version

This teaches the basic obj tools to decode that (or ignore it when
unneeded).

It also teaches the MachO writer to default to emitting versioned
binaries, but with a version of 0 (and without the kernel ABI flag).

Modern arm64e requires versioned binaries: a binary with 0x00 caps in
cpusubtype is now rejected by the linker and everything after. We can
live without the sophistication of specifying the version and kernel ABI
for now.

Co-authored-by: Francis Visoiu Mistrih <francisvm at apple.com>


  Commit: 552d26e275b094f7ceb96ede9cc478b23e2c12cc
      https://github.com/llvm/llvm-project/commit/552d26e275b094f7ceb96ede9cc478b23e2c12cc
  Author: Finlay <finlay.marno at codeplay.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp
    M mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir
    M mlir/test/Dialect/GPU/invalid.mlir

  Log Message:
  -----------
  [mlir][gpu] Add extra value types for gpu::ShuffleOp (#104605)

Expand the accepted types for gpu.shuffle to any integer, float or 1d vector of integers or floats.
Also updated the gpu-to-llvm-spv pass to support those types.


  Commit: 349d76d490fe0e32995f7381c91c17f38541f691
      https://github.com/llvm/llvm-project/commit/349d76d490fe0e32995f7381c91c17f38541f691
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-0.txt
    M llvm/utils/lit/tests/Inputs/shtest-cat/cat-error-1.txt
    M llvm/utils/lit/tests/Inputs/shtest-cat/cat.txt

  Log Message:
  -----------
  [llvm-lit][test] Updated built-in cat command tests (#104473)

This patch makes changes to improve syntax in tests and to add more
strict checks on cat output. This is a prequisite for
https://github.com/llvm/llvm-project/pull/101530.


  Commit: 6558e04f02858bff61c01c9ec0900849fc8532f5
      https://github.com/llvm/llvm-project/commit/6558e04f02858bff61c01c9ec0900849fc8532f5
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/test/Shell/Driver/TestUseColor.test

  Log Message:
  -----------
  [lldb][test] Change unsupported cat -e to cat -v to work with lit internal shell (#104878)

This patch changes the test that uses the `cat -e` option to `cat -v` so
that the test can be run using lit's internal shell. For `cat`, the `-v`
option prints non-printing characters in ^ and M- notation, while the
`-e` option adds `$` to the end of lines in addition to printing
non-printing characters in ^ and M- notation. This is an alternative
patch to https://github.com/llvm/llvm-project/pull/102061, opting to
rewrite the test that uses `cat -e` instead of extending support to the
`-e` option.

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


  Commit: ce132a58b8d5fcd21c50204171f5c30d939df516
      https://github.com/llvm/llvm-project/commit/ce132a58b8d5fcd21c50204171f5c30d939df516
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl

  Log Message:
  -----------
  clang/AMDGPU: Emit atomicrmw from {global|flat}_atomic_fadd_v2f16 builtins (#96873)


  Commit: 10cc4a5fab3ad8da7a64ba784007b99a039134c1
      https://github.com/llvm/llvm-project/commit/10cc4a5fab3ad8da7a64ba784007b99a039134c1
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/structconst10.f90

  Log Message:
  -----------
  [flang] More support for anonymous parent components in struct constr… (#102642)

…uctors

A non-conforming extension to Fortran present in a couple other
compilers is allowing a anonymous component in a structure constructor
to initialize a parent (or greater ancestor) component. This was working
in this compiler only for direct parents, and only when the type was not
use-associated.

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


  Commit: 90d753ab75afdaab998cad20620b8197610e6dbd
      https://github.com/llvm/llvm-project/commit/90d753ab75afdaab998cad20620b8197610e6dbd
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    A flang/test/Semantics/implicit15.f90

  Log Message:
  -----------
  [flang] Fix inheritance of IMPLICIT typing rules (#102692)

Interfaces don't inherit the IMPLICIT typing rules of their enclosing
scope, and separate MODULE PROCEDUREs inherit the IMPLICIT typing rules
of submodule in which they are defined, not the rules from their
interface.

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


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

  Changed paths:
    M flang/lib/Semantics/definable.cpp
    M flang/test/Semantics/undef-result01.f90

  Log Message:
  -----------
  [flang] Silence an inappropriate warning (#104685)

A bare ALLOCATE statement with no SOURCE= rightly earns a warning about
an undefined function result, if that result is an allocatable that
appears in the ALLOCATE. But in the case of a pointer, where the warning
should care more about the pointer's association status than the value
of its target, a bare ALLOCATE should suffice to silence the warning.


  Commit: 143be4eafc69ed9a0923f44cdf99710cbaa70132
      https://github.com/llvm/llvm-project/commit/143be4eafc69ed9a0923f44cdf99710cbaa70132
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/lib/Semantics/tools.cpp
    M flang/test/Semantics/declarations05.f90

  Log Message:
  -----------
  [flang] Silence spurious error (#104821)

Don't complain about a local object with an impure final procedure in a
pure subprogram when the local object is a named constant.

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


  Commit: 1e1cf258c718bdce8c50c2b1923f1a522163fbc9
      https://github.com/llvm/llvm-project/commit/1e1cf258c718bdce8c50c2b1923f1a522163fbc9
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/include/flang/Evaluate/real.h
    M flang/lib/Evaluate/fold-real.cpp
    M flang/test/Evaluate/fold-nearest.f90

  Log Message:
  -----------
  [flang] Fix IEEE_NEAREST_AFTER folding edge cases (#104846)

Conversions of infinities from other kinds to real(10) were incorrect,
and comparisons of real(2) vs real(3) are dicey as conversions in one
direction can overflow and conversions in the other can lose precision.
Use real(16) as the common type for comparisons in IEEE_NEAREST_AFTER.


  Commit: 8266d47cd18eaf8755fba2a496c799c931f3bf6c
      https://github.com/llvm/llvm-project/commit/8266d47cd18eaf8755fba2a496c799c931f3bf6c
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [Attributor] Improve AAUnderlyingObjects (#104835)

- Allocas and GlobalValues cannot be simplified, so we should not try.
- If we never used any assumed state, the AAUnderlyingObjects doesn't
require an additional update.
- If we have seen an object (or it's underlying object) before, we do
not need to inspect it anymore.

The original logic for "SeenObjects" was flawed and caused us to add
intermediate values to the underlying object list if a PHI or select
instruction referenced the same underlying object twice. The test
changes are all instances of this situation and we now correctly derive
`memory(none)` for the functions that only access stack memory.

---------

Co-authored-by: Shilei Tian <i at tianshilei.me>


  Commit: c932a0eb2ee222380a7fe237b7efb872c39e7d6b
      https://github.com/llvm/llvm-project/commit/c932a0eb2ee222380a7fe237b7efb872c39e7d6b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td

  Log Message:
  -----------
  [Driver,DXIL] Fix build


  Commit: 0a22655f31b146da68f1276c072b30be8392d1ef
      https://github.com/llvm/llvm-project/commit/0a22655f31b146da68f1276c072b30be8392d1ef
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl

  Log Message:
  -----------
  clang/AMDGPU: Emit atomicrmw from flat_atomic_{f32|f64} builtins (#96874)


  Commit: 5822cc271be4cb9dcf454922ea13aac11d88be8a
      https://github.com/llvm/llvm-project/commit/5822cc271be4cb9dcf454922ea13aac11d88be8a
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx12.cl
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl

  Log Message:
  -----------
  clang/AMDGPU: Emit atomicrmw for global/flat fadd v2bf16 builtins (#96875)


  Commit: 93e0f312c2a8709e7d4747570ddd40243314ea6b
      https://github.com/llvm/llvm-project/commit/93e0f312c2a8709e7d4747570ddd40243314ea6b
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx90a.cl

  Log Message:
  -----------
  clang/AMDGPU: Emit atomicrmw for flat/global atomic min/max f64 builtins (#96876)


  Commit: 6e8c97035ca32c6b163f8735a340e15e011ec0c8
      https://github.com/llvm/llvm-project/commit/6e8c97035ca32c6b163f8735a340e15e011ec0c8
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [SandboxIR] Implement CatchSwitchInst (#104652)

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


  Commit: afeef4dbc3a9e523c82022ccd30bf9875ded12c8
      https://github.com/llvm/llvm-project/commit/afeef4dbc3a9e523c82022ccd30bf9875ded12c8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

  Log Message:
  -----------
  AMDGPU/NewPM: Fill out passes in addCodeGenPrepare (#102867)

AMDGPUAnnotateKernelFeatures hasn't been ported yet, but it
should be soon removable.


  Commit: 33e18b2b433a6e8331e09cc60965e4c943b66c05
      https://github.com/llvm/llvm-project/commit/33e18b2b433a6e8331e09cc60965e4c943b66c05
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

  Log Message:
  -----------
  AMDGPU/NewPM: Start filling out addIRPasses (#102884)

This is not complete, but gets AtomicExpand running. I was able
to get further than I expected; we're quite close to having all
the IR codegen passes ported.


  Commit: 26ae31662b4ac3fe5569733316ac7de9d19d5fd5
      https://github.com/llvm/llvm-project/commit/26ae31662b4ac3fe5569733316ac7de9d19d5fd5
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    A clang/test/Driver/mips-msa.c

  Log Message:
  -----------
  [clang] Support -Wa, options -mmsa and -mno-msa (#99615)

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: 66ab4b80a4103a67a3c79b8c3b0974e301903f05
      https://github.com/llvm/llvm-project/commit/66ab4b80a4103a67a3c79b8c3b0974e301903f05
  Author: Kelvin Li <kkwli at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/unittests/Runtime/Time.cpp

  Log Message:
  -----------
  [flang] Re-enable date_and_time intrinsic test (NFC) (#104967)


  Commit: d03dcf6e8c360e2b46bed16b329d186c68fbcc6a
      https://github.com/llvm/llvm-project/commit/d03dcf6e8c360e2b46bed16b329d186c68fbcc6a
  Author: ZERICO2005 <71151164+ZERICO2005 at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [NFC] Fixed two typos: "__builin_" --> "__builtin_" (#98782)

Fixed two typos:
1. `__builin_va_list` --> `__builtin_va_list`
2. `__builin_suspend` --> `__builtin_suspend`


  Commit: 660de533a23485eec4c5f8d3d88f9dd53497bcf8
      https://github.com/llvm/llvm-project/commit/660de533a23485eec4c5f8d3d88f9dd53497bcf8
  Author: Michael Park <mcypark at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/docs/InternalsManual.rst

  Log Message:
  -----------
  [NFC] Fix a typo in InternalsManual: ActOnCXX -> ActOnXXX (#105207)

This part of the manual describes uses of `ActOnXXX` and `BuildXXX`.


  Commit: 1233df731761060a655814fb975dc741b2ab5393
      https://github.com/llvm/llvm-project/commit/1233df731761060a655814fb975dc741b2ab5393
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/test/Evaluate/fold-nearest.f90

  Log Message:
  -----------
  [flang] Disable failing test (#105327)

flang/test/Evaluate/fold-nearest.f90 is failing oddly on ppc64le;
disable it for now while I sort things out.


  Commit: 2599d695128381e6932b43f0e95649c533308d6d
      https://github.com/llvm/llvm-project/commit/2599d695128381e6932b43f0e95649c533308d6d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/alu_m-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-div-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-rem-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Remove s32 support on RV64 for DIV, and REM. (#102519)

Based on experience with SelectionDAG and experimental-rv64-legal-i32, I
don't believe making s32 a legal type is viable without introducing an
invariant that s32 values are always sign extended like Mips64 does.
Mips64 does this with a separate 32-bit register class.

`experimental-rv64-legal-i32` was removed in ##102509.

This patch is part of a series to remove s32 support so we can remove
the isel patterns that SelectionDAG is no longer using. To restore code
quality, we will need to add custom W nodes like SelectionDAG.


  Commit: 295fe0bd438209831071ffbacf003c4941f31b90
      https://github.com/llvm/llvm-project/commit/295fe0bd438209831071ffbacf003c4941f31b90
  Author: Justin Stitt <justinstitt at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [Clang] Re-land Overflow Pattern Exclusions (#104889)

Introduce "-fsanitize-undefined-ignore-overflow-pattern=" which can
be used to disable sanitizer instrumentation for common overflow-dependent
code patterns.

For a wide selection of projects, proper overflow sanitization could
help catch bugs and solve security vulnerabilities. Unfortunately, in
some cases the integer overflow sanitizers are too noisy for their users
and are often left disabled. Providing users with a method to disable
sanitizer instrumentation of common patterns could mean more projects
actually utilize the sanitizers in the first place.

One such project that has opted to not use integer overflow (or
truncation) sanitizers is the Linux Kernel. There has been some
discussion[1] recently concerning mitigation strategies for unexpected
arithmetic overflow. This discussion is still ongoing and a succinct
article[2] accurately sums up the discussion. In summary, many Kernel
developers do not want to introduce more arithmetic wrappers when
most developers understand the code patterns as they are.

Patterns like:

  if (base + offset < base) { ... }

or

  while (i--) { ... }

or

  #define SOME -1UL

are extremely common in a code base like the Linux Kernel. It is
perhaps too much to ask of kernel developers to use arithmetic wrappers
in these cases. For example:

  while (wrapping_post_dec(i)) { ... }

which wraps some builtin would not fly. This would incur too many
changes to existing code; the code churn would be too much, at least too
much to justify turning on overflow sanitizers.

Currently, this commit tackles three pervasive idioms:

1. "if (a + b < a)" or some logically-equivalent re-ordering like "if (a > b + a)"
2. "while (i--)" (for unsigned) a post-decrement always overflows here
3. "-1UL, -2UL, etc" negation of unsigned constants will always overflow

The patterns that are excluded can be chosen from the following list:

- add-overflow-test
- post-decr-while
- negated-unsigned-const

These can be enabled with a comma-separated list:

  -fsanitize-undefined-ignore-overflow-pattern=add-overflow-test,negated-unsigned-const

"all" or "none" may also be used to specify that all patterns should be
excluded or that none should be.

[1] https://lore.kernel.org/all/202404291502.612E0A10@keescook/
[2] https://lwn.net/Articles/979747/

CCs: @efriedma-quic @kees @jyknight @fmayer @vitalybuka
Signed-off-by: Justin Stitt <justinstitt at google.com>
Co-authored-by: Bill Wendling <morbo at google.com>


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

  Changed paths:
    M offload/test/api/omp_device_alloc.c

  Log Message:
  -----------
  [OpenMP] Temporarily disable test to keep bots green

Summary:
This test mysteriously fails on the bots but not locally, disable until
I can figure out why.


  Commit: dd90c72b05822927bf62724759f73c491166248c
      https://github.com/llvm/llvm-project/commit/dd90c72b05822927bf62724759f73c491166248c
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  AMDGPU: Temporarily stop adding AtomicExpand to new PM passes

This breaks using -passes=atomic-expand (but only sometimes?).
Somehow an AtomicExpand pass ends up running without a TargetMachine,
despite always being constructed with one.


  Commit: 0c489863e77575287caa57f1194c78ac3c30035b
      https://github.com/llvm/llvm-project/commit/0c489863e77575287caa57f1194c78ac3c30035b
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M flang/test/Evaluate/fold-nearest.f90

  Log Message:
  -----------
  [flang] Disable part of failing test (temporary) (#105350)

A new section of a test is failing on aarch64 and ppc64le; disable it
while I sort things out.


  Commit: 8f3050684ef22aa8403c3820e89ebef915136bf7
      https://github.com/llvm/llvm-project/commit/8f3050684ef22aa8403c3820e89ebef915136bf7
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT] Reduce CFI warning verbosity (#105336)

CFI programs may have more saves than restores and this is completely
benign from BOLT's perspective. Reduce the verbosity and print the
warning only under `-v=1` and above.


  Commit: 91b423d955ff1da6cfbe82436ffee280fa25cd02
      https://github.com/llvm/llvm-project/commit/91b423d955ff1da6cfbe82436ffee280fa25cd02
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/MatchContext.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll

  Log Message:
  -----------
  [DAG][RISCV] Use vp.<binop> when widening illegal types for binops which can trap (#105214)

This allows the use a single wider operation with a restricted EVL
instead of having to split and cover via decreasing powers-of-two sizes.

On RISCV, this avoids the need for a bunch of vslidedown and vslideup
instructions to extract subvectors, and VL toggles to switch between the
various widths.

Note there is a potential downside of using vp nodes; we loose any
generic DAG combines which might have applied to the split form.


  Commit: 2353f484a51b9aab992402400010bbb450fea1b2
      https://github.com/llvm/llvm-project/commit/2353f484a51b9aab992402400010bbb450fea1b2
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M libc/startup/linux/CMakeLists.txt

  Log Message:
  -----------
  [libc] Include startup code when installing all (#105203)

Previously the libc startup code was marked `EXCLUDE_FROM_ALL` due to
build issues. This patch removes that as no longer necessary.


  Commit: aeeb74f94f51b515392f5503054dfd98b0af775b
      https://github.com/llvm/llvm-project/commit/aeeb74f94f51b515392f5503054dfd98b0af775b
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/cmake/platforms/WinMsvc.cmake

  Log Message:
  -----------
  [cmake] Set up llvm-ml as ASM_MASM tool in WinMsvc.cmake (#104903)

Nowadays, an ASM_MASM tool is required for building the BLAKE3 assembly
in llvm/lib/Support - the llvm-ml tool can do this.


  Commit: a3c66c8f35df9d231761385e2986c54e824d39fa
      https://github.com/llvm/llvm-project/commit/a3c66c8f35df9d231761385e2986c54e824d39fa
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M libc/newhdrgen/yaml_to_classes.py

  Log Message:
  -----------
  [libc] move newheadergen back to safe_load (#105374)

In #100024 we moved from safe_load to load for reading the yaml in
newheadergen due to dependency issues. Those should be resolved by now
so this should be a simple safety improvement.


  Commit: 389f339c11179fe047e7f564657c86247933e445
      https://github.com/llvm/llvm-project/commit/389f339c11179fe047e7f564657c86247933e445
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/GetIntrinsicForClangBuiltin.cpp
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/unittests/IR/IntrinsicsTest.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [TableGen] Rework `EmitIntrinsicToBuiltinMap` (#104681)

Rework `IntrinsicEmitter::EmitIntrinsicToBuiltinMap` for improved
    peformance as well as refactor the code.

    Performance:
    - Current generated code does a linear search on the TargetPrefix,
      followed by a binary search on the builtin names for that
      target's builtins.
    - Improve the performance of this code in 2 ways:
      (a) Use binary search on the target prefix to lookup the builtin
          table for the target.
      (b) Improve the (common) case of when all builtins for a target
          share a common prefix.  Check this common prefix first, and
then do the binary search in the builtin table using the builtin
          name with the common prefix removed. This should help
          both data size (by creating a smaller static string table) and
          runtime (by reducing the cost of binary search on smaller
          strings).

    Refactor:
    - Use range based for loops for iterating over maps.
- Use formatv() and C++ raw string literals to simplify the emission
code.
    - Change the generated `getIntrinsicForClangBuiltin` and 
      `getIntrinsicForMSBuiltin`  to take a `StringRef` instead of 
      `const char *` for the prefix.


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/iabs.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-abs-rv64.mir

  Log Message:
  -----------
  [RISCV][GISel] Remove s32 support for G_ABS on RV64.


  Commit: 019e1a3a4285ae34c215d4b7526df041e0aeb250
      https://github.com/llvm/llvm-project/commit/019e1a3a4285ae34c215d4b7526df041e0aeb250
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependencies for c8a678b1e4863df2845b1305849534047f10caf1


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

  Changed paths:
    M flang/test/Evaluate/fold-nearest.f90

  Log Message:
  -----------
  [flang] Fix test on ppc64le & aarch64 (#105439)

Don't try to fold x87 extended precision operations in a test unless
it's targeting x86-64.


  Commit: 1a2a18fdc00dc9fc8955107d16b48a476320e542
      https://github.com/llvm/llvm-project/commit/1a2a18fdc00dc9fc8955107d16b48a476320e542
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/test/Analysis/DXILResource/buffer-frombinding.ll

  Log Message:
  -----------
  [DXIL][Analysis] Update test to match comment. NFC (#105409)

The mismatch between the comment on this test and the test itself was
pointed out in
https://github.com/llvm/llvm-project/pull/100699#discussion_r1715835841,
but apparently I failed to actually commit the fix.


  Commit: 26b79f87079091ecd805f6dfb624df7ba6d702d1
      https://github.com/llvm/llvm-project/commit/26b79f87079091ecd805f6dfb624df7ba6d702d1
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/FunctionAttrs/cold.ll

  Log Message:
  -----------
  [FunctionAttrs] Add tests for deducing attr `cold` on functions; NFC


  Commit: b7eac8c6fea1ba3930d08011a0e5e3a262bfaece
      https://github.com/llvm/llvm-project/commit/b7eac8c6fea1ba3930d08011a0e5e3a262bfaece
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function

Closes #101298


  Commit: 8d712b4e3f14fe0102a5065cbd5b758dc997b529
      https://github.com/llvm/llvm-project/commit/8d712b4e3f14fe0102a5065cbd5b758dc997b529
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/test/Shell/Expr/TestAnonNamespaceParamFunc.cpp

  Log Message:
  -----------
  [lldb][test] XFAIL TestAnonNamespaceParamFunc.cpp on Windows

This recently added test is failing on Windows with:
```
c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\lldb.exe --no-lldbinit -S C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb\test\Shell\lit-lldb-init-quiet C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\test\Shell\Expr\Output\TestAnonNamespaceParamFunc.cpp.tmp -o run -o "expression func(a)" -o exit | c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\filecheck.exe C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp
executed command: 'c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\lldb.exe' --no-lldbinit -S 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb\test\Shell\lit-lldb-init-quiet' 'C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\test\Shell\Expr\Output\TestAnonNamespaceParamFunc.cpp.tmp' -o run -o 'expression func(a)' -o exit
.---command stderr------------
| TestAnonNamespaceParamFunc.cpp.tmp :: Class 'tagARRAYDESC' has a member 'tdescElem' of type 'tagTYPEDESC' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'tagARRAYDESC' has a member 'tdescElem' of type 'tagTYPEDESC' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::partial_ordering' has a member 'less' of type 'std::partial_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::partial_ordering' has a member 'less' of type 'std::partial_ordering' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::strong_ordering' has a member 'less' of type 'std::strong_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::strong_ordering' has a member 'less' of type 'std::strong_ordering' which does not have a complete definition.
| (lldb) TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::weak_ordering' has a member 'less' of type 'std::weak_ordering' which does not have a complete definition.error: TestAnonNamespaceParamFunc.cpp.tmp :: Class 'std::weak_ordering' has a member 'less' of type 'std::weak_ordering' which does not have a complete definition.
| (lldb) error: Couldn't look up symbols:
|   int func(struct `anonymous namespace'::InAnon)
| Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
`-----------------------------
executed command: 'c:\users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\filecheck.exe' 'C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp'
.---command stderr------------
| C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\Shell\Expr\TestAnonNamespaceParamFunc.cpp:10:11: error: CHECK: expected string not found in input
| // CHECK: (int) $0 = 15
|           ^
| <stdin>:16:26: note: scanning from here
| (lldb) expression func(a)
|                          ^
```

So the function is still not callable. But AFAICT, this is not a
regression, since this function wasn't callable prior to the patch
anyway. I currently do not have a Windows setup to test this on,
so XFAIL for now.


  Commit: 1e9d0028d35ae69263aa848b4cb02245f442eb5c
      https://github.com/llvm/llvm-project/commit/1e9d0028d35ae69263aa848b4cb02245f442eb5c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  [RISCV][GISel] Split LoadStoreActions in LoadActions and StoreActions.

Remove widenToNextPow2 from StoreActions.
Reorder clampScalar and lowerIfMemSizeNotByteSizePow2 for StoreActions.

These match AArch64 and got me further on a test case I was playing with
that contained a i129 store.


  Commit: f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9
      https://github.com/llvm/llvm-project/commit/f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-20 (Tue, 20 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:
  -----------
  [lldb] Extend frame recognizers to hide frames from backtraces (#104523)

Compilers and language runtimes often use helper functions that are
fundamentally uninteresting when debugging anything but the
compiler/runtime itself. This patch introduces a user-extensible
mechanism that allows for these frames to be hidden from backtraces and
automatically skipped over when navigating the stack with `up` and
`down`.

This does not affect the numbering of frames, so `f <N>` will still
provide access to the hidden frames. The `bt` output will also print a
hint that frames have been hidden.

My primary motivation for this feature is to hide thunks in the Swift
programming language, but I'm including an example recognizer for
`std::function::operator()` that I wished for myself many times while
debugging LLDB.

rdar://126629381


Example output. (Yes, my proof-of-concept recognizer could hide even
more frames if we had a method that returned the function name without
the return type or I used something that isn't based off regex, but it's
really only meant as an example).

before:
```
(lldb) thread backtrace --filtered=false
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x0000000100001f04 a.out`foo(x=1, y=1) at main.cpp:4:10
    frame #1: 0x0000000100003a00 a.out`decltype(std::declval<int (*&)(int, int)>()(std::declval<int>(), std::declval<int>())) std::__1::__invoke[abi:se200000]<int (*&)(int, int), int, int>(__f=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:149:25
    frame #2: 0x000000010000399c a.out`int std::__1::__invoke_void_return_wrapper<int, false>::__call[abi:se200000]<int (*&)(int, int), int, int>(__args=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:216:12
    frame #3: 0x0000000100003968 a.out`std::__1::__function::__alloc_func<int (*)(int, int), std::__1::allocator<int (*)(int, int)>, int (int, int)>::operator()[abi:se200000](this=0x000000016fdff280, __arg=0x000000016fdff224, __arg=0x000000016fdff220) at function.h:171:12
    frame #4: 0x00000001000026bc a.out`std::__1::__function::__func<int (*)(int, int), std::__1::allocator<int (*)(int, int)>, int (int, int)>::operator()(this=0x000000016fdff278, __arg=0x000000016fdff224, __arg=0x000000016fdff220) at function.h:313:10
    frame #5: 0x0000000100003c38 a.out`std::__1::__function::__value_func<int (int, int)>::operator()[abi:se200000](this=0x000000016fdff278, __args=0x000000016fdff224, __args=0x000000016fdff220) const at function.h:430:12
    frame #6: 0x0000000100002038 a.out`std::__1::function<int (int, int)>::operator()(this= Function = foo(int, int) , __arg=1, __arg=1) const at function.h:989:10
    frame #7: 0x0000000100001f64 a.out`main(argc=1, argv=0x000000016fdff4f8) at main.cpp:9:10
    frame #8: 0x0000000183cdf154 dyld`start + 2476
(lldb) 
```

after

```
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
  * frame #0: 0x0000000100001f04 a.out`foo(x=1, y=1) at main.cpp:4:10
    frame #1: 0x0000000100003a00 a.out`decltype(std::declval<int (*&)(int, int)>()(std::declval<int>(), std::declval<int>())) std::__1::__invoke[abi:se200000]<int (*&)(int, int), int, int>(__f=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:149:25
    frame #2: 0x000000010000399c a.out`int std::__1::__invoke_void_return_wrapper<int, false>::__call[abi:se200000]<int (*&)(int, int), int, int>(__args=0x000000016fdff280, __args=0x000000016fdff224, __args=0x000000016fdff220) at invoke.h:216:12
    frame #6: 0x0000000100002038 a.out`std::__1::function<int (int, int)>::operator()(this= Function = foo(int, int) , __arg=1, __arg=1) const at function.h:989:10
    frame #7: 0x0000000100001f64 a.out`main(argc=1, argv=0x000000016fdff4f8) at main.cpp:9:10
    frame #8: 0x0000000183cdf154 dyld`start + 2476
Note: Some frames were hidden by frame recognizers
```


  Commit: 4a4b233f35adaed44e50157db3846d0d23f2f6e1
      https://github.com/llvm/llvm-project/commit/4a4b233f35adaed44e50157db3846d0d23f2f6e1
  Author: DanielLevi6 <75536731+DanielLevi6 at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp

  Log Message:
  -----------
  [mlir][linalg] Improve getPreservedProducerResults estimation in ElementwiseOpFusion (#104409)

This commit changes the getPreservedProducerResults function so that it
takes the consumer into account along with the producer, in order to
predict which of the producer’s outputs can be dropped during the fusion
process. It provides a more accurate prediction, considering that the
fusion process also depends on the consumer.


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll

  Log Message:
  -----------
  [RISCV][GISel] Allow >2*XLen integers in isSupportedReturnType.


  Commit: 81ee38551f2c9d1677471ab59bdc800e667b9616
      https://github.com/llvm/llvm-project/commit/81ee38551f2c9d1677471ab59bdc800e667b9616
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILOpLowering.cpp
    A llvm/lib/Target/DirectX/DXILOpLowering.h
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    A llvm/lib/Target/DirectX/DXILPrettyPrinter.h
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.cpp
    M llvm/lib/Target/DirectX/DXILResourceAnalysis.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    A llvm/lib/Target/DirectX/DXILTranslateMetadata.h
    M llvm/lib/Target/DirectX/DirectX.h
    M llvm/lib/Target/DirectX/DirectXPassRegistry.def
    M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.0.ll
    M llvm/test/CodeGen/DirectX/Metadata/dxilVer-1.8.ll
    M llvm/test/CodeGen/DirectX/UAVMetadata.ll
    M llvm/test/CodeGen/DirectX/any.ll
    M llvm/test/CodeGen/DirectX/cbuf.ll
    M llvm/test/CodeGen/DirectX/floor.ll

  Log Message:
  -----------
  [DirectX] Register a few DXIL passes with the new PM

This wires up dxil-op-lower, dxil-intrinsic-expansion, dxil-translate-metadata,
and dxil-pretty-printer to the new pass manager, both as a matter of future
proofing the backend and so that they can be used more flexibly in tests.

A few arbitrary tests are updated in order to test the new PM path, and we drop
the "print-dxil-resource-md" pass since it's redundant with the pretty printer.

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


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

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll

  Log Message:
  -----------
  Revert "[RISCV][GISel] Allow >2*XLen integers in isSupportedReturnType."

It didn't crash so I thought this worked now, but upon further review
it miscalculates the stack address for the return.


  Commit: 3145cff24bda61ae0d3ba3981c19599f12af95ab
      https://github.com/llvm/llvm-project/commit/3145cff24bda61ae0d3ba3981c19599f12af95ab
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  [RISCV] Add coverage for int reductions of <3 x i8> vectors

Specifically, to illustrate our general lowering strategy for
non-power of two vectors.


  Commit: e1c36bde0551977d4b2efae032af6dfc4b2b3936
      https://github.com/llvm/llvm-project/commit/e1c36bde0551977d4b2efae032af6dfc4b2b3936
  Author: Sami Tolvanen <samitolvanen at users.noreply.github.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/kcfi-normalize.c
    M llvm/lib/Transforms/Utils/ModuleUtils.cpp
    A llvm/test/Transforms/GCOVProfiling/kcfi-normalize.ll
    M llvm/test/Transforms/GCOVProfiling/kcfi.ll

  Log Message:
  -----------
  Fix KCFI types for generated functions with integer normalization (#104826)

With -fsanitize-cfi-icall-experimental-normalize-integers, Clang
appends ".normalized" to KCFI types in CodeGenModule::CreateKCFITypeId,
which changes type hashes also for functions that don't have integer
types in their signatures. However, llvm::setKCFIType does not take
integer normalization into account, which means LLVM generated
functions with KCFI types, e.g. sanitizer constructors, will fail KCFI
checks when integer normalization is enabled in Clang.

Add a cfi-normalize-integers module flag to indicate integer
normalization is used, and append ".normalized" to KCFI types also in
llvm::setKCFIType to fix the type mismatch.


  Commit: 39ec1f79b7b7708f534761d8b8d319b7ba423d6f
      https://github.com/llvm/llvm-project/commit/39ec1f79b7b7708f534761d8b8d319b7ba423d6f
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    M llvm/test/CodeGen/AArch64/sve-calling-convention-byref.ll
    M llvm/test/CodeGen/AArch64/sve-calling-convention.ll

  Log Message:
  -----------
  [AArch64] Basic SVE PCS support for handling scalable vectors on Darwin.

For the tests I just added +sve instead of what actual hardware has, which is only SME,
since otherwise all the test functions need to be marked as streaming mode.

rdar://121864771


  Commit: 381a803da253b75c8b7b10bb732e9e90925185e8
      https://github.com/llvm/llvm-project/commit/381a803da253b75c8b7b10bb732e9e90925185e8
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h

  Log Message:
  -----------
  [RISCV][GISel] Merge RISCVCallLowering::lowerReturnVal into RISCVCallLowering::lowerReturn. NFC

This is similar to X86 and AArch64 structure.


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

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp

  Log Message:
  -----------
  [mlir] Fix -Wunused-result in ElementwiseOpFusion.cpp (NFC)

/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp:124:7:
error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
      opOperandsToIgnore.pop_back_val();
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.


  Commit: 2b84fe6f16bf2beb78e48e40db3752143ded6228
      https://github.com/llvm/llvm-project/commit/2b84fe6f16bf2beb78e48e40db3752143ded6228
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/test/CodeGen/RISCV/double-intrinsics.ll
    M llvm/test/CodeGen/RISCV/float-intrinsics.ll
    M llvm/test/CodeGen/RISCV/half-intrinsics.ll

  Log Message:
  -----------
  RISC-V: Add fminimumnum and fmaximumnum support (#104411)

Since 2.2, `fmin.s/fmax.s` instructions follow the IEEE754-2019, if F
extension is avaiable; and `fmin.d/fmax.d` also follow the IEEE754-2019
if D extension is avaiable.

So, let's mark them as Legal.


  Commit: 5ec73b7dcf7f23225ccd37a605f0b752058ea643
      https://github.com/llvm/llvm-project/commit/5ec73b7dcf7f23225ccd37a605f0b752058ea643
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    A llvm/utils/gn/secondary/llvm/lib/CGData/BUILD.gn
    R llvm/utils/gn/secondary/llvm/lib/CodeGenData/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn
    A llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
    A llvm/utils/gn/secondary/llvm/unittests/CGData/BUILD.gn
    R llvm/utils/gn/secondary/llvm/unittests/CodeGenData/BUILD.gn

  Log Message:
  -----------
  Reland "[gn build] Port d3fb41dddc11 (llvm-cgdata)"

This reverts commit 6476a1d6865fc3a4c0fa3e436174a9a99a6ffedb.
d3fb41dddc11 relanded in 9bb555688caf6a.

...amended to incorporate changes from the reland.


  Commit: b96f18b20c31449ef9a6878b5c2725a7cf65c552
      https://github.com/llvm/llvm-project/commit/b96f18b20c31449ef9a6878b5c2725a7cf65c552
  Author: Ivy Zhang <yan3.zhang at intel.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
    M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
    M mlir/test/Conversion/MathToLibm/convert-to-libm.mlir
    M mlir/test/Dialect/Math/legalize-to-f32.mlir

  Log Message:
  -----------
  [MLIR][MathDialect] fix fp32 promotion crash when encounters scf.if (#104451)

1. Expand legal op list in `legalizeToF32`
2. add legalization support for `math::rsqrtOp` in `mathToLibm`.


  Commit: 04ebae907ab4892ea79a20219a7231c425643f86
      https://github.com/llvm/llvm-project/commit/04ebae907ab4892ea79a20219a7231c425643f86
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/tools/llvm-cgdata/BUILD.gn

  Log Message:
  -----------
  [gn] tblgen opts for llvm-cgdata

This should have been part of 5ec73b7dcf7f232.


  Commit: 12d4c89e88bf9349a063fdd992233b29adeb8241
      https://github.com/llvm/llvm-project/commit/12d4c89e88bf9349a063fdd992233b29adeb8241
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lld/test/ELF/error-handling-script-linux.test
    M lld/test/ELF/error-handling-script-windows.bat

  Log Message:
  -----------
  [ELF,test] Improve error-handling-script-linux.test

* Use split-file
* Remove -o /dev/null
* Avoid `{ list; }` compound command not supported by the lit internal shell (#102382)
* Don't test "ld.lld" before "error:" as per convention

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


  Commit: 64d75bd100ac974e7343740b1b692be89ce0d9a5
      https://github.com/llvm/llvm-project/commit/64d75bd100ac974e7343740b1b692be89ce0d9a5
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 55d744eea361


  Commit: d9b6e9f1c1565d9469eb0546da8c276051175408
      https://github.com/llvm/llvm-project/commit/d9b6e9f1c1565d9469eb0546da8c276051175408
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

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


  Commit: 0f22d47a7a1f70ec77ea8ccdf08a6487827937db
      https://github.com/llvm/llvm-project/commit/0f22d47a7a1f70ec77ea8ccdf08a6487827937db
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/include/llvm/LTO/LTO.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/ThinLTOCodeGenerator.cpp

  Log Message:
  -----------
  [LTO] Teach computeLTOCacheKey to return std::string (NFC) (#105331)

Without this patch, computeLTOCacheKey computes SHA1, creates its
hexadecimal representation with toHex, which returns std::string, and
then copies it to an output parameter of type SmallString.

This patch removes the redirection and teaches computeLTOCacheKey to
directly return std::string computed by toHex.  With the move
semantics, no buffer copy should be involved.

While I am at it, this patch adds a Twine to concatenate two strings.


  Commit: 35cec805bfa91fd9b83c29c45f3a5877e484bd85
      https://github.com/llvm/llvm-project/commit/35cec805bfa91fd9b83c29c45f3a5877e484bd85
  Author: Will Hawkins <hawkinsw at obs.cr>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M lldb/unittests/Process/elf-core/CMakeLists.txt
    M lldb/unittests/Process/elf-core/ThreadElfCoreTest.cpp

  Log Message:
  -----------
  [lldb][test] Workaround older systems that lack gettid (#104831)

Older glibc versions do not provide `gettid`. Provide our own `gettid`
in these cases.

Fixes a build failure caused by #104109.


  Commit: cbd302410e9f27013223a96edcd78dfb597979e1
      https://github.com/llvm/llvm-project/commit/cbd302410e9f27013223a96edcd78dfb597979e1
  Author: ShatianWang <38512325+ShatianWang at users.noreply.github.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M bolt/lib/Core/BinaryFunctionProfile.cpp
    A bolt/test/X86/infer-fall-throughs.s

  Log Message:
  -----------
  [BOLT] Improve BinaryFunction::inferFallThroughCounts() (#105450)

This PR improves how basic block execution count is updated when using
the BOLT option `-infer-fall-throughs`. Previously, if a 0-count
fall-through edge is assigned a positive inferred count N, then the
successor block's execution count will be incremented by N. Since the
successor's execution count is calculated using information besides
inflow sum (such as outflow sum), it likely is already correct, and
incrementing it by an additional N would be wrong. This PR improves how
the successor's execution count is updated by using the max over its
current count and N.


  Commit: 33f1aedef878931f61208b39c0220aa0d4bc9381
      https://github.com/llvm/llvm-project/commit/33f1aedef878931f61208b39c0220aa0d4bc9381
  Author: Chaitanya <Krishna.Sankisa at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.h

  Log Message:
  -----------
  [AMDGPU] Update instrumentAddress method to support aligned size and unusual size accesses. (#104804)

This PR updates instrumentAddress api to support properly aligned sizes
and unsual size accesses. Changes ported from asan pass.


  Commit: 69a0af756b921ad445eb9684f325d27a1c3a13b8
      https://github.com/llvm/llvm-project/commit/69a0af756b921ad445eb9684f325d27a1c3a13b8
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

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

  Log Message:
  -----------
  Revert "[FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function"

This reverts commit b7eac8c6fea1ba3930d08011a0e5e3a262bfaece.

Causing a test failure. Not 100% sure the issue so to reverting to
unblock pipeline.


  Commit: 341d86dcd3ec4ff3073d5f666564bb2cd38f6142
      https://github.com/llvm/llvm-project/commit/341d86dcd3ec4ff3073d5f666564bb2cd38f6142
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/cmake/caches/CrossWinToARMLinux.cmake

  Log Message:
  -----------
  [CMake] Update CMake cache file for the ARM/Aarch64 cross toolchain builds. NFC. (#103552)

In order to build LLDB project added the following changes:

* enable LIBCXX_ENABLE_STATIC_ABI_LIBRARY option to link the ABI library statically.
* set LIBCXX_ABI_VERSION to 1 by default.


  Commit: 6c62ad446b2441b78ae524d9e700e351d5a76394
      https://github.com/llvm/llvm-project/commit/6c62ad446b2441b78ae524d9e700e351d5a76394
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    A clang/test/Interpreter/assigment-with-implicit-ctor.cpp

  Log Message:
  -----------
  [clang-repl] [codegen] Reduce the state in TBAA. NFC for static compilation. (#98138)

In incremental compilation clang works with multiple `llvm::Module`s.
Our current approach is to create a CodeGenModule entity for every new
module request (via StartModule). However, some of the state such as the
mangle context needs to be preserved to keep the original semantics in
the ever-growing TU.

Fixes: llvm/llvm-project#95581.

cc: @jeaye


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/EvalEmitter.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix diagnostic in final ltor cast (#105292)

Don't diagnose volatile reads but diagnose a few other accesses earlier.


  Commit: 6f456024c37424d9c8cc1cea07126a28f246588d
      https://github.com/llvm/llvm-project/commit/6f456024c37424d9c8cc1cea07126a28f246588d
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-08-21 (Wed, 21 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:
  -----------
  [lldb-dap] Mark hidden frames as "subtle" (#105457)

This commit takes advantage of the recently introduced
`SBFrame::IsHidden` to show those hidden frames as "subtle" frames in
the UI. E.g., VS Code hides those stack frames by default, and renders
them as grayed out frames, in case the user decides to show them in the
stack trace


  Commit: 86f2ec03f898950e1e41c2205f4cf7c60d118390
      https://github.com/llvm/llvm-project/commit/86f2ec03f898950e1e41c2205f4cf7c60d118390
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
    M llvm/test/tools/dsymutil/X86/modules.m

  Log Message:
  -----------
  [llvm][DWARFLinker] Don't attach DW_AT_dwo_id to CUs (#105186)

This fixes a verifier error uncovered as a result of
https://github.com/llvm/llvm-project/pull/101775.

When compiling with `-gmodules`, Clang will create a skeleton CU that
contains a `DW_AT_dwo_id` and a `DW_AT_dwo_name` corresponding to the
path of the `.pcm` that carries the type definitions referenced in the
non-skeleton CU (see the [gmodules LLDB
docs](https://lldb.llvm.org/resources/extensions.html) for more
details). The non-skeleton CU will also contain a `DW_AT_dwo_id` that
matches that of the skeleton.

`dsymutil` effectively undoes the `-gmodules` work, replacing all the
module type references with definitions. I.e., we no longer create a
skeleton `.dwo` CU.

Prior to this patch `dsymutil` did not strip out the `DW_AT_dwo_id` on
the non-skeleton CU. This now (since
https://github.com/llvm/llvm-project/pull/101775) causes verification
errors such as:
```
Verifying .debug_names...
error: Name Index @ 0x0: Entry @ 0x9a unable to load .dwo file "None"
for DWARF unit @ 0x0.
error: output verification failed for x86_64
make: *** [a.out.dSYM] Error 1
```
...because the verifier sees the DWO ID but can't find a matching `.dwo`
unit.

This patch simply strips the `DW_AT_dwo_id` from the main CU.


  Commit: 7f7f4feaf07dd3bb4b22d0c25d34b6c99c753aa2
      https://github.com/llvm/llvm-project/commit/7f7f4feaf07dd3bb4b22d0c25d34b6c99c753aa2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.ll
    M llvm/test/CodeGen/AArch64/movimm-expand-ldst.mir

  Log Message:
  -----------
  Revert "[AArch64] Optimize when storing symmetry constants" (#105474)

Reverts llvm/llvm-project#93717

Introduce stack use after return
https://lab.llvm.org/buildbot/#/builders/24/builds/1003


  Commit: 90556efaa2f5703920cce4a9c0ee36365e15e2ab
      https://github.com/llvm/llvm-project/commit/90556efaa2f5703920cce4a9c0ee36365e15e2ab
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp

  Log Message:
  -----------
  [Driver] Use llvm::make_range(std::pair) (NFC) (#105470)


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

  Changed paths:
    A mlir/docs/DefiningDialects/Constraints.md
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CMakeLists.txt
    M mlir/include/mlir/IR/Constraints.td
    M mlir/include/mlir/TableGen/Constraint.h
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/CMakeLists.txt
    M mlir/lib/TableGen/Constraint.cpp
    A mlir/test/mlir-tblgen/type-constraints.td
    M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp

  Log Message:
  -----------
  [mlir][ODS] Optionally generate public C++ functions for type constraints (#104577)

Add `gen-type-constraint-decls` and `gen-type-constraint-defs`, which
generate public C++ functions for type constraints. The name of the C++
function is specified in the `cppFunctionName` field.

Type constraints are typically used for op/type/attribute verification.
They are also sometimes called from builders and transformations. Until
now, this required duplicating the check in C++.

Note: This commit just adds the option for type constraints, but
attribute constraints could be supported in the same way.

Alternatives considered:
1. The C++ functions could also be generated as part of
`gen-typedef-decls/defs`, but that can be confusing because type
constraints may rely on type definitions from multiple `.td` files.
`#include`s could cause duplicate definitions of the same type
constraint.
2. The C++ functions could also be generated as static member functions
of dialects, but they don't really belong to a dialect. (Because they
may rely on type definitions from multiple dialects.)


  Commit: 947b9f55b5f327e14368a48fb6ce10242ea29bf3
      https://github.com/llvm/llvm-project/commit/947b9f55b5f327e14368a48fb6ce10242ea29bf3
  Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    A clang/test/Interpreter/preprocessor.cpp

  Log Message:
  -----------
  [clang-repl] Fix printing preprocessed tokens and macros (#104964)


  Commit: 89b1468345a74d2095616a8be2306cf0b08fa43a
      https://github.com/llvm/llvm-project/commit/89b1468345a74d2095616a8be2306cf0b08fa43a
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/InputSection.h
    M lld/ELF/Relocations.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move ppc64noTocRelax to Ctx. NFC

Ctx was introduced in March 2022 as a more suitable place for such
singletons.


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

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

  Log Message:
  -----------
  [LAA] Collect loop guards only once in MemoryDepChecker (NFCI).

This on its own gives small compile-time improvements in some configs
and enables using loop guards at more places in the future while keeping
compile-time impact low.

https://llvm-compile-time-tracker.com/compare.php?from=c44202574ff9a8c0632aba30c2765b134557435f&to=55ffc3dd920fa9af439fd39f8f9cc13509531420&stat=instructions:u


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

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp

  Log Message:
  -----------
  [compiler-rt] Reland "SetThreadName implementation for Fuchsia" (#105179)


  Commit: b6686e764c02b1373359bbd80d9c0e1a834d1a64
      https://github.com/llvm/llvm-project/commit/b6686e764c02b1373359bbd80d9c0e1a834d1a64
  Author: serge-sans-paille <sergesanspaille at free.fr>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/runtime/edit-input.cpp
    M flang/runtime/exceptions.cpp
    M flang/runtime/stop.cpp

  Log Message:
  -----------
  [Flang][Runtime] Handle missing definitions in <cfenv> (#101242)

According to the C99 standard, <fenv.h> may not define FE_INVALID and
the likes. Even if C++11 mandate them, musl and emscripten don't provide
them, so handle that case.


  Commit: 7c4cadfc4333df8a20bb5a66b0ba4560bb4bd91c
      https://github.com/llvm/llvm-project/commit/7c4cadfc4333df8a20bb5a66b0ba4560bb4bd91c
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/avx10_2_512convertintrin.h
    A clang/lib/Headers/avx10_2convertintrin.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Sema/SemaX86.cpp
    A clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
    A clang/test/CodeGen/X86/avx10_2convert-builtins.c
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.h
    M llvm/lib/Target/X86/X86InstrAVX10.td
    M llvm/lib/Target/X86/X86InstrAVX512.td
    M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
    M llvm/lib/Target/X86/X86IntrinsicsInfo.h
    A llvm/test/CodeGen/X86/avx10_2_512convert-intrinsics.ll
    A llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
    A llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
    A llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
    A llvm/test/MC/X86/avx10.2convert-32-att.s
    A llvm/test/MC/X86/avx10.2convert-32-intel.s
    A llvm/test/MC/X86/avx10.2convert-64-att.s
    A llvm/test/MC/X86/avx10.2convert-64-intel.s
    M llvm/test/TableGen/x86-fold-tables.inc

  Log Message:
  -----------
  [X86][AVX10.2] Support AVX10.2-CONVERT new instructions. (#101600)

Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965


  Commit: 9fa2386ff13289d46ebf31656f4be7859f501468
      https://github.com/llvm/llvm-project/commit/9fa2386ff13289d46ebf31656f4be7859f501468
  Author: Sam Elliott <quic_aelliott at quicinc.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/test/Driver/riscv-cpus.c
    M clang/test/Misc/target-invalid-cpu-note/riscv.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVProcessors.td

  Log Message:
  -----------
  [RISCV] Add Hazard3 Core as taped out for RP2350 (#102452)

Luke Wren's Hazard3 is a configurable, open-source 32-bit RISC-V core.
The core's source code and docs are available on github:
https://github.com/wren6991/hazard3

This is the RISC-V core used in the RP2350, a recently announced SoC by
Raspberry Pi (which also contains Arm cores):
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf

We have agreed to name this `-mcpu` option `rp2350-hazard3`, and it
reflects exactly the options configured in the RP2350 chips. Notably,
the Zbc is not configured, and nor is B because the `misa.B` bit is not
either.


  Commit: 7063c9427e11b5028ab2e926768faa7ff431bb85
      https://github.com/llvm/llvm-project/commit/7063c9427e11b5028ab2e926768faa7ff431bb85
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [mlir][Linalg] Bugfix for folder of `linalg.transpose` (#102888)

Folder of linalg transpose only support tensor type. Fix #102576.


  Commit: 749ba7f6b29887a74d8f68837b21f478cd6e1486
      https://github.com/llvm/llvm-project/commit/749ba7f6b29887a74d8f68837b21f478cd6e1486
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (5/n) (#104784)

This patch aims to disambiguate test names for some of the
Vector-To-LLVM conversion pass.
Covers the following Ops:
  * vector.extractelement
  * vector.extract
  * vector.insertelement
  * vector.insert
  
1. Tests targetting `vector.{insert|extract}` Ops do not have names like
`{insert|extract}_element*` which was confusing against
`vector.{insert|extract}element` ops targetting tests.
2. Tests mention the type of the target/source buffer. e.g.
`@extractelement` => `@extractelement_from_vec_1d`
3. Align LIT ligns consistently with other tests.
4. Tests with a different type for position have a name updated
accordingly. `@extractelement_index` =>`@extractelement_index_position`
5. Tests with a dynamic value for position have a name updated
accordingly. `@extract_element_with_value_1d`
=>`@extract_scalar_dynamic_position_from_vec_1d`
6. Added the scalable flavour of the tests
`insert_scalar_into_vec_2d_dynamic_position` and
`@extract_scalar_from_vec_2d_dynamic_position`


  Commit: 25ffd2efb33476f2a235f6cb1377759bab367324
      https://github.com/llvm/llvm-project/commit/25ffd2efb33476f2a235f6cb1377759bab367324
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 7c4cadfc4333


  Commit: 99741ac28522f519713907d7bea4438ea5412e21
      https://github.com/llvm/llvm-project/commit/99741ac28522f519713907d7bea4438ea5412e21
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
    M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
    M llvm/test/Transforms/LoopVectorize/pr36983.ll
    M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
    M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
    M llvm/test/Transforms/LoopVectorize/vplan-printing.ll

  Log Message:
  -----------
  [VPlan] Introduce explicit ExtractFromEnd recipes for live-outs. (#100658)

Introduce explicit ExtractFromEnd recipes to extract the final values
for live-outs instead of implicitly extracting in VPLiveOut::fixPhi.

This is a follow-up to the recent changes of modeling extracts for
recurrences and consolidates live-out extract creation for fixed-order
recurrences at a single place: addLiveOutsForFirstOrderRecurrences.

It is also in preparation of replacing VPLiveOut with VPIRInstructions
wrapping the original scalar phis.

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


  Commit: 9d739e54f4506bf9bd220c5d65f710b86a39f6d5
      https://github.com/llvm/llvm-project/commit/9d739e54f4506bf9bd220c5d65f710b86a39f6d5
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/ExprCXX.h
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CXX/drs/cwg23xx.cpp
    M clang/test/SemaCXX/attr-annotate.cpp
    M clang/test/SemaCXX/cxx2a-explicit-bool.cpp
    M clang/test/SemaCXX/sugared-auto.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [Clang] Implement CWG2351 `void{}` (#78060)

Per [CWG2351](https://wg21.link/CWG2351), allow `void{}`, treated the
same as `void()`: a prvalue expression of type `void` that performs no
initialization.

Note that the AST for the expression `T{}` looks like:

```
// using T = int;
CXXFunctionalCastExpr 'T':'int' functional cast to T <NoOp>
`-InitListExpr 'T':'int'
// using T = const int;
CXXFunctionalCastExpr 'int' functional cast to T <NoOp>
`-InitListExpr 'int'
// using T = void;
CXXFunctionalCastExpr 'T':'void' functional cast to T <ToVoid>
`-InitListExpr 'void'
// using T = const void;
CXXFunctionalCastExpr 'void' functional cast to T <ToVoid>
`-InitListExpr 'void'
```

As for `void()`/`T() [T = const void]`, that looked like
`CXXScalarValueInitExpr 'void'` and is unchanged after this.

For reference, C++98 [5.2.3p2] says:

> The expression `T()`, where `T` is a simple-type-specifier (7.1.5.2)
for a non-array complete object type or the (possibly cv-qualified) void
type, creates an rvalue of the specified type, whose value is determined
by default-initialization (8.5; no initialization is done for the
`void()` case). [*Note:* if `T` is a non-class type that is
*cv-qualified*, the `cv-qualifiers` are ignored when determining the
type of the resulting rvalue (3.10). ]

Though it is a bit of a misnomer that, for `T = void`,
`CXXScalarValueInitExpr` does not perform value initialization, it would
be a breaking change to change the AST node for `void()`, so I simply
reworded the doc comment.


  Commit: 0b0ccd56c9cabef48a6c99abe6e0b41ac69e5faa
      https://github.com/llvm/llvm-project/commit/0b0ccd56c9cabef48a6c99abe6e0b41ac69e5faa
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-cast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-extract-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
    M llvm/test/CodeGen/AArch64/arm64-subvector-extend.ll
    M llvm/test/CodeGen/AArch64/neon-extadd.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [GlobalIsel] Push cast through build vector (#104634)

Credits: https://github.com/llvm/llvm-project/pull/100563


  Commit: a811f263356af4fcf5b479c7a32d1bab44ac8954
      https://github.com/llvm/llvm-project/commit/a811f263356af4fcf5b479c7a32d1bab44ac8954
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/Analysis/GraphWriterTest.cpp

  Log Message:
  -----------
  [llvm][test] Write temporary files into a temporary directory


  Commit: 768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
      https://github.com/llvm/llvm-project/commit/768598bcc3528ff5c4cd2c8a9b74d023614e1a9e
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/PrologEpilogInserter.cpp
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.h
    R llvm/test/CodeGen/X86/avx512f-large-stack.ll
    M llvm/test/CodeGen/X86/huge-stack.ll
    M llvm/test/CodeGen/X86/win64-stackprobe-overflow.ll

  Log Message:
  -----------
  Revert "[LLVM] [X86] Fix integer overflows in frame layout for huge frames (#101840)"

This casuses assertion failures targeting 32-bit x86:

  lib/Target/X86/X86RegisterInfo.cpp:989:
  virtual bool llvm::X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator, int, unsigned int, RegScavenger *) const:
  Assertion `(Is64Bit || FitsIn32Bits) && "Requesting 64-bit offset in 32-bit immediate!"' failed.

See comment on the PR.

> Fix 32-bit integer overflows in the X86 target frame layout when dealing
> with frames larger than 4gb. When this occurs, we'll scavenge a scratch
> register to be able to hold the correct stack offset for frame locals.
>
> This completes reapplying #84114.
>
> Fixes #48911
> Fixes #75944
> Fixes #87154

This reverts commit 0abb7791614947bc24931dd851ade31d02496977.


  Commit: bacedb5684c79d35af61c4e30fb5d7fd9c2daf97
      https://github.com/llvm/llvm-project/commit/bacedb5684c79d35af61c4e30fb5d7fd9c2daf97
  Author: Shao-Ce SUN <sunshaoce at outlook.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Remove experimental for Ssqosid ext (#105476)

Ratified: https://github.com/riscv/riscv-ssqosid/releases/tag/v1.0


  Commit: 6c189eaea9941898e7379903d10274dbf6e2c545
      https://github.com/llvm/llvm-project/commit/6c189eaea9941898e7379903d10274dbf6e2c545
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.h
    M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
    M llvm/lib/Target/AArch64/CMakeLists.txt
    A llvm/lib/Target/AArch64/SMEPeepholeOpt.cpp
    M llvm/test/CodeGen/AArch64/O3-pipeline.ll
    M llvm/test/CodeGen/AArch64/sme-darwin-sve-vg.ll
    A llvm/test/CodeGen/AArch64/sme-peephole-opts.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-body.ll
    M llvm/test/CodeGen/AArch64/sme-streaming-interface.ll
    M llvm/test/CodeGen/AArch64/sme-toggle-pstateza.ll
    M llvm/test/CodeGen/AArch64/sme-vg-to-stack.ll
    M llvm/test/CodeGen/AArch64/streaming-compatible-memory-ops.ll

  Log Message:
  -----------
  [AArch64] Add SME peephole optimizer pass (#104612)

This pass removes back-to-back smstart/smstop instructions
to reduce the number of streaming mode changes in a function.

The implementation as proposed doesn't aim to solve all problems
yet and suggests a number of cases that can be optimized in the
future.


  Commit: 126b56a234486a2cd05a8beca78bcf89fe47d167
      https://github.com/llvm/llvm-project/commit/126b56a234486a2cd05a8beca78bcf89fe47d167
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGen/builtin-cpu-supports.c
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h

  Log Message:
  -----------
  [RISCV] Make EmitRISCVCpuSupports accept multiple features (#104917)

This patch creates an additional EmitRISCVCpuSupports function to handle
situations with multiple features. It also modifies the original
EmitRISCVCpuSupports function to invoke the new one.


  Commit: 5f91de9d18cfa136645c2cbc91901b676c10df81
      https://github.com/llvm/llvm-project/commit/5f91de9d18cfa136645c2cbc91901b676c10df81
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s

  Log Message:
  -----------
  [AMDGPU][True16][test] added missing true16 flag in gfx12 asm vop1 (#104884)

added missing true16 flag in gfx12 asm vop1


  Commit: 8ac140f390847e4e85e0a4fd910baaf46e5d115b
      https://github.com/llvm/llvm-project/commit/8ac140f390847e4e85e0a4fd910baaf46e5d115b
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp

  Log Message:
  -----------
  [Clang][NFCI] Cleanup the fix for default function argument substitution (#104911)

(This is one step towards tweaking `getTemplateInstantiationArgs()` as
discussed in https://github.com/llvm/llvm-project/pull/102922)

We don't always substitute into default arguments while transforming a
function parameter. In that case, we would preserve the uninstantiated
expression until after, e.g. building up a CXXDefaultArgExpr and
instantiate the expression there.

For member function instantiation, this algorithm used to cause a
problem in that the default argument of an out-of-line member function
specialization couldn't get properly instantiated. This is because, in
`getTemplateInstantiationArgs()`, we would give up visiting a function's
declaration context if the function is a specialization of a member
template. For example,

```cpp
template <class T>
struct S {
  template <class U>
  void f(T = sizeof(T));
};

template <> template <class U>
void S<int>::f(int) {}
```

The default argument `sizeof(U)` that lexically appears inside the
declaration would be copied to the function declaration in the class
template specialization `S<int>`, as well as to the function's
out-of-line definition. We use template arguments collected from the
out-of-line function definition when substituting into the default
arguments. We would therefore give up the traversal after the function,
resulting in a single-level template argument of the `f` itself. However
the default argument here could still reference the template parameters
of the primary template, hence the error.

In fact, this is similar to constraint checking in some respects: we
actually want the "whole" template arguments relative to the primary
template, not those relative to the function definition. So this patch
adds another flag to indicate `getTemplateInstantiationArgs()` for that.

This patch also consolidates the tests for default arguments and removes
some unnecessary tests.


  Commit: 6b8c194f8587945e063691992068f1f821837769
      https://github.com/llvm/llvm-project/commit/6b8c194f8587945e063691992068f1f821837769
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 6c189eaea994


  Commit: 3083459c1d7a723e946db99a5794f33242ba1402
      https://github.com/llvm/llvm-project/commit/3083459c1d7a723e946db99a5794f33242ba1402
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Port a3d41879ecf5690a73f9226951d3856c7faa34a4


  Commit: 297bb467acd31447d64f0540835127d50408e87d
      https://github.com/llvm/llvm-project/commit/297bb467acd31447d64f0540835127d50408e87d
  Author: Edd Dawson <edd.dawson at sony.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/test/Driver/ps5-linker.c

  Log Message:
  -----------
  [PS5][Driver] Link main components with -pie by default (#102901)

The PS5 linker currently forces `-pie` for typical link jobs. Have the
driver pass `pie` under the same conditions. With this change we can
remove our private linker patch and also allow `-no-pie` to have an
effect.

SIE tracker: TOOLCHAIN-16704


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

  Changed paths:
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sb.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1sw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1ub.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uh.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_ld1uw.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1-bfloat.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1b.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1h.c
    M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_st1w.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_loads.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_store.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/fp-reassoc-pragma.cpp
    M clang/test/CodeGen/fp-reciprocal-pragma.cpp
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/Headers/wasm.c
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Analysis/ValueTracking/known-power-of-two-urem.ll
    M llvm/test/Analysis/ValueTracking/known-power-of-two.ll
    M llvm/test/Analysis/ValueTracking/knownbits-and-or-xor-lowbit.ll
    M llvm/test/Analysis/ValueTracking/knownbits-bmi-pattern.ll
    M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
    M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-value.ll
    M llvm/test/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll
    M llvm/test/Transforms/InstCombine/2010-11-23-Distributed.ll
    M llvm/test/Transforms/InstCombine/abs-1.ll
    M llvm/test/Transforms/InstCombine/add-mask-neg.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/add2.ll
    M llvm/test/Transforms/InstCombine/add_or_sub.ll
    M llvm/test/Transforms/InstCombine/and-or-icmp-const-icmp.ll
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll
    M llvm/test/Transforms/InstCombine/and-or-not.ll
    M llvm/test/Transforms/InstCombine/and-or.ll
    M llvm/test/Transforms/InstCombine/and-xor-merge.ll
    M llvm/test/Transforms/InstCombine/and-xor-or.ll
    M llvm/test/Transforms/InstCombine/and.ll
    M llvm/test/Transforms/InstCombine/apint-and-xor-merge.ll
    M llvm/test/Transforms/InstCombine/apint-or.ll
    M llvm/test/Transforms/InstCombine/apint-shift.ll
    M llvm/test/Transforms/InstCombine/apint-sub.ll
    M llvm/test/Transforms/InstCombine/ashr-lshr.ll
    M llvm/test/Transforms/InstCombine/assume-align.ll
    M llvm/test/Transforms/InstCombine/assume-separate_storage.ll
    M llvm/test/Transforms/InstCombine/avg-lsb.ll
    M llvm/test/Transforms/InstCombine/binop-and-shifts.ll
    M llvm/test/Transforms/InstCombine/binop-cast.ll
    M llvm/test/Transforms/InstCombine/bit-checks.ll
    M llvm/test/Transforms/InstCombine/bitcast-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/bitcast.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/bswap-fold.ll
    M llvm/test/Transforms/InstCombine/call-guard.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-uge-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-constant-low-bit-mask-and-icmp-ult-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v2-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v3-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/cast-mul-select.ll
    M llvm/test/Transforms/InstCombine/cast.ll
    M llvm/test/Transforms/InstCombine/cast_phi.ll
    M llvm/test/Transforms/InstCombine/cast_ptr.ll
    M llvm/test/Transforms/InstCombine/cmp-x-vs-neg-x.ll
    M llvm/test/Transforms/InstCombine/conditional-negation.ll
    M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
    M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
    M llvm/test/Transforms/InstCombine/cttz.ll
    M llvm/test/Transforms/InstCombine/demorgan.ll
    M llvm/test/Transforms/InstCombine/dependent-ivs.ll
    M llvm/test/Transforms/InstCombine/fadd-fsub-factor.ll
    M llvm/test/Transforms/InstCombine/fadd.ll
    M llvm/test/Transforms/InstCombine/fast-basictest.ll
    M llvm/test/Transforms/InstCombine/fast-math.ll
    M llvm/test/Transforms/InstCombine/fcmp.ll
    M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll
    M llvm/test/Transforms/InstCombine/fdiv.ll
    M llvm/test/Transforms/InstCombine/float-shrink-compare.ll
    M llvm/test/Transforms/InstCombine/fmul.ll
    M llvm/test/Transforms/InstCombine/fold-ext-eq-c-with-op.ll
    M llvm/test/Transforms/InstCombine/fold-inc-of-add-of-not-x-and-y-to-sub-x-from-y.ll
    M llvm/test/Transforms/InstCombine/fold-select-fmul-if-zero.ll
    M llvm/test/Transforms/InstCombine/fold-signbit-test-power2.ll
    M llvm/test/Transforms/InstCombine/fpextend.ll
    M llvm/test/Transforms/InstCombine/fptrunc.ll
    M llvm/test/Transforms/InstCombine/free-inversion.ll
    M llvm/test/Transforms/InstCombine/fsh.ll
    M llvm/test/Transforms/InstCombine/fsub.ll
    M llvm/test/Transforms/InstCombine/funnel.ll
    M llvm/test/Transforms/InstCombine/getelementptr.ll
    M llvm/test/Transforms/InstCombine/hoist-negation-out-of-bias-calculation.ll
    M llvm/test/Transforms/InstCombine/hoist-xor-by-constant-from-xor-by-value.ll
    M llvm/test/Transforms/InstCombine/icmp-add.ll
    M llvm/test/Transforms/InstCombine/icmp-and-add-sub-xor-p2.ll
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
    M llvm/test/Transforms/InstCombine/icmp-and-shift.ll
    M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
    M llvm/test/Transforms/InstCombine/icmp-equality-rotate.ll
    M llvm/test/Transforms/InstCombine/icmp-equality-xor.ll
    M llvm/test/Transforms/InstCombine/icmp-ext-ext.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/icmp-mul-zext.ll
    M llvm/test/Transforms/InstCombine/icmp-mul.ll
    M llvm/test/Transforms/InstCombine/icmp-of-and-x.ll
    M llvm/test/Transforms/InstCombine/icmp-of-or-x.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/icmp-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/icmp-or-of-select-with-zero.ll
    M llvm/test/Transforms/InstCombine/icmp-or.ll
    M llvm/test/Transforms/InstCombine/icmp-range.ll
    M llvm/test/Transforms/InstCombine/icmp-rotate.ll
    M llvm/test/Transforms/InstCombine/icmp-select-implies-common-op.ll
    M llvm/test/Transforms/InstCombine/icmp-select.ll
    M llvm/test/Transforms/InstCombine/icmp-sub.ll
    M llvm/test/Transforms/InstCombine/icmp-uge-of-not-of-shl-allones-by-bits-and-val-to-icmp-eq-of-lshr-val-by-bits-and-0.ll
    M llvm/test/Transforms/InstCombine/icmp-ult-of-not-of-shl-allones-by-bits-and-val-to-icmp-ne-of-lshr-val-by-bits-and-0.ll
    M llvm/test/Transforms/InstCombine/icmp.ll
    M llvm/test/Transforms/InstCombine/implies.ll
    M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-scalar.ll
    M llvm/test/Transforms/InstCombine/invert-variable-mask-in-masked-merge-vector.ll
    M llvm/test/Transforms/InstCombine/ispow2.ll
    M llvm/test/Transforms/InstCombine/known-bits.ll
    M llvm/test/Transforms/InstCombine/known-never-nan.ll
    M llvm/test/Transforms/InstCombine/ldexp-ext.ll
    M llvm/test/Transforms/InstCombine/log-pow.ll
    M llvm/test/Transforms/InstCombine/logical-select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/lshr-and-negC-icmpeq-zero.ll
    M llvm/test/Transforms/InstCombine/lshr.ll
    M llvm/test/Transforms/InstCombine/masked-merge-add.ll
    M llvm/test/Transforms/InstCombine/masked-merge-and-of-ors.ll
    M llvm/test/Transforms/InstCombine/masked-merge-or.ll
    M llvm/test/Transforms/InstCombine/masked-merge-xor.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/minmax-of-xor-x.ll
    M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
    M llvm/test/Transforms/InstCombine/mul-pow2.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/mul_fold.ll
    M llvm/test/Transforms/InstCombine/mul_full_64.ll
    M llvm/test/Transforms/InstCombine/not-add.ll
    M llvm/test/Transforms/InstCombine/not.ll
    M llvm/test/Transforms/InstCombine/onehot_merge.ll
    M llvm/test/Transforms/InstCombine/or-xor-xor.ll
    M llvm/test/Transforms/InstCombine/or-xor.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-b.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/pr44242.ll
    M llvm/test/Transforms/InstCombine/pr49688.ll
    M llvm/test/Transforms/InstCombine/pr75369.ll
    M llvm/test/Transforms/InstCombine/ptr-int-ptr-icmp.ll
    M llvm/test/Transforms/InstCombine/ptrmask.ll
    M llvm/test/Transforms/InstCombine/range-check.ll
    M llvm/test/Transforms/InstCombine/reassociate-nuw.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-b.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
    M llvm/test/Transforms/InstCombine/rem.ll
    M llvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
    M llvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
    M llvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
    M llvm/test/Transforms/InstCombine/saturating-add-sub.ll
    M llvm/test/Transforms/InstCombine/scalarization-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/scalarization.ll
    M llvm/test/Transforms/InstCombine/select-and-or.ll
    M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
    M llvm/test/Transforms/InstCombine/select-binop-foldable-floating-point.ll
    M llvm/test/Transforms/InstCombine/select-cmp-eq-op-fold.ll
    M llvm/test/Transforms/InstCombine/select-cmp.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstCombine/select-divrem.ll
    M llvm/test/Transforms/InstCombine/select-factorize.ll
    M llvm/test/Transforms/InstCombine/select-masked_gather.ll
    M llvm/test/Transforms/InstCombine/select-masked_load.ll
    M llvm/test/Transforms/InstCombine/select-of-bittest.ll
    M llvm/test/Transforms/InstCombine/select-safe-transforms.ll
    M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/select_meta.ll
    M llvm/test/Transforms/InstCombine/set.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
    M llvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-shl.ll
    M llvm/test/Transforms/InstCombine/shift-direction-in-bit-test.ll
    M llvm/test/Transforms/InstCombine/shift-logic.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/shl-bo.ll
    M llvm/test/Transforms/InstCombine/shuffle-binop.ll
    M llvm/test/Transforms/InstCombine/signed-truncation-check.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/sink-not-into-and.ll
    M llvm/test/Transforms/InstCombine/sink-not-into-or.ll
    M llvm/test/Transforms/InstCombine/smax-icmp.ll
    M llvm/test/Transforms/InstCombine/smin-icmp.ll
    M llvm/test/Transforms/InstCombine/sub-ashr-or-to-icmp-select.ll
    M llvm/test/Transforms/InstCombine/sub-gep.ll
    M llvm/test/Transforms/InstCombine/sub-lshr-or-to-icmp-select.ll
    M llvm/test/Transforms/InstCombine/sub-minmax.ll
    M llvm/test/Transforms/InstCombine/sub-not.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/sub-xor-cmp.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
    M llvm/test/Transforms/InstCombine/uaddo.ll
    M llvm/test/Transforms/InstCombine/umax-icmp.ll
    M llvm/test/Transforms/InstCombine/umin-icmp.ll
    M llvm/test/Transforms/InstCombine/unordered-compare-and-ordered.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-add.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-xor.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
    M llvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
    M llvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
    M llvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vector-reverse.ll
    M llvm/test/Transforms/InstCombine/vector-xor.ll
    M llvm/test/Transforms/InstCombine/widenable-conditions.ll
    M llvm/test/Transforms/InstCombine/xor.ll
    M llvm/test/Transforms/InstCombine/xor2.ll
    M llvm/test/Transforms/InstCombine/zext-bool-add-sub.ll
    M llvm/test/Transforms/InstCombine/zext-or-icmp.ll
    M llvm/test/Transforms/InstCombine/zext.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-qabs.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-selectandorcost.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-fold-multiple-icmps.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
    M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr23997.ll
    M llvm/test/Transforms/LoopVectorize/extract-last-veclane.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll
    M llvm/test/Transforms/LoopVectorize/runtime-check.ll
    M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
    M llvm/test/Transforms/LoopVectorize/uniform-args-call-variants.ll
    M llvm/test/Transforms/PGOProfile/chr.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/peel-multiple-unreachable-exits-for-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
    M llvm/test/Transforms/PhaseOrdering/X86/hoist-load-of-baseptr.ll
    M llvm/test/Transforms/PhaseOrdering/X86/speculation-vs-tbaa.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
    M llvm/test/Transforms/PhaseOrdering/fast-basictest.ll
    M llvm/test/Transforms/PhaseOrdering/reassociate-instcombine.ll
    M llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
    M llvm/test/Transforms/Reassociate/fast-ArrayOutOfBounds.ll
    M llvm/test/Transforms/Reassociate/fast-SubReassociate.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute-inseltpoison.ll
    M llvm/test/Transforms/SLPVectorizer/X86/cmp_commute.ll

  Log Message:
  -----------
  [InstCombine] Remove some of the complexity-based canonicalization (#91185)

The idea behind this canonicalization is that it allows us to handle less
patterns, because we know that some will be canonicalized away. This is
indeed very useful to e.g. know that constants are always on the right.

However, this is only useful if the canonicalization is actually
reliable. This is the case for constants, but not for arguments: Moving
these to the right makes it look like the "more complex" expression is
guaranteed to be on the left, but this is not actually the case in
practice. It fails as soon as you replace the argument with another
instruction.

The end result is that it looks like things correctly work in tests,
while they actually don't. We use the "thwart complexity-based
canonicalization" trick to handle this in tests, but it's often a
challenge for new contributors to get this right, and based on the
regressions this PR originally exposed, we clearly don't get this right
in many cases.

For this reason, I think that it's better to remove this complexity
canonicalization. It will make it much easier to write tests for
commuted cases and make sure that they are handled.


  Commit: 9d364286f3b63e99ed3838f179aa2223f930f1ab
      https://github.com/llvm/llvm-project/commit/9d364286f3b63e99ed3838f179aa2223f930f1ab
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Bitcode/amdgcn-atomic.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll

  Log Message:
  -----------
  AMDGPU: Remove flat/global atomic fadd v2bf16 intrinsics (#97050)

These are now fully covered by atomicrmw.


  Commit: 681ae0972205e575ff1fd1d7ab0ef710ae364348
      https://github.com/llvm/llvm-project/commit/681ae0972205e575ff1fd1d7ab0ef710ae364348
  Author: Frank Schlimbach <frank.schlimbach at intel.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
    R mlir/include/mlir/Dialect/Mesh/IR/TensorShardingInterfaceImpl.h
    A mlir/include/mlir/Dialect/Tensor/Extensions/AllExtensions.h
    A mlir/include/mlir/Dialect/Tensor/Extensions/MeshShardingExtensions.h
    A mlir/include/mlir/Dialect/Tensor/IR/ShardingInterfaceImpl.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
    R mlir/lib/Dialect/Mesh/Interfaces/TensorShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/CMakeLists.txt
    A mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
    A mlir/lib/Dialect/Tensor/Extensions/CMakeLists.txt
    A mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
    M mlir/tools/mlir-lsp-server/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][mesh] moving shardinginterfaceimpl for tensor to tensor extension lib (#104913)

Follow-up to #102598 : as discussed, move tensor sharding implementation
into separate tensor extension lib.

@sogartar @yaochengji, could you take a look at this PR?


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AArch64/abds-neg.ll
    M llvm/test/CodeGen/AArch64/abds.ll
    M llvm/test/CodeGen/AArch64/abdu-neg.ll
    M llvm/test/CodeGen/AArch64/abdu.ll
    M llvm/test/CodeGen/AMDGPU/sad.ll
    M llvm/test/CodeGen/RISCV/abds-neg.ll
    M llvm/test/CodeGen/RISCV/abds.ll
    M llvm/test/CodeGen/RISCV/abdu-neg.ll
    M llvm/test/CodeGen/RISCV/abdu.ll
    M llvm/test/CodeGen/X86/abds-neg.ll
    M llvm/test/CodeGen/X86/abds.ll
    M llvm/test/CodeGen/X86/abdu.ll

  Log Message:
  -----------
  [DAG] Add select_cc -> abd folds (#102137)

Fixes #100810


  Commit: 0c07e7c211bed5e14372aebc2fc6edc16ecef8cb
      https://github.com/llvm/llvm-project/commit/0c07e7c211bed5e14372aebc2fc6edc16ecef8cb
  Author: Nathan Gauër <brioche at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/block-ordering.ll
    M llvm/test/CodeGen/SPIRV/branching/OpSwitchBranches.ll
    M llvm/test/CodeGen/SPIRV/branching/Two_OpSwitch_same_register.ll
    M llvm/test/CodeGen/SPIRV/branching/if-merging.ll
    M llvm/test/CodeGen/SPIRV/branching/if-non-merging.ll
    M llvm/test/CodeGen/SPIRV/branching/switch-range-check.ll
    M llvm/test/CodeGen/SPIRV/phi-ptrcast-dominate.ll
    M llvm/test/CodeGen/SPIRV/scfg-add-pre-headers.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-break.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-convergence-in-break.ll
    M llvm/test/CodeGen/SPIRV/structurizer/merge-exit-multiple-break.ll
    A llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-while-identity.ll
    R llvm/test/CodeGen/SPIRV/structurizer/merge-exit-simple-white-identity.ll

  Log Message:
  -----------
  [SPIR-V] Sort basic blocks to match the SPIR-V spec (#102929)

The SPIR-V spec required basic blocks to respect some kind of ordering
(A block dominating another cannot be after in the binary layout).

---------

Signed-off-by: Nathan Gauër <brioche at google.com>


  Commit: 4e04286d61edfb56338ca3a6d0735c5384508b00
      https://github.com/llvm/llvm-project/commit/4e04286d61edfb56338ca3a6d0735c5384508b00
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
    M llvm/test/tools/UpdateTestChecks/update_analyze_test_checks/Inputs/x86-loopvectorize-costmodel.ll.expected

  Log Message:
  -----------
  [VPlan] Only use selectVectorizationFactor for cross-check (NFCI). (#103033)

Use getBestVF to select VF up-front and only use
selectVectorizationFactor to get the VF legacy VF to check the
vectorization decision matches the VPlan-based cost model.

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


  Commit: a80dd44b0d96fa3ba3fe0501c3ad4b1ee7edff00
      https://github.com/llvm/llvm-project/commit/a80dd44b0d96fa3ba3fe0501c3ad4b1ee7edff00
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll

  Log Message:
  -----------
  LAA: pre-commit tests for stride-versioning (#97570)

Add tests for when the Stride is unknown and equal to TC, with different
kinds of casts. In these cases, LAA should not speculate on Stride.


  Commit: 7a19194d0ac0110e5dae43538423293b67a27466
      https://github.com/llvm/llvm-project/commit/7a19194d0ac0110e5dae43538423293b67a27466
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/ADT/STLExtrasTest.cpp

  Log Message:
  -----------
  [NFC][ADT] Add unit test for llvm::mismatch. (#105459)

- Add basic unit test for llvm::mismatch.


  Commit: 0cff3e85db00b5f425cc4ed0d6921445afa891ca
      https://github.com/llvm/llvm-project/commit/0cff3e85db00b5f425cc4ed0d6921445afa891ca
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/ModRef.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/ModRef.cpp

  Log Message:
  -----------
  [NFC][Support] Move ModRef/MemoryEffects printers to their own file (#105367)

- Move raw_ostream << operators for `ModRef` and `MemoryEffects` to a
new ModRef.cpp file under llvm/Support (instead of AliasAnalysis.cpp)

- This enables calling these operators from `Core` files like
Instructions.cpp (for instance for debugging). Currently, they live in
`LLVMAnalysis` which cannot be linked with `Core`.


  Commit: 2644fe4858a36ffa65c36645f362e79889a0ad21
      https://github.com/llvm/llvm-project/commit/2644fe4858a36ffa65c36645f362e79889a0ad21
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 0cff3e85db00


  Commit: 4f075086e7b8d9108749117f53999cd4afdd6894
      https://github.com/llvm/llvm-project/commit/4f075086e7b8d9108749117f53999cd4afdd6894
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [LLVM][VPlan] Keep all VPBlend masks until VPlan transformation. (#104015)

It's not possible to pick the best mask to remove when optimising
VPBlend at construction and so this patch refactors the code to move the
decision (and thus transformation) to VPlanTransforms.

NOTE: This patch does not change the decision of which mask to pick.
That will be done in a following PR to keep this patch as NFC from an
output point of view.


  Commit: 170a21e7f00d0097d88cba3547967e500e0d8dfe
      https://github.com/llvm/llvm-project/commit/170a21e7f00d0097d88cba3547967e500e0d8dfe
  Author: Marius Kamp <msk at posteo.org>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/test/Transforms/InstCombine/zext.ll

  Log Message:
  -----------
  [InstCombine] Extend Fold of Zero-extended Bit Test (#102100)

Previously, (zext (icmp ne (and X, (1 << ShAmt)), 0)) has only been
folded if the bit width of X and the result were equal. Use a trunc or
zext instruction to also support other bit widths.
    
This is a follow-up to commit 533190acdb9d2ed774f96a998b5c03be3df4f857,
which introduced a regression: (zext (icmp ne (and (lshr X ShAmt) 1) 0))
is not folded any longer to (zext/trunc (and (lshr X ShAmt) 1)) since
the commit introduced the fold of (icmp ne (and (lshr X ShAmt) 1) 0) to
(icmp ne (and X (1 << ShAmt)) 0). The change introduced by this commit
restores this fold.
    
Alive proof: https://alive2.llvm.org/ce/z/MFkNXs
    
Relates to issue #86813 and pull request #101838.


  Commit: ad435bcc14f42dc97286c717cd12446a0facb2ee
      https://github.com/llvm/llvm-project/commit/ad435bcc14f42dc97286c717cd12446a0facb2ee
  Author: Alex Voicu <alexandru.voicu at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
    M clang/test/CodeGenCUDA/kernel-args.cu

  Log Message:
  -----------
  [clang][CodeGen][SPIR-V][AMDGPU] Tweak AMDGCNSPIRV ABI to allow for the correct handling of aggregates passed to kernels / functions. (#102776)

The AMDGPU kernel ABI is not directly representable in SPIR-V, since it
relies on passing aggregates `byref`, and SPIR-V only encodes `byval`
(which the AMDGPU BE disallows for kernel arguments). As a temporary
solution to this mismatch, we add special handling for AMDGCN flavoured
SPIR-V, whereby aggregates are passed as direct, both to kernels and to
normal functions. This is not ideal (there are pathological cases where
performance is heavily impacted), but empirically robust and guaranteed
to work as the AMDGPU BE retains handling of `direct` passing for legacy
reasons.

We will revisit this in the future, but as it stands it is enough to
pass a wide array of integration tests and generates correct SPIR-V and
correct reverse translation into LLVM IR. The
amdgpu-kernel-arg-pointer-type test is updated via the automated script,
and thus becomes quite noisy.


  Commit: 848658955a9d2d42ea3e319d191e2dcd5d76c837
      https://github.com/llvm/llvm-project/commit/848658955a9d2d42ea3e319d191e2dcd5d76c837
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/taint-generic.c

  Log Message:
  -----------
  [analyzer] Limit `isTainted()` by skipping complicated symbols (#105493)

As discussed in

https://discourse.llvm.org/t/rfc-make-istainted-and-complex-symbols-friends/79570/10

Some `isTainted()` queries can blow up the analysis times, and
effectively halt the analysis under specific workloads.

We don't really have the time now to do a caching re-implementation of
`isTainted()`, so we need to workaround the case.

The workaround with the smallest blast radius was to limit what symbols
`isTainted()` does the query (by walking the SymExpr). So far, the
threshold 10 worked for us, but this value can be overridden using the
"max-tainted-symbol-complexity" config value.

This new option is "deprecated" from the getgo, as I expect this issue
to be fixed within the next few months and I don't want users to
override this value anyways. If they do, this message will let them know
that they are on their own, and the next release may break them (as we
no longer recognize this option if we drop it).

Mitigates #89720

CPP-5414


  Commit: 2704b804bec50c2b016bf678bd534c330ec655b6
      https://github.com/llvm/llvm-project/commit/2704b804bec50c2b016bf678bd534c330ec655b6
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-21 (Wed, 21 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 "[asan] Remove debug tracing from `report_globals` (#104404)"

This caused

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

to fail, see comment on the PR.

> Printing globals registration is internal debug
> tracing and should be controlled with verbosity.

This reverts commit 68f6e7467651f38e0b97343bfbc49e0ce69eaedf and
follow-up commit ef6760116fa2fa21f78e7a3b499f77e1a3eb7b92.


  Commit: 40eca60c5a273e7b89851c7c0b73b5f1037b29ed
      https://github.com/llvm/llvm-project/commit/40eca60c5a273e7b89851c7c0b73b5f1037b29ed
  Author: Zhikai Zeng <backlight.zzk at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/concepts-friends.cpp

  Log Message:
  -----------
  [Clang] fix generic lambda inside requires-clause of friend function template (#99813)

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

The cause is that the assertion "Nothing should reference a value below
the actual template depth" is incorrect since we can have a generic
lambda inside requires-clause of friend function template, and the
generic lambda can reference to values with greater template depth.

---------

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


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

  Changed paths:
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.compile.fail.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.copy.compile.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/ctor.default.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp

  Log Message:
  -----------
  [libc++] Refactor the tests for mutex, recursive mutex and their timed counterparts (#104852)

This refactoring is done to remove flakyness as described in
https://github.com/llvm/llvm-project/pull/89083.


  Commit: 4f14bfeddedcf21e0eaf0ff3ddf7b62938f66df5
      https://github.com/llvm/llvm-project/commit/4f14bfeddedcf21e0eaf0ff3ddf7b62938f66df5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp

  Log Message:
  -----------
  [llvm-reduce] Disable fixpoint verification in InstCombine

We don't want to get fixpoint verification errors while reducing.


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

  Changed paths:
    M libcxx/include/__compare/ordering.h
    A libcxx/test/std/language.support/cmp/cmp.categories.pre/reject-other-than-literal-zero.verify.cpp
    R libcxx/test/std/language.support/cmp/cmp.categories.pre/zero_type.verify.cpp

  Log Message:
  -----------
  [libc++] Avoid -Wzero-as-null-pointer-constant in operator<=> (#79465)

Issue #43670 describes a situation where the following comparison will
issue a warning when -Wzero-as-null-pointer-constant is enabled:

    #include <compare>
    auto b = (1 <=> 2) < 0;

This code uses operator<(strong_ordering, Unspecified), which is
specified by the Standard to only work with a literal 0. In the library,
this is achieved by constructing Unspecified from a pointer, which works
but has the downside of triggering the warning.

This patch uses an alternative implementation where we require that the
operator is used exactly with an int of value 0 (known at compile-time),
however that value can technically be an expression like `1 - 1`, which
makes us a bit less strict than what's specified in the Standard.

Fixes #43670


  Commit: 65281570afd7e35e01533b07c6c2937de410fc52
      https://github.com/llvm/llvm-project/commit/65281570afd7e35e01533b07c6c2937de410fc52
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

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

The issue was introduced in
https://github.com/llvm/llvm-project/pull/104523.

The code introduces the `ret_val` variable but does not use it. Instead
it returns a pointer, which gets implicitly converted to bool.


  Commit: 76c07984257b49dcc4786fa9fb3918a2c1342e23
      https://github.com/llvm/llvm-project/commit/76c07984257b49dcc4786fa9fb3918a2c1342e23
  Author: Aviad Cohen <aviadcohen7 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/ops.mlir

  Log Message:
  -----------
  [mlir][memref]: Allow collapse dummy strided unit dim (#103719)

Dimensions of size 1 should be skipped, because their strides are meaningless and could have any arbitrary value.


  Commit: 281d17840c35a1d80303bb6170c253fe2411f95f
      https://github.com/llvm/llvm-project/commit/281d17840c35a1d80303bb6170c253fe2411f95f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDecl.cpp
    A clang/test/Parser/function-parameter-limit.cpp

  Log Message:
  -----------
  [clang] Diagnose functions with too many parameters (#104833)

This patch adds a parser check when a function declaration or function
type declaration (in a function pointer declaration, for example) has
too many parameters for `FunctionTypeBits::NumParams` to hold. At the
moment of writing it's a 16-bit-wide bit-field, limiting the number of
parameters at 65536.

The check is added in the parser loop that goes over comma-separated
list of function parameters. This is not the solution Aaron suggested in
https://github.com/llvm/llvm-project/issues/35741#issuecomment-1638086571,
because it was found out that it's quite hard to recover from this
particular error in `GetFullTypeForDeclarator()`. Multiple options were
tried, but all of them led to crashes down the line.

I used LLVM Compile Time Tracker to ensure this does not introduce a
performance regression. I believe changes are in the noise:
https://llvm-compile-time-tracker.com/compare.php?from=de5ea2d122c31e1551654ff506c33df299f351b8&to=424818620766cedb2770e076ee359afeb0cc14ec&stat=instructions:u

Fixes #35741


  Commit: 7ad7f8f7a3d443f4c17264d7e14cccdc020976b9
      https://github.com/llvm/llvm-project/commit/7ad7f8f7a3d443f4c17264d7e14cccdc020976b9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/CMakeLists.txt
    A libcxx/cmake/caches/Generic-no-terminal.cmake
    M libcxx/include/__config_site.in
    M libcxx/include/print
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libcxx] Add `LIBCXX_HAS_TERMINAL_AVAILABLE` CMake option to disable `print` terminal checks (#99259)

Adds a new CMake option called `LIBCXX_HAS_TERMINAL_AVAILABLE` that
prevents us from checking for `isatty`.


  Commit: 87eeed1f0ebe57abffde560c25dd9829dc6038f3
      https://github.com/llvm/llvm-project/commit/87eeed1f0ebe57abffde560c25dd9829dc6038f3
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/docs/OpenMP-declare-target.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/include/flang/Optimizer/CMakeLists.txt
    A flang/include/flang/Optimizer/OpenMP/CMakeLists.txt
    A flang/include/flang/Optimizer/OpenMP/Passes.h
    A flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Optimizer/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    A flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    R flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    R flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
    R flang/lib/Optimizer/Transforms/OMPMarkDeclareTarget.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  [flang][NFC] Move OpenMP related passes into a separate directory (#104732)


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

  Changed paths:
    M llvm/unittests/ADT/StringRefTest.cpp

  Log Message:
  -----------
  [NFC][ADT] Format StringRefTest.cpp to fit in 80 columns. (#105502)


  Commit: 3c8f139fb73a8610680b184afc88fe4b1485add0
      https://github.com/llvm/llvm-project/commit/3c8f139fb73a8610680b184afc88fe4b1485add0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [InstCombine] Add tests for icmp of select of cmp (NFC)


  Commit: 68e21e16d21deee0f0226b4c771ff8b4731b7370
      https://github.com/llvm/llvm-project/commit/68e21e16d21deee0f0226b4c771ff8b4731b7370
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SystemOperands.td
    M llvm/test/MC/AArch64/arm64-system-encoding.s
    M llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt

  Log Message:
  -----------
  [AArch64] Add support for ACTLR_EL12 system register (#105497)

Documentation can be found here:

https://developer.arm.com/documentation/ddi0601/2024-06/AArch64-Registers/ACTLR-EL1--Auxiliary-Control-Register--EL1-


  Commit: bccb22709324ae329e3d80cf8af9dd225799bc17
      https://github.com/llvm/llvm-project/commit/bccb22709324ae329e3d80cf8af9dd225799bc17
  Author: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/docs/OpenMP-declare-target.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/include/flang/Optimizer/CMakeLists.txt
    R flang/include/flang/Optimizer/OpenMP/CMakeLists.txt
    R flang/include/flang/Optimizer/OpenMP/Passes.h
    R flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Optimizer/CMakeLists.txt
    R flang/lib/Optimizer/OpenMP/CMakeLists.txt
    R flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    R flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    R flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    A flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
    A flang/lib/Optimizer/Transforms/OMPMarkDeclareTarget.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  Revert "[flang][NFC] Move OpenMP related passes into a separate directory (#104732)"

This reverts commit 87eeed1f0ebe57abffde560c25dd9829dc6038f3.


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

  Changed paths:
    M llvm/include/llvm/LTO/LTO.h
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [LTO] Use DenseSet in computeLTOCacheKey (NFC) (#105466)

The two instances of std::set are used only for membership checking
purposes in computeLTOCacheKey.  We do not need std::set's strengths
like iterators staying valid or the ability to traverse in a sorted
order.  This patch changes them to DenseSet.

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


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

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

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


  Commit: 70e8c982d0589b1a56faf0768b45596c2da3a510
      https://github.com/llvm/llvm-project/commit/70e8c982d0589b1a56faf0768b45596c2da3a510
  Author: Sjoerd Meijer <smeijer at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Transforms/CodeGenPrepare/AArch64/sink-free-instructions.ll

  Log Message:
  -----------
  [AArch64] Bail out for scalable vecs in areExtractShuffleVectors (#105484)

The added test triggers the following assert in `areExtractShuffleVectors`
that is called from `shouldSinkOperands`:

Assertion `(!isScalable() || isZero()) && "Request for a fixed element count on a scalable object"' failed.

I don't think scalable types can be extract shuffles, so bail early if
this is the case.


  Commit: 32c38dd85ee27fc7c2dd6a749fc1f7af4abdbea1
      https://github.com/llvm/llvm-project/commit/32c38dd85ee27fc7c2dd6a749fc1f7af4abdbea1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    R libcxx/docs/Status/Cxx14.rst
    R libcxx/docs/Status/Cxx14Issues.csv
    R libcxx/docs/Status/Cxx14Papers.csv
    M libcxx/docs/index.rst
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Mark C++14 as complete and remove the status pages (#105514)

We already documented that libc++ was C++14 complete, but we still
documented the status of C++14. Since that is redundant (and I suspect
the C++14 status page was missing some stuff), simply remove them.


  Commit: bf71c64839c0082e761a4f070ed92e01ced0187c
      https://github.com/llvm/llvm-project/commit/bf71c64839c0082e761a4f070ed92e01ced0187c
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Darwin/cstring_section.c

  Log Message:
  -----------
  Speculative fix for asan/TestCases/Darwin/cstring_section.c

It's been failing since https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/1812

It seems __TEXT,__cstring now comes before __TEXT,__const.


  Commit: 8d4891591fb41780c2af6e18abd590faf1f5626c
      https://github.com/llvm/llvm-project/commit/8d4891591fb41780c2af6e18abd590faf1f5626c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [gn] port 7ad7f8f7a3d4


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

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Enable C++23 and C++26 issues to be synchronized

As a drive-by, also switch to printing dangling issues instead of
killing the script, since those can be fairly common.


  Commit: ddb5480e6799d0de72c2cd34c1e7f9ffd154e660
      https://github.com/llvm/llvm-project/commit/ddb5480e6799d0de72c2cd34c1e7f9ffd154e660
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcmp.s16.mir

  Log Message:
  -----------
  [AMDGPU][True16][MC] added VOPC realtrue/faketrue flag and fake16 instructions (#104739)

VOPC instructions were defined with HasTrue16BitInst flag while these
true16 instructions are actually implemented with fake16 profile.
Seperate them to true16 version and fake16 version by adding
UseRealTrue16 and UseFakeTrue16 flag and fake16 instructions.

The code default to use fake16. This is preparing for the upcoming
changes in MC to support realtrue 16bit operands and vdst. The true16
and fake16 profile will be modified in the later patches.


  Commit: c9ba6d35c19022a582516e9455af3f0d79101adf
      https://github.com/llvm/llvm-project/commit/c9ba6d35c19022a582516e9455af3f0d79101adf
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [RISCV] Add coverage for fp reductions of <2^N-1 x FP> vectors


  Commit: c0d222219a8d01d3945100114256d26cfe833a1c
      https://github.com/llvm/llvm-project/commit/c0d222219a8d01d3945100114256d26cfe833a1c
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaAttr.cpp
    A clang/test/CodeGen/ffp-contract-fast-honor-pramga-option.cpp
    A clang/test/CodeGen/ffp-contract-fhp-pragma-override.cpp

  Log Message:
  -----------
  Fix bug with -ffp-contract=fast-honor-pragmas (#104857)

This fixes a problem which caused clang to assert in the Sema pragma
handling if it encountered "#pragma STDC FP_CONTRACT DEFAULT" when
compiling with the -ffp-contract=fast-honor-pragmas option.

This fixes https://github.com/llvm/llvm-project/issues/104830


  Commit: 278fc8efdf004a1959a31bb4c208df5ee733d5c8
      https://github.com/llvm/llvm-project/commit/278fc8efdf004a1959a31bb4c208df5ee733d5c8
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/AArch64/dag-combine-freeze.ll

  Log Message:
  -----------
  [DAGCombiner] Fix ReplaceAllUsesOfValueWith mutation bug in visitFREEZE (#104924)

In visitFREEZE we have been collecting a set/vector of
MaybePoisonOperands that later was iterated over, applying a freeze to
those operands. However, C-level fuzzy testing has discovered that the
recursiveness of ReplaceAllUsesOfValueWith may cause later operands in
the MaybePoisonOperands vector to be replaced when replacing an earlier
operand. That would then turn up as
   Assertion `N1.getOpcode() != ISD::DELETED_NODE &&
              "Operand is DELETED_NODE!"' failed.
failures when trying to freeze those later operands.

So we need to make sure that the vector with MaybePoisonOperands is
mutated as well when needed. Or as the solution used in this patch, make
sure to keep track of operand numbers that should be frozen instead of
having a vector of SDValues. And then we can refetch the operands while
iterating over operand numbers.

The problem was seen after adding SELECT_CC to the set of operations
including in "AllowMultipleMaybePoisonOperands". I'm not sure, but I
guess that this could happen for other operations as well for which we
allow multiple maybe poison operands.


  Commit: 6fd46089c9fbd5b22bb67ac3d6196fe70ba684c6
      https://github.com/llvm/llvm-project/commit/6fd46089c9fbd5b22bb67ac3d6196fe70ba684c6
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/test/Integration/debug-fixed-array-type-2.f90
    M flang/test/Transforms/debug-fixed-array-type.fir

  Log Message:
  -----------
  [flang][debug] Allow non default array lower bounds. (#104467)

As mentioned in #98877, we currently always use 1 as lower bound for
fixed size arrays. This PR removes this restriction. It passes along
`DeclareOp` to type conversion functions and uses the shift information
(if present) to get the lower bound value. This was suggested by
@jeanPerier in
https://github.com/llvm/llvm-project/pull/96746#issuecomment-2195164553
    
This PR also adds a small cleanup that type conversion functions don't
take Location now. It was initially added so that location of derived
types can be passed. But that information can be extracted from typeInfo
objects and we don't need to pass it along.

This PR will handle the problem for local and global variable. We may
need a bit more work for derived type once the support for derived types
lands.
    
Fixes #98877.


  Commit: 839275d0536f992591f4c5d81e13a26e6095dda6
      https://github.com/llvm/llvm-project/commit/839275d0536f992591f4c5d81e13a26e6095dda6
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Add missing OpenMP to LLVM conversion patterns (#104440)

This patch adds conversion patterns to LLVM for the following OpenMP
dialect operations:
  - `omp.critical.declare`
  - `omp.cancel`
  - `omp.cancellation_point`
  - `omp.distribute`
  - `omp.teams`
  - `omp.ordered`
  - `omp.taskloop`

Also, arbitrary sorting of operations when passing them as template
argument lists when configuring that pass is replaced by alphabetical
sorting.


  Commit: 6816a137985bfa38cda20b9cd4e23c361c3bd0de
      https://github.com/llvm/llvm-project/commit/6816a137985bfa38cda20b9cd4e23c361c3bd0de
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/test/Driver/fveclib-codegen.f90

  Log Message:
  -----------
  [flang][Driver] Remove misleading test comment (#105528)

The test initially worked on ArmPL but this was changed during code
review and I neglected to fix this comment.

Thanks for pointing this out @banach-space


  Commit: e49068624c48f4d906707b32b31f6a1d561605be
      https://github.com/llvm/llvm-project/commit/e49068624c48f4d906707b32b31f6a1d561605be
  Author: Alex Rice <alexrice999 at hotmail.co.uk>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [mlir] [tablegen] Make `hasSummary` and `hasDescription` useful (#105531)

The `hasSummary` and `hasDescription` functions are currently useless as
they check if the corresponding `summary` and `description` are present.
However, these values are set to a default value of `""`, and so these
functions always return true.

This PR changes these functions to check if the summary and description
are just whitespace, which is presumably closer to their original
intent.

@math-fehr 
@zero9178


  Commit: 625841c3be4dbaab089c01217726a2906f3a8103
      https://github.com/llvm/llvm-project/commit/625841c3be4dbaab089c01217726a2906f3a8103
  Author: magic-akari <akari.ccino at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py
    M clang/tools/clang-format/clang-format-sublime.py
    M clang/tools/clang-format/clang-format.el
    M clang/tools/clang-format/clang-format.py
    M clang/tools/clang-format/git-clang-format

  Log Message:
  -----------
  [clang-format] Use double hyphen for multiple-letter flags (#100978)

- Closes: #100974


  Commit: f7bbc40b0736cc417f57cd039b098b504cf6a71f
      https://github.com/llvm/llvm-project/commit/f7bbc40b0736cc417f57cd039b098b504cf6a71f
  Author: Siu Chi Chan <siuchi.chan at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/test/ELF/hip-section-layout.s

  Log Message:
  -----------
  [ELF,test] Enhance hip-section-layout.s

Check different object file order

Change-Id: I6096c12e29e9ddb6b3053f977e4cbb24eea9b7d3


  Commit: f03b7830902225a8910d2972c39143355795efa9
      https://github.com/llvm/llvm-project/commit/f03b7830902225a8910d2972c39143355795efa9
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/CGData/CMakeLists.txt

  Log Message:
  -----------
  [CGData] Rename CodeGenDataTests to CGDataTests (#105463)

This addresses the comment for
https://github.com/llvm/llvm-project/pull/101461.


  Commit: 216d6a06524e4a8ebd6de2806c473b92d3349c4e
      https://github.com/llvm/llvm-project/commit/216d6a06524e4a8ebd6de2806c473b92d3349c4e
  Author: Chenguang Wang <w3cing at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Fix mlir build broken by 681ae097. (#105552)

The cmake config creates two targets, `MLIRTensorMeshShardingExtensions`
and `MLIRTensorAllExtensions`; but for bazel, with the `Func` dialect we
only have a single `FuncExtensions`. Here I am following the `Func`
dialect convension to only create a single `TensorExtensions`.


  Commit: 3b7611594f010ecd5233ab9580b2feb88837f9ef
      https://github.com/llvm/llvm-project/commit/3b7611594f010ecd5233ab9580b2feb88837f9ef
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M offload/plugins-nextgen/amdgpu/src/rtl.cpp
    M offload/plugins-nextgen/common/include/ErrorReporting.h
    M offload/plugins-nextgen/common/include/PluginInterface.h
    M offload/test/sanitizer/double_free.c
    M offload/test/sanitizer/double_free_racy.c
    M offload/test/sanitizer/free_wrong_ptr_kind.c
    M offload/test/sanitizer/free_wrong_ptr_kind.cpp
    A offload/test/sanitizer/ptr_outside_alloc_1.c
    A offload/test/sanitizer/ptr_outside_alloc_2.c
    A offload/test/sanitizer/use_after_free_1.c
    A offload/test/sanitizer/use_after_free_2.c

  Log Message:
  -----------
  [Offload] Improve error reporting on memory faults (#104254)

Since we can already track allocations, we can diagnose memory faults to
some degree. If the fault happens in a prior allocation (use after free)
or "close but outside" one, we can provide that information to the user.
Note that the fault address might be page aligned, and not all accesses
trigger a fault, especially for allocations that are backed by a
MemoryManager. Still, if people disable the MemoryManager or the
allocation is big enough, we can sometimes provide valueable feedback.


  Commit: 1c9d8a62cb208afe1bc87669c7dd5d9590e615b2
      https://github.com/llvm/llvm-project/commit/1c9d8a62cb208afe1bc87669c7dd5d9590e615b2
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    A libcxx/cmake/caches/AMDGPU.cmake
    A libcxx/cmake/caches/NVPTX.cmake

  Log Message:
  -----------
  [libcxx] Add cache file for the GPU build (#99348)

Summary:
This patch adds a CMake cache config file for the GPU build. This cache
will set the default required options when used from the LLVM runtime
interface or directly. These options pretty much disable everything the
GPU can't handle.

With this and the following patches: #99259, #99243, #99287, and #99333,
we will be able to build `libc++` targeting the GPU with an invocation
like this.

```
$ cmake ../llvm
-DRUNTIMES_nvptx64-nvidia-cuda_CACHE_FILES=${LLVM_SRC}/../libcxx/cmake/caches/NVPTX.cmake \
-DRUNTIMES_amdgcn-amd-amdhsa_CACHE_FILES=${LLVM_SRC}/../libcxx/cmake/caches/AMDGPU.cmake \                            
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx \
-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx   \
-DLLVM_RUNTIME_TARGETS=amdgcn-amd-amdhsa;nvptx64-nvidia-cuda                \
```

This will then install the libraries and headers into the appropriate
locations for use with `clang`.


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

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

  Log Message:
  -----------
  [AArch64] Set scalar fneg to free for fnmul (#104814)

A fneg(fmul(..)) or fmul(fneg(..)) can be folded into a fnmul under
AArch64. https://clang.godbolt.org/z/znPj34Mae

This discounts the cost of the fneg in such patterns to be free.


  Commit: e78156a0e225673e592920410c8cadc94f19aa66
      https://github.com/llvm/llvm-project/commit/e78156a0e225673e592920410c8cadc94f19aa66
  Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/AMDGPU/lround.ll

  Log Message:
  -----------
  Scalarize the vector inputs to llvm.lround intrinsic by default. (#101054)

Verifier is updated in a different patch to let the vector types for
llvm.lround and llvm.llround intrinsics.


  Commit: 6cb14599ade843be3171fa7e4dd5f3601a3bb0de
      https://github.com/llvm/llvm-project/commit/6cb14599ade843be3171fa7e4dd5f3601a3bb0de
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpParser.h
    M lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpTypes.h
    M lldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpNew.py
    A lldb/test/API/functionalities/postmortem/minidump-new/linux-x86_64_mem64.yaml

  Log Message:
  -----------
  [LLDB][Minidump] Fix ProcessMinidump::GetMemoryRegions to include 64b regions when /proc/pid maps are missing. (#101086)

This PR is in response to a bug my coworker @mbucko discovered where on
MacOS Minidumps were being created where the 64b memory regions were
readable, but were not being listed in
`SBProcess.GetMemoryRegionList()`. This went unnoticed in #95312 due to
all the linux testing including /proc/pid maps. On MacOS generated dumps
(or any dump without access to /proc/pid) we would fail to properly map
Memory Regions due to there being two independent methods for 32b and
64b mapping.

In this PR I addressed this minor bug and merged the methods, but in
order to add test coverage required additions to `obj2yaml` and
`yaml2obj` which make up the bulk of this patch.

Lastly, there are some non-required changes such as the addition of the
`Memory64ListHeader` type, to make writing/reading the header section of
the Memory64List easier.


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

  Changed paths:
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv

  Log Message:
  -----------
  [libc++][NFC] A few mechanical adjustments to capitalization in status files

Make sure that we consistently use `Nothing To Do`, and that we use the
RST tags properly (e.g. '|Complete|' instead of 'Complete').


  Commit: 7a28192ce1c1d9d0398348eabc46c94eadb317d8
      https://github.com/llvm/llvm-project/commit/7a28192ce1c1d9d0398348eabc46c94eadb317d8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Issues.csv

  Log Message:
  -----------
  [libc++] Standardize how we track removed and superseded papers

Instead of having various status entries like 'Superseded by XXX',
we use '|Nothing To Do|' but we add a note explaining that the paper
was pulled at another meeting.


  Commit: ae48affd25ac8e211a5bc1c72ef208615fc7eb7d
      https://github.com/llvm/llvm-project/commit/ae48affd25ac8e211a5bc1c72ef208615fc7eb7d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [RISCV] Minor style fixes in lowerVectorMaskVecReduction [nfc]

Reuse existing routine to avoid duplication, and reduce variable scopes.


  Commit: c975dc1da03d684604ddf787b07b63fb8e903648
      https://github.com/llvm/llvm-project/commit/c975dc1da03d684604ddf787b07b63fb8e903648
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/test/ClangScanDeps/pr61006.cppm
    M clang/test/Driver/coverage.c
    M clang/test/Driver/program-path-priority.c

  Log Message:
  -----------
  [clang] [test] Use lit Syntax for Environment Variables in Clang subproject (#102647)

This patch updates the clang tests by replacing shell command
substitutions with lit-compatible syntax for setting and referencing
environment variables. Specifically, the use of shell-style variable
substitution (e.g., `DEFAULT_TRIPLE=`and `EXPECTED_RESOURCE_DIR=`) has
been replaced with `env` and `%{env}` to align with lit's internal shell
requirements. These changes ensure that environment variables are
properly set and accessed within the lit environment.

When using the lit internal shell with the command
`LIT_USE_INTERNAL_SHELL=1 ninja check-clang`, one common error
encountered is:
```
FAIL: Clang :: Driver/program-path-priority.c (19 of 20640)
******************** TEST 'Clang :: Driver/program-path-priority.c' FAILED ********************
Exit Code: 127

Command Output (stdout):
--
# RUN: at line 90
DEFAULT_TRIPLE=`/usr/local/google/home/harinidonthula/llvm-project/build/tools/clang/test/Driver/Output/program-path-priority.c.tmp/clang --version | grep "Target:" | cut -d ' ' -f2`
# executed command: 'DEFAULT_TRIPLE=`/usr/local/google/home/harinidonthula/llvm-project/build/tools/clang/test/Driver/Output/program-path-priority.c.tmp/clang' --version
# .---command stderr------------
# | 'DEFAULT_TRIPLE=`/usr/local/google/home/harinidonthula/llvm-project/build/tools/clang/test/Driver/Output/program-path-priority.c.tmp/clang': command not found
# `-----------------------------
# error: command failed with exit status: 127
```
To fix this issue, the patch replaces traditional shell substitutions
with lit's environment variable handling, ensuring compatibility with
the lit internal shell framework. This update applies to both the
handling of the `DEFAULT_TRIPLE` and `EXPECTED_RESOURCE_DIR` variables,
allowing the tests to pass when using the lit internal shell.
The patch also adds `env` to the `PWD` variable setting in the following
command to ensure the environment variable is correctly set within the
lit internal shell:
```
// RUN: %if system-linux %{ env PWD=/proc/self/cwd %clang -### -c --coverage %s -o foo/bar.o 2>&1 | FileCheck --check-prefix=PWD %s %}
```
fixes: #102395
[link to
RFC](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)


  Commit: b89fef8f67974ebcd4114fa75ac2e53fd687870c
      https://github.com/llvm/llvm-project/commit/b89fef8f67974ebcd4114fa75ac2e53fd687870c
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libc/docs/build_and_test.rst
    M libc/docs/contributing.rst
    R libc/docs/dev/api_test.rst
    R libc/docs/dev/ground_truth_specification.rst
    M libc/docs/dev/header_generation.rst
    M libc/docs/dev/index.rst
    R libc/docs/dev/mechanics_of_public_api.rst
    M libc/docs/dev/source_tree_layout.rst
    M libc/docs/full_cross_build.rst
    M libc/docs/full_host_build.rst
    M libc/docs/fullbuild_mode.rst
    M libc/docs/gpu/building.rst
    M libc/docs/index.rst
    M libc/docs/overlay_mode.rst
    M libc/docs/porting.rst

  Log Message:
  -----------
  [libc][docs] Update docs to reflect new headergen (#102381)

Since new headergen is now the default for building LLVM-libc, the docs
need to be updated to reflect that. While I was editing those docs, I
took a quick pass at updating other out-of-date pages.


  Commit: 22d3fb182c9199ac3d51e5577c6647508a7a37f0
      https://github.com/llvm/llvm-project/commit/22d3fb182c9199ac3d51e5577c6647508a7a37f0
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
    M llvm/test/Analysis/CtxProfAnalysis/load.ll

  Log Message:
  -----------
  [ctx_prof] Profile flatterner (#104539)

Eventually we'll need to flatten the profile (at the end of all IPO) and lower to "vanilla" `MD_prof`. This is the first part of that.

Issue #89287


  Commit: a6bae5cb37919bb0b855dd468d4982340a5740d2
      https://github.com/llvm/llvm-project/commit/a6bae5cb37919bb0b855dd468d4982340a5740d2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/test/CodeGen/AMDGPU/sramecc-subtarget-feature-any.ll
    M llvm/test/CodeGen/AMDGPU/sramecc-subtarget-feature-disabled.ll
    M llvm/test/CodeGen/AMDGPU/sramecc-subtarget-feature-enabled.ll
    M llvm/test/CodeGen/AMDGPU/xnack-subtarget-feature-any.ll
    M llvm/test/CodeGen/AMDGPU/xnack-subtarget-feature-disabled.ll
    M llvm/test/CodeGen/AMDGPU/xnack-subtarget-feature-enabled.ll

  Log Message:
  -----------
  [AMDGPU] Split GCNSubtarget into its own file. NFC. (#105525)


  Commit: 47e0212f00f707a4bb92714afe9c748116887d62
      https://github.com/llvm/llvm-project/commit/47e0212f00f707a4bb92714afe9c748116887d62
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

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


  Commit: c09fdac0b577ca0bfef141765d0a9ae1b6040893
      https://github.com/llvm/llvm-project/commit/c09fdac0b577ca0bfef141765d0a9ae1b6040893
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/_static/LoopOptWG_invite.ics

  Log Message:
  -----------
  [Docs] Update Loop Optimization WG call.

The WebEx link will become invalid soon, we are switching to Google
Meet. Also, changing the cadence from biweekly to monthly.


  Commit: 6257a98b258a3f17b78af31bf43009a559c5dd1d
      https://github.com/llvm/llvm-project/commit/6257a98b258a3f17b78af31bf43009a559c5dd1d
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-08-21 (Wed, 21 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
    M lldb/test/API/tools/lldb-dap/step/TestDAP_step.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Implement `StepGranularity` for "next" and "step-in" (#105464)

VS Code requests the `instruction` stepping granularity if the assembly
view is currently focused. By implementing `StepGranularity`, we can
hence properly single-step through assembly code.


  Commit: 8b4d4bee2a45f637fb4dcda49b592374e93a6480
      https://github.com/llvm/llvm-project/commit/8b4d4bee2a45f637fb4dcda49b592374e93a6480
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/ADT/StringRefTest.cpp

  Log Message:
  -----------
  [NFC][ADT] Remove << operators from StringRefTest (#105500)

- Remove ostream << operators for StringRef and StringRef pair from
StringTest.
  Both of these are natively supported by googletest framework.


  Commit: 89c556cfda4de346774c9fe547da6af9121dfa97
      https://github.com/llvm/llvm-project/commit/89c556cfda4de346774c9fe547da6af9121dfa97
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/Clauses.cpp
    M flang/lib/Lower/OpenMP/Clauses.h

  Log Message:
  -----------
  [flang][OpenMP] Follow-up to build-breakage fix (#102028)

Adjust the handling of a few of the new clauses.


  Commit: 6ec3130a38e6982a61e7fa74bd5223c95c0bb918
      https://github.com/llvm/llvm-project/commit/6ec3130a38e6982a61e7fa74bd5223c95c0bb918
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/test/tools/llvm-cgdata/merge-archive.test
    M llvm/test/tools/llvm-cgdata/merge-concat.test
    M llvm/test/tools/llvm-cgdata/merge-double.test
    M llvm/test/tools/llvm-cgdata/merge-single.test

  Log Message:
  -----------
  [CGData] Fix tests for sed without using options (#105546)

This fixes a build issue for AIX --
https://github.com/llvm/llvm-project/pull/101461.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-as-operand-reorder.ll

  Log Message:
  -----------
  [SLP]Fix PR105120: fix the order of phi nodes vectorization.

The operands of the phi nodes should be vectorized in the same order, in
which they were created, otherwise the compiler may crash when trying
to correctly build dependency for nodes with non-schedulable
instructions for gather/buildvector nodes.

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


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll

  Log Message:
  -----------
  [SLP]Try to keep scalars, used in phi nodes, if phi nodes from same block are vectorized.

Before doing the vectorization of the PHI nodes, the compiler sorts them
by the opcodes of the operands. If the scalar is replaced during the
vectorization by extractelement, it breaks this sorting and prevent some
further vectorization attempts. Patch tries to improve this by doing
extra analysis of the scalars and tries to keep them, if it is found that
this scalar is used in other (external) PHI node in the same block.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 4b35624ce0ac5b487d39880e75b5d85f4d49eec0
      https://github.com/llvm/llvm-project/commit/4b35624ce0ac5b487d39880e75b5d85f4d49eec0
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sve-fixed-length-int-abd.ll
    A llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-abd.ll

  Log Message:
  -----------
  [AArch64] Add SVE lowering of fixed-length UABD/SABD (#104991)


  Commit: 716594da176b4cbc956e7c7ab90988db6f907686
      https://github.com/llvm/llvm-project/commit/716594da176b4cbc956e7c7ab90988db6f907686
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-08-21 (Wed, 21 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

  Log Message:
  -----------
  [SandboxIR] Add ShuffleVectorInst (#104891)

This is missing tracking for `setShuffleMask`. I'll add it in a follow-up.


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

  Changed paths:
    M llvm/include/llvm/ADT/StringExtras.h
    M llvm/unittests/ADT/StringExtrasTest.cpp

  Log Message:
  -----------
  [ADT] Add `isPunct` to StringExtras (#105461)

- Add `isPunct` to StringExtras.h.
- Add unit test for `isPunct` to StringExtrasTest.


  Commit: 84fa7b438e1fba0c88b21784e716926017b9fe49
      https://github.com/llvm/llvm-project/commit/84fa7b438e1fba0c88b21784e716926017b9fe49
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Improve the granularity of status tracking from Github issues

This enhances the Github - CSV synchronization script to understand
some of the idioms we use in the CSV status files, like |Nothing To Do|
and others.


  Commit: cfd4c1805ead139f84a4465719c49cca53f07f27
      https://github.com/llvm/llvm-project/commit/cfd4c1805ead139f84a4465719c49cca53f07f27
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/CodeGen/CGPasses.td
    M flang/include/flang/Optimizer/CodeGen/CodeGen.h
    M flang/include/flang/Optimizer/Support/InternalNames.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Support/InternalNames.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm.fir
    A flang/test/Fir/convert-type-desc-to-llvm.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/type-descriptor.fir
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Lower/dense-array-any-rank.f90

  Log Message:
  -----------
  [RFC][flang] Replace special symbols in uniqued global names. (#104859)

This change addresses more "issues" as the one resolved in #71338.
Some targets (e.g. NVPTX) do not accept global names containing
`.`. In particular, the global variables created to represent
the runtime information of derived types use `.` in their names.
A derived type's descriptor object may be used in the device code,
e.g. to initialize a descriptor of a variable of this type.
Thus, the runtime type info objects may need to be compiled
for the device.

Moreover, at least the derived types' descriptor objects
may need to be registered (think of `omp declare target`)
for the host-device association so that the addendum pointer
can be properly mapped to the device for descriptors using
a derived type's descriptor as their addendum pointer.
The registration implies knowing the name of the global variable
in the device image so that proper host code can be created.
So it is better to name the globals the same way for the host
and the device.

CompilerGeneratedNamesConversion pass renames all uniqued globals
such that the special symbols (currently `.`) are replaced
with `X`. The pass is supposed to be run for the host and the device.

An option is added to FIR-to-LLVM conversion pass to indicate
whether the new pass has been run before or not. This setting
affects how the codegen computes the names of the derived types'
descriptors for FIR derived types.

fir::NameUniquer now allows `X` to be part of a name, because
the name deconstruction may be applied to the mangled names
after CompilerGeneratedNamesConversion pass.


  Commit: 30ca06c4d0d06f67f10a9e19d4333acc2074811b
      https://github.com/llvm/llvm-project/commit/30ca06c4d0d06f67f10a9e19d4333acc2074811b
  Author: John Harrison <harjohn at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    A lldb/test/API/tools/lldb-dap/output/Makefile
    A lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
    A lldb/test/API/tools/lldb-dap/output/main.c
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/OutputRedirector.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] When sending a DAP Output Event break each message into separate lines. (#105456)

Previously, when output like `"hello\nworld\n"` was produced by lldb (or
the process) the message would be sent as a single Output event. By
being a single event this causes VS Code to treat this as a single
message in the console when handling displaying and filtering in the
Debug Console.

Instead, with these changes we send each line as its own event. This
results in VS Code representing each line of output from lldb-dap as an
individual output message.

Resolves #105444


  Commit: 46c94bed5af48f3785c3370a9297ea29d7918cd5
      https://github.com/llvm/llvm-project/commit/46c94bed5af48f3785c3370a9297ea29d7918cd5
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx23Issues.csv

  Log Message:
  -----------
  [libc++] Mark LWG3404 as implemented

LWG3404 was implemented along with subrange.

Closes #104282


  Commit: ab86fc74c04ff508f909b7b6131df1551dd833fc
      https://github.com/llvm/llvm-project/commit/ab86fc74c04ff508f909b7b6131df1551dd833fc
  Author: Jonas Rickert <Jonas.Rickert at amd.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M mlir/include/mlir/IR/MLIRContext.h

  Log Message:
  -----------
  [mlir] Add nodiscard attribute to allowsUnregisteredDialects (#105530)

This getter can easily be confused with the similar named
allowUnregisteredDialects setter


  Commit: f709cd5add0ea36bb14259e9716bd74e5c762128
      https://github.com/llvm/llvm-project/commit/f709cd5add0ea36bb14259e9716bd74e5c762128
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    R clang/test/CodeGenCoroutines/coro-dwarf-O2.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/test/Transforms/Coroutines/coro-debug-O2.ll

  Log Message:
  -----------
  Revert "[Coroutines] Salvage the debug information for coroutine frames within optimizations"

This reverts commit 522c253f47ea27d8eeb759e06f8749092b1de71e.

This series of commits causes Clang crashes. The reproducer is posted on
https://github.com/llvm/llvm-project/commit/08a0dece2b2431db8abe650bb43cba01e781e1ce.


  Commit: dc12ccd13f98a3f3ec4af07e60f6fe1344965e17
      https://github.com/llvm/llvm-project/commit/dc12ccd13f98a3f3ec4af07e60f6fe1344965e17
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp

  Log Message:
  -----------
  Revert "[Coroutines] Fix -Wunused-variable in CoroFrame.cpp (NFC)"

This reverts commit d48b807aa8abd1cbfe8ac5d1ba27b8b3617fc5e6.

This series of commits causes Clang crashes. The reproducer is posted on
https://github.com/llvm/llvm-project/commit/08a0dece2b2431db8abe650bb43cba01e781e1ce


  Commit: 5c7ae42c526b21acf65ab4b017d0a5fd4ac654a1
      https://github.com/llvm/llvm-project/commit/5c7ae42c526b21acf65ab4b017d0a5fd4ac654a1
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-21 (Wed, 21 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:
  -----------
  Revert "[Coroutines] [NFCI] Don't search the DILocalVariable for __promise when constructing the debug varaible for __coro_frame"

This reverts commit 08a0dece2b2431db8abe650bb43cba01e781e1ce.

This series of commits causes Clang crashes. The reproducer is posted on
https://github.com/llvm/llvm-project/commit/08a0dece2b2431db8abe650bb43cba01e781e1ce.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    A llvm/test/Transforms/InstCombine/sext-a-lt-b-plus-zext-a-gt-b-to-uscmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `sext(A < B) + zext(A > B)` into `ucmp/scmp(A, B)` (#103833)

This change also covers the fold of `zext(A > B) - zext(A < B)` since it
is already being canonicalized into the aforementioned pattern.

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


  Commit: aa4c6557a1281df627cdf06684bdb08da2707200
      https://github.com/llvm/llvm-project/commit/aa4c6557a1281df627cdf06684bdb08da2707200
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Fix use-of-uninitialized in ShuffleVectorInst unit test. (#105592)

I accidentally created a dangling ArrayRef local variable. Use a
SmallVector instead.


  Commit: 9ebe8b9abde02340494883d1ed1897ef5837473b
      https://github.com/llvm/llvm-project/commit/9ebe8b9abde02340494883d1ed1897ef5837473b
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/utils/TableGen/TableGen.cpp

  Log Message:
  -----------
  [NFC][TableGen] Change global variables from anonymous NS to static (#105504)

- Move global variables in TableGen.cpp out of anonymous namespace and
make them static, per LLVM coding standards.


  Commit: b5ba726577f7e7af880b62a6352c6208bda4cd0b
      https://github.com/llvm/llvm-project/commit/b5ba726577f7e7af880b62a6352c6208bda4cd0b
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/Tracker.h
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/SandboxIR/Tracker.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Add tracking for `ShuffleVectorInst::setShuffleMask`. (#105590)


  Commit: 6b98a723653214a6cde05ae3cb5233af328ff101
      https://github.com/llvm/llvm-project/commit/6b98a723653214a6cde05ae3cb5233af328ff101
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/docs/gpu/support.rst
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/scanf_core/CMakeLists.txt
    M libc/src/stdio/scanf_core/vfscanf_internal.h

  Log Message:
  -----------
  [libc] Add `scanf` support to the GPU build (#104812)

Summary:
The `scanf` function has a "system file" configuration, which is pretty
much what the GPU implementation does at this point. So we should be
able to use it in much the same way.


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

  Changed paths:
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Add build-time flags to runtime to adjust SELECTED_x_KIND() (#105575)

Add FLANG_RUNTIME_NO_INTEGER_16 and FLANG_RUNTIME_NO_REAL_{2,10,16} to
allow one to disable those kinds from being returned from
SELECTED_INT_KIND and SELECTED_REAL_KIND even if they are actually
available in the C++ build compiler.


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

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h

  Log Message:
  -----------
  [LTO] Use enum class for ImportFailureReason (NFC) (#105564)

It turns out that all uses of the enum values here are already
qualified like FunctionImporter::ImportFailureReason::None, so we can
switch to enum class without touching the rest of the codebase.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [LTO] Compare std::optional<ImportKind> directly with ImportKind (NFC) (#105561)

Note that:

  Opt == Val if and only (Opt && *Opt == Val)

where:

  std::optional<T> Opt;
  T Val;


  Commit: 19d3f3417100dc99caa4394fbd26fc0c4702264e
      https://github.com/llvm/llvm-project/commit/19d3f3417100dc99caa4394fbd26fc0c4702264e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

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

Unfortunately I can't actually reproduce this locally.


  Commit: 1e70122cbc187c08de91a3fb42843efb1221e0e9
      https://github.com/llvm/llvm-project/commit/1e70122cbc187c08de91a3fb42843efb1221e0e9
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/CtxProfAnalysis.h
    M llvm/lib/Analysis/CtxProfAnalysis.cpp
    M llvm/unittests/Analysis/CtxProfAnalysisTest.cpp

  Log Message:
  -----------
  [ctx_prof] API to get the instrumentation of a BB (#105468)

Analogous to PR #104491 

Issue #89287


  Commit: f25e6515aa04e53a642bc79eb09a96e418cbbb03
      https://github.com/llvm/llvm-project/commit/f25e6515aa04e53a642bc79eb09a96e418cbbb03
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/features_dir.test

  Log Message:
  -----------
  [compiler-rt][test] Added REQUIRES:shell to fuzzer test with for-loop (#105557)

This patch makes the features_dir.test file require a shell when
running. This will make the test file unsupported when running llvm-lit
with its internal shell implementation, which is enabled by turning on
the LIT_USE_INTERNAL_SHELL environment variable. Lit's internal shell
currently does not support for-loop syntax.


  Commit: 04c827d0b5e629ba53e8ede94811a13a96db36a4
      https://github.com/llvm/llvm-project/commit/04c827d0b5e629ba53e8ede94811a13a96db36a4
  Author: Jorge Gorbe Moya <jgorbe at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [SandboxIR] Simplify matchers in ShuffleVectorInst unit test (NFC) (#105596)

Replace instances of `testing::ContainerEq(ArrayRef<int>({1, 2, 3, 4}))`
with `testing::ElementsAre(1, 2, 3, 4)` which is simpler and more
readable.


  Commit: 64e464349bfca0d90e07f6db2f710d4d53cdacd4
      https://github.com/llvm/llvm-project/commit/64e464349bfca0d90e07f6db2f710d4d53cdacd4
  Author: eddyz87 <eddyz87 at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/CodeGen/CGCall.cpp
    A clang/test/CodeGen/bpf-attr-bpf-fastcall-1.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/bpf-attr-bpf-fastcall.c
    M llvm/lib/Target/BPF/BPFCallingConv.td
    M llvm/lib/Target/BPF/BPFISelLowering.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFMIPeephole.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.cpp
    M llvm/lib/Target/BPF/BPFRegisterInfo.h
    A llvm/test/CodeGen/BPF/bpf-fastcall-1.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-2.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-3.ll
    A llvm/test/CodeGen/BPF/bpf-fastcall-regmask-1.ll

  Log Message:
  -----------
  [BPF] introduce __attribute__((bpf_fastcall)) (#105417)

This commit introduces attribute bpf_fastcall to declare BPF functions
that do not clobber some of the caller saved registers (R0-R5).

The idea is to generate the code complying with generic BPF ABI,
but allow compatible Linux Kernel to remove unnecessary spills and
fills of non-scratched registers (given some compiler assistance).

For such functions do register allocation as-if caller saved registers
are not clobbered, but later wrap the calls with spill and fill
patterns that are simple to recognize in kernel.

For example for the following C code:

    #define __bpf_fastcall __attribute__((bpf_fastcall))

    void bar(void) __bpf_fastcall;
    void buz(long i, long j, long k);

    void foo(long i, long j, long k) {
      bar();
      buz(i, j, k);
    }

First allocate registers as if:

    foo:
      call bar    # note: no spills for i,j,k (r1,r2,r3)
      call buz
      exit

And later insert spills fills on the peephole phase:

    foo:
      *(u64 *)(r10 - 8) = r1;  # Such call pattern is
      *(u64 *)(r10 - 16) = r2; # correct when used with
      *(u64 *)(r10 - 24) = r3; # old kernels.
      call bar
      r3 = *(u64 *)(r10 - 24); # But also allows new
      r2 = *(u64 *)(r10 - 16); # kernels to recognize the
      r1 = *(u64 *)(r10 - 8);  # pattern and remove spills/fills.
      call buz
      exit

The offsets for generated spills/fills are picked as minimal stack
offsets for the function. Allocated stack slots are not used for any
other purposes, in order to simplify in-kernel analysis.


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

  Changed paths:
    M compiler-rt/test/asan/TestCases/Darwin/cstring_section.c

  Log Message:
  -----------
  Revert "Speculative fix for asan/TestCases/Darwin/cstring_section.c"

This fix is not enough, and the breaking patch was reverted with 2704b804bec50c2b016bf678bd534c330ec655b6.

This reverts commit bf71c64839c0082e761a4f070ed92e01ced0187c.


  Commit: 359c704004ec0826059578c79974d9ea29a8fbff
      https://github.com/llvm/llvm-project/commit/359c704004ec0826059578c79974d9ea29a8fbff
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugInfo.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-1.ll
    A llvm/test/DebugInfo/sroa-handle-dbg-value.ll
    M llvm/test/Transforms/SROA/alignment.ll
    M llvm/test/Transforms/SROA/vector-promotion.ll

  Log Message:
  -----------
  Handle #dbg_values in SROA. (#94070)

This patch properly handles #dbg_values in SROA by making sure that any
#dbg_values get moved to before a store just like #dbg_declares do, or
the #dbg_value is correctly updated with the right alloca after an
aggregate alloca is broken up.

The issue stems from swift where #dbg_values are emitted and not
dbg.declares, the SROA pass doesn't handle the #dbg_values correctly and
it causes them to all have undefs

If we look at this simple-ish testcase (This is all I could reduce it
down to, and I am still relatively bad at writing llvm IR by hand so I
apologize in advance):

```
%T4main1TV13TangentVectorV = type <{ %T4main1UV13TangentVectorV, [7 x i8], %T4main1UV13TangentVectorV }>
%T4main1UV13TangentVectorV = type <{ %T1M1SVySfG, [7 x i8], %T4main1VV13TangentVectorV }>
%T1M1SVySfG = type <{ ptr, %Ts4Int8V }>
%Ts4Int8V = type <{ i8 }>
%T4main1VV13TangentVectorV = type <{ %T1M1SVySfG }>
define hidden swiftcc void @"$s4main1TV13TangentVectorV1poiyA2E_AEtFZ"(ptr noalias nocapture sret(%T4main1TV13TangentVectorV) %0, ptr noalias nocapture dereferenceable(57) %1, ptr noalias nocapture dereferenceable(57) %2) #0 !dbg !44 {
entry:
  %3 = alloca %T4main1VV13TangentVectorV
  %4 = alloca %T4main1UV13TangentVectorV
  %5 = alloca %T4main1VV13TangentVectorV
  %6 = alloca %T4main1UV13TangentVectorV
  %7 = alloca %T4main1VV13TangentVectorV
  %8 = alloca %T4main1UV13TangentVectorV
  %9 = alloca %T4main1VV13TangentVectorV
  %10 = alloca %T4main1UV13TangentVectorV
  call void @llvm.lifetime.start.p0(i64 9, ptr %3)
  call void @llvm.lifetime.start.p0(i64 25, ptr %4)
  call void @llvm.lifetime.start.p0(i64 9, ptr %5)
  call void @llvm.lifetime.start.p0(i64 25, ptr %6)
  call void @llvm.lifetime.start.p0(i64 9, ptr %7)
  call void @llvm.lifetime.start.p0(i64 25, ptr %8)
  call void @llvm.lifetime.start.p0(i64 9, ptr %9)
  call void @llvm.lifetime.start.p0(i64 25, ptr %10)
  %.u1 = getelementptr inbounds %T4main1TV13TangentVectorV, ptr %1, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %.u1, i64 25, i1 false)
  %.u11 = getelementptr inbounds %T4main1TV13TangentVectorV, ptr %2, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %.u11, i64 25, i1 false)
  call void @llvm.dbg.value(metadata ptr %4, metadata !62, metadata !DIExpression(DW_OP_deref)), !dbg !75
  %.s = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %4, i32 0, i32 0
  %.s.c = getelementptr inbounds %T1M1SVySfG, ptr %.s, i32 0, i32 0
  %11 = load ptr, ptr %.s.c
  %.s.b = getelementptr inbounds %T1M1SVySfG, ptr %.s, i32 0, i32 1
  %.s.b._value = getelementptr inbounds %Ts4Int8V, ptr %.s.b, i32 0, i32 0
  %12 = load i8, ptr %.s.b._value
  %.s2 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %6, i32 0, i32 0
  %.s2.c = getelementptr inbounds %T1M1SVySfG, ptr %.s2, i32 0, i32 0
  %13 = load ptr, ptr %.s2.c
  %.s2.b = getelementptr inbounds %T1M1SVySfG, ptr %.s2, i32 0, i32 1
  %.s2.b._value = getelementptr inbounds %Ts4Int8V, ptr %.s2.b, i32 0, i32 0
  %14 = load i8, ptr %.s2.b._value
  %.v = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %4, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %.v, i64 9, i1 false)
  %.v3 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %6, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %.v3, i64 9, i1 false)
  %.s4 = getelementptr inbounds %T4main1VV13TangentVectorV, ptr %3, i32 0, i32 0
  %.s4.c = getelementptr inbounds %T1M1SVySfG, ptr %.s4, i32 0, i32 0
  %18 = load ptr, ptr %.s4.c
  %.s5 = getelementptr inbounds %T4main1VV13TangentVectorV, ptr %5, i32 0, i32 0
  %.s5.c = getelementptr inbounds %T1M1SVySfG, ptr %.s5, i32 0, i32 0
  %20 = load ptr, ptr %.s5.c
  %.u2 = getelementptr inbounds %T4main1TV13TangentVectorV, ptr %1, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %.u2, i64 25, i1 false)
  %.u26 = getelementptr inbounds %T4main1TV13TangentVectorV, ptr %2, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10, ptr align 8 %.u26, i64 25, i1 false)
  %.s7 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %8, i32 0, i32 0
  %.s7.c = getelementptr inbounds %T1M1SVySfG, ptr %.s7, i32 0, i32 0
  %25 = load ptr, ptr %.s7.c
  %.s7.b = getelementptr inbounds %T1M1SVySfG, ptr %.s7, i32 0, i32 1
  %.s7.b._value = getelementptr inbounds %Ts4Int8V, ptr %.s7.b, i32 0, i32 0
  %26 = load i8, ptr %.s7.b._value
  %.s8 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %10, i32 0, i32 0
  %.s8.c = getelementptr inbounds %T1M1SVySfG, ptr %.s8, i32 0, i32 0
  %27 = load ptr, ptr %.s8.c
  %.s8.b = getelementptr inbounds %T1M1SVySfG, ptr %.s8, i32 0, i32 1
  %.s8.b._value = getelementptr inbounds %Ts4Int8V, ptr %.s8.b, i32 0, i32 0
  %28 = load i8, ptr %.s8.b._value
  %.v9 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %8, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %.v9, i64 9, i1 false)
  %.v10 = getelementptr inbounds %T4main1UV13TangentVectorV, ptr %10, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %.v10, i64 9, i1 false)
  %.s11 = getelementptr inbounds %T4main1VV13TangentVectorV, ptr %7, i32 0, i32 0
  %.s11.c = getelementptr inbounds %T1M1SVySfG, ptr %.s11, i32 0, i32 0
  %32 = load ptr, ptr %.s11.c
  %.s12 = getelementptr inbounds %T4main1VV13TangentVectorV, ptr %9, i32 0, i32 0
  %.s12.c = getelementptr inbounds %T1M1SVySfG, ptr %.s12, i32 0, i32 0
  %34 = load ptr, ptr %.s12.c
  call void @llvm.lifetime.end.p0(i64 25, ptr %10)
  call void @llvm.lifetime.end.p0(i64 9, ptr %9)
  call void @llvm.lifetime.end.p0(i64 25, ptr %8)
  call void @llvm.lifetime.end.p0(i64 9, ptr %7)
  call void @llvm.lifetime.end.p0(i64 25, ptr %6)
  call void @llvm.lifetime.end.p0(i64 9, ptr %5)
  call void @llvm.lifetime.end.p0(i64 25, ptr %4)
  call void @llvm.lifetime.end.p0(i64 9, ptr %3)
  ret void
}
!llvm.module.flags = !{!0, !1, !2, !3, !4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15}
!swift.module.flags = !{!33}
!llvm.linker.options = !{!34, !35, !36, !37, !38, !39, !40, !41, !42, !43}
!0 = !{i32 2, !"SDK Version", [2 x i32] [i32 14, i32 4]}
!1 = !{i32 1, !"Objective-C Version", i32 2}
!2 = !{i32 1, !"Objective-C Image Info Version", i32 0}
!3 = !{i32 1, !"Objective-C Image Info Section", !"__DATA, no_dead_strip"}
!4 = !{i32 1, !"Objective-C Garbage Collection", i8 0}
!6 = !{i32 7, !"Dwarf Version", i32 4}
!7 = !{i32 2, !"Debug Info Version", i32 3}
!8 = !{i32 1, !"wchar_size", i32 4}
!9 = !{i32 8, !"PIC Level", i32 2}
!10 = !{i32 7, !"uwtable", i32 1}
!11 = !{i32 7, !"frame-pointer", i32 1}
!12 = !{i32 1, !"Swift Version", i32 7}
!13 = !{i32 1, !"Swift ABI Version", i32 7}
!14 = !{i32 1, !"Swift Major Version", i8 6}
!15 = !{i32 1, !"Swift Minor Version", i8 0}
!16 = distinct !DICompileUnit(language: DW_LANG_Swift, file: !17, imports: !18, sdk: "MacOSX14.4.sdk")
!17 = !DIFile(filename: "/Users/emilpedersen/swift2/swift/test/IRGen/debug_scope_distinct.swift", directory: "/Users/emilpedersen/swift2")
!18 = !{!19, !21, !23, !25, !27, !29, !31}
!19 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !20, file: !17)
!20 = !DIModule(scope: null, name: "main", includePath: "/Users/emilpedersen/swift2/swift/test/IRGen")
!21 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !22, file: !17)
!22 = !DIModule(scope: null, name: "Swift", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/lib/swift/macosx/Swift.swiftmodule/arm64-apple-macos.swiftmodule")
!23 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !24, line: 60)
!24 = !DIModule(scope: null, name: "_Differentiation", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/lib/swift/macosx/_Differentiation.swiftmodule/arm64-apple-macos.swiftmodule")
!25 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !26, line: 61)
!26 = !DIModule(scope: null, name: "M", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/test-macosx-arm64/IRGen/Output/debug_scope_distinct.swift.tmp/M.swiftmodule")
!27 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !28, file: !17)
!28 = !DIModule(scope: null, name: "_StringProcessing", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/lib/swift/macosx/_StringProcessing.swiftmodule/arm64-apple-macos.swiftmodule")
!29 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !30, file: !17)
!30 = !DIModule(scope: null, name: "_SwiftConcurrencyShims", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/lib/swift/shims")
!31 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !17, entity: !32, file: !17)
!32 = !DIModule(scope: null, name: "_Concurrency", includePath: "/Users/emilpedersen/swift2/_build/Ninja-RelWithDebInfoAssert+stdlib-RelWithDebInfo/swift-macosx-arm64/lib/swift/macosx/_Concurrency.swiftmodule/arm64-apple-macos.swiftmodule")
!33 = !{i1 false}
!34 = !{!"-lswiftCore"}
!35 = !{!"-lswift_StringProcessing"}
!36 = !{!"-lswift_Differentiation"}
!37 = !{!"-lswiftDarwin"}
!38 = !{!"-lswift_Concurrency"}
!39 = !{!"-lswiftSwiftOnoneSupport"}
!40 = !{!"-lobjc"}
!41 = !{!"-lswiftCompatibilityConcurrency"}
!42 = !{!"-lswiftCompatibility56"}
!43 = !{!"-lswiftCompatibilityPacks"}
!44 = distinct !DISubprogram( unit: !16, declaration: !52, retainedNodes: !53)
!45 = !DIFile(filename: "<compiler-generated>", directory: "/")
!46 = !DICompositeType(tag: DW_TAG_structure_type, scope: !47, elements: !48, identifier: "$s4main1TV13TangentVectorVD")
!47 = !DICompositeType(tag: DW_TAG_structure_type, identifier: "$s4main1TVD")
!48 = !{}
!49 = !DISubroutineType(types: !50)
!50 = !{!51}
!51 = !DICompositeType(tag: DW_TAG_structure_type, identifier: "$s4main1TV13TangentVectorVXMtD")
!52 = !DISubprogram( file: !45, type: !49, spFlags: DISPFlagOptimized)
!53 = !{!54, !56, !57}
!54 = !DILocalVariable( scope: !44, type: !55, flags: DIFlagArtificial)
!55 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !46)
!56 = !DILocalVariable( scope: !44, flags: DIFlagArtificial)
!57 = !DILocalVariable( scope: !44, type: !58, flags: DIFlagArtificial)
!58 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !51)
!62 = !DILocalVariable( scope: !63, type: !72, flags: DIFlagArtificial)
!63 = distinct !DISubprogram( type: !66, unit: !16, declaration: !69, retainedNodes: !70)
!64 = !DICompositeType(tag: DW_TAG_structure_type, scope: !65, identifier: "$s4main1UV13TangentVectorVD")
!65 = !DICompositeType(tag: DW_TAG_structure_type, identifier: "$s4main1UVD")
!66 = !DISubroutineType(types: !67)
!67 = !{!68}
!68 = !DICompositeType(tag: DW_TAG_structure_type, identifier: "$s4main1UV13TangentVectorVXMtD")
!69 = !DISubprogram( spFlags: DISPFlagOptimized)
!70 = !{!71, !73}
!71 = !DILocalVariable( scope: !63, flags: DIFlagArtificial)
!72 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !64)
!73 = !DILocalVariable( scope: !63, type: !74, flags: DIFlagArtificial)
!74 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !68)
!75 = !DILocation( scope: !63, inlinedAt: !76)
!76 = distinct !DILocation( scope: !44)

```

if we run
` opt -S -passes=sroa file.ll  -o -`

With this patch we will see
```
%.sroa.5.sroa.021 = alloca [7 x i8], align 8
tail call void @llvm.dbg.value(metadata ptr %.sroa.5.sroa.021, metadata !59, metadata !DIExpression(DW_OP_deref, DW_OP_LLVM_fragment, 72, 56)), !dbg !72
%.sroa.5.sroa.014 = alloca [7 x i8], align 8
 ```
 
 Without this patch we will see:
 
```
%.sroa.5.sroa.021 = alloca [7 x i8], align 8
%.sroa.5.sroa.014 = alloca [7 x i8], align 8
```

Thus this patch ensures that llvm.dbg.values that use allocas that are broken up still have the correct metadata and debug information is preserved

This is part of a stack of patches and is preceded by: https://github.com/llvm/llvm-project/pull/94068


  Commit: d23c24f336674727d281258157fc5b15ce9040a4
      https://github.com/llvm/llvm-project/commit/d23c24f336674727d281258157fc5b15ce9040a4
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

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

  Log Message:
  -----------
  [llvm][nsan] Skip function declarations (#105598)

Skip function declarations in the instrumentation pass.


  Commit: 2b66417d08d8e87f42cd154370ad1722ae7842c8
      https://github.com/llvm/llvm-project/commit/2b66417d08d8e87f42cd154370ad1722ae7842c8
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M libc/src/stdio/scanf_core/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix accidentally using system file on GPU

Summary:
Forgot to delete this


  Commit: 8e0b9c85924ca22a65d57988ea2c5c22a5181ed9
      https://github.com/llvm/llvm-project/commit/8e0b9c85924ca22a65d57988ea2c5c22a5181ed9
  Author: John Harrison <harjohn at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py

  Log Message:
  -----------
  [lldb-dap] Skip the lldb-dap output test on windows, it seems all the lldb-dap tests are disabled on windows. (#105604)

This should fix https://lab.llvm.org/buildbot/#/builders/141/builds/1747


  Commit: 7854b16d2699ca7cc02d4ea066230d370c751ba9
      https://github.com/llvm/llvm-project/commit/7854b16d2699ca7cc02d4ea066230d370c751ba9
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-21 (Wed, 21 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 FuncletPadInst, CatchPadInst and CleanupInst (#105294)

This patch implements sandboxir::FuncletPadInst,CatchInst,CleanupInst
mirroring their llvm:: counterparts.


  Commit: 0ca77f6656a772624a591261957f6b313a0d544e
      https://github.com/llvm/llvm-project/commit/0ca77f6656a772624a591261957f6b313a0d544e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVSystemOperands.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/hypervisor-csr-names.s
    M llvm/test/MC/RISCV/machine-csr-names.s
    A llvm/test/MC/RISCV/smctr-ssctr-valid.s
    M llvm/test/MC/RISCV/supervisor-csr-names.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add CSRs and an instruction for Smctr and Ssctr extensions. (#105148)

https://github.com/riscv/riscv-control-transfer-records/releases/tag/v1.0_rc3


  Commit: 65f66d2c605f0c9b0af26244f4d42ca93f552ec8
      https://github.com/llvm/llvm-project/commit/65f66d2c605f0c9b0af26244f4d42ca93f552ec8
  Author: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M flang/docs/OpenMP-declare-target.md
    M flang/docs/OpenMP-descriptor-management.md
    M flang/include/flang/Optimizer/CMakeLists.txt
    A flang/include/flang/Optimizer/OpenMP/CMakeLists.txt
    A flang/include/flang/Optimizer/OpenMP/Passes.h
    A flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Optimizer/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
    A flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    A flang/lib/Optimizer/OpenMP/MarkDeclareTarget.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    R flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    R flang/lib/Optimizer/Transforms/OMPMapInfoFinalization.cpp
    R flang/lib/Optimizer/Transforms/OMPMarkDeclareTarget.cpp
    M flang/tools/bbc/CMakeLists.txt
    M flang/tools/fir-opt/CMakeLists.txt
    M flang/tools/fir-opt/fir-opt.cpp
    M flang/tools/tco/CMakeLists.txt

  Log Message:
  -----------
  [flang][NFC] Move OpenMP related passes into a separate directory (#104732)

Reapplied with fixed library dependencies for shared lib build


  Commit: bf88db78bd80cb624b49510c628ba841fb1fed04
      https://github.com/llvm/llvm-project/commit/bf88db78bd80cb624b49510c628ba841fb1fed04
  Author: itrofimow <i.trofimow at yandex.ru>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
    M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp

  Log Message:
  -----------
  [Symbolizer, DebugInfo] Clean up LLVMSymbolizer API: const string& -> StringRef (#104541)

Nothing in the affected code depends on the `ModuleName` being
null-terminated,
so take it by `StringRef` instead of `const std::string &`.

This change simplifies API consumption, since one doesn't always have a
`std::string` at the call site (might have `std::string_view` instead),
and also gives some minor performance improvements by removing
string-copies in the cache-hit path of `getOrCreateModuleInfo`.


  Commit: c62fa63ff1a043dc62b88270680657483f307fae
      https://github.com/llvm/llvm-project/commit/c62fa63ff1a043dc62b88270680657483f307fae
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/Arch/PPC.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/Arch/X86.cpp
    M lld/ELF/Arch/X86_64.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/SyntheticSections.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move mainPart to Ctx. NFC

Ctx was introduced in March 2022 as a more suitable place for such
singletons.


  Commit: 796787d07c30cb9448e1f9ff3f3da06c2fc96ccd
      https://github.com/llvm/llvm-project/commit/796787d07c30cb9448e1f9ff3f3da06c2fc96ccd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h

  Log Message:
  -----------
  [ELF] Remove unneeded script->. NFC


  Commit: 88636854b007affdbe324369b26c9ded66934b22
      https://github.com/llvm/llvm-project/commit/88636854b007affdbe324369b26c9ded66934b22
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/sext.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/zext.mir

  Log Message:
  -----------
  [RISCV][GISel] Correct registers classes in vector sext/zext.mir tests. NFC

The liveins were always for an LMUL=1 register class even if the
first instruction used a larger regsister class.

One test in zext.mir used the wrong class for the first instruction.


  Commit: 503907dc505db1e439e7061113bf84dd105f2e35
      https://github.com/llvm/llvm-project/commit/503907dc505db1e439e7061113bf84dd105f2e35
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/LinkerScript.h

  Log Message:
  -----------
  [ELF] LinkerScript: initialize dot. NFC

Ensure that `dot` is initialized even if `script` uses
default-initialization.


  Commit: 4629aa17976b4110e6e94e7c92926c789730702e
      https://github.com/llvm/llvm-project/commit/4629aa17976b4110e6e94e7c92926c789730702e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/ICF.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/LinkerScript.h
    M lld/ELF/MapFile.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move script into Ctx. NFC

Ctx was introduced in March 2022 as a more suitable place for such
singletons.

We now use default-initialization for `LinkerScript` and should pay
attention to non-class types (e.g. `dot` is initialized by commit
503907dc505db1e439e7061113bf84dd105f2e35).


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/rvv/anyext.mir

  Log Message:
  -----------
  [RISCV][GISel] Correct registers classes in vector anyext.mir test. NFC


  Commit: 8039886e6d8985921802295dbc86401546120ac8
      https://github.com/llvm/llvm-project/commit/8039886e6d8985921802295dbc86401546120ac8
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/frame-index.mir
    M llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll

  Log Message:
  -----------
  AMDGPU: Handle folding frame indexes into s_add_i32 (#101694)

This does not yet enable producing direct frame index
references in s_add_i32, only the lowering.


  Commit: ded6dd244cce3e683201a668ce321d4474baa8fb
      https://github.com/llvm/llvm-project/commit/ded6dd244cce3e683201a668ce321d4474baa8fb
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [clang][NFC] remove resolved issue from StandardCPlusPlusModules.rst (#105610)

This landed as https://github.com/llvm/llvm-project/pull/102287 for main
& https://github.com/llvm/llvm-project/pull/102561 for 19.x

CC @ChuanqiXu9


  Commit: fde2d23ee2a204050a210f2f7b290643a272f737
      https://github.com/llvm/llvm-project/commit/fde2d23ee2a204050a210f2f7b290643a272f737
  Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M offload/DeviceRTL/CMakeLists.txt
    A offload/DeviceRTL/include/Profiling.h
    A offload/DeviceRTL/src/Profiling.cpp
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/plugins-nextgen/common/include/GlobalHandler.h
    M offload/plugins-nextgen/common/src/GlobalHandler.cpp
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/test/CMakeLists.txt
    M offload/test/lit.cfg
    M offload/test/lit.site.cfg.in
    A offload/test/offloading/pgo1.c

  Log Message:
  -----------
  [PGO][OpenMP] Instrumentation for GPU devices (Revision of #76587) (#102691)

This pull request is a revised version of #76587. This pull request
fixes some build issues that were present in the previous version of
this change.

> This pull request is the first part of an ongoing effort to extends
PGO instrumentation to GPU device code. This PR makes the following
changes:
>
> - Adds blank registration functions to device RTL
> - Gives PGO globals protected visibility when targeting a supported
GPU
> - Handles any addrspace casts for PGO calls
> - Implements PGO global extraction in GPU plugins (currently only
dumps info)
>
> These changes can be tested by supplying `-fprofile-instrument=clang`
while targeting a GPU.


  Commit: 410f751144e8b2e9574f03e0d0fb8560fe3cb797
      https://github.com/llvm/llvm-project/commit/410f751144e8b2e9574f03e0d0fb8560fe3cb797
  Author: serge-sans-paille <sergesanspaille at free.fr>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M flang/runtime/copy.cpp

  Log Message:
  -----------
  [Flang][Runtime] Fix type used to store result of typeInfo::Value::Ge… (#105589)

…tValue

Current choice was only working out of accident on 64 bit machine, it
led to an implicit cast to smaller type on 32 bit machine. Use the exact
type instead.


  Commit: 820396c3a874f57205bfe52cc82bcac3a0035b3d
      https://github.com/llvm/llvm-project/commit/820396c3a874f57205bfe52cc82bcac3a0035b3d
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [Transforms] Construct SmallVector with iterator ranges (NFC) (#105607)


  Commit: 0534c4f693d4643e71f7a02c7937b655fdcd9c82
      https://github.com/llvm/llvm-project/commit/0534c4f693d4643e71f7a02c7937b655fdcd9c82
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Darwin/cstring_section.c

  Log Message:
  -----------
  [asan][Darwin] Simplify test (#105599)

Checking order of sections is not a goal of the test.
The goal is make sure there is only one "Hello"
string and it's in __asan_cstring.


  Commit: 5f6172f0684b6a224d207ff8d093fc9aad92e331
      https://github.com/llvm/llvm-project/commit/5f6172f0684b6a224d207ff8d093fc9aad92e331
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
    A llvm/include/llvm/Transforms/Utils/ControlFlowUtils.h
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CMakeLists.txt
    A llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
    M llvm/lib/Transforms/Utils/FixIrreducible.cpp
    M llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
    M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
    M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.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-unified-loop-exits.ll
    M llvm/test/Transforms/UnifyLoopExits/integer_guards.ll
    M llvm/test/Transforms/UnifyLoopExits/nested.ll
    M llvm/test/Transforms/UnifyLoopExits/restore-ssa.ll
    M llvm/test/Transforms/UnifyLoopExits/undef-phis.ll

  Log Message:
  -----------
  [Transforms] Refactor CreateControlFlowHub (#103013)

CreateControlFlowHub is a method that redirects control flow edges from a set of
incoming blocks to a set of outgoing blocks through a new set of "guard" blocks.
This is now refactored into a separate file with one enhancement: The input to
the method is now a set of branches rather than two sets of blocks.

The original implementation reroutes every edge from incoming blocks to outgoing
blocks. But it is possible that for some incoming block InBB, some successor S
might be in the set of outgoing blocks, but that particular edge should not be
rerouted. The new implementation makes this possible by allowing the user to
specify the targets of each branch that need to be rerouted.

This is needed when improving the implementation of FixIrreducible #101386.
Current use in FixIrreducible does not demonstrate this finer control over the
edges being rerouted. But in UnifyLoopExits, when only one successor of an
exiting block is an exit block, this refinement now reroutes only the relevant
control-flow through the edge; the non-exit successor is not rerouted. This
results in fewer branches and PHI nodes in the hub.


  Commit: b4feb26606de84ff53d9b65a3b79c00a2b4d7c22
      https://github.com/llvm/llvm-project/commit/b4feb26606de84ff53d9b65a3b79c00a2b4d7c22
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-21 (Wed, 21 Aug 2024)

  Changed paths:
    M lld/ELF/AArch64ErrataFix.cpp
    M lld/ELF/ARMErrataFix.cpp
    M lld/ELF/Arch/AArch64.cpp
    M lld/ELF/Arch/ARM.cpp
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/Arch/PPC64.cpp
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/LinkerScript.cpp
    M lld/ELF/MarkLive.cpp
    M lld/ELF/OutputSections.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/Symbols.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Move target to Ctx. NFC

Ctx was introduced in March 2022 as a more suitable place for such
singletons.

Follow-up to driver (2022-10) and script (2024-08).


  Commit: 67d3ef74b31e1517d4f679e754cc2b3041c95901
      https://github.com/llvm/llvm-project/commit/67d3ef74b31e1517d4f679e754cc2b3041c95901
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegisterInfo.td
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/test/CodeGen/SPIRV/constant/global-constants.ll
    M llvm/test/CodeGen/SPIRV/constant/local-aggregate-constant.ll
    M llvm/test/CodeGen/SPIRV/constant/local-bool-constants.ll
    M llvm/test/CodeGen/SPIRV/constant/local-float-point-constants.ll
    M llvm/test/CodeGen/SPIRV/constant/local-integers-constants.ll
    M llvm/test/CodeGen/SPIRV/constant/local-null-constants.ll
    M llvm/test/CodeGen/SPIRV/constant/local-vector-matrix-constants.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_arbitrary_precision_integers.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bfloat16_conversion/bfloat16-conv.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_cache_controls/decorate-prefetch-w-cache-controls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_global_variable_fpga_decorations/global-var-decorations.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_global_variable_host_access/global-var-host-access.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_optnone.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/builtin-op-wrappers.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/builtin_alloca.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_variable_length_array/vararr_spec_const.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_bit_instructions.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_no_integer_wrap_decoration.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_subgroup_rotate/subgroup-rotate.ll
    M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions-but-one.ll
    M llvm/test/CodeGen/SPIRV/extensions/enable-all-extensions.ll
    M llvm/test/CodeGen/SPIRV/function/alloca-load-store.ll
    M llvm/test/CodeGen/SPIRV/function/identity-function.ll
    M llvm/test/CodeGen/SPIRV/function/multiple-anonymous-functions.ll
    M llvm/test/CodeGen/SPIRV/function/trivial-function-definition.ll
    M llvm/test/CodeGen/SPIRV/function/trivial-function-with-attributes.ll
    M llvm/test/CodeGen/SPIRV/function/trivial-function-with-call.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveGetLaneIndex.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/abs.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/acos.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/asin.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/atan.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/ceil.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cos.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cosh.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/exp2.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/floor.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmad.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmax.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fmin.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/frac.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log10.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/log2.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/pow.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reversebits.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/round.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rsqrt.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sin.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sinh.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smax.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smin.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/sqrt.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tan.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/tanh.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/trunc.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umax.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/umin.ll
    M llvm/test/CodeGen/SPIRV/image/sampler.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_acqrel.ll
    M llvm/test/CodeGen/SPIRV/instructions/atomic_seq.ll
    M llvm/test/CodeGen/SPIRV/instructions/call-complex-function.ll
    M llvm/test/CodeGen/SPIRV/instructions/call-trivial-function.ll
    M llvm/test/CodeGen/SPIRV/instructions/fcmp.ll
    M llvm/test/CodeGen/SPIRV/instructions/float-casts.ll
    M llvm/test/CodeGen/SPIRV/instructions/float-fast-flags.ll
    M llvm/test/CodeGen/SPIRV/instructions/icmp.ll
    M llvm/test/CodeGen/SPIRV/instructions/intrinsics.ll
    M llvm/test/CodeGen/SPIRV/instructions/nested-composites.ll
    M llvm/test/CodeGen/SPIRV/instructions/scalar-bitwise-operations.ll
    M llvm/test/CodeGen/SPIRV/instructions/scalar-floating-point-arithmetic.ll
    M llvm/test/CodeGen/SPIRV/instructions/scalar-integer-arithmetic.ll
    M llvm/test/CodeGen/SPIRV/instructions/select-ptr-load.ll
    M llvm/test/CodeGen/SPIRV/instructions/select.ll
    M llvm/test/CodeGen/SPIRV/instructions/undef-nested-composite-store.ll
    M llvm/test/CodeGen/SPIRV/instructions/undef-simple-composite-store.ll
    M llvm/test/CodeGen/SPIRV/instructions/unreachable.ll
    M llvm/test/CodeGen/SPIRV/instructions/vector-bitwise-operations.ll
    M llvm/test/CodeGen/SPIRV/instructions/vector-floating-point-arithmetic.ll
    M llvm/test/CodeGen/SPIRV/instructions/vector-integer-arithmetic.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/abs.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/assume.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/bswap.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ceil.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fabs.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fp-intrinsics.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/invariant.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/add.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/and.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fadd.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmaximum.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fminimum.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/fmul.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/mul.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/or.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/smin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umax.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/umin.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/llvm-vector-reduce/xor.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/maxnum.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/nearbyint.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/ptr-annotation.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/satur-arith.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
    M llvm/test/CodeGen/SPIRV/llvm-intrinsics/umul.with.overflow.ll
    M llvm/test/CodeGen/SPIRV/pointers/argument-ptr-to-struct.ll
    M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-accesschain.ll
    M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-load.ll
    M llvm/test/CodeGen/SPIRV/pointers/bitcast-fix-store.ll
    M llvm/test/CodeGen/SPIRV/pointers/complex.ll
    M llvm/test/CodeGen/SPIRV/pointers/custom-kernel-arg-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/duplicate-type-ptr-def.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-base-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-bitcast-load.ll
    M llvm/test/CodeGen/SPIRV/pointers/getelementptr-kernel-arg-char.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
    M llvm/test/CodeGen/SPIRV/pointers/global-zeroinitializer.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-builtin-vload-type-discrapency.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-bitcast-to-generic.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type-deduction-no-metadata.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-pointer-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-i8-default-element-type.ll
    M llvm/test/CodeGen/SPIRV/pointers/kernel-argument-ptr-no-bitcast.ll
    M llvm/test/CodeGen/SPIRV/pointers/load-addressspace.ll
    M llvm/test/CodeGen/SPIRV/pointers/nested-struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/ptr-argument-byref.ll
    M llvm/test/CodeGen/SPIRV/pointers/ptr-argument-byval.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-i8-ptr-as-value-operand.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-kernel-arg-ptr-as-value-operand.ll
    M llvm/test/CodeGen/SPIRV/pointers/store-operand-ptr-to-struct.ll
    M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-bitcast-or-param-users.ll
    M llvm/test/CodeGen/SPIRV/pointers/two-subsequent-bitcasts.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-args-rev.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-args.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-chain.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-complex.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call-rev.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-by-call.ll
    M llvm/test/CodeGen/SPIRV/pointers/type-deduce-call-no-bitcast.ll
    M llvm/test/CodeGen/SPIRV/pointers/typeof-ptr-int.ll
    M llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
    M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll

  Log Message:
  -----------
  [SPIR-V] Rework usage of virtual registers' types and classes (#104104)

This PR continues https://github.com/llvm/llvm-project/pull/101732
changes in virtual register processing aimed to improve correctness of
emitted MIR between passes from the perspective of MachineVerifier.
Namely, the following changes are introduced:
* register classes (lib/Target/SPIRV/SPIRVRegisterInfo.td) and
instruction patterns (lib/Target/SPIRV/SPIRVInstrInfo.td) are corrected
and simplified (by removing unnecessary sophisticated options) -- e.g.,
this PR gets rid of duplicating 32/64 bits patterns, removes ANYID
register class and simplifies definition of the rest of register
classes,
* hardcoded LLT scalar types in passes before instruction selection are
corrected -- the goal is to have correct bit width before instruction
selection, and use 64 bits registers for pattern matching in the
instruction selection pass; 32-bit registers remain where they are
described in such terms by SPIR-V specification (like, for example,
creation of virtual registers for scope/mem semantics operands),
* rework virtual register type/class assignment for calls/builtins
lowering,
* a series of minor changes to fix validity of emitted code between
passes:
  - ensure that that bitcast changes the type,
  - fix the pattern for instruction selection for OpExtInst,
  - simplify inline asm operands usage,
  - account for arbitrary integer sizes / update legalizer rules;
* add '-verify-machineinstrs' to existed test cases.

See also https://github.com/llvm/llvm-project/issues/88129 that this PR
may resolve.

This PR fixes a great number of issues reported by MachineVerifier and,
as a result, reduces a number of failed test cases for the mode with
expensive checks set on from ~200 to ~57.


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/select-cmp.ll

  Log Message:
  -----------
  [InstCombine] Fold icmp over select of cmp more aggressively (#105536)

When folding an icmp into a select, treat an icmp of a constant with a
one-use ucmp/scmp intrinsic as a simplification. These comparisons will
reduce down to an icmp.

This addresses a regression seen in Rust and also in llvm-opt-benchmark.


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

  Changed paths:
    M compiler-rt/lib/CMakeLists.txt

  Log Message:
  -----------
  Build SanitizerCommon if ctx_profile enabled (#105495)

ctx_profile has a dependency on SanitizerCommon, so make sure it is
built even if we otherwise disable sanitizers.


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

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

  Log Message:
  -----------
  [clang][bytecode] Don't discard all void-typed expressions (#105625)

For void-types InitListExprs, we need to diagnose them as invalid. But
only if we are _not_ discarding.


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

  Changed paths:
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperators.td
    A llvm/test/CodeGen/Xtensa/bswap.ll
    A llvm/test/CodeGen/Xtensa/ctlz-cttz-ctpop.ll
    A llvm/test/CodeGen/Xtensa/div.ll
    A llvm/test/CodeGen/Xtensa/mul.ll
    A llvm/test/CodeGen/Xtensa/rotl-rotr.ll
    A llvm/test/CodeGen/Xtensa/shift.ll

  Log Message:
  -----------
  [Xtensa] Implement lowering Mul/Div/Shift operations. (#99981)

Implement lowering of the Mul/Div operations and also shift parts
operations. Implement lowering of the bit manipulations, like
ROT/SWAP/CTPOP/CTTZ/CTLZ.


  Commit: c368a720a0b40bb8fe4aff3971fe9a7009c85aa6
      https://github.com/llvm/llvm-project/commit/c368a720a0b40bb8fe4aff3971fe9a7009c85aa6
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-08-22 (Thu, 22 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:
  -----------
  [clang] Merge lifetimebound and GSL code paths for lifetime analysis (#104906)

In the current lifetime analysis, we have two parallel code paths: one
for lifetimebound and another for GSL. These paths perform the same
logic, both determining whether to continue visiting subexpressions.

This PR merges the two paths into a single code path. As a result, we'll
reduce the overhead by eliminating a redundant visit to subexpressions.
The change is mostly NFC (No Functional Change). The only notable
difference is that when a subexpression is visited due to either
lifetimebound or GSL, we will prioritize the lifetimebound path. This
means the final diagnostic will be -Wdangling (rather than both
`-Wdangling` and `-Wdangling-gsl`)

This might cause a slight change in behavior if the -Wdangling
diagnostic is disabled, but I think this is not a major concern since
both diagnostics are enabled by default.

Fixes #93386


  Commit: b4ac5c4b7cefae442fc8365586ff9d2d324380a8
      https://github.com/llvm/llvm-project/commit/b4ac5c4b7cefae442fc8365586ff9d2d324380a8
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    R mlir/test/Integration/GPU/CUDA/sm90/asd

  Log Message:
  -----------
  [mlir][cuda] NFC: Remove accidentally committed 'asd' file. (#105491)

Co-authored-by: Christian Sigg <chsigg at users.noreply.github.com>


  Commit: 1b664fe2548d4cd5ce7a495cde4a86b5531af123
      https://github.com/llvm/llvm-project/commit/1b664fe2548d4cd5ce7a495cde4a86b5531af123
  Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/include/lldb/lldb-private-enumerations.h
    M lldb/source/Utility/ArchSpec.cpp

  Log Message:
  -----------
  [lldb][AIX] Updating XCOFF,PPC entry in LLDB ArchSpec (#105523)

This PR is in reference to porting LLDB on AIX.

Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. #101657 

The complete changes for porting are present in this draft PR:
#102601 

The changes in this PR are intended to update the Architecture entry for
LLDB with XCOFF,PPC.

1. Added new ArchitectureType `eArchTypeXCOFF`
2. Added a new `ArchDefinitionEntry g_xcoff_arch_entries[]`
3. Added a new case for `XCOFF in ArchSpec::SetArchitecture(..)`
4. Updated `ArchDefinition *g_arch_definitions[]`


  Commit: 1e44e7afd799f582171a79355ce353fde134e806
      https://github.com/llvm/llvm-project/commit/1e44e7afd799f582171a79355ce353fde134e806
  Author: Daniel Cederman <cederman at gaisler.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    A clang/test/Driver/sparc-fix.c

  Log Message:
  -----------
  [Sparc] Add flags to enable errata workaround pass for GR712RC and UT700 (#104742)

This adds the flags -mfix-gr712rc and -mfix-ut700 which enables the
necessary errata workarounds for the GR712RC and UT700 processors. The
functionality enabled by the flags is the same as the functionality
provided by the corresponding GCC flags.


  Commit: 00a1a45a7dcdcd8b1f969958a6d927b595567090
      https://github.com/llvm/llvm-project/commit/00a1a45a7dcdcd8b1f969958a6d927b595567090
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    A mlir/test/Target/LLVMIR/llvmir-phi-loc.mlir

  Log Message:
  -----------
  [mlir][llvmir][debug] Correctly generate location for phi nodes. (#105534)

In
[convertBlockImpl](https://github.com/llvm/llvm-project/blob/87eeed1f0ebe57abffde560c25dd9829dc6038f3/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp#L959),
the debug location is set on the builder before the op is processed.
This results in correct location being given to corresponding llvm
instructions. But same is not done when phi nodes are created a few
lines above. This result is phi nodes getting whatever the current debug
location of the builder is. It can be nothing or in worst case a stale
location. Fixed by calling SetCurrentDebugLocation before generating phi
nodes.


  Commit: 14c7e4a1844904f3db9b2dc93b722925a8c66b27
      https://github.com/llvm/llvm-project/commit/14c7e4a1844904f3db9b2dc93b722925a8c66b27
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-08-22 (Thu, 22 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:
  -----------
  Enable logf128 constant folding for hosts with 128bit long double (#104929)

This is a reland of (#96287). This patch attempts to reduce the reverted
patch's clang compile time by removing #includes of float128.h and
inlining convertToQuad functions instead.


  Commit: 15e915a44f0d0bf092214586d3ec86e2bb7636d7
      https://github.com/llvm/llvm-project/commit/15e915a44f0d0bf092214586d3ec86e2bb7636d7
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M mlir/include/mlir/Analysis/DataFlow/ConstantPropagationAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/LivenessAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
    A mlir/test/Analysis/DataFlow/test-last-modified-error.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [mlir][dataflow] Propagate errors from `visitOperation` (#105448)

Base `DataFlowAnalysis::visit` returns `LogicalResult`, but wrappers's
Sparse/Dense/Forward/Backward `visitOperation` doesn't.

Sometimes it's needed to abort solver early if some unrecoverable
condition detected inside analysis.

Update `visitOperation` to return `LogicalResult` and propagate it to
`solver.initializeAndRun()`. Only `visitOperation` is updated for now,
it's possible to update other hooks like `visitNonControlFlowArguments`,
bit it's not needed immediately and let's keep this PR small.

Hijacked `UnderlyingValueAnalysis` test analysis to test it.


  Commit: 378daa6c6fd10d3704be449f2fe9c55df522a6e9
      https://github.com/llvm/llvm-project/commit/378daa6c6fd10d3704be449f2fe9c55df522a6e9
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    A llvm/test/Transforms/MemCpyOpt/pr102994.ll

  Log Message:
  -----------
  [MemCpyOpt] Avoid infinite loops in `MemCpyOptPass::processMemCpyMemCpyDependence` (#103218)

Closes https://github.com/llvm/llvm-project/issues/102994.


  Commit: ccb2b79655217587accfa592c575f9b7267308b9
      https://github.com/llvm/llvm-project/commit/ccb2b79655217587accfa592c575f9b7267308b9
  Author: Matt Devereau <matthew.devereau at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/ConstProp/logf128.ll

  Log Message:
  -----------
  Fix logf128 tests to allow negative NaNs from (#104929)


  Commit: 9ff0468436c957fadcd8926683696a879cbc78a0
      https://github.com/llvm/llvm-project/commit/9ff0468436c957fadcd8926683696a879cbc78a0
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/implicit_ctad.pass.cpp
    A libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.compile.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.compile.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
    M libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.compile.pass.cpp
    R libcxx/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.h
    A libcxx/test/support/checking_mutex.h

  Log Message:
  -----------
  [libc++] Refactor the std::unique_lock tests (#102151)

This makes some of the tests not flaky anymore, updates some tests to
also work in C++03 and modernizes them in general.


  Commit: 716f7e2d18d03039c13ad90d5b3cb4f65c413b74
      https://github.com/llvm/llvm-project/commit/716f7e2d18d03039c13ad90d5b3cb4f65c413b74
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/SimplifyCFG/switch-on-cmp.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for switch over cmp intrinsic (NFC)


  Commit: 57dc09341e5eef758b1abce78822c51069157869
      https://github.com/llvm/llvm-project/commit/57dc09341e5eef758b1abce78822c51069157869
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/dexter/dex/utils/Version.py

  Log Message:
  -----------
  [Dexter] Sanitize user details from git repo URL in dexter --version (#105533)

Currently the output of dexter --version contains the raw output of `git
remote get-url origin`, which may contain a username and password. This
patch adds a small change to remove these from the output string. A
similar patch for LLVM's default version string* also removes the git
URL altogether unless opted-in to; it's not clear whether this is a
necessary or desirable step yet, but if so we can trivially remove the
URL from Dexter as well.

*PR here: https://github.com/llvm/llvm-project/pull/105220


  Commit: 51ca2354d0a4083b9219df131ceff98bccb622b4
      https://github.com/llvm/llvm-project/commit/51ca2354d0a4083b9219df131ceff98bccb622b4
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/docs/TestingGuide.rst
    M llvm/utils/lit/lit/TestRunner.py
    M llvm/utils/lit/tests/Inputs/shtest-define/lit.cfg
    M llvm/utils/lit/tests/Inputs/shtest-define/value-escaped.txt

  Log Message:
  -----------
  [lit] Fix substitutions containing backslashes (#103042)

Substitutions can be added in a couple different ways; they can be added
via the calling python scripts by adding entries to the
config.substitutions dictionary, or via DEFINE lines in the scripts
themselves.

The substitution strings passed to Python's re classes are interpreted
so that backslashes expand to escape sequences, and literal backslashes
need to be escaped.

On Unix, the script defined substitutions don't (usually, so far)
contain backslashes - but on Windows, they often do, due to paths
containing backslashes. This lead to a Windows specific escaping of
backslashes before doing Python re substitutions - since
7c9eab8fef0ed79a5911d21eb97b6b0fa9d39f82. There's nothing inherently
Windows specific about this though - any intended literal backslashes in
the substitution strings need to be escaped; this is how the Python re
API works.

The DEFINE lines were added later, and in order to cope with
backslashes, escaping of backslashes was added in the SubstDirective
class in TestRunner, applying to DEFINE lines in the tests only.

The fact that the escaping right before passing to the Python re API was
done conditionally on Windows led to two inconsistencies:

- DEFINE lines in the tests that contain backslashes got double
backslashes on Windows. (This was visible as a FIXME in
llvm/utils/lit/tests/Inputs/shtest-define/value-escaped.txt.)

- Script provided substitutions containing backslashes did not work on
Unix, but they did work on Windows.

By removing the escaping from SubstDirective and escaping it
unconditionally in the processLine function, before feeding the
substitutions to Python's re classes, we should have consistent
behaviour across platforms, and get rid of the FIXME in the lit test.

This fixes issues with substitutions containing backslashes on Unix
platforms, as encountered in PR #86649.


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/ctlz.ll
    M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
    M llvm/test/CodeGen/X86/atomic-bit-test.ll
    M llvm/test/CodeGen/X86/bit_ceil.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/ctlo.ll
    M llvm/test/CodeGen/X86/ctlz.ll
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/lzcnt-cmp.ll
    M llvm/test/CodeGen/X86/pr57673.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr92569.ll
    M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
    M llvm/test/Transforms/SLPVectorizer/X86/ctlz.ll

  Log Message:
  -----------
  [X86] Allow speculative BSR/BSF instructions on targets with CMOV (#102885)

Currently targets without LZCNT/TZCNT won't speculate with BSR/BSF instructions in case they have a zero value input, meaning we always insert a test+branch for the zero-input case.

This patch proposes we allow speculation if the target has CMOV, and perform a branchless select instead to handle the zero input case. This will predominately help x86-64 targets where we haven't set any particular cpu target. We already always perform BSR/BSF instructions if we were lowering a CTLZ/CTTZ_ZERO_UNDEF instruction.


  Commit: c46b41aaa6eaa787f808738d14c61a2f8b6d839f
      https://github.com/llvm/llvm-project/commit/c46b41aaa6eaa787f808738d14c61a2f8b6d839f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/test/Transforms/LoadStoreVectorizer/AArch64/pr37865.ll

  Log Message:
  -----------
  LSV: forbid load-cycles when vectorizing; fix bug (#104815)

Forbid load-load cycles which would crash LoadStoreVectorizer when
reordering instructions.

Fixes #37865.


  Commit: 93a9406af52a190ed37270839678b98f2e86a739
      https://github.com/llvm/llvm-project/commit/93a9406af52a190ed37270839678b98f2e86a739
  Author: David Green <david.green at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/rem.ll

  Log Message:
  -----------
  [AArch64] Add GISel srem/urem tests of various sizes. NFC


  Commit: 02cb7c9ef5aecea3a820bc98b50adf4d7c4c5eb6
      https://github.com/llvm/llvm-project/commit/02cb7c9ef5aecea3a820bc98b50adf4d7c4c5eb6
  Author: David Green <david.green at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/rem.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Libcall i128 srem/urem and scalarize more vector types.

This better handles i128 scalar and vector types, and allows some of the other
odd-sized-vectors to successfully lower under GISel.


  Commit: 61194617ad7862f144e0f6db34175553e8c34763
      https://github.com/llvm/llvm-project/commit/61194617ad7862f144e0f6db34175553e8c34763
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] Add GFX12 test coverage for vmcnt flushing in loop headers (#105548)


  Commit: 5506831f7bc8dc04ebe77f4d26940007bfb4ab39
      https://github.com/llvm/llvm-project/commit/5506831f7bc8dc04ebe77f4d26940007bfb4ab39
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/spill-csr-frame-ptr-reg-copy.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] GFX12 VMEM loads can write VGPR results out of order (#105549)

Fix SIInsertWaitcnts to account for this by adding extra waits to avoid
WAW dependencies.


  Commit: 5bbd5984306ab0bdd89a2e81cd4965e5ae51c3fb
      https://github.com/llvm/llvm-project/commit/5bbd5984306ab0bdd89a2e81cd4965e5ae51c3fb
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/cmake/modules/Findzstd.cmake

  Log Message:
  -----------
  [cmake] Include GNUInstallDirs before using variables defined by it. (#83807)

This fixes an odd problem with the regex when `CMAKE_INSTALL_LIBDIR` is
not defined:

`string sub-command REGEX, mode REPLACE: regex "$" matched an empty
string.`

Fixes llvm/llvm-project#83802


  Commit: 743e70bb7578276ac331c534547ef0d65600a8c1
      https://github.com/llvm/llvm-project/commit/743e70bb7578276ac331c534547ef0d65600a8c1
  Author: Matt Davis <mattd at nvidia.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DebugProgramInstruction.h

  Log Message:
  -----------
  [DebugInfo][NFC] Constify debug DbgVariableRecord::{isDbgValue,isDbgDeclare}  (#105570)

Constify debug DbgVariableRecord::{isDbgValue,isDbgDeclare}.


  Commit: 7323e7eee3a819e9a2d8ec29f00d362bcad87731
      https://github.com/llvm/llvm-project/commit/7323e7eee3a819e9a2d8ec29f00d362bcad87731
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

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

This reverts commit 65281570afd7e35e01533b07c6c2937de410fc52.

I'm reverting https://github.com/llvm/llvm-project/pull/104523
(https://github.com/llvm/llvm-project/commit/f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9)
and this fixup belongs to the same series of changes.


  Commit: aa70f83e660453c006193aab7ba67c94db236948
      https://github.com/llvm/llvm-project/commit/aa70f83e660453c006193aab7ba67c94db236948
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

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

This reverts commit 6f456024c37424d9c8cc1cea07126a28f246588d, which
depends on https://github.com/llvm/llvm-project/pull/104523, which I'm
reverting.


  Commit: 547917aebd1e79a8929b53f0ddf3b5185ee4df74
      https://github.com/llvm/llvm-project/commit/547917aebd1e79a8929b53f0ddf3b5185ee4df74
  Author: Dmitri Gribenko <gribozavr at gmail.com>
  Date:   2024-08-22 (Thu, 22 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
    R lldb/test/API/lang/cpp/std-function-recognizer/Makefile
    R lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    R lldb/test/API/lang/cpp/std-function-recognizer/main.cpp

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

This reverts commit f01f80ce6ca7640bb0e267b84b1ed0e89b57e2d9.

This commit introduces an msan violation. See the discussion on https://github.com/llvm/llvm-project/pull/104523.


  Commit: 125aa10b3d645bd26523a1bc321bb2e6b1cf04e1
      https://github.com/llvm/llvm-project/commit/125aa10b3d645bd26523a1bc321bb2e6b1cf04e1
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [clang][bytecode] Fix void unary * operators (#105640)

Discard the subexpr.


  Commit: 6932f47cfdf4734d68759586047aee240861058e
      https://github.com/llvm/llvm-project/commit/6932f47cfdf4734d68759586047aee240861058e
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

  Log Message:
  -----------
  [NFC][VPlan] Correct two typos in comments.


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

  Changed paths:
    M clang/utils/TableGen/NeonEmitter.cpp
    M llvm/include/llvm/TableGen/SetTheory.h
    M llvm/lib/TableGen/SetTheory.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M llvm/utils/TableGen/Common/CodeGenSchedule.cpp

  Log Message:
  -----------
  [NFC][SetTheory] Refactor to use const pointers and range loops (#105544)

- Refactor SetTheory code to use const pointers when possible.
- Use auto for variables initialized using dyn_cast<>.
- Use range based for loops and early continue.


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

  Changed paths:
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx17Papers.csv

  Log Message:
  -----------
  [libc++] Fix the documentation build

There was a duplicate link target.


  Commit: 6d30b67cf0fdd5f417af53b4acd593ded37b2db9
      https://github.com/llvm/llvm-project/commit/6d30b67cf0fdd5f417af53b4acd593ded37b2db9
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17.rst
    M libcxx/docs/Status/Cxx20.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Add link to the Github conformance table from the documentation


  Commit: a964635939ed9fadcaf6833b29f4ebeb9a9df4ef
      https://github.com/llvm/llvm-project/commit/a964635939ed9fadcaf6833b29f4ebeb9a9df4ef
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Add optional alloc region to reduction decl (#102522)

This region is intended to separate alloca operations from reduction
variable initialization. This makes it easier to hoist allocas to the
entry block before control flow and complex code for initialization.

The verifier checks that there is at most one block in the alloc region.
This is not sufficient to avoid control flow in general MLIR, but by the
time we are converting to LLVMIR structured control flow should already
have been lowered to the cf dialect.

1/3
Part 2: https://github.com/llvm/llvm-project/pull/102524
Part 3: https://github.com/llvm/llvm-project/pull/102525


  Commit: 2efc81aff4a18a640c585d507c357868162dbd43
      https://github.com/llvm/llvm-project/commit/2efc81aff4a18a640c585d507c357868162dbd43
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-private.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction-byref.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Convert reduction alloc region to LLVMIR (#102524)

The intention of this change is to ensure that allocas end up in the
entry block not spread out amongst complex reduction variable
initialization code.

The tests we have are quite minimized for readability and
maintainability, making the benefits less obvious. The use case for this
is when there are multiple reduction variables each will multiple blocks
inside of the init region for that reduction.

2/3
Part 1: https://github.com/llvm/llvm-project/pull/102522
Part 3: https://github.com/llvm/llvm-project/pull/102525


  Commit: f2027a9388728094d84837fc0fdd2e0325362e51
      https://github.com/llvm/llvm-project/commit/f2027a9388728094d84837fc0fdd2e0325362e51
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/delayed-privatization-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction-byref.f90
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
    M flang/test/Lower/OpenMP/sections-array-reduction.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    R flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    R flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90

  Log Message:
  -----------
  [flang][OpenMP] use reduction alloc region (#102525)

I removed the `*-hlfir*` tests because they are duplicate now that the
other tests have been updated to use the HLFIR lowering.

3/3
Part 1: https://github.com/llvm/llvm-project/pull/102522
Part 2: https://github.com/llvm/llvm-project/pull/102524


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/scmp.ll

  Log Message:
  -----------
  [InstCombine] Fold `scmp(x -nsw y, 0)` to `scmp(x, y)` (#105583)

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


  Commit: c82f7976ae20a7c76904415eae1964bab78f1a04
      https://github.com/llvm/llvm-project/commit/c82f7976ae20a7c76904415eae1964bab78f1a04
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p1.cpp

  Log Message:
  -----------
  [Clang][Sema] Rebuild template parameters for out-of-line template definitions and partial specializations (#104030)

We need to rebuild the template parameters of out-of-line
definitions/specializations of member templates in the context of the
current instantiation for the purposes of declaration matching. We
already do this for function templates and class templates, but not
variable templates, partial specializations of variable template, and
partial specializations of class templates. This patch fixes the latter
cases.


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    A clang/lib/AST/ByteCode/FunctionPointer.cpp
    M clang/lib/AST/ByteCode/FunctionPointer.h
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Pointer.h
    M clang/lib/AST/CMakeLists.txt
    M clang/test/AST/ByteCode/c.c

  Log Message:
  -----------
  [clang][bytecode] Allow adding offsets to function pointers (#105641)

Convert them to Pointers, do the offset calculation and then convert
them back to function pointers.


  Commit: 7e3f9dd21f82751ad93a54756f5f098560f31097
      https://github.com/llvm/llvm-project/commit/7e3f9dd21f82751ad93a54756f5f098560f31097
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [InstCombine] Add more tests for foldLogOpOfMaskedICmps transform (NFC)

Tests for cases that would have been regressed by
https://github.com/llvm/llvm-project/pull/104941.


  Commit: dd3b43a455793e79b84171b8d522fc4d86dea61d
      https://github.com/llvm/llvm-project/commit/dd3b43a455793e79b84171b8d522fc4d86dea61d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp

  Log Message:
  -----------
  [mlir][OpenMP][NFC] clean up optional reduction region parsing (#105644)

This can be handled in ODS instead of writing custom parsing/printing
code.

Thanks for the idea @skatrak


  Commit: 318b0678e3baac5723a3805d719c04b9cf1d95c3
      https://github.com/llvm/llvm-project/commit/318b0678e3baac5723a3805d719c04b9cf1d95c3
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][LLVM] Add support for constant struct with multiple fields (#102752)

Currently `mlir.llvm.constant` of structure types restricts that the
structure type effectively represents a complex type -- it must have
exactly two fields of the same type and the field type must be either an
integer type or a float type.

This PR relaxes this restriction and it allows the structure type to
have an arbitrary number of fields.


  Commit: d46812a7be13cae9a9f4f3491cb60a20c57c8da6
      https://github.com/llvm/llvm-project/commit/d46812a7be13cae9a9f4f3491cb60a20c57c8da6
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    M llvm/test/Analysis/ScalarEvolution/no-wrap-add-exprs.ll
    M llvm/test/Transforms/PhaseOrdering/scev-custom-dl.ll

  Log Message:
  -----------
  [Analysis] Teach ScalarEvolution::getRangeRef about more dereferenceable objects (#104778)

Whilst dealing with review comments on

https://github.com/llvm/llvm-project/pull/96752

I discovered that SCEV does not know about the dereferenceable attribute
on function arguments so I have updated getRangeRef to make use of it
by calling getPointerDereferenceableBytes.


  Commit: 327edbe07ab4370ceb20ea7c805f64950871d835
      https://github.com/llvm/llvm-project/commit/327edbe07ab4370ceb20ea7c805f64950871d835
  Author: Zaara Syeda <syzaara at ca.ibm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-LoadReserve-StoreCond-64bit-only.ll
    M llvm/test/CodeGen/PowerPC/builtins-ppc-xlcompat-LoadReserve-StoreCond.ll

  Log Message:
  -----------
  [PowerPC] Fix mask for __st[d/w/h/b]cx builtins (#104453)

These builtins are currently returning CR0 which will have the format
[0, 0, flag_true_if_saved, XER].
We only want to return flag_true_if_saved. This patch adds a shift to
remove the XER bit before returning.


  Commit: 11e1378e56ef78e51e4fe7180511c6f40ae8dc67
      https://github.com/llvm/llvm-project/commit/11e1378e56ef78e51e4fe7180511c6f40ae8dc67
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/sve-insert-scalable-vector.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] Increase vector.insert test coverage.


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

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

  Log Message:
  -----------
  [InstCombine] Add more test variants with poison elements (NFC)


  Commit: 32679e10a9b66405c340213993f65b2edf5a794a
      https://github.com/llvm/llvm-project/commit/32679e10a9b66405c340213993f65b2edf5a794a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [InstCombine] Handle logical op for and/or of icmp 0/-1

This aligns the transform with what foldLogOpOfMaskedICmp() does.


  Commit: 41dcdfbff12a9bc06af25457d603b6ec26b6b45f
      https://github.com/llvm/llvm-project/commit/41dcdfbff12a9bc06af25457d603b6ec26b6b45f
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    R libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/Contributing.rst
    M libcxx/docs/TestingLibcxx.rst
    A libcxx/docs/UserDocumentation.rst
    R libcxx/docs/UsingLibcxx.rst
    A libcxx/docs/VendorDocumentation.rst
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++][docs] Major update to the documentation

- Landing page: add link to the libc++ Discord channel
- Landing page: reorder "Getting Involved" above "Design documents"
- Landing page: remove "Notes and Known Issues" which was completely outdated
- Rename "Using Libc++" to "User Documentation" and update contents
- Rename "Building Libc++" to "Vendor Documentation" and update contents

The "BuildingLibcxx" and "UsingLibcxx" pages have basically been used for
vendor and user documentation respectively. However, they were named in
a way that doesn't really make that clear. Renaming the pages now gives
us a location to clearly document what we target at vendors and what we
target at users, and to do that separately.


  Commit: 00baa1af0f73f0e4c12edc12f57e62021ada7ccd
      https://github.com/llvm/llvm-project/commit/00baa1af0f73f0e4c12edc12f57e62021ada7ccd
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-22 (Thu, 22 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/fixed-vectors-reduction-int.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll

  Log Message:
  -----------
  [DAG][RISCV] Use vp_reduce_* when widening illegal types for reductions (#105455)

This allows the use a single wider operation with a restricted EVL
instead of padding the vector with the neutral element.

For RISCV specifically, it's worth noting that an alternate padded
lowering is available when VL is one less than a power of two, and LMUL
<= m1. We could slide the vector operand up by one, and insert the
padding via a vslide1up. We don't currently pattern match this, but we
could. This form would arguably be better iff the surrounding code
wanted VL=4. This patch will force a VL toggle in that case instead.

Basically, it comes down to a question of whether we think odd sized
vectors are going to appear clustered with odd size vector operations,
or mixed in with larger power of two operations.

Note there is a potential downside of using vp nodes; we loose any
generic DAG combines which might have applied to the widened form.


  Commit: 26a8a857dcdc219d57e39b495ff58aef7d746fdc
      https://github.com/llvm/llvm-project/commit/26a8a857dcdc219d57e39b495ff58aef7d746fdc
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector-shuffle.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-non-power-of-2.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/zve32-types.ll

  Log Message:
  -----------
  [RISCV] Introduce local peephole to reduce VLs based on demanded VL (#104689)

This is a fairly narrow transform (at the moment) to reduce the VLs of
instructions feeding a store with a smaller VL. Note that the goal of
this transform isn't really to reduce VL - it's to reduce VL *toggles*.
To our knowledge, small reductions in VL without also changing LMUL are
generally not profitable on existing hardware.

For a single use instruction without side effects, fp exceptions, or a
result dependency on VL, reducing VL is legal if only a subset of
elements are legal. We'd already implemented this logic for vmv.v.v, and
this patch simply applies it to stores as an alternate root.

Longer term, I plan to extend this to other root instructions (i.e.
different kind of stores, reduces, etc..), and add a more general
recursive walkback through operands.

One risk with the dataflow based approach is that we could be reducing
VL of an instruction scheduled in a region with the wider VL (i.e. mixed
mode computations) forcing an additional VL toggle. An example of this
is the @insert_subvector_dag_loop test case, but it doesn't appear to
happen widely. I think this is a risk we should accept.


  Commit: 29cb1e6b4fccb99d32eaa4b81af481d94be79242
      https://github.com/llvm/llvm-project/commit/29cb1e6b4fccb99d32eaa4b81af481d94be79242
  Author: Lukacma <Marian.Lukac at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-no-active-lanes-cmp.ll

  Log Message:
  -----------
  [AArch64] optimise SVE cmp intrinsics with no active lanes (#104779)

This patch extends https://github.com/llvm/llvm-project/pull/73964 and
optimises SVE cmp intrinsics to zero vector when predicate is zero.


  Commit: 58ac764b013606a67043cde6a287db3648d87582
      https://github.com/llvm/llvm-project/commit/58ac764b013606a67043cde6a287db3648d87582
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes.rst
    R libcxx/docs/ReleaseNotes/18.rst
    M libcxx/docs/ReleaseNotes/19.rst
    R libcxx/docs/Status/Ranges.rst
    R libcxx/docs/Status/RangesAlgorithms.csv
    R libcxx/docs/Status/RangesMajorFeatures.csv
    R libcxx/docs/Status/RangesViews.csv
    R libcxx/docs/Status/Spaceship.rst
    R libcxx/docs/Status/SpaceshipPapers.csv
    R libcxx/docs/Status/SpaceshipProjects.csv
    M libcxx/docs/index.rst

  Log Message:
  -----------
  [libc++] Post-LLVM19-release docs cleanup (#99667)

This patch removes obsolete status pages for projects that were
completed: LLVM 18 release, C++20 Ranges and Spaceship support.

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


  Commit: 4d85285ff68d11fcb8c6b296799a11074e7ff7d7
      https://github.com/llvm/llvm-project/commit/4d85285ff68d11fcb8c6b296799a11074e7ff7d7
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/switch-on-cmp.ll

  Log Message:
  -----------
  [SimplifyCFG] Fold switch over ucmp/scmp to icmp and br (#105636)

If we switch over ucmp/scmp and have two switch cases going to the same
destination, we can convert into icmp+br.

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


  Commit: 9402bb090824312882d47c8e52a1b1aeacbcfd3c
      https://github.com/llvm/llvm-project/commit/9402bb090824312882d47c8e52a1b1aeacbcfd3c
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/same-scalar-in-same-phi-extract.ll

  Log Message:
  -----------
  [SLP]Do not count extractelement costs in unreachable/landing pad blocks.

If the external user of the scalar to be extract is in
unreachable/landing pad block, we can skip counting their cost.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: ec5e58519d24010beea937fccf5fc4541db3ec21
      https://github.com/llvm/llvm-project/commit/ec5e58519d24010beea937fccf5fc4541db3ec21
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [NFC] Replace bool <= bool comparison (#102948)

Static analyser tool cppcheck flags ordered comparison with `bool`s.
Replace with equivalent logical operators to prevent this.

Closes #102912


  Commit: c4c5fdd933fa2d1f7624d863d05a4fb982b4c074
      https://github.com/llvm/llvm-project/commit/c4c5fdd933fa2d1f7624d863d05a4fb982b4c074
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll
    R llvm/test/CodeGen/AMDGPU/indirect-addressing-si-noopt.ll
    R llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll

  Log Message:
  -----------
  [AMDGPU] Generate checks for vector indexing. NFC. (#105668)

This allows combining some test files that were only split because
adding new RUN lines introduced too much churn in the checks.


  Commit: 8ba2ae31fa6a386d42aec5dedd685e99747dbf0f
      https://github.com/llvm/llvm-project/commit/8ba2ae31fa6a386d42aec5dedd685e99747dbf0f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVCallLowering.h
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll

  Log Message:
  -----------
  [RISCV][GISel] Implement canLowerReturn. (#105465)

This allows us to handle return values that are too large to fit in x10
and x11. They will be converted to a sret by passing a pointer to where
to store the return value.


  Commit: e76db25832d6ac2d3a36769b26f982d9dee4b346
      https://github.com/llvm/llvm-project/commit/e76db25832d6ac2d3a36769b26f982d9dee4b346
  Author: Dan Gohman <dev at sunfishcode.online>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/DwarfEHPrepare.cpp
    A llvm/test/CodeGen/AArch64/dwarf-eh-prepare-dbg.ll

  Log Message:
  -----------
  [DwarfEhPrepare] Assign dummy debug location for more inserted _Unwind_Resume calls (#105513)

Similar to the fix for #57469, ensure that the other `_Unwind_Resume`
call emitted by DwarfEHPrepare has a debug location if needed.

This fixes https://github.com/nbdd0121/unwinding/issues/34.


  Commit: 69332bb8995aef60d830406de12cb79a50390261
      https://github.com/llvm/llvm-project/commit/69332bb8995aef60d830406de12cb79a50390261
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/shuffle-vectors-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
    M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/schedule_budget_debug_info.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll

  Log Message:
  -----------
  [SLP]Improve/fix subvectors in gather/buildvector nodes handling

SLP vectorizer has an estimation for gather/buildvector nodes, which
contain some scalar loads. SLP vectorizer performs pretty similar (but
large in SLOCs) estimation, which not always correct. Instead, this
patch implements clustering analysis and actual node allocation with the
full analysis for the vectorized clustered scalars (not only loads, but
also some other instructions) with the correct cost estimation and
vector insert instructions. Improves overall vectorization quality and
simplifies analysis/estimations.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 3c54aa14aa5f92ea2c96b85efbc7945ed55451e4
      https://github.com/llvm/llvm-project/commit/3c54aa14aa5f92ea2c96b85efbc7945ed55451e4
  Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [Verifier] Make lrint and lround intrinsic cases concise. NFC (#105676)


  Commit: 9f418057dc73e4e5cb94a7cd671097275ffc29fc
      https://github.com/llvm/llvm-project/commit/9f418057dc73e4e5cb94a7cd671097275ffc29fc
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    A lldb/test/Shell/Process/Inputs/a.out.yaml
    A lldb/test/Shell/Process/Inputs/corefile.yaml
    A lldb/test/Shell/Process/ProcessMachCoreArch.test

  Log Message:
  -----------
  [lldb] Pick the correct architecutre when target and core file disagree (#105576)

In f9f3316, Adrian fixed an issue where LLDB wouldn't update the
target's architecture when the process reported a different triple that
only differed in its sub-architecture.

This unintentionally regressed core file debugging when the core file
reports the base architecture (e.g. armv7) while the main binary knows
the correct CPU subtype (e.g. armv7em). After the aforementioned change,
we update the target architecture from armv7em to armv7. Fix the issue
by trusting the target architecture over the ProcessMachCore process.

rdar://133834304


  Commit: fe5d1f901a709bc6a2180b7a77b9d5948c6c3482
      https://github.com/llvm/llvm-project/commit/fe5d1f901a709bc6a2180b7a77b9d5948c6c3482
  Author: Rodolfo Wottrich <rgwott at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/test/MC/ARM/directive-fpu-multiple.s
    A llvm/test/MC/ARM/directive-fpu-single-crypto-neon-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8-fullfp16-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8-fullfp16-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv4-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv5-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-fpv5-sp-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-fp-armv8.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-neon-vfpv4.s
    A llvm/test/MC/ARM/directive-fpu-single-neon.s
    A llvm/test/MC/ARM/directive-fpu-single-none.s
    A llvm/test/MC/ARM/directive-fpu-single-vfp.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv2.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-d16-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3xd-fp16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv3xd.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv4-d16.s
    A llvm/test/MC/ARM/directive-fpu-single-vfpv4.s

  Log Message:
  -----------
  [ARM] Fix missing ELF FPU attributes for fp-armv8-fullfp16-d16  (#105677)

An assembly input with

>   .fpu fp-armv8-fullfp16-d16

crashes the compiler because the ELF FPU attribute emitter misses the
respective entry. This patch fixes this.

Interestingly, compiling with -mfpu=fp-armv8-fullfp16-d16 does not cause
the crash because FPv5_D16 is an alias in the compiler and

>   .fpu fpv5-d16

is emitted instead, which does not crash.

The existing .fpu directive test with multiple FPUs serves the purpose
of verifying that each possible FPU option is defined, but does not
trigger the crash because only the last .fpu directive goes effectively
down the code path. Therefore one test for each FPU is required.

Fixes #105674.


  Commit: b21756f9f1038acd889dd3a12fd16f843d07c4a8
      https://github.com/llvm/llvm-project/commit/b21756f9f1038acd889dd3a12fd16f843d07c4a8
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/unittests/Symbol/TestClangASTImporter.cpp

  Log Message:
  -----------
  [lldb][test] Add a unit-test for importRecordLayoutFromOrigin


  Commit: 8ab61404e866539f5e28e0f72ba7a510fa51dd3a
      https://github.com/llvm/llvm-project/commit/8ab61404e866539f5e28e0f72ba7a510fa51dd3a
  Author: David Green <david.green at arm.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-across.ll

  Log Message:
  -----------
  [AArch64] Lower aarch64_neon_saddlv via SADDLV nodes. (#103307)

This mirrors what GISel already does, extending the existing lowering of
aarch64_neon_saddlv/aarch64_neon_uaddlv to SADDLV/UADDLV. This allows us
to remove some tablegen patterns, and provides a little nicer codegen in
places as the nodes represent the result being in a vector register
correctly.


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

  Changed paths:
    M llvm/test/CodeGen/X86/ctlz.ll
    M llvm/test/CodeGen/X86/cttz.ll

  Log Message:
  -----------
  [X86] Add BSR/BSF tests to check for implicit zero extension


  Commit: 8c6f8c29e90666b747fc4b4612647554206a2be5
      https://github.com/llvm/llvm-project/commit/8c6f8c29e90666b747fc4b4612647554206a2be5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-22 (Thu, 22 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)" (#105601)

This reverts commit 2704b804bec50c2b016bf678bd534c330ec655b6
and relands #104404.

The Darwin should not fail after #105599.


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

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

  Log Message:
  -----------
  [Vectorize] Fix warnings

This patch fixes warnings of the form:

  llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:9300:23: error: loop
  variable '[E, Idx]' creates a copy from type 'const value_type' (aka
  'const std::pair<const llvm::slpvectorizer::BoUpSLP::TreeEntry *,
  unsigned int>') [-Werror,-Wrange-loop-construct]


  Commit: 0bd90ec421da16df6d020d5a21b642a489491c1e
      https://github.com/llvm/llvm-project/commit/0bd90ec421da16df6d020d5a21b642a489491c1e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

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

This patch fixes:

  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:6102:9: error:
  unused variable 'OpVT' [-Werror,-Wunused-variable]


  Commit: 46707b0a83b7769965f9b1b3d08b2cc6bd26c469
      https://github.com/llvm/llvm-project/commit/46707b0a83b7769965f9b1b3d08b2cc6bd26c469
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    A lld/test/ELF/aarch64-mapsyms-implicit.s
    M llvm/include/llvm/MC/MCAssembler.h
    M llvm/include/llvm/MC/MCTargetOptions.h
    M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
    M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/test/MC/AArch64/mapping-across-sections.s

  Log Message:
  -----------
  [AArch64,ELF] Allow implicit $d/$x at section beginning

The start state of a new section is `EMS_None`, often leading to a
$d/$x at offset 0. Introduce a MCTargetOption/cl::opt
"implicit-mapsyms" to allow an alternative behavior
(https://github.com/ARM-software/abi-aa/issues/274):

* Set the start state to `EMS_Data` or `EMS_A64`.
* For text sections, add an ending $x only if the final data is not instructions.
* For non-text sections, add an ending $d only if the final data is not data commands.

```
.section .text.1,"ax"
nop
// emit $d
.long 42
// emit $x

.section .text.2,"ax"
nop
```

This new behavior decreases the .symtab size significantly:

```
% bloaty a64-2/bin/clang -- a64-0/bin/clang
    FILE SIZE        VM SIZE
 --------------  --------------
  -5.4% -1.13Mi  [ = ]       0    .strtab
 -50.9% -4.09Mi  [ = ]       0    .symtab
  -4.0% -5.22Mi  [ = ]       0    TOTAL
```

---

This scheme works as long as the user can rule out some error scenarios:

* .text.1 assembled using the traditional behavior is combined with .text.2 using the new behavior
* A linker script combining non-text sections and text sections. The
  lack of mapping symbols in the non-text sections could make them
  treated as code, unless the linker inserts extra mapping symbols.

The above mix-and-match scenarios aren't an issue at all for a
significant portion of users.

A text section may start with data commands in rare cases (e.g.
-fsanitize=function) that many users don't care about. When combing
`(.text.0; .word 0)` and `(.text.1; .word 0)`, the ending $x of .text.0
and the initial $d of .text.1 may have the same address. If both
sections reside in the same file, ensure the ending symbol comes before
the initial $d of .text.1, so that a dumb linker respecting the symbol
order will place the ending $x before the initial $d.

Disassemblers using stable sort will see both symbols at the same
address, and the second will win.

When section ordering mechanisms (e.g. --symbol-ordering-file,
--call-graph-profile-sort, `.text : { second.o(.text) first.o(.text) }`)
are involved, the initial data in a text section following a text
section with trailing data could be misidentified as code, but the issue
is local and the risk could be acceptable.

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


  Commit: 2012b25420160c3d4e595b29910afffa6c5f3fc2
      https://github.com/llvm/llvm-project/commit/2012b25420160c3d4e595b29910afffa6c5f3fc2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir

  Log Message:
  -----------
  [AMDGPU][GlobalISel] Disable fixed-point iteration in all Combiners (#105517)

Disable fixed-point iteration in all AMDGPU Combiners after #102163.

This saves around 2% compile time in ad hoc testing on some large
graphics shaders. I did not notice any regressions in the generated
code, just a bunch of harmless differences in instruction selection and
register allocation.


  Commit: 09262553fa1874bec04aebb1ecd3fd3386d316d5
      https://github.com/llvm/llvm-project/commit/09262553fa1874bec04aebb1ecd3fd3386d316d5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h

  Log Message:
  -----------
  [lldb] Fix typos in ScriptedInterface.h


  Commit: 83fc989a227a0cafb945307d4f0d68a4df864dc1
      https://github.com/llvm/llvm-project/commit/83fc989a227a0cafb945307d4f0d68a4df864dc1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp

  Log Message:
  -----------
  [CodeGen] Construct SmallVector with iterator ranges (NFC) (#105622)


  Commit: eb549da9e5c1e626edb14ba9ce43e46ad3d088af
      https://github.com/llvm/llvm-project/commit/eb549da9e5c1e626edb14ba9ce43e46ad3d088af
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    A clang/test/Driver/mmapsyms.c
    A clang/test/Misc/cc1as-mmapsyms.c
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  [Driver] Add -Wa, options -mmapsyms={default,implicit}

-Wa,-mmapsyms=implicit enables the alternative mapping symbol scheme
discussed at #99718.

While not conforming to the current aaelf64 ABI, the option is
invaluable for those with full control over their toolchain, no reliance
on weird relocatable files, and a strong focus on minimizing both
relocatable and executable sizes.

The option is discouraged when portability of the relocatable objects is
a concern.
https://maskray.me/blog/2024-07-21-mapping-symbols-rethinking-for-efficiency
elaborates the risk.

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


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

  Changed paths:
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s

  Log Message:
  -----------
  [MCA][X86] Add scatter instruction test coverage for #105675


  Commit: 933f72217e4584db03f945a3b30e8c04537f4dab
      https://github.com/llvm/llvm-project/commit/933f72217e4584db03f945a3b30e8c04537f4dab
  Author: anjenner <161845516+anjenner at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/bindings/ocaml/llvm/llvm.ml
    M llvm/bindings/ocaml/llvm/llvm.mli

  Log Message:
  -----------
  [bindings][ocaml] Add missing AtomicRMW operations (#105673)


  Commit: 27727d85a95dd501ce6d6660900b656622de9ae0
      https://github.com/llvm/llvm-project/commit/27727d85a95dd501ce6d6660900b656622de9ae0
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/www/c_status.html

  Log Message:
  -----------
  [C23] Remove WG14 N2517 from the status page

This paper proposes no normative changes, just updates an example in
the standard. It was incorrect for us to have marked it as No in the
first place.


  Commit: 7d373cef4941e9be1c2c86375ba9a8943c55e9cd
      https://github.com/llvm/llvm-project/commit/7d373cef4941e9be1c2c86375ba9a8943c55e9cd
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/Driver/wasm-features.c
    M clang/test/Preprocessor/wasm-target-features.c
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/test/CodeGen/WebAssembly/half-precision.ll
    M llvm/test/CodeGen/WebAssembly/offset.ll
    M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
    M llvm/test/MC/WebAssembly/simd-encodings.s

  Log Message:
  -----------
  [WebAssembly] Change half-precision feature name to fp16. (#105434)

This better aligns with how the feature is being referred to and what
runtimes (V8) are calling it.


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

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

  Log Message:
  -----------
  [NFC] [SCCP] remove unused functions (#105603)


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

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/lib/AST/ByteCode/Interp.h
    M clang/lib/AST/ByteCode/Opcodes.td
    M clang/test/CodeGenCXX/cxx2b-consteval-if.cpp

  Log Message:
  -----------
  [clang][bytecode] Fix 'if consteval' in non-constant contexts (#104707)

The previous code made this a compile-time decision but it's not.


  Commit: 4a2a1b51cb6b88820e28019040fb78d0c82685ab
      https://github.com/llvm/llvm-project/commit/4a2a1b51cb6b88820e28019040fb78d0c82685ab
  Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libcxx/test/std/input.output/iostream.format/std.manip/setfill_wchar_max.pass.cpp

  Log Message:
  -----------
  [libc++] Adjust armv7 XFAIL target triple for the setfill_wchar_max test. (#105586)

Also allow XFAIL for armv7-*-linux-gnueabihf targets, not only for
armv7l-*.


  Commit: c1e401f3624780f85f4c9a26960752ee3f37fafb
      https://github.com/llvm/llvm-project/commit/c1e401f3624780f85f4c9a26960752ee3f37fafb
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/forward_list/TestDataFormatterGenericForwardList.py
    A lldb/test/API/functionalities/memory/big-read/Makefile
    A lldb/test/API/functionalities/memory/big-read/TestMemoryReadMaximumSize.py
    A lldb/test/API/functionalities/memory/big-read/main.c

  Log Message:
  -----------
  [lldb] Change the two remaining SInt64 settings in Target to uint (#105460)

TargetProperties.td had a few settings listed as signed integral values,
but the Target.cpp methods reading those values were reading them as
unsigned. e.g. target.max-memory-read-size, some accesses of
target.max-children-count, still today, previously
target.max-string-summary-length.

After Jonas' change to use templates to read these values in
https://reviews.llvm.org/D149774, when the code tried to fetch these
values, we'd eventually end up calling OptionValue::GetAsUInt64 which
checks that the value is actually a UInt64 before returning it; finding
that it was an SInt64, it would drop the user setting and return the
default value. This manifested as a bug that target.max-memory-read-size
is never used for memory read.

target.max-children-count is less straightforward, where one read of
that setting was fetching it as an int64_t, the other as a uint64_t.

I suspect all of these settings were originally marked as SInt64 so a
user could do -1 for "infinite", getting it static_cast to a UINT64_MAX
value along the way. I can't find any documentation for this behavior,
but it seems like something Greg would have done. We've partially lost
that behavior already via
https://github.com/llvm/llvm-project/pull/72233 for
target.max-string-summary-length, and this further removes it.

We're still fetching UInt64's and returning them as uint32_t's but I'm
not overly pressed about someone setting a count/size limit over 4GB.

I added a simple API test for the memory read setting limit.


  Commit: 6b11573b8c5e3d36beee099dbe7347c2a007bf53
      https://github.com/llvm/llvm-project/commit/6b11573b8c5e3d36beee099dbe7347c2a007bf53
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M compiler-rt/test/metadata/uar.cpp
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/cold.ll

  Log Message:
  -----------
  Recommit "[FunctionAttrs] deduce attr `cold` on functions if all CG paths call a `cold` function"

Fixed up the uar test that was failing. It seems with the new `cold`
attribute the order of the functions is different. As far as I can
tell this is not a concern.

Closes #105559


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

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

  Log Message:
  -----------
  [IR] Simplify comparisons with std::optional (NFC) (#105624)

For variable X of type std::optional, X && X.value_or(Y) == Z is
equivalent to X == Z when Y != Z.


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

  Changed paths:
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s

  Log Message:
  -----------
  [MCA][X86] Add scatter instruction test coverage for #105675

Missed IceLakeServer when I updated the other CPUs in 6ec4c9c3eb4a556f848dac37a2d6f0d46ecc6f02


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s

  Log Message:
  -----------
  [MCA][X86] Add missing 512-bit vpscatterqd/vscatterqps schedule data

This doesn't match uops.info yet - but it matches the existing vpscatterdq/vscatterqpd entries like uops.info says it should

Fixes #105675


  Commit: c5a0c37b4279c2925b03993cd86a83bfc053f0cd
      https://github.com/llvm/llvm-project/commit/c5a0c37b4279c2925b03993cd86a83bfc053f0cd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/Xtensa/div.ll

  Log Message:
  -----------
  [Xtensa,test] Fix div.ll after #99981


  Commit: 1fa6c99a09ccca7558cb3c46fa5d4cbfb4d4bea5
      https://github.com/llvm/llvm-project/commit/1fa6c99a09ccca7558cb3c46fa5d4cbfb4d4bea5
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [VPlan] Move EVL memory recipes to VPlanRecipes.cpp (NFC)

Move VPWiden[Load|Store]EVLRecipe::executeto VPlanRecipes.cpp in line
with other ::execute implementations that don't depend on anything
defined in LoopVectorization.cpp


  Commit: e31322ba59071b4aa288c9d956f4c9d1ee10b080
      https://github.com/llvm/llvm-project/commit/e31322ba59071b4aa288c9d956f4c9d1ee10b080
  Author: Haowei <haowei at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libcxx/test/libcxx/utilities/expected/expected.expected/transform_error.mandates.verify.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp

  Log Message:
  -----------
  [libc++] Fix transform_error.mandates.verify.cpp test on msvc (#104635)

PR #102851 marks reference types in union as error on msvc by changing
the clang, which makes 'transform_error.mandates.verify.cpp' no longer
failing on msvc from ToT. However, all libcxx buildbots do not build
clang from source, therefore, this test will still fail on these bots,
which is incorrect. This patch changed the expected error message of
this test so it can pass with both release branch clang and ToT clang.


  Commit: 8f005f8306dc52577b3b9482d271fb463f0152a5
      https://github.com/llvm/llvm-project/commit/8f005f8306dc52577b3b9482d271fb463f0152a5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/locale_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/locale-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/locale_t.h
    A libc/include/llvm-libc-types/struct_lconv.h
    A libc/include/locale.h.def
    M libc/newhdrgen/yaml/ctype.yaml
    A libc/newhdrgen/yaml/locale.yaml
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    M libc/src/ctype/CMakeLists.txt
    M libc/src/ctype/isalnum.cpp
    A libc/src/ctype/isalnum_l.cpp
    A libc/src/ctype/isalnum_l.h
    M libc/src/ctype/isalpha.cpp
    A libc/src/ctype/isalpha_l.cpp
    A libc/src/ctype/isalpha_l.h
    M libc/src/ctype/isblank.cpp
    A libc/src/ctype/isblank_l.cpp
    A libc/src/ctype/isblank_l.h
    M libc/src/ctype/iscntrl.cpp
    A libc/src/ctype/iscntrl_l.cpp
    A libc/src/ctype/iscntrl_l.h
    M libc/src/ctype/isdigit.cpp
    A libc/src/ctype/isdigit_l.cpp
    A libc/src/ctype/isdigit_l.h
    M libc/src/ctype/isgraph.cpp
    A libc/src/ctype/isgraph_l.cpp
    A libc/src/ctype/isgraph_l.h
    M libc/src/ctype/islower.cpp
    A libc/src/ctype/islower_l.cpp
    A libc/src/ctype/islower_l.h
    M libc/src/ctype/isprint.cpp
    A libc/src/ctype/isprint_l.cpp
    A libc/src/ctype/isprint_l.h
    M libc/src/ctype/ispunct.cpp
    A libc/src/ctype/ispunct_l.cpp
    A libc/src/ctype/ispunct_l.h
    M libc/src/ctype/isspace.cpp
    A libc/src/ctype/isspace_l.cpp
    A libc/src/ctype/isspace_l.h
    M libc/src/ctype/isupper.cpp
    A libc/src/ctype/isupper_l.cpp
    A libc/src/ctype/isupper_l.h
    M libc/src/ctype/isxdigit.cpp
    A libc/src/ctype/isxdigit_l.cpp
    A libc/src/ctype/isxdigit_l.h
    M libc/src/ctype/tolower.cpp
    A libc/src/ctype/tolower_l.cpp
    A libc/src/ctype/tolower_l.h
    M libc/src/ctype/toupper.cpp
    A libc/src/ctype/toupper_l.cpp
    A libc/src/ctype/toupper_l.h
    A libc/src/locale/CMakeLists.txt
    A libc/src/locale/duplocale.cpp
    A libc/src/locale/duplocale.h
    A libc/src/locale/freelocale.cpp
    A libc/src/locale/freelocale.h
    A libc/src/locale/locale.cpp
    A libc/src/locale/locale.h
    A libc/src/locale/localeconv.cpp
    A libc/src/locale/localeconv.h
    A libc/src/locale/newlocale.cpp
    A libc/src/locale/newlocale.h
    A libc/src/locale/setlocale.cpp
    A libc/src/locale/setlocale.h
    A libc/src/locale/uselocale.cpp
    A libc/src/locale/uselocale.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/locale/CMakeLists.txt
    A libc/test/src/locale/locale_test.cpp
    A libc/test/src/locale/localeconv_test.cpp

  Log Message:
  -----------
   [libc] Add `ctype.h` locale variants (#102711)

Summary:
This patch adds all the libc ctype variants. These ignore the locale
ingormation completely, so they're pretty much just stubs. Because these
use locale information, which is system scope, we do not enable building
them outisde of full build mode.


  Commit: 2f4232db0b72635b89c2356c8a2c0504b075a0ab
      https://github.com/llvm/llvm-project/commit/2f4232db0b72635b89c2356c8a2c0504b075a0ab
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/types/CMakeLists.txt
    R libc/hdr/types/locale_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    R libc/include/llvm-libc-macros/locale-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    R libc/include/llvm-libc-types/locale_t.h
    R libc/include/llvm-libc-types/struct_lconv.h
    R libc/include/locale.h.def
    M libc/newhdrgen/yaml/ctype.yaml
    R libc/newhdrgen/yaml/locale.yaml
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    M libc/src/ctype/CMakeLists.txt
    M libc/src/ctype/isalnum.cpp
    R libc/src/ctype/isalnum_l.cpp
    R libc/src/ctype/isalnum_l.h
    M libc/src/ctype/isalpha.cpp
    R libc/src/ctype/isalpha_l.cpp
    R libc/src/ctype/isalpha_l.h
    M libc/src/ctype/isblank.cpp
    R libc/src/ctype/isblank_l.cpp
    R libc/src/ctype/isblank_l.h
    M libc/src/ctype/iscntrl.cpp
    R libc/src/ctype/iscntrl_l.cpp
    R libc/src/ctype/iscntrl_l.h
    M libc/src/ctype/isdigit.cpp
    R libc/src/ctype/isdigit_l.cpp
    R libc/src/ctype/isdigit_l.h
    M libc/src/ctype/isgraph.cpp
    R libc/src/ctype/isgraph_l.cpp
    R libc/src/ctype/isgraph_l.h
    M libc/src/ctype/islower.cpp
    R libc/src/ctype/islower_l.cpp
    R libc/src/ctype/islower_l.h
    M libc/src/ctype/isprint.cpp
    R libc/src/ctype/isprint_l.cpp
    R libc/src/ctype/isprint_l.h
    M libc/src/ctype/ispunct.cpp
    R libc/src/ctype/ispunct_l.cpp
    R libc/src/ctype/ispunct_l.h
    M libc/src/ctype/isspace.cpp
    R libc/src/ctype/isspace_l.cpp
    R libc/src/ctype/isspace_l.h
    M libc/src/ctype/isupper.cpp
    R libc/src/ctype/isupper_l.cpp
    R libc/src/ctype/isupper_l.h
    M libc/src/ctype/isxdigit.cpp
    R libc/src/ctype/isxdigit_l.cpp
    R libc/src/ctype/isxdigit_l.h
    M libc/src/ctype/tolower.cpp
    R libc/src/ctype/tolower_l.cpp
    R libc/src/ctype/tolower_l.h
    M libc/src/ctype/toupper.cpp
    R libc/src/ctype/toupper_l.cpp
    R libc/src/ctype/toupper_l.h
    R libc/src/locale/CMakeLists.txt
    R libc/src/locale/duplocale.cpp
    R libc/src/locale/duplocale.h
    R libc/src/locale/freelocale.cpp
    R libc/src/locale/freelocale.h
    R libc/src/locale/locale.cpp
    R libc/src/locale/locale.h
    R libc/src/locale/localeconv.cpp
    R libc/src/locale/localeconv.h
    R libc/src/locale/newlocale.cpp
    R libc/src/locale/newlocale.h
    R libc/src/locale/setlocale.cpp
    R libc/src/locale/setlocale.h
    R libc/src/locale/uselocale.cpp
    R libc/src/locale/uselocale.h
    M libc/test/src/CMakeLists.txt
    R libc/test/src/locale/CMakeLists.txt
    R libc/test/src/locale/locale_test.cpp
    R libc/test/src/locale/localeconv_test.cpp

  Log Message:
  -----------
  Revert " [libc] Add `ctype.h` locale variants (#102711)"

This reverts commit 8f005f8306dc52577b3b9482d271fb463f0152a5.


  Commit: 78d8ab2ab9e9f48e72597b5642285a5bbfcb75a5
      https://github.com/llvm/llvm-project/commit/78d8ab2ab9e9f48e72597b5642285a5bbfcb75a5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/gpu/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/hdr/types/CMakeLists.txt
    A libc/hdr/types/locale_t.h
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/locale-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/locale_t.h
    A libc/include/llvm-libc-types/struct_lconv.h
    A libc/include/locale.h.def
    A libc/newhdrgen/yaml/locale.yaml
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    A libc/src/locale/CMakeLists.txt
    A libc/src/locale/duplocale.cpp
    A libc/src/locale/duplocale.h
    A libc/src/locale/freelocale.cpp
    A libc/src/locale/freelocale.h
    A libc/src/locale/locale.cpp
    A libc/src/locale/locale.h
    A libc/src/locale/localeconv.cpp
    A libc/src/locale/localeconv.h
    A libc/src/locale/newlocale.cpp
    A libc/src/locale/newlocale.h
    A libc/src/locale/setlocale.cpp
    A libc/src/locale/setlocale.h
    A libc/src/locale/uselocale.cpp
    A libc/src/locale/uselocale.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/locale/CMakeLists.txt
    A libc/test/src/locale/locale_test.cpp
    A libc/test/src/locale/localeconv_test.cpp

  Log Message:
  -----------
  [libc] Initial support for 'locale.h' in the LLVM libc (#102689)

Summary:
This patch adds the macros and entrypoints associated with the
`locale.h` entrypoints.  These are mostly stubs, as we (for now and the
forseeable future) only expect to support the C and maybe C.UTF-8
locales in the LLVM libc.


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

  Changed paths:
    M llvm/docs/ProgrammersManual.rst

  Log Message:
  -----------
  [NFC] [Docs] add missing space


  Commit: 518b1f02835c4face8aaaf646a0f3878c2382b0b
      https://github.com/llvm/llvm-project/commit/518b1f02835c4face8aaaf646a0f3878c2382b0b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libc/src/locale/locale.h

  Log Message:
  -----------
  [libc] Fix leftover thread local


  Commit: 319c7a42ba2e5be56757d622747ba317d3b9e9ad
      https://github.com/llvm/llvm-project/commit/319c7a42ba2e5be56757d622747ba317d3b9e9ad
  Author: Greg Roth <grroth at microsoft.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/dot.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/DirectX/fdot.ll
    M llvm/test/CodeGen/DirectX/idot.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/fdot.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/idot.ll

  Log Message:
  -----------
  [HLSL][SPIRV]Add SPIRV generation for HLSL dot (#104656)

This adds the SPIRV fdot, sdot, and udot intrinsics and allows them to
be created at codegen depending on the target architecture. This
required moving some of the DXIL-specific choices to DXIL instruction
expansion out of codegen and providing it with at a more generic fdot
intrinsic as well.

Removed some stale comments that gave the obsolete impression that type
conversions should be expected to match overloads.

The SPIRV intrinsic handling involves generating multiply and add
operations for integers and the existing OpDot operation for floating
point.

New tests for generating SPIRV float and integer dot intrinsics are
added as well as expanding HLSL tests to include SPIRV generation

Used new dot product intrinsic generation to implement normalize() in SPIRV

Incidentally changed existing dot intrinsic definitions to use
DefaultAttrsIntrinsic to match the newly added inrinsics

Fixes #88056


  Commit: e5140aed275fe60b83188143f39011d5c0ee5bb0
      https://github.com/llvm/llvm-project/commit/e5140aed275fe60b83188143f39011d5c0ee5bb0
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Fix dap stacktrace perf issue (#104874)

We have got several customer reporting of slow stepping over the past
year in VSCode.
Profiling shows the slow stepping is caused by `stackTrace` request
which can take around 1 second for certain targets. Since VSCode sends
`stackTrace` during each stop event, the slow `stackTrace` request would
slow down stepping in VSCode. Below is the hot path:

```
               |--68.75%--lldb_dap::DAP::HandleObject(llvm::json::Object const&)
               |          |
               |          |--57.70%--(anonymous namespace)::request_stackTrace(llvm::json::Object const&)
               |          |          |
               |          |          |--54.43%--lldb::SBThread::GetCurrentExceptionBacktrace()
               |          |          |          lldb_private::Thread::GetCurrentExceptionBacktrace()
               |          |          |          lldb_private::Thread::GetCurrentException()
               |          |          |          lldb_private::ItaniumABILanguageRuntime::GetExceptionObjectForThread(std::shared_ptr<lldb_private::Thread>)
               |          |          |          |
               |          |          |          |--53.43%--lldb_private::FunctionCaller::ExecuteFunction(lldb_private::ExecutionContext&, unsigned long*, lldb_private::EvaluateExpressionOptions const&, lldb_private::DiagnosticManager&, lldb_private::Value&)
               |          |          |          |          |
               |          |          |          |          |--25.23%--lldb_private::FunctionCaller::InsertFunction(lldb_private::ExecutionContext&, unsigned long&, lldb_private::DiagnosticManager&)
               |          |          |          |          |          |
               |          |          |          |          |          |--24.56%--lldb_private::FunctionCaller::WriteFunctionWrapper(lldb_private::ExecutionContext&, lldb_private::DiagnosticManager&)
               |          |          |          |          |          |          |
               |          |          |          |          |          |          |--19.73%--lldb_private::ExpressionParser::PrepareForExecution(unsigned long&, unsigned long&, std::shared_ptr<lldb_private::IRExecutionUnit>&, lldb_private::ExecutionContext&, bool&, lldb_private::ExecutionPolicy)
               |          |          |          |          |          |          |          lldb_private::ClangExpressionParser::DoPrepareForExecution(unsigned long&, unsigned long&, std::shared_ptr<lldb_private::IRExecutionUnit>&, lldb_private::ExecutionContext&, bool&, lldb_private::ExecutionPolicy)
               |          |          |          |          |          |          |          lldb_private::IRExecutionUnit::GetRunnableInfo(lldb_private::Status&, unsigned long&, unsigned long&)
               |          |          |          |          |          |          |          |
```

The hot path is added by https://reviews.llvm.org/D156465 which should
at least be disabled for Linux. Note: I am seeing similar performance
hot path on Mac.

This PR hides the feature behind `enableDisplayExtendedBacktrace` option
which needs to be enabled on-demand.

---------

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: 7bcf4d63cf3b7bcc789808ea4e9c8369e94467dc
      https://github.com/llvm/llvm-project/commit/7bcf4d63cf3b7bcc789808ea4e9c8369e94467dc
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    A llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll

  Log Message:
  -----------
  [AMDGPU] Correctly insert s_nops for dst forwarding hazard (#100276)

MI300 ISA section 4.5 states there is a hazard between "VALU op which
uses OPSEL or SDWA with changes the result’s bit position" and "VALU op
consumes result of that op"

This includes the case where the second op is SDWA with same dest and
dst_sel != DWORD && dst_unused == UNUSED_PRESERVE. In this case, there
is an implicit read of the first op dst and the compiler needs to
resolve this hazard. Confirmed with HW team.

We model dst_unused == UNUSED_PRESERVE as tied-def of implicit operand,
so this PR checks for that.

MI300_SP_MAS section 1.3.9.2 specifies that CVT_SR_FP8_F32 and
CVT_SR_BF8_F32 with opsel[3:2] !=0 have dest forwarding issue.
Currently, we only add check for CVT_SR_FP8_F32 with opsel[3] != 0 --
this PR adds support opsel[2] != 0 as well


  Commit: a7c8f41f2bec74b7dcd84932136bea801723de04
      https://github.com/llvm/llvm-project/commit/a7c8f41f2bec74b7dcd84932136bea801723de04
  Author: Raghu Maddhipatla <7686592+raghavendhra at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  [NFC] [MLIR] [OpenMP] Fixing typo of clause. (#105712)


  Commit: 856dadb33c38f4e3be592f11c3d67e7337e288c7
      https://github.com/llvm/llvm-project/commit/856dadb33c38f4e3be592f11c3d67e7337e288c7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libc/config/gpu/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/newhdrgen/yaml/ctype.yaml
    M libc/spec/stdc.td
    M libc/src/ctype/CMakeLists.txt
    M libc/src/ctype/isalnum.cpp
    A libc/src/ctype/isalnum_l.cpp
    A libc/src/ctype/isalnum_l.h
    M libc/src/ctype/isalpha.cpp
    A libc/src/ctype/isalpha_l.cpp
    A libc/src/ctype/isalpha_l.h
    M libc/src/ctype/isblank.cpp
    A libc/src/ctype/isblank_l.cpp
    A libc/src/ctype/isblank_l.h
    M libc/src/ctype/iscntrl.cpp
    A libc/src/ctype/iscntrl_l.cpp
    A libc/src/ctype/iscntrl_l.h
    M libc/src/ctype/isdigit.cpp
    A libc/src/ctype/isdigit_l.cpp
    A libc/src/ctype/isdigit_l.h
    M libc/src/ctype/isgraph.cpp
    A libc/src/ctype/isgraph_l.cpp
    A libc/src/ctype/isgraph_l.h
    M libc/src/ctype/islower.cpp
    A libc/src/ctype/islower_l.cpp
    A libc/src/ctype/islower_l.h
    M libc/src/ctype/isprint.cpp
    A libc/src/ctype/isprint_l.cpp
    A libc/src/ctype/isprint_l.h
    M libc/src/ctype/ispunct.cpp
    A libc/src/ctype/ispunct_l.cpp
    A libc/src/ctype/ispunct_l.h
    M libc/src/ctype/isspace.cpp
    A libc/src/ctype/isspace_l.cpp
    A libc/src/ctype/isspace_l.h
    M libc/src/ctype/isupper.cpp
    A libc/src/ctype/isupper_l.cpp
    A libc/src/ctype/isupper_l.h
    M libc/src/ctype/isxdigit.cpp
    A libc/src/ctype/isxdigit_l.cpp
    A libc/src/ctype/isxdigit_l.h
    M libc/src/ctype/tolower.cpp
    A libc/src/ctype/tolower_l.cpp
    A libc/src/ctype/tolower_l.h
    M libc/src/ctype/toupper.cpp
    A libc/src/ctype/toupper_l.cpp
    A libc/src/ctype/toupper_l.h

  Log Message:
  -----------
  [libc] Add `ctype.h` locale variants (#102711)

Summary:
This patch adds all the libc ctype variants. These ignore the locale
ingormation completely, so they're pretty much just stubs. Because these
use locale information, which is system scope, we do not enable building
them outisde of full build mode.


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

  Changed paths:
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Fix locale structs with old headergen


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s

  Log Message:
  -----------
  Revert "[MCA][X86] Add missing 512-bit vpscatterqd/vscatterqps schedu… (#105716)

…le data"

This reverts commit 2c1f0642a2647883f35463aebf4f90a6b1f158c1.

Many build failures in: CodeGen/X86/scatter-schedule.ll

Example of a build failure:
https://lab.llvm.org/buildbot/#/builders/155/builds/1675


  Commit: 3082a381f57ef2885c270f41f2955e08c79634c5
      https://github.com/llvm/llvm-project/commit/3082a381f57ef2885c270f41f2955e08c79634c5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [LTO] Introduce helper functions to add GUIDs to ImportList (NFC) (#105555)

The new helper functions make the intent clearer while hiding
implementation details, including how we handle previously added
entries.  Note that:

- If we are adding a GUID as a GlobalValueSummary::Definition, then we
  override a previously added GlobalValueSummary::Declaration entry
  for the same GUID.

- If we are adding a GUID as a GlobalValueSummary::Declaration, then a
  previously added GlobalValueSummary::Definition entry for the same
  GUID takes precedence, and no change is made.


  Commit: ee08d9cba5615937acf28087da841886cc6a0144
      https://github.com/llvm/llvm-project/commit/ee08d9cba5615937acf28087da841886cc6a0144
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Bitcode/amdgcn-atomic.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd-with-ret.ll
    R llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f32.ll
    M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.ll
    R llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.v2f16.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx1200.ll
    M llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/gep-const-address-space.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.gfx908.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.fadd.gfx90a.ll
    R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.atomic.fadd.ll
    M llvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
    R llvm/test/CodeGen/AMDGPU/unsupported-atomics.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat-fadd-fmin-fmax-intrinsics.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/flat_atomic.ll

  Log Message:
  -----------
  AMDGPU: Remove global/flat atomic fadd intrinics (#97051)

These have been replaced with atomicrmw.


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

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

  Log Message:
  -----------
  [VPlan] Factor out precomputing costs from LVP::cost (NFC).

Move the logic for pre-computing costs of certain instructions to a
separate helper function, allowing re-use in a follow-up patch.


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

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

  Log Message:
  -----------
  [LLD][COFF] Generate X64 thunks for ARM64EC entry points and patchable functions. (#105499)

This implements Fast-Forward Sequences documented in ARM64EC
ABI https://learn.microsoft.com/en-us/windows/arm/arm64ec-abi.

There are two conditions when linker should generate such thunks:

- For each exported ARM64EC functions.
It applies only to ARM64EC functions (we may also have pure x64
functions, for which no thunk is needed). MSVC linker creates
`EXP+<mangled export name>` symbol in those cases that points to the
thunk and uses that symbol for the export. It's observable from the
module: it's possible to reference such symbols as I did in the test.
Note that it uses export name, not name of the symbol that's exported
(as in `foo` in `/EXPORT:foo=bar`). This implies that if the same
function is exported multiple times, it will have multiple thunks. I
followed this MSVC behavior.

- For hybrid_patchable functions.
The linker tries to generate a thunk for each undefined `EXP+*` symbol
(and such symbols are created by the compiler as a target of weak alias
from the demangled name). MSVC linker tries to find corresponding
`*$hp_target` symbol and if fails to do so, it outputs a cryptic error
like `LINK : fatal error LNK1000: Internal error during
IMAGE::BuildImage`. I just skip generating the thunk in such case (which
causes undefined reference error). MSVC linker additionally checks that
the symbol complex type is a function (see also #102898). We generally
don't do such checks in LLD, so I made it less strict. It should be
fine: if it's some data symbol, it will not have `$hp_target` symbol, so
we will skip it anyway.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll

  Log Message:
  -----------
  [VPlan] Don't trigger VF assertion if VPlan has extra simplifications.

There are cases where VPlans contain some simplifications that are very
hard to accurately account for up-front in the legacy cost model. Those
cases are caused by un-simplified inputs, which trigger the assert
ensuring both the legacy and VPlan-based cost model agree on the VF.

To avoid false positives due to missed simplifications in general, only
trigger the assert if the chosen VPlan doesn't contain any additional
simplifications.

Fixes https://github.com/llvm/llvm-project/issues/104714.
Fixes https://github.com/llvm/llvm-project/issues/105713.


  Commit: 768dba71fe0caf2b7e698a1c29c86a48bbd00149
      https://github.com/llvm/llvm-project/commit/768dba71fe0caf2b7e698a1c29c86a48bbd00149
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [VPlan] Fix typo in cb4efe1d.


  Commit: 172c4a4a147833f1c08df1555f3170aa9ccb6cbe
      https://github.com/llvm/llvm-project/commit/172c4a4a147833f1c08df1555f3170aa9ccb6cbe
  Author: Ian Anderson <iana at apple.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M libunwind/include/CMakeLists.txt
    R libunwind/include/mach-o/compact_unwind_encoding.modulemap

  Log Message:
  -----------
  [libunwind] Stop installing the mach-o module map (#105616)

libunwind shouldn't know that compact_unwind_encoding.h is part of a
MachO module that it doesn't own. Delete the mach-o module map, and let
whatever is in charge of the mach-o directory be the one to say how its
module is organized and where compact_unwind_encoding.h fits in.


  Commit: d010ec6af8162a8ae4e42d2cac5282f83db0ce07
      https://github.com/llvm/llvm-project/commit/d010ec6af8162a8ae4e42d2cac5282f83db0ce07
  Author: Chris Apple <cja-private at pm.me>
  Date:   2024-08-22 (Thu, 22 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] Introduce realtime sanitizer codegen and driver (#102622)

Introduce the `-fsanitize=realtime` flag in clang driver

Plug in the RealtimeSanitizer PassManager pass in Codegen, and attribute
a function based on if it has the `[[clang::nonblocking]]` function
effect.


  Commit: 8b5f606612de30ece5e113517decacca0d8ccb35
      https://github.com/llvm/llvm-project/commit/8b5f606612de30ece5e113517decacca0d8ccb35
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/test/Parser/friend-concept.cpp

  Log Message:
  -----------
  [Clang] [Parser] Improve diagnostic for `friend concept` (#105121)

Diagnose this early after parsing declaration specifiers; this allows us
to issue a better diagnostic. This also checks for `concept friend` and
concept declarations w/o a template-head because it’s easiest to do that
at the same time.

Fixes #45182.


  Commit: 42d06b8e555727e8e043d5ea9240ad103d950192
      https://github.com/llvm/llvm-project/commit/42d06b8e555727e8e043d5ea9240ad103d950192
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/afl-driver-close-fd-mask.test
    M compiler-rt/test/fuzzer/afl-driver-stderr.test

  Log Message:
  -----------
  [compiler-rt][test] Change tests to remove the use of `unset` command in lit internal shell  (#104880)

This patch rewrites tests to remove the use of the `unset` command,
which is not supported in the lit internal shell. The tests now use the
`env -u` to unset environment variables.

The `unset` command is used in shell environments to remove the
environment variable. However, because the lit internal shell does not
support the `unset` command, using it in tests would result in errors or
other unexpected behavior. To overcome this limitation, the tests have
been updated to use the `env -u` command instead. `env -u` is supported
by lit and effectively removes specified environment variables. This
allows the tests to achieve the same goal of unsetting environment
variables while ensuring compatibility with the lit internal shell.

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


  Commit: d7fc779aacd4b5538bc42139892812aad8c6d528
      https://github.com/llvm/llvm-project/commit/d7fc779aacd4b5538bc42139892812aad8c6d528
  Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/test/Dialect/Affine/loop-coalescing.mlir

  Log Message:
  -----------
  [mlir][SCF]-Fix loop coalescing with iteration arguements (#105488)

Fix a bug found when coalescing loops which have iteration arguments,
such that the inner loop's terminator may have operands of the inner
loop iteration arguments which are about to be replaced by the outer
loop's iteration arguments.

The current flow leads to crush within the IR code.


  Commit: 911e246fe8fd35bd82fc11db001513a1e2f6990c
      https://github.com/llvm/llvm-project/commit/911e246fe8fd35bd82fc11db001513a1e2f6990c
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/unittests/ADT/StringRefTest.cpp

  Log Message:
  -----------
  [NFC][ADT] Add reverse iterators and `value_type` to StringRef (#105579)

- Add reverse iterators and `value_type` to StringRef.
- Add unit test for all 4 iterator flavors.
- This prepares StringRef to be used with `SequenceToOffsetTable`.


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

  Changed paths:
    R 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
    R clang/test/CodeGen/rtsan_attribute_inserted.c
    R clang/test/CodeGen/rtsan_entry_exit_insertion.c
    R clang/test/CodeGen/rtsan_no_attribute_sanitizer_disabled.c
    M clang/test/Driver/fsanitize.c

  Log Message:
  -----------
  Revert "[clang][rtsan] Introduce realtime sanitizer codegen and drive… (#105744)

…r (#102622)"

This reverts commit d010ec6af8162a8ae4e42d2cac5282f83db0ce07.

Build failure: https://lab.llvm.org/buildbot/#/builders/159/builds/4466


  Commit: 4e6ff75efa14e0156c005ffcf3d7964dc754b792
      https://github.com/llvm/llvm-project/commit/4e6ff75efa14e0156c005ffcf3d7964dc754b792
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

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

This patch fixes:

  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7245:1: error:
  unused function 'planContainsAdditionalSimplifications'
  [-Werror,-Wunused-function]


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

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [LTO] Use a helper function to add a definition (NFC) (#105721)

I missed this one when I introduced helper functions in:

  commit 3082a381f57ef2885c270f41f2955e08c79634c5
  Author: Kazu Hirata <kazu at google.com>
  Date:   Thu Aug 22 12:06:47 2024 -0700


  Commit: 424b87b8d6f0fab0898cb5cfdf9b1bbf06ddee03
      https://github.com/llvm/llvm-project/commit/424b87b8d6f0fab0898cb5cfdf9b1bbf06ddee03
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll

  Log Message:
  -----------
  [RISCV][TTI] Use legalized element types when costing casts (#105723)

This fixes a crash introduced by my
ac6e1fd0c089043fe60bd0040ba3cad884f00206.

I had failed to consider the case where a vector is truncated to an
illegal element type. The resulting intermediate VT wasn't an MVT and
we'd fail an assertion. Surprisingly, SLP does query illegal element
types in some cases.


  Commit: 0d21c2b3e516617ee0fe60e2e5368e0c447b17ad
      https://github.com/llvm/llvm-project/commit/0d21c2b3e516617ee0fe60e2e5368e0c447b17ad
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-22 (Thu, 22 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 CatchReturnInst (#105605)

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


  Commit: 1df15042bdda3817827e39c772525a4a24c1adbe
      https://github.com/llvm/llvm-project/commit/1df15042bdda3817827e39c772525a4a24c1adbe
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-22 (Thu, 22 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:
  -----------
  Revert "[clang] Merge lifetimebound and GSL code paths for lifetime analysis (#104906)" (#105752)

Revert as it breaks libc++ tests, see #104906.

This reverts commit c368a720a0b40bb8fe4aff3971fe9a7009c85aa6.


  Commit: ecfceb890d47e4c11804cdc2c38f905f691ef397
      https://github.com/llvm/llvm-project/commit/ecfceb890d47e4c11804cdc2c38f905f691ef397
  Author: h-vetinari <h.vetinari at gmx.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang][NFC] order C++ standards in reverse in release notes (#104866)

Noticed that the release notes currently have a weird order: C++17,
C++14(!), C++20, C++23, C++2c. Reorder them in reverse chronological
order, which also matches the [status
page](https://clang.llvm.org/cxx_status.html).


  Commit: 25d976b45cb5b3d222d3a9cd94caa8a54031bbb7
      https://github.com/llvm/llvm-project/commit/25d976b45cb5b3d222d3a9cd94caa8a54031bbb7
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expamd-masked-load.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-gather.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-scatter.ll
    M llvm/test/Transforms/ScalarizeMaskedMemIntrin/AMDGPU/expand-masked-store.ll

  Log Message:
  -----------
  [ScalarizeMaskedMemIntr] Don't use a scalar mask on GPUs (#104842)

ScalarizedMaskedMemIntr contains an optimization where the <N x i1> mask
is bitcast into an iN and then bit-tests with powers of two are used to
determine whether to load/store/... or not.

However, on machines with branch divergence (mainly GPUs), this is a
mis-optimization, since each i1 in the mask will be stored in a
condition register - that is, ecah of these "i1"s is likely to be a word
or two wide, making these bit operations counterproductive.

Therefore, amend this pass to skip the optimizaiton on targets that it
pessimizes.

Pre-commit tests #104645


  Commit: 08e5a1de8227512d4774a534b91cb2353cef6284
      https://github.com/llvm/llvm-project/commit/08e5a1de8227512d4774a534b91cb2353cef6284
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp

  Log Message:
  -----------
  [llvm][NVPTX] Fix quadratic runtime in ProxyRegErasure (#105730)

This pass performs RAUW by walking the machine function for each RAUW
operation. For large functions, this runtime in this pass starts to blow
up. Linearize the pass by batching the RAUW ops at once.


  Commit: be8ee098c4b45522eb4836ee0034469208c85c74
      https://github.com/llvm/llvm-project/commit/be8ee098c4b45522eb4836ee0034469208c85c74
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    R utils/bazel/llvm-project-overlay/lldb/tools/lldb-dap/BUILD.bazel

  Log Message:
  -----------
  [bazel] Move lldb-dap cc_binary to lldb/BUILD.bazel (#105733)

On linux lldb-dap uses the location of the lldb-dap binary to search for
lldb-server. Previously these were produced in different directories
corresponding to the BUILD file paths. It's not ideal that the BUILD
file location matters for the binary at runtime but it doesn't hurt to
have this tool here too like the others.


  Commit: f06563a5c0d239a6b98f74db522681613254ad08
      https://github.com/llvm/llvm-project/commit/f06563a5c0d239a6b98f74db522681613254ad08
  Author: Yun-Fly <yunfei.song at intel.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir

  Log Message:
  -----------
  [mlir][tensor] Add consumer fusion for `tensor.pack` op. (#103715)

Add missing `getIterationDomainTileFromOperandTile` and `getTiledImplementationFromOperandTile` to `tensor.pack` and enable fusing it as a consumer. NOTE that, it only expects perfect tiling scenario without padding semantic currently.


  Commit: 381405fafe9d48d29c777e7680902d0943834859
      https://github.com/llvm/llvm-project/commit/381405fafe9d48d29c777e7680902d0943834859
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/TableGen/StringToOffsetTable.h
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Emit more readable builtin string table (#105445)

- Add `EmitStringLiteralDef` to StringToOffsetTable class to emit more
readable string table.
- Use that in `EmitIntrinsicToBuiltinMap`.


  Commit: 987ffc31f8813f8b4157f5191dcff63a7c4db161
      https://github.com/llvm/llvm-project/commit/987ffc31f8813f8b4157f5191dcff63a7c4db161
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [AMDGPU] Refactor code for GETPC bundle updates in hazards (NFCI)

As suggested in review for PR #100067.
Refactor code for S_GETPC_B64 bundle updates for use with multiple
hazard mitigations.


  Commit: 714033a6bf3a81b1350f969ddd83bcd9fbb703e8
      https://github.com/llvm/llvm-project/commit/714033a6bf3a81b1350f969ddd83bcd9fbb703e8
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  [clang-format] Don't insert a space between :: and * (#105043)

Also, don't insert a space after ::* for method pointers.

See
https://github.com/llvm/llvm-project/pull/86253#issuecomment-2298404887.

Fixes #100841.


  Commit: 151945151c3d29b3a6b3a630cf36942cab07fef9
      https://github.com/llvm/llvm-project/commit/151945151c3d29b3a6b3a630cf36942cab07fef9
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  Revert "[Vectorize] Fix warnings" (#105771)

Triggers assert in compiler
https://lab.llvm.org/buildbot/#/builders/51/builds/2836

```
Instructions.cpp:1700: llvm::ShuffleVectorInst::ShuffleVectorInst(Value *, Value *, ArrayRef<int>, const Twine &, InsertPosition): Assertion `isValidOperands(V1, V2, Mask) && "Invalid shuffle vector instruction operands!"' failed.
```

This reverts commit a625435d3ef4c7bbfceb44498b9b5a2cbbed838b.


  Commit: 62da359ce7a7ae09e6afa96227eb556be54aabb1
      https://github.com/llvm/llvm-project/commit/62da359ce7a7ae09e6afa96227eb556be54aabb1
  Author: bwlodarcz <bertrand.wlodarczyk at intel.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/docs/SPIRVUsage.rst
    M llvm/lib/Target/SPIRV/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRV.h
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
    A llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
    A llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll

  Log Message:
  -----------
  [SPIRV] Emitting DebugSource, DebugCompileUnit (#97558)

This commit introduces emission of DebugSource, DebugCompileUnit from
NonSemantic.Shader.DebugInfo.100 and required OpString with filename.
NonSemantic.Shader.DebugInfo.100 is divided, following DWARF into two
main concepts – emitting DIE and Line.
In DWARF .debug_abbriev and .debug_info sections are responsible for
emitting tree with information (DEIs) about e.g. types, compilation
unit. Corresponding to that in NonSemantic.Shader.DebugInfo.100 have
instructions like DebugSource, DebugCompileUnit etc. which preforms same
role in SPIR-V file. The difference is in fact that in SPIR-V there are
no sections but logical layout which forces order of the instruction
emission.
The NonSemantic.Shader.DebugInfo.100 requires for this type of global
information to be emitted after OpTypeXXX and OpConstantXXX
instructions.
One of the goals was to minimize changes and interaction with
SPIRVModuleAnalysis as possible which current commit achieves by
emitting it’s instructions directly into MachineFunction.
The possibility of duplicates are mitigated by guard inside pass which
emits the global information only once in one function.
By that method duplicates don’t have chance to be emitted.
>From that point, adding new debug global instructions should be
straightforward.


  Commit: e15abb798282e4151f546eef14be4906f428eb46
      https://github.com/llvm/llvm-project/commit/e15abb798282e4151f546eef14be4906f428eb46
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LoadRelocatableObject.h
    M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
    M llvm/lib/ExecutionEngine/Orc/LoadRelocatableObject.cpp
    M llvm/lib/ExecutionEngine/Orc/MachO.cpp

  Log Message:
  -----------
  [ORC] Add an identifier-override argument to loadRelocatableObject and friends.

API clients may want to use things other than paths as the buffer identifiers.

No testcase -- I haven't thought of a good way to expose this via the regression
testing tools.

rdar://133536831


  Commit: 351f4a5593f1ef507708ec5eeca165b20add3340
      https://github.com/llvm/llvm-project/commit/351f4a5593f1ef507708ec5eeca165b20add3340
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

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

  Log Message:
  -----------
  Reland "[Vectorize] Fix warnings"" (#105772)

Revert was wrong, 

The bot is still broken
https://lab.llvm.org/buildbot/#/builders/51/builds/2838

Reverts llvm/llvm-project#105771


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp

  Log Message:
  -----------
  [Scalar] Remove an unused variable (#105767)

The last use was removed by:

  commit 89fe570958f8b82df9a9c3b4c251ecba9753272a
  Author: Philip Reames <listmail at philipreames.com>
  Date:   Tue May 12 23:39:23 2015 +0000


  Commit: 7c3237d778572931ff097e81df43d0bce9d1d4f8
      https://github.com/llvm/llvm-project/commit/7c3237d778572931ff097e81df43d0bce9d1d4f8
  Author: Tom <pottagetom at gmail.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestComments.cpp
    M clang/unittests/Format/FormatTestObjC.cpp

  Log Message:
  -----------
  [clang-format] Change BinPackParameters to enum and add AlwaysOnePerLine (#101882)

Related issues that have requested this feature:
#51833
#23796 
#53190 Partially solves - this issue requests is for both arguments and
parameters


  Commit: 3563907969843cb5d97995fb02177ee578e33aa2
      https://github.com/llvm/llvm-project/commit/3563907969843cb5d97995fb02177ee578e33aa2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/FunctionImport.h
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/tools/llvm-link/llvm-link.cpp

  Log Message:
  -----------
  [LTO] Turn ImportMapTy into a proper class (NFC) (#105748)

This patch turns type alias ImportMapTy into a proper class to provide
a more intuitive interface like:

  ImportList.addDefinition(...)

as opposed to:

  FunctionImporter::addDefinition(ImportList, ...)

Also, this patch requires all non-const accesses to go through
addDefinition, maybeAddDeclaration, and addGUID while providing const
accesses via:

  const ImportMapTyImpl &getImportMap() const { return ImportMap; }

I realize ImportMapTy may not be the best name as a class (maybe OK as
a type alias).  I am not renaming ImportMapTy in this patch at least
because there are 47 mentions of ImportMapTy under llvm/.


  Commit: 96b3166602cbe3dc1240bc3189cf1581273928a2
      https://github.com/llvm/llvm-project/commit/96b3166602cbe3dc1240bc3189cf1581273928a2
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-22 (Thu, 22 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/shuffle-vectors-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
    M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/schedule_budget_debug_info.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll

  Log Message:
  -----------
  Revert "[SLP]Improve/fix subvectors in gather/buildvector nodes handling" (#105780)

with "[Vectorize] Fix warnings"

It introduced compiler crashes, see #104144.

This reverts commit 69332bb8995aef60d830406de12cb79a50390261 and
351f4a5593f1ef507708ec5eeca165b20add3340.


  Commit: 84aa02d3fa1f1f614c4f3c144ec118b2f05ae6b0
      https://github.com/llvm/llvm-project/commit/84aa02d3fa1f1f614c4f3c144ec118b2f05ae6b0
  Author: Benjamin Maxwell <macdue at dueutil.tech>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinAttributes.td
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/IR/BuiltinAttributes.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir

  Log Message:
  -----------
  [memref] Handle edge case in subview of full static size fold (#105635)

It is possible to have a subview with a fully static size and a type
that matches the source type, but a dynamic offset that may be
different. However, currently the memref dialect folds:

```mlir
func.func @subview_of_static_full_size(
  %arg0:  memref<16x4xf32,  strided<[4, 1], offset: ?>>, %idx: index)
  -> memref<16x4xf32,  strided<[4, 1], offset: ?>>
{
  %0 = memref.subview %arg0[%idx, 0][16, 4][1, 1]
   : memref<16x4xf32,  strided<[4, 1], offset: ?>>
     to memref<16x4xf32,  strided<[4, 1], offset: ?>>
  return %0 : memref<16x4xf32,  strided<[4, 1], offset: ?>>
}
```

To:

```mlir
func.func @subview_of_static_full_size(
  %arg0: memref<16x4xf32, strided<[4, 1], offset: ?>>, %arg1: index)
  -> memref<16x4xf32, strided<[4, 1], offset: ?>>
{
  return %arg0 : memref<16x4xf32, strided<[4, 1], offset: ?>>
}
```

Which drops the dynamic offset from the `subview` op.


  Commit: 59721f2326988ece58fab183971f79b71f751b83
      https://github.com/llvm/llvm-project/commit/59721f2326988ece58fab183971f79b71f751b83
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFObjectWriter.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
    M llvm/test/MC/Mips/sort-relocation-table.s

  Log Message:
  -----------
  [MIPS] Optimize sortRelocs for o32

The o32 ABI specifies:

> Each relocation type of R_MIPS_HI16 must have an associated R_MIPS_LO16 entry immediately following it in the list of relocations. [...] the addend AHL is computed as (AHI << 16) + (short)ALO

In practice, the high-part and low-part relocations may not be adjacent
in assembly files, requiring the assembler to reorder relocations.
http://reviews.llvm.org/D19718 performed the reordering, but did not
optimize for the common case where a %lo immediately follows its
matching %hi. The quadratic time complexity could make sections with
many relocations very slow to process.

This patch implements the fast path, simplifies the code, and makes the
behavior more similar to GNU assembler (for the .rel.mips_hilo_8b test).
We also remove `OriginalSymbol`, removing overhead for other targets.

Fix #104562

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


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

  Changed paths:
    M clang/lib/AST/ByteCode/Descriptor.cpp
    M clang/lib/AST/ByteCode/Descriptor.h

  Log Message:
  -----------
  [clang][bytecode][NFC] Get rid of const_casts in Move fns (#105698)


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

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp

  Log Message:
  -----------
  [NFCI] [C++20] [Modules] Relax the case for duplicated declaration in multiple module units for explicit specialization

Relax the case for duplicated declaration in multiple module units for
explicit specialization and refactor the implementation of
checkMultipleDefinitionInNamedModules a little bit.

This is intended to not affect any end users since it only relaxes the
condition to emit an error.


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

  Changed paths:
    M clang/lib/Serialization/ASTReaderDecl.cpp

  Log Message:
  -----------
  [NFCI] [Serialization] Use demoteThisDefinitionToDeclaration instead of setCompleteDefinition(false) for CXXRecordDecl

When we merge the definition for CXXRecordDecl, we would use
setCompleteDefinition(false) to mark the merged definition. But this was
not the correct/good interface. We can't know that the merged definition
was a definition then. And actually, we provided an interface for this:
demoteThisDefinitionToDeclaration.

So this patch tries to use the correct API.

This was found in the downstream developing. This is not strictly NFC
but it is intended to be NFC for every end users.


  Commit: 85b6aac7c25f9d2a976a76045ace1e7afebb5965
      https://github.com/llvm/llvm-project/commit/85b6aac7c25f9d2a976a76045ace1e7afebb5965
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    A llvm/test/Transforms/ConstraintElimination/pr105785.ll

  Log Message:
  -----------
  [ConstraintElim] Fix miscompilation caused by PR97974 (#105790)

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


  Commit: 28133d9159e814160fa622de6ffdcf36dd25f9d7
      https://github.com/llvm/llvm-project/commit/28133d9159e814160fa622de6ffdcf36dd25f9d7
  Author: David Green <david.green at arm.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/add.ll
    A llvm/test/CodeGen/AArch64/mul.ll
    A llvm/test/CodeGen/AArch64/sub.ll

  Log Message:
  -----------
  [AArch64] Add Add/Sub/Mul test coverage for GISel. NFC


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

  Changed paths:
    A llvm/test/CodeGen/AArch64/andorxor.ll

  Log Message:
  -----------
  [AArch64] Add And/Or/XOr test coverage for GISel. NFC


  Commit: b02b5b7b598ff146f8d5ed529412236533429403
      https://github.com/llvm/llvm-project/commit/b02b5b7b598ff146f8d5ed529412236533429403
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll

  Log Message:
  -----------
  [AMDGPU] Simplify use of hasMovrel and hasVGPRIndexMode (#105680)

The generic subtarget has neither of these features. Rather than forcing
HasMovrel on, it is simpler to expand dynamic vector indexing to a
sequence of compare/select instructions.

NFC for real subtargets.


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

  Changed paths:
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaExpr.cpp
    M clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp

  Log Message:
  -----------
  [Matrix] Preserve signedness when extending matrix index expression. (#103044)

As per [1] the indices for a matrix element access operator shall have
integral or unscoped enumeration types and be non-negative. At the
moment, the index expression is converted to SizeType irrespective of
the signedness of the index expression. This causes implicit sign
conversion warnings if any of the indices is signed.

As per the spec, using signed types as indices is allowed and should not
cause any warnings. If the index expression is signed, extend to
SignedSizeType to avoid the warning.

[1]
https://clang.llvm.org/docs/MatrixTypes.html#matrix-type-element-access-operator

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


  Commit: fa2dccb377d0b712223efe5b62e5fc633580a9e6
      https://github.com/llvm/llvm-project/commit/fa2dccb377d0b712223efe5b62e5fc633580a9e6
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] Remove one case of vmcnt loop header flushing for GFX12 (#105550)

When a loop contains a VMEM load whose result is only used outside the
loop, do not bother to flush vmcnt in the loop head on GFX12. A wait for
vmcnt will be required inside the loop anyway, because VMEM instructions
can write their VGPR results out of order.


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/CodeGen/X86/scatter-schedule.ll
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s

  Log Message:
  -----------
  [MCA][X86] Add missing 512-bit vpscatterqd/vscatterqps schedule data (REAPPLIED)

This doesn't match uops.info yet - but it matches the existing vpscatterdq/vscatterqpd entries like uops.info says it should

Reapplied with codegen fix for scatter-schedule.ll

Fixes #105675


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

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    A clang/test/Modules/warn-duplicated-decls-in-module-units.cppm

  Log Message:
  -----------
  [C++20] [Modules] Warn for duplicated decls in mutliple module units (#105799)

It is a long standing issue that the duplicated declarations in multiple
module units would cause the compilation performance to get slowed down.
And there are many questions or issue reports. So I think it is better
to add a warning for it.

And given this is not because the users' code violates the language
specification or any best practices, the warning is disabled by default
even if `-Wall` is specified. The users need to specify the warning
explcitly or use `Weverything`.

The documentation will add separately.


  Commit: c8ba31700588eabbace2af40d711e235d13ab9bf
      https://github.com/llvm/llvm-project/commit/c8ba31700588eabbace2af40d711e235d13ab9bf
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [AMDGPU] Remove comment outdated by #96933


  Commit: 646478f38b03cbc861ae17533c641c2a944118b3
      https://github.com/llvm/llvm-project/commit/646478f38b03cbc861ae17533c641c2a944118b3
  Author: David Green <david.green at arm.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/add.ll
    M llvm/test/CodeGen/AArch64/andorxor.ll
    M llvm/test/CodeGen/AArch64/mul.ll
    M llvm/test/CodeGen/AArch64/sub.ll

  Log Message:
  -----------
  [AArch64] Scalarize i128 add/sub/mul/and/or/xor vectors

This mirrors what we do for SDAG, scalarizing i128 vectors with
add/sub/mul/and/or/xor operators.


  Commit: 38b8e54682567d685bc03f9fdef26baa6b708ef9
      https://github.com/llvm/llvm-project/commit/38b8e54682567d685bc03f9fdef26baa6b708ef9
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove containsErrors() check from delegate (#105804)

This check was removed a while ago from visit(), remove it from
delegate() as well.


  Commit: 7b4b85b75d22a792b2ef80e6af4f0faf18da0a43
      https://github.com/llvm/llvm-project/commit/7b4b85b75d22a792b2ef80e6af4f0faf18da0a43
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/lib/AST/ByteCode/Compiler.cpp
    M clang/test/AST/ByteCode/c.c

  Log Message:
  -----------
  [clang][bytecode] Reject void InitListExpr differently (#105802)

This reverts c79d1fa540390f6e37e1ea326153559eeadd0de6 and
125aa10b3d645bd26523a1bc321bb2e6b1cf04e1

Instead, use the previous approach but allow void-typed InitListExprs
with 0 initializers.


  Commit: 4a12722110abb2ccb98173c82a7d7b96a5c098e0
      https://github.com/llvm/llvm-project/commit/4a12722110abb2ccb98173c82a7d7b96a5c098e0
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachO.h
    M llvm/lib/ExecutionEngine/Orc/MachO.cpp

  Log Message:
  -----------
  [ORC] Expose a non-destructive check-macho-buffer overload.

This allows clients to check buffers that they don't own.

rdar://133536831


  Commit: cbf34a5f7701148d68951320a72f483849b22eaf
      https://github.com/llvm/llvm-project/commit/cbf34a5f7701148d68951320a72f483849b22eaf
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    R llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td

  Log Message:
  -----------
  [AMDGPU] Remove dead pass: AMDGPUMachineCFGStructurizer (#105645)


  Commit: 2b4b909509bc2aa7e7f6b3bc469c214bf42fea49
      https://github.com/llvm/llvm-project/commit/2b4b909509bc2aa7e7f6b3bc469c214bf42fea49
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

  Log Message:
  -----------
  [AMDGPU] Remove unused amdgpu-disable-structurizer flag (#105800)


  Commit: 2f144ac5a13dc39389e1850417f4ac766b1f1ada
      https://github.com/llvm/llvm-project/commit/2f144ac5a13dc39389e1850417f4ac766b1f1ada
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [clang][bytecode][NFC] Remove containsErrors check from visitInitializer (#105811)


  Commit: 2051a7bcd3f375c063f803df3cfde9e6e6d724ad
      https://github.com/llvm/llvm-project/commit/2051a7bcd3f375c063f803df3cfde9e6e6d724ad
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/test/HLFIR/c_ptr_byvalue.f90
    M flang/test/Lower/CUDA/cuda-device-proc.cuf
    M flang/test/Lower/HLFIR/assumed-rank-calls.f90
    M flang/test/Lower/HLFIR/assumed-rank-iface.f90
    M flang/test/Lower/HLFIR/bindc-value-derived.f90
    M flang/test/Lower/HLFIR/block_bindc_pocs.f90
    M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
    M flang/test/Lower/HLFIR/calls-character-singleton-result.f90
    M flang/test/Lower/HLFIR/ignore-type-assumed-shape.f90
    M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
    M flang/test/Lower/block.f90
    M flang/test/Lower/call-bindc.f90

  Log Message:
  -----------
  [flang][NFC] turn fir.call is_bind_c into enum for procedure flags (#105691)

First patch to fix a BIND(C) ABI issue
(https://github.com/llvm/llvm-project/issues/102113). I need to keep
track of BIND(C) in more locations (fir.dispatch and func.func
operations), and I need to fix a few passes that are dropping the
attribute on the floor. Since I expect more procedure attributes that
cannot be reflected in mlir::FunctionType will be needed for ABI,
optimizations, or debug info, this NFC patch adds a new enum attribute
to keep track of procedure attributes in the IR.

This patch is not updating lowering to lower more attributes, this will
be done in a separate patch to keep the test changes low here.

Adding the attribute on fir.dispatch and func.func will also be done in
separate patches.


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

  Changed paths:
    M llvm/include/llvm/TableGen/StringToOffsetTable.h

  Log Message:
  -----------
  [NFC][TableGen] Refactor StringToOffsetTable (#105655)

- Make `EmitString` const by not mutating `AggregateString`.
- Use C++17 structured bindings in `GetOrAddStringOffset`.
- Use StringExtras version of isDigit instead of std::isdigit.


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

  Changed paths:
    M clang/lib/Serialization/ASTReader.cpp

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

This patch fixes:

  clang/lib/Serialization/ASTReader.cpp:9978:27: error: lambda capture
  'this' is not used [-Werror,-Wunused-lambda-capture]


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

  Changed paths:
    M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp

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


  Commit: 5def27c72c1f3e5be6770218fa45a615c411d5b1
      https://github.com/llvm/llvm-project/commit/5def27c72c1f3e5be6770218fa45a615c411d5b1
  Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h

  Log Message:
  -----------
  [AMDGPU] Remove "amdgpu-enable-structurizer-workarounds" flag (#105819)


  Commit: 4d348f72d3ac4289821f944a99cdb4b6af21aa7b
      https://github.com/llvm/llvm-project/commit/4d348f72d3ac4289821f944a99cdb4b6af21aa7b
  Author: KaiWeng <kaiweng at andestech.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
    A llvm/test/CodeGen/RISCV/sdata-sections.ll

  Log Message:
  -----------
  [RISCV] Let -data-sections also work on sbss/sdata sections (#87040)

Add an unique suffix to .sbss/.sdata if -fdata-sections.
Without assigning an unique .sbss/.sdata section to each symbols, a
linker may not be able to remove unused part when gc-section since all
used and unused symbols are all mixed in the same .sbss/.sdata section.
I believe this also matches the behavior of gcc.


  Commit: b084111c8e26f96975f505c37d42e992066776f8
      https://github.com/llvm/llvm-project/commit/b084111c8e26f96975f505c37d42e992066776f8
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/test/Transforms/mem2reg.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td

  Log Message:
  -----------
  [mlir][mem2reg] Fix Mem2Reg attempting to promote in graph regions (#104910)

Mem2Reg assumes SSA dependencies but did not check for graph regions.
This fixes it.

---------

Co-authored-by: Christian Ulmann <christianulmann at gmail.com>


  Commit: 2617023923175b0fd2a8cb94ad677c061c01627f
      https://github.com/llvm/llvm-project/commit/2617023923175b0fd2a8cb94ad677c061c01627f
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  [clang][AArch64] Add SME2.1 feature macros (#105657)


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

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

  Log Message:
  -----------
  [NFC] Use stable_hash_combine instead of hash_combine (#105619)

I found the current stable hash is not deterministic across multiple
runs on a specific platform. This is because it uses `hash_combine`
instead of `stable_hash_combine`.


  Commit: f142f8afe21bceb00fb495468aa0b5043e98c419
      https://github.com/llvm/llvm-project/commit/f142f8afe21bceb00fb495468aa0b5043e98c419
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll

  Log Message:
  -----------
  [AMDGPU] Improve uniform argument handling in InstCombineIntrinsic (#105812)

Common up handling of intrinsics that are a no-op on uniform arguments.
This catches a couple of new cases:

readlane (readlane x, y), z -> readlane x, y
(for any z, does not have to equal y).

permlane64 (readfirstlane x) -> readfirstlane x
(and likewise for any other uniform argument to permlane64).


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/getelementptr.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/loadorder.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/multiple_reduction.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/shuffle-vectors-mask-size.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/tsc-s116.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/combined-loads-stored.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/pr34619.ll
    M llvm/test/Transforms/SLPVectorizer/X86/addsub.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-many-users-buildvector.ll
    M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
    M llvm/test/Transforms/SLPVectorizer/X86/inst_size_bug.ll
    M llvm/test/Transforms/SLPVectorizer/X86/landing_pad.ll
    M llvm/test/Transforms/SLPVectorizer/X86/phi.ll
    M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark-partial-loads-vectorize.ll
    M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
    M llvm/test/Transforms/SLPVectorizer/X86/schedule_budget_debug_info.ll
    M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
    M llvm/test/Transforms/SLPVectorizer/X86/tiny-tree.ll
    M llvm/test/Transforms/SLPVectorizer/X86/vect-gather-same-nodes.ll

  Log Message:
  -----------
  [SLP]Improve/fix subvectors in gather/buildvector nodes handling

SLP vectorizer has an estimation for gather/buildvector nodes, which
contain some scalar loads. SLP vectorizer performs pretty similar (but
large in SLOCs) estimation, which not always correct. Instead, this
patch implements clustering analysis and actual node allocation with the
full analysis for the vectorized clustered scalars (not only loads, but
also some other instructions) with the correct cost estimation and
vector insert instructions. Improves overall vectorization quality and
simplifies analysis/estimations.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 002ba17094e8e60c5eb602938637ac97dbf280ed
      https://github.com/llvm/llvm-project/commit/002ba17094e8e60c5eb602938637ac97dbf280ed
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

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

  Log Message:
  -----------
  [RISCV][MC] Name the vector tuple registers. NFC (#102726)

Currently vector tuple registers don't have the specified names, the
default name is, for example: `VRN3M2` -> `V8M2_V10M2_V12M2`, however
it's equivalent to `v8` in the assembly.


  Commit: e3ce979f1b3ac1e7f2d0261d3abffbd12064eae6
      https://github.com/llvm/llvm-project/commit/e3ce979f1b3ac1e7f2d0261d3abffbd12064eae6
  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/Driver/Options.td
    M clang/test/Parser/parser_overflow.c

  Log Message:
  -----------
  Revert "[clang] Increase the default expression nesting limit (#104717)"

This reverts commit 7597e0930638e0a20ca9bfc193a3d89575ce4469.

It caused several buildbot failures due to stack overflows with the
parser test.


  Commit: 67a9093a473c851f1fe60d746354023dd6f39337
      https://github.com/llvm/llvm-project/commit/67a9093a473c851f1fe60d746354023dd6f39337
  Author: cceerczw <chengzhiwei6 at huawei.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-inst-combine-cmpne.ll

  Log Message:
  -----------
  [instCombine][bugfix] Fix crash caused by using of cast in instCombineSVECmpNE (#102472)


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll

  Log Message:
  -----------
  [SLP]Fix a crash for the strided nodes with reversed order and externally used pointer.

If the strided node is reversed, need to cehck for the last instruction,
not the first one in the list of scalars, when checking if the root
pointer must be extracted.


  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: 2d37e48e2439f70ed394bcca5c065ca2c8f5ae94
      https://github.com/llvm/llvm-project/commit/2d37e48e2439f70ed394bcca5c065ca2c8f5ae94
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Linux/allocator_oom_test.cpp
    M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
    M compiler-rt/test/fuzzer/merge-posix.test
    M compiler-rt/test/fuzzer/ulimit.test
    M compiler-rt/test/hwasan/TestCases/print-memory-usage.c
    M compiler-rt/test/msan/Linux/reexec_unlimited_stack.cpp

  Log Message:
  -----------
  [compiler-rt][test] Add REQUIRES: shell in tests that use the `ulimit` command (#105339)

This patch adds the `REQUIRES: shell` directive to six test files that
use the `ulimit` command, ensuring these tests are only run in
environments where a full POSIX-compliant shell is available. The lit
internal shell does not use or support the `ulimit` command, which
causes failures when running tests with `LIT_USE_INTERNAL_SHELL=1 ninja
check-compiler-rt`
Specifically, one of the errors encountered is: 
```
# RUN: at line 4
ulimit -s 1000
# executed command: ulimit -s 1000
# .---command stderr------------
# | 'ulimit': command not found
# `-----------------------------
# error: command failed with exit status: 127
```
Since, the lit internal shell doesn't support `ulimit`, adding this
requirement prevents these tests from failing in the lit internal shell,
thereby improving the reliability of the test suite in environments
where the full shell is not available.

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


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

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/arm64ec-cust-export-thunk.s

  Log Message:
  -----------
  [LLD][COFF] Generate redirection metadata for custom ARM64EC export thunks. (#105901)

This allows using custom export thunks instead of default generated
ones. This is useful for performance in cases where transferring between
JIT and ARM64EC code is more expensive than just emulating the whole
function (but it's still useful to have ARM64EC version so that ARM64EC
callers don't call into the emulator). It's also useful for compatibility,
where applications have specific expectations about function contents
(like syscall functions).


  Commit: bfc7540e15e29ba5e73cdeb22a825138f1be609a
      https://github.com/llvm/llvm-project/commit/bfc7540e15e29ba5e73cdeb22a825138f1be609a
  Author: Michael Jones <michaelrj at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M libc/test/src/stdio/vfscanf_test.cpp

  Log Message:
  -----------
  [libc] Fix file collision causing test flake (#106119)

In patch #105293 tests for vfscanf were added, meant to be identical to
the fscanf tests. Unfortunately, the author forgot to rename the target
file causing an occasional test flake where one test writes to the file
while the other is trying to read it. This patch fixes the issue by
renaming the target test file for the vfscanf test.


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

  Changed paths:
    M llvm/test/CodeGen/SPIRV/debug-info/basic-global-di.ll

  Log Message:
  -----------
  [SPIRV][test] Make debug info test robust to unix/windows differences (#105965)

I don't know if this is the right thing to do or if the emitter should
be normalizing path separators, but this gets this test to pass on
windows where `sys::path::append` will use "\" instead of "/".

This is another follow up to #97558, as #105889 managed to fix the
build, but not all of the tests.


  Commit: 34dee0a96105d6aeb8b386efbbbfe437ab1be02e
      https://github.com/llvm/llvm-project/commit/34dee0a96105d6aeb8b386efbbbfe437ab1be02e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ADT/STLFunctionalExtras.h
    M llvm/include/llvm/TableGen/TableGenBackend.h
    M llvm/lib/TableGen/Main.cpp
    M llvm/lib/TableGen/TableGenBackend.cpp
    M llvm/unittests/ADT/FunctionRefTest.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/TableGen.cpp

  Log Message:
  -----------
  [TableGen] Allow emitter callbacks to use `const RecordKeeper &` (#104716)

- Refactor TableGen backend options to allow specifying a callback
  function that takes either a const reference or a non-const reference
  to `RecordKeeper`. This will enable gradual migration of code to use
  const references and pointers to `RecordKeeper` and  `Record` in the
  TableGen backends. 

- Refactor handling of the callback command line options. Move variable
  for the command line option from the header to the CPP file, and add a
  function `ApplyCallback` to apply the selected callback.

- Change callbacks in TableGen.cpp to take const reference. They use the
  `Opt` class to register their callbacks.

- Change IntrinsicEmitter to use the `OptClass` to define its callbacks.
  It already uses a const reference in the implementation.


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

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/IR/Attributes.td
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/test/Bitcode/attributes.ll
    M llvm/test/Bitcode/compatibility.ll
    A llvm/test/Verifier/rtsan-attrs.ll

  Log Message:
  -----------
  [LLVM][rtsan] Add LLVM nosanitize_realtime attribute (#105447)


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

  Changed paths:
    M lld/COFF/InputFiles.cpp
    M lld/test/COFF/delayimports-error.test
    M lld/test/COFF/duplicate.test
    M lld/test/COFF/implib-machine.s

  Log Message:
  -----------
  [LLD][COFF] Use parentName for import files in toString. (#106104)

Improves diagnostic messages.


  Commit: 7945435f46c4b0a9fd08c6d76eee8ea8f5e37bca
      https://github.com/llvm/llvm-project/commit/7945435f46c4b0a9fd08c6d76eee8ea8f5e37bca
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/CodeGenCXX/always_destroy.cpp
    M clang/test/CodeGenCXX/attr-no-destroy-d54344.cpp
    A clang/test/Driver/cxx-static-destructors.cpp
    M clang/test/SemaCXX/no_destroy.cpp

  Log Message:
  -----------
  [clang] Add support for omitting only global destructors (#104899)

For mobile applications, it's common for global destructors to never be
called (because the applications have their own lifecycle independent of
the standard C runtime), but threads are created and destroyed as normal
and so thread-local destructors are still called. -fno-static-c++-destructors
omits unnecessary global destructors, which is useful for code size, but
it also omits thread-local destructors, which is unsuitable. Add a
ternary `-fc++-static-destructors={all,none,thread-local}` option
instead to allow omitting only global destructors.


  Commit: f05145cd31e92c73301e308a6e13c581af3076ce
      https://github.com/llvm/llvm-project/commit/f05145cd31e92c73301e308a6e13c581af3076ce
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/docs/Statepoints.rst

  Log Message:
  -----------
  [docs] Modernize statepoint documentation

Update syntax (opaque pointers, elementype, gc-live), and remove a couple
of misleading examples.


  Commit: e8b93ce2c61bb25fb9989a61173773be51fec2e7
      https://github.com/llvm/llvm-project/commit/e8b93ce2c61bb25fb9989a61173773be51fec2e7
  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 LandingPadInst (#106116)

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


  Commit: 2e0583ef8b92fe9c0a5e7e903c9d78bbc4a9a5b7
      https://github.com/llvm/llvm-project/commit/2e0583ef8b92fe9c0a5e7e903c9d78bbc4a9a5b7
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fptosi.mir

  Log Message:
  -----------
  [AMDGPU][CodeGen][NFC] update a mir test file with latest update_mir_test_check script (#106073)

Run latest update_mir_test_checks.py and update one codeGen test file

This is to clean up the mir test files diff generated by python script
version update


  Commit: c821cc3f8824e29ba1861fb1de43e90543928498
      https://github.com/llvm/llvm-project/commit/c821cc3f8824e29ba1861fb1de43e90543928498
  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/SemaExpr.cpp
    M clang/test/AST/ByteCode/new-delete.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  [Clang] Correctly finds subexpressions of immediate invocations (#106055)

We were not correctly ignoring implicit casts.

Fixes #105558


  Commit: a959d70eb5b6d47c0b32eb34fc409e50c01d722d
      https://github.com/llvm/llvm-project/commit/a959d70eb5b6d47c0b32eb34fc409e50c01d722d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    R llvm/test/CodeGen/MLRegAlloc/lit.local.cfg
    R llvm/test/Transforms/Inline/ML/lit.local.cfg

  Log Message:
  -----------
  [MLGO] Remove Python <3.8 from unsupported config (#106132)

Now that Python 3.8 is the minimum version supported by LLVM, we don't
need to explicitly check that the python version we are using is greater
than 3.8 in the MLGO tests.


  Commit: 70ffcfe94a60ad4b2d9ae9a27d199119c7ce6a9f
      https://github.com/llvm/llvm-project/commit/70ffcfe94a60ad4b2d9ae9a27d199119c7ce6a9f
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

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

  Log Message:
  -----------
  [SPIRV] Fix build after change in transitive includes (#106140)

An unordered_set include was removed from a header in 04ebd1907c05
"[MC][NFC] Statically allocate storage for decoded pseudo probes and
function records (#102789)", but SPIRVEmitIntrinsics was getting the
definition from that transitive include. Fix the build by including the
header explicitly.


  Commit: 824cffe152046a24ec660f524a27124fefbbad15
      https://github.com/llvm/llvm-project/commit/824cffe152046a24ec660f524a27124fefbbad15
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/Statepoint.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp

  Log Message:
  -----------
  [GC] Rename gc_args to gc_live [nfc]

Better reflect the recent history of the code, and improve readability
for when I have to glance back at this to answer a question.


  Commit: 7134d2e9ac36c833bb9ed90363def74fd84f7d13
      https://github.com/llvm/llvm-project/commit/7134d2e9ac36c833bb9ed90363def74fd84f7d13
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
    M llvm/test/Transforms/InstCombine/memchr-7.ll

  Log Message:
  -----------
  [SimplifyLibCalls] Fix memchr misoptimization (#106121)

The `ch` argument of memcmp should be truncated to `unsigned char`
before using it in comparisons. This didn't happen on all code paths.
The following program miscompiled at -O1 and higher:

```C++
#include <cstring>
#include <iostream>

char ch = '\x81';

int main() {
    bool found = std::strchr("\x80\x81\x82", ch) != nullptr;
    std::cout << std::boolalpha << found << '\n';
}
```


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

  Changed paths:
    M libcxx/cmake/caches/Generic-hardening-mode-fast-with-abi-breaks.cmake
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libc++] Fix CMake cache for the hardening with ABI breaks CI (#105864)

We were incorrectly only enabling _LIBCPP_ABI_BOUNDED_ITERATORS, without
enabling bounded iterators in string and vector.


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

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

  Log Message:
  -----------
  [libc++] Fix bounded iterator hardening mode in C++03 mode


  Commit: 2a5ac9d9aff91406b0c58629df3a4e4dce87738c
      https://github.com/llvm/llvm-project/commit/2a5ac9d9aff91406b0c58629df3a4e4dce87738c
  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

  Log Message:
  -----------
  [SandboxIR] Implement FreezeInst (#106133)

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


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

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

  Log Message:
  -----------
  [libc++] Avoid including <__config> directly in the test suite (#106080)

Fixes #105878


  Commit: 3b0a1ecb99b59fbcc2e587771a6820edd454d10e
      https://github.com/llvm/llvm-project/commit/3b0a1ecb99b59fbcc2e587771a6820edd454d10e
  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/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement PossiblyDisjointInst (#106148)

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


  Commit: 31204b472eccdc59f7aa16f9a539deeb431f6177
      https://github.com/llvm/llvm-project/commit/31204b472eccdc59f7aa16f9a539deeb431f6177
  Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Make comment compatible with gcc (#106137)

gcc interprets a backslash '\\' as the last char before a new line as a
line continuation character, even in a comment context. This can produce
an "error: multi-line comment [-Werror=comment]".

This PR adds delimiters so that the comment can compile with gcc.


  Commit: af4a82e46ebfb672e17b02ac83f7a4e374b8e4de
      https://github.com/llvm/llvm-project/commit/af4a82e46ebfb672e17b02ac83f7a4e374b8e4de
  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/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement PossiblyNonNegInst (#106149)

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


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

  Changed paths:
    A mlir/include/mlir/Bindings/Python/IRTypes.h
    M mlir/lib/Bindings/Python/IRTypes.cpp

  Log Message:
  -----------
  [mlir][Python] Make `PyShapedType` public (#106105)

Make `PyShapedType` public, so that downstream projects can define types
that implement the `ShapedType` type interface in Python.


  Commit: 9007864f72d07ee26d710fc10b1f918c628affa0
      https://github.com/llvm/llvm-project/commit/9007864f72d07ee26d710fc10b1f918c628affa0
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/out-of-process-fuzz.test

  Log Message:
  -----------
  [compiler-rt][tests] Fix env command not found errors with lit internal shell (#105879)

This patch addresses an issue where the `LIBFUZZER_OOP_TARGET`
environment variable was causing "command not found" errors in the
`out-of-process-fuzz` test when running with the
`LIT_USE_INTERNAL_SHELL=1 ninja check-compiler-rt` command.
Error displayed:
```
# .---command stderr------------
# | 'LIBFUZZER_OOP_TARGET=./oop-target > /dev/null 2>&1 ': command not found
# `-----------------------------
# error: command failed with exit status: 127
```
The lit internal shell was not correctly interpreting the command
redirection and environment variable assignment in a single line,
leading to the failure.

In this patch the test was updated to use `env` for setting the
`LIBFUZZER_OOP_TARGET` environment variable. This change ensures that
the command is properly recognized and executed within the internal
shell environment. The output of the fuzzing process was captured in a
temporary file instead of redirecting it directly to `/dev/null`,
allowing for more controlled output management. Finally, the results
from running `oop-target` on all corpus files are now appended to ensure
that every output is thoroughly checked by FileCheck. The `RUN` line
sets the `LIBFUZZER_OOP_TARGET` using `env`, runs the `oop-fuzzer` with
specific options and uses the seed files from `OOP_CORPUS/seed` to
initiate the fuzzing process.

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)


  Commit: 7f04a8ad131881b5a58b97c8191733ed42d18e20
      https://github.com/llvm/llvm-project/commit/7f04a8ad131881b5a58b97c8191733ed42d18e20
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir

  Log Message:
  -----------
  [mlir][func][bufferization] Fix cast incompatible when bufferize callOp (#105929)

Handle caller/callee type mismatch using `castOrReallocMemRefValue`
instead of just a `CastOp`. The method insert a reallocation + copy if
it cannot be statically guaranteed that a direct cast would be valid.
Fix #105916.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll

  Log Message:
  -----------
  [RISCV] Use XLenVT as LocVT for f16/f32/f164 with Zfinx in CC_RISCV_FastCC.

This is need to make sure we create FMV_X_W/FMV_X_H/bitcast nodes
that match up with what return lowering will do.


  Commit: c3776c11c26e5c0e27b772e6694e6c76f73ac9e8
      https://github.com/llvm/llvm-project/commit/c3776c11c26e5c0e27b772e6694e6c76f73ac9e8
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    A llvm/test/CodeGen/MLRegAlloc/lit.local.cfg
    A llvm/test/Transforms/Inline/ML/lit.local.cfg

  Log Message:
  -----------
  Revert "[MLGO] Remove Python <3.8 from unsupported config (#106132)"

This reverts commit a959d70eb5b6d47c0b32eb34fc409e50c01d722d.

This was causing bot failures.

https://lab.llvm.org/buildbot/#/builders/174/builds/3975


  Commit: 58eec851cb47b298d47ad25ff7911150aed65564
      https://github.com/llvm/llvm-project/commit/58eec851cb47b298d47ad25ff7911150aed65564
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/lib/Target/DirectX/DXILResource.cpp
    M llvm/lib/Target/DirectX/DXILResource.h
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp

  Log Message:
  -----------
  [DirectX] Move resource logic into PrettyPrinter and TranslateMetadata. NFC

Move the module level logic for resources into the pretty printer and translate
metadata passes rather than embedding them in the DXILResource helper. This
will make it easier to migrate towards the target extension type based approach
to resources.

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


  Commit: 4b3f1473bc25c089c52fd2ba90883bcc52d69330
      https://github.com/llvm/llvm-project/commit/4b3f1473bc25c089c52fd2ba90883bcc52d69330
  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] Add missing calloc unit test (#106159)


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

  Changed paths:
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/DetailedRecordsBackend.cpp
    M llvm/lib/TableGen/JSONBackend.cpp

  Log Message:
  -----------
  [NFC][TableGen] Refactor JSON and detailed record emitter (#105770)

- Fix JSON and detailed record emitters to use const reference and pointers.
- Fix code to use C++ structured bindings and range-based loops, including reverse() range for locations.
- Eliminate `NL` define for "\n".
- Change JSON emitter to populate `instance_list` in an earlier loop over superclasses instead of a separate loop.
- Rename variables in JSON emitter to conform to LLVM naming conventions.
- Eliminate unused headers in detailed record emitter.


  Commit: 79154a967461be37f900dc47687560056bf5c068
      https://github.com/llvm/llvm-project/commit/79154a967461be37f900dc47687560056bf5c068
  Author: Ian Anderson <iana at apple.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [docs] Document the missing availability platforms and environments (#104653)

Update the availability attribute documentation to include all of the
missing platforms, and add in the environments.


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

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Target/DirectX/DXILMetadata.cpp
    M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll

  Log Message:
  -----------
  [DirectX] Implement metadata lowering for resources

Generate metadata from target extension type based resources.

Part of #91366

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


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

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

  Log Message:
  -----------
  [RISCV] Don't check hasStdExtZfh and hasStdExtZfhmin. NFC

hasStdExtZfh implies hasStdExtZfhmin so it is sufficient to check
only hasStdExtZfhmin.

Similar for Zhinx and Zhinxmin.


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/long-mask-split.ll

  Log Message:
  -----------
  [RISCV][TTI]Fix the cost estimation for long select shuffle.

The code was broken completely. Need to iterate over the whole mask and
process the submasks correctly, check if they form full indentity and
adjust indices correctly.

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


  Commit: 87157ab0f672a4755d231494b2162939811a014f
      https://github.com/llvm/llvm-project/commit/87157ab0f672a4755d231494b2162939811a014f
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DXILResource.h
    M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
    M llvm/test/CodeGen/DirectX/CreateHandle.ll
    M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll

  Log Message:
  -----------
  [DirectX] Add resource handling to the DXIL pretty printer

Handle target extension type resources when printing resources to textual IR.

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


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

  Changed paths:
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/test/SemaTemplate/alias-template-with-lambdas.cpp

  Log Message:
  -----------
  [Clang][Sema] Revisit the fix for the lambda within a type alias template decl (#89934)

In the last patch #82310, we used template depths to tell if such alias
decls contain lambdas, which is wrong because the lambda can also appear
as a part of the default argument, and that would make
`getTemplateInstantiationArgs` provide extra template arguments in
undesired contexts. This leads to issue #89853.

Moreover, our approach
for https://github.com/llvm/llvm-project/issues/82104 was sadly wrong.
We tried to teach `DeduceReturnType` to consider alias template
arguments; however, giving these arguments in the context where they
should have been substituted in a `TransformCallExpr` call is never
correct.

This patch addresses such problems by using a `RecursiveASTVisitor` to
check if the lambda is contained by an alias `Decl`, as well as
twiddling the lambda dependencies - we should also build a dependent
lambda expression if the surrounding alias template arguments were
dependent.

Fixes #89853
Fixes #102760
Fixes #105885


  Commit: 8e901c255df45e38cb1d69a576804029e20868bf
      https://github.com/llvm/llvm-project/commit/8e901c255df45e38cb1d69a576804029e20868bf
  Author: Kai Luo <gluokai at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/CMakeLists.txt
    R llvm/lib/Target/PowerPC/PPCExpandISEL.cpp
    M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
    M llvm/test/CodeGen/PowerPC/O0-pipeline.ll
    M llvm/test/CodeGen/PowerPC/O3-pipeline.ll
    M llvm/test/CodeGen/PowerPC/crbit-asm.ll
    M llvm/test/CodeGen/PowerPC/crbits.ll
    M llvm/test/CodeGen/PowerPC/expand-contiguous-isel.ll
    M llvm/test/CodeGen/PowerPC/expand-foldable-isel.ll
    R llvm/test/CodeGen/PowerPC/expand-isel-1.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-10.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-2.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-3.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-4.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-5.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-6.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-7.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-8.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-9.mir
    R llvm/test/CodeGen/PowerPC/expand-isel-liveness.mir
    M llvm/test/CodeGen/PowerPC/expand-isel.ll
    M llvm/test/CodeGen/PowerPC/fold-zero.ll
    M llvm/test/CodeGen/PowerPC/i1-ext-fold.ll
    M llvm/test/CodeGen/PowerPC/i64_fp_round.ll
    M llvm/test/CodeGen/PowerPC/ifcvt.ll
    M llvm/test/CodeGen/PowerPC/isel.ll
    M llvm/test/CodeGen/PowerPC/optcmp.ll
    M llvm/test/CodeGen/PowerPC/p8-isel-sched.ll
    M llvm/test/CodeGen/PowerPC/ppc-crbits-onoff.ll
    M llvm/test/CodeGen/PowerPC/remove-implicit-use.mir
    M llvm/test/CodeGen/PowerPC/select-i1-vs-i1.ll
    M llvm/test/CodeGen/PowerPC/subreg-postra-2.ll
    M llvm/test/CodeGen/PowerPC/subreg-postra.ll

  Log Message:
  -----------
  [PowerPC] Retire PPCExpandISel pass (#84289)

We can decide whether to expand isel or not in instruction selection
pass and early-if-conversion pass. The transformation implemented in
PPCExpandISel can be retired considering PPC backend doesn't generate
`isel` instructions post-RA.
Also if we are seeking performant branch-or-isel decision, we can turn
to selectoptimize pass.

---------

Co-authored-by: Kai Luo <lkail at cn.ibm.com>


  Commit: 085587e1a9cdf1625efca61153a7dfe30946a6ce
      https://github.com/llvm/llvm-project/commit/085587e1a9cdf1625efca61153a7dfe30946a6ce
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/MLRegAlloc/Inputs/interactive_main.py
    R llvm/test/CodeGen/MLRegAlloc/lit.local.cfg
    R llvm/test/Transforms/Inline/ML/lit.local.cfg

  Log Message:
  -----------
  Reland "[MLGO] Remove Python <3.8 from unsupported config (#106132)"

This reverts commit c3776c11c26e5c0e27b772e6694e6c76f73ac9e8.

This relands commit a959d70eb5b6d47c0b32eb34fc409e50c01d722d.

This was originally causing bot failures on Python version 3.8.
This relanding fixes that by adjusting the relevant type annotations
that are not supported in earlier versions.


  Commit: 1200d35e0b1bd33cf6b06c185384f78226b619ae
      https://github.com/llvm/llvm-project/commit/1200d35e0b1bd33cf6b06c185384f78226b619ae
  Author: Yuxuan Chen <ych at fb.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/lib/IR/AttributeImpl.h

  Log Message:
  -----------
  [IR] Bump AttributeBitSet width to 16 bytes (#106138)


  Commit: b01c006f734a0977a4fd9c7f1a706c8230663739
      https://github.com/llvm/llvm-project/commit/b01c006f734a0977a4fd9c7f1a706c8230663739
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/ARC/ARCInstrInfo.cpp
    M llvm/lib/Target/ARC/ARCInstrInfo.h
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
    M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb1InstrInfo.h
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.h
    M llvm/lib/Target/AVR/AVRInstrInfo.cpp
    M llvm/lib/Target/AVR/AVRInstrInfo.h
    M llvm/lib/Target/BPF/BPFInstrInfo.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.h
    M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfo.h
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
    M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
    M llvm/lib/Target/Lanai/LanaiInstrInfo.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
    M llvm/lib/Target/MSP430/MSP430InstrInfo.h
    M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
    M llvm/lib/Target/Mips/Mips16InstrInfo.h
    M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsSEInstrInfo.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
    M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
    M llvm/lib/Target/Sparc/SparcInstrInfo.h
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
    M llvm/lib/Target/VE/VEInstrInfo.cpp
    M llvm/lib/Target/VE/VEInstrInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86InstrInfo.h
    M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
    M llvm/lib/Target/XCore/XCoreInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    A llvm/test/CodeGen/RISCV/renamable-copy.mir

  Log Message:
  -----------
  [TII][RISCV] Add renamable bit to copyPhysReg (#91179)

The renamable flag is useful during MachineCopyPropagation but renamable
flag will be dropped after lowerCopy in some case.

This patch introduces extra arguments to pass the renamable flag to
copyPhysReg.


  Commit: 38c3855c9f7d2bc9a509f05b504ee582d271a991
      https://github.com/llvm/llvm-project/commit/38c3855c9f7d2bc9a509f05b504ee582d271a991
  Author: Kyungwoo Lee <kyulee at meta.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
    M llvm/unittests/CodeGen/MachineDomTreeUpdaterTest.cpp
    M llvm/unittests/MI/LiveIntervalTest.cpp
    M llvm/unittests/MIR/MachineMetadata.cpp
    M llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp

  Log Message:
  -----------
  [NFC] Remove unused argument (FuncName) for parseMIR (#106144)

While working on a MIR unittest, I noticed that parseMIR includes an
unused argument that sets a function name. This is not only redundant
but also irrelevant, as parseMIR is designed to parse entire module, not
specific functions, even though most unittests contain a single function
per module. To streamline the API, I have removed this unnecessary
argument from parseMIR. However, if this argument was originally
included to enhance readability or for any other purpose, please let me
know.


  Commit: c8cac33ad23acc671a0a7390a5254b9f6e848138
      https://github.com/llvm/llvm-project/commit/c8cac33ad23acc671a0a7390a5254b9f6e848138
  Author: PhrygianGates <69254262+PhrygianGates at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/python/mlir/runtime/np_to_memref.py
    M mlir/test/python/execution_engine.py

  Log Message:
  -----------
  [MLIR][Python] add f8E5M2 and tests for np_to_memref (#106028)

add f8E5M2 and tests for np_to_memref

---------

Co-authored-by: Zhicheng Xiong <zhichengx at dc2-sim-c01-215.nvidia.com>


  Commit: ce2b488e90d6d5a5c8fe495ede8238938827da39
      https://github.com/llvm/llvm-project/commit/ce2b488e90d6d5a5c8fe495ede8238938827da39
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Support/ThreadLocalCache.h

  Log Message:
  -----------
  [mlir] ThreadLocalCache: make TSAN happy about destructors (#106170)

TSAN warns that `ptr` is read and write without protection in
`clearExpiredEntries` and in the destructor of `Owner`. Add an atomic
bool to synchronize these without incurring a cost when calling `get`.


  Commit: 1990d8de339ebc1da4be3c978161828d93ffb7bc
      https://github.com/llvm/llvm-project/commit/1990d8de339ebc1da4be3c978161828d93ffb7bc
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M llvm/utils/lit/lit/TestRunner.py
    A llvm/utils/lit/tests/Inputs/shtest-export/export-too-many-args.txt
    A llvm/utils/lit/tests/Inputs/shtest-export/lit.cfg
    A llvm/utils/lit/tests/shtest-export.py

  Log Message:
  -----------
  [llvm-lit][test] Resolved typo in raising InternalShellError for export command in lit's internal shell (#105961)

This patch fixes the incorrect usage of lit's built-in `export` command.
There is a typo in raising the error itself where the error being raised
had the wrong number of parameters passed in.

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


  Commit: 952b13362d4af238b22444cc27844c0ac8c09047
      https://github.com/llvm/llvm-project/commit/952b13362d4af238b22444cc27844c0ac8c09047
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M clang/test/Driver/offload-packager.c
    M compiler-rt/test/hwasan/TestCases/hwasan_symbolize.cpp

  Log Message:
  -----------
  [clang][compiler-rt][test] Removed dirname command substitutions from tests (#105754)

This patch rewrites tests in clang and compiler-rt that uses bash
command substitution syntax $() to execute the dirname command. This is
done so that the tests can be run using lit's internal shell.

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


  Commit: d28c0fb186dad157daf00a8a43a34daa49593cda
      https://github.com/llvm/llvm-project/commit/d28c0fb186dad157daf00a8a43a34daa49593cda
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/test/ubsan/TestCases/TypeCheck/vptr.cpp

  Log Message:
  -----------
  [compiler-rt][tests] Removed the use of parentheses in compiler-rt tests with lit internal shell (#105729)

This patch addresses compatibility issues with the lit internal shell by
removing the use of subshell execution (parentheses and subshell syntax)
in the `merge-posix.test` and `vptr.cpp` tests. The lit internal shell
does not support parentheses, so the tests have been refactored to use
separate command invocations.

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: 823e94299875e040dfde62776297333033f83dd2
      https://github.com/llvm/llvm-project/commit/823e94299875e040dfde62776297333033f83dd2
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/test/profile/Linux/counter_promo_for.c
    M compiler-rt/test/profile/Linux/counter_promo_nest.c
    M compiler-rt/test/profile/Linux/counter_promo_while.c
    M compiler-rt/test/profile/Linux/instrprof-debug-info-correlate.c

  Log Message:
  -----------
  [compiler-rt][test] Expand and Rewrite Tests for lit Internal Shell Compatibility (#106115)

This patch addresses compatibility issues with the lit internal shell by
expanding and rewriting test scripts in the compiler-rt subproject.
These changes were prompted by the FileNotFound unresolved errors
encountered during the testing process, specifically when running the
command `LIT_USE_INTERNAL_SHELL=1 ninja check compiler-rt`.

**Why the error occurred:**
The error occurred because the original test scripts used process
substitution `(<(...))` in their diff commands. Process substitution
creates temporary files or FIFOs to hold command output, and these are
then passed to `diff`. However, the lit internal shell, which is more
limited than a typical shell like `bash`, does not support process
substitution. When lit tries to execute these commands, it is unable to
create or access the temporary files or FIFOs generated by process
substitution. As a result, lit attempts to open a file or directory that
doesn't exist, leading to the `FileNotFoundError`.

**Changes Made:**

- Instead of using process substitution, the commands now explicitly
redirect the output of `llvm-profdata show` to temporary files before
performing the `diff` comparison. This ensures that the lit internal
shell can correctly find and open these files, resolving the
`FileNotFoundError`.

[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)
fixes: #106111


  Commit: 3b79468c07c772750ec5f022ea1e0379ac48282f
      https://github.com/llvm/llvm-project/commit/3b79468c07c772750ec5f022ea1e0379ac48282f
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-26 (Mon, 26 Aug 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/focus-function.test

  Log Message:
  -----------
  [compiler-rt][test] Add REQUIRES: shell to focus-function.test with for-loop (#106150)

This patch adds `REQUIRES: shell` to the `focus-function.test` because
the lit internal shell does not support the for loop syntax. This will
make the test file unsupported when running llvm-lit with its internal
shell implementation, which is enabled by turning on the
`LIT_USE_INTERNAL_SHELL=1`.

fixes: #106111


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

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

  Log Message:
  -----------
  [RISCV] Merge duplicate switch cases. NFC


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

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

  Log Message:
  -----------
  [RISCV] Custom legalize vXbf16 BUILD_VECTOR without Zfbfmin.

By default, type legalization will try to promote the build_vector,
but that generic type legalizer doesn't support that. Bitcast to
vXi16 instead. Same as what we do for vXf16 without Zfhmin.

Fixes #100846.


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

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Transforms/SCCP/pointer-nonnull.ll

  Log Message:
  -----------
  [SCCP] Propagate non-null pointers (#106090)

Add NotConstant(Null) roots for nonnull arguments and then propagate
them through nuw/inbounds GEPs.

Having this functionality in SCCP is useful because it allows reliably
eliminating null comparisons, independently of how deeply nested they
are in selects/phis. This handles cases that would hit a cutoff in
ValueTracking otherwise.

The implementation is something of a MVP, there are a number of obvious
extensions (e.g. allocas are also non-null).


  Commit: b45527da23ed64a503cc0fd18f63692eb3589748
      https://github.com/llvm/llvm-project/commit/b45527da23ed64a503cc0fd18f63692eb3589748
  Author: Da-Viper <57949090+Da-Viper at users.noreply.github.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp

  Log Message:
  -----------
  [clang-tidy] Add UseUpperCaseLiteralSuffix option to readability-implicit-bool-conversion (#104882)

When readability-implicit-bool-conversion-check and
readability-uppercase-literal-suffix-check is enabled this will cause
you to apply a fix twice

from (!i) -> (i == 0u) to (i == 0U) twice instead will skip the middle
one

Adding this option allows this check to be in sync with readability-uppercase-literal-suffix, avoiding duplicate warnings.

Fixes #40544


  Commit: 57c1e21903d3446073af8c2fb4bbdea00dc7c953
      https://github.com/llvm/llvm-project/commit/57c1e21903d3446073af8c2fb4bbdea00dc7c953
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/code-align-loops.ll

  Log Message:
  -----------
  pre-commit test for #106195 (#106196)


  Commit: 3d1c63ee2c2707be7150d105ead388cb2473a1cf
      https://github.com/llvm/llvm-project/commit/3d1c63ee2c2707be7150d105ead388cb2473a1cf
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll

  Log Message:
  -----------
  [SLP][REVEC] Expand getelementptr into vector form. (#103704)


  Commit: cb9267f055156daabdbab87f4c1ca9064b0e7d7d
      https://github.com/llvm/llvm-project/commit/cb9267f055156daabdbab87f4c1ca9064b0e7d7d
  Author: Hugo Trachino <hugo.trachino at huawei.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/Pipelines/Passes.h
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
    M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp

  Log Message:
  -----------
  [mlir][vector] Rename LowerVectorToLLVM to ConvertVectorToLLVM (NFC) (#104785)

There was some inconsistency with ConvertVectorToLLVM Pass builder,
files and option names.
This patch aims to move all occurences to ConvertVectorToLLVM.


  Commit: 73834f45d8049ca15261284c392211bf5f8e5313
      https://github.com/llvm/llvm-project/commit/73834f45d8049ca15261284c392211bf5f8e5313
  Author: Konrad Krawiec <konrad at krawiec.cc>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    A llvm/test/CodeGen/SPIRV/opencl/vload_halfn.ll

  Log Message:
  -----------
  [SPIR-V] Fix vload_half builtin argument count (#105585)

OpenCL's vload_half builtin expects two arguments, but the current
TableGen definition expects three.
This change fixes the mismatch and adds a test to check this.


  Commit: 0caa909a3c7cd8edaa69f952fc622cfc4e5974a0
      https://github.com/llvm/llvm-project/commit/0caa909a3c7cd8edaa69f952fc622cfc4e5974a0
  Author: David Sherwood <david.sherwood at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [Analysis][NFC] Use SmallVectorImpl consistently in ScalarEvolution (#105663)

Use SmallVectorImpl instead of SmallVector for function arguments
to give the caller greater flexibility in choice of initial size.


  Commit: 8f6864e1602705afbc3087bb3f07bb75252592a2
      https://github.com/llvm/llvm-project/commit/8f6864e1602705afbc3087bb3f07bb75252592a2
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 5f6172f0684b


  Commit: 27ec4649e71a346823f864deb35af4e37a875085
      https://github.com/llvm/llvm-project/commit/27ec4649e71a346823f864deb35af4e37a875085
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 7bc9d95b7e5a


  Commit: 1deae203259aadf3014a675d35b968c213802a1c
      https://github.com/llvm/llvm-project/commit/1deae203259aadf3014a675d35b968c213802a1c
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 89c27d6b07dd


  Commit: df00828d5c961c1dfc6c9820fe9cb2e6ea3c1359
      https://github.com/llvm/llvm-project/commit/df00828d5c961c1dfc6c9820fe9cb2e6ea3c1359
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 8e901c255df4


  Commit: 9a4bf2c629e5670b7da7044e05d355728f3ec1c9
      https://github.com/llvm/llvm-project/commit/9a4bf2c629e5670b7da7044e05d355728f3ec1c9
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

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


  Commit: 4b7f07a0e3c7537aeef1774242d9328bee1adf1a
      https://github.com/llvm/llvm-project/commit/4b7f07a0e3c7537aeef1774242d9328bee1adf1a
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn

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


  Commit: d4f97da13218bf5d21b3aebb358e8799b3cdae73
      https://github.com/llvm/llvm-project/commit/d4f97da13218bf5d21b3aebb358e8799b3cdae73
  Author: Jianjian Guan <jacquesguan at me.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/docs/Dialects/emitc.md
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Target/Cpp/const.mlir
    M mlir/test/Target/Cpp/types.mlir

  Log Message:
  -----------
  [mlir] Support emit fp16 and bf16 type to cpp (#105803)


  Commit: 0ea0ecd64f54e307670b860b309d2e869c1de3d1
      https://github.com/llvm/llvm-project/commit/0ea0ecd64f54e307670b860b309d2e869c1de3d1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    A flang/test/Driver/mmlir-opts-vs-opts.f90

  Log Message:
  -----------
  [flang][driver] apply mlir pass options immediately after lowering (#106099)

The verification pass is run right after lowering with its own pass
manager by flang driver, but the mlir command line options were not
applied to this pass manager.

This prevented options like `-mmlir
--mlir-pass-pipeline-crash-reproducer="crash.fir"` or `-mmlir
--mlir-print-ir-after-failure` to work when a verifier error was hit
right after lowering, while these options are useful to
investigate/reproduce internal errors.

Note that the change in the pipeline tests is not showing a new pass
being run: the pass was already run, but `-mmlir --mlir-pass-statistics`
was not applied when the initial verification pass was run.

Note that when we deal with compiler performance, we will probably want
to run the verification pass only once after the initial lowering (this
patch shows that it is called twice in a raw: once after the initial
lowering, once at the beginning of FIR to LLVM IR lowering).


  Commit: fac484ccc60d148b1893bfae843c6c416a57a870
      https://github.com/llvm/llvm-project/commit/fac484ccc60d148b1893bfae843c6c416a57a870
  Author: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/tools/clang-format/clang-format-diff.py

  Log Message:
  -----------
  [clang-format-diff.py][NFC] Document _stderr as unused

The stderr in the result tuple is always None and unused in this
context.

Document it with an underscore.


  Commit: 1e153461c66bf517097168790cdcb9418af6b623
      https://github.com/llvm/llvm-project/commit/1e153461c66bf517097168790cdcb9418af6b623
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    A llvm/test/CodeGen/Mips/fp-fcanonicalize.ll

  Log Message:
  -----------
  MIPS: Add fcanonicalize for pre-R6 (#104554)

MIPSr6 has max.s/max.d/min.s/min.d instructions, which can be used as
fcanonicalize.

For pre-R6, we have no instructions that can fcanonicalize an float, so
let's use `fadd Y,X,X` to quiet it if it is NaN.

IEEE754-2008 requires that the result of general-computational and
quiet-computational operation shouldn't be signal NaN.


  Commit: d07dc73bcfcd4026b956eb08b770ff0c47546b66
      https://github.com/llvm/llvm-project/commit/d07dc73bcfcd4026b956eb08b770ff0c47546b66
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    A flang/test/Integration/debug-cyclic-derived-type.f90
    A flang/test/Transforms/debug-derived-type-1.fir

  Log Message:
  -----------
  [flang][debug] Support derived types. (#99476)

This PR adds initial debug support for derived type. It handles
`RecordType` and generates appropriate `DICompositeTypeAttr`. The
`TypeInfoOp` is used to get information about the parent and location of
the derived type.

We use `getTypeSizeAndAlignment` to get the size and alignment of the
components of the derived types. This function needed a few changes to
be suitable to be used here:

1. The `getTypeSizeAndAlignment` errored out on unsupported type which
would not work with incremental way we are building debug support. A new
variant of this function has been that returns an std::optional. The original
function has been renamed to `getTypeSizeAndAlignmentOrCrash` as it
will call `TODO()` for unsupported types.

2. The Character type was returning size of just element and not the
whole string which has been fixed.

The testcase checks for offsets of the components which had to be
hardcoded in the test. So the testcase is currently enabled on x86_64.

With this PR in place, this is how the debugging of derived types look
like:

```
type :: t_date
    integer :: year, month, day
  end type

  type :: t_address
    integer :: house_number
  end type
  type, extends(t_address) :: t_person
    character(len=20) name
  end type
  type, extends(t_person)  :: t_employee
    type(t_date) :: hired_date
    real :: monthly_salary
  end type
  type(t_employee) :: employee

(gdb) p employee
$1 = ( t_person = ( t_address = ( house_number = 1 ), name = 'John', ' ' <repeats 16 times> ), hired_date = ( year = 2020, month = 1, day = 20 ), monthly_salary = 3.1400001 )
```


  Commit: fbef4c2d31d1e3d1e5f7e285ccccfdf397aeb161
      https://github.com/llvm/llvm-project/commit/fbef4c2d31d1e3d1e5f7e285ccccfdf397aeb161
  Author: Santhosh Kumar Ellendula <quic_sellendu at quicinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/instruction-breakpoint/TestDAP_instruction_breakpoint.py

  Log Message:
  -----------
  [lldb][lldb-dap] Fix for TestDAP_instruction_breakpoint.py test failure on windows. (#106200)

TestDAP_instruction_breakpoint.py failed on windows, so these tests were
skipped for windows build.

---------

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: ca3b9af98c0b119598bc26a9130f468b196d83b3
      https://github.com/llvm/llvm-project/commit/ca3b9af98c0b119598bc26a9130f468b196d83b3
  Author: Dmitrii Galimzianov <dmt021 at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp

  Log Message:
  -----------
  Add logs for SymbolFileDWARF::FindTypes (#106030)

`SymbolFileDWARF::FindTypes` was logged prior to [this
commit](https://github.com/llvm/llvm-project/commit/dd9587795811ba21e6ca6ad52b4531e17e6babd6#diff-edef3a65d5d569bbb75a4158d35b827aa5d42ee03ccd3b0c1d4f354afa12210c).
This is a helpful log message for checking for redundant type searches


  Commit: a2088a24dad31ebe44c93751db17307fdbe1f0e2
      https://github.com/llvm/llvm-project/commit/a2088a24dad31ebe44c93751db17307fdbe1f0e2
  Author: Kiran <kiran.sturt at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding.ll
    M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding2.ll
    M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
    M llvm/test/CodeGen/ARM/fp16-vector-argument.ll
    M llvm/test/CodeGen/ARM/struct_byval.ll
    M llvm/test/CodeGen/ARM/tail-call-float.ll

  Log Message:
  -----------
  [ARM] musttail fixes

Backend:
- Caller and callee arguments no longer have to match, just to take up the same space, as they can be changed before the call
- Allowed tail calls if callee and callee both (or neither) use sret, wheras before it would be dissalowed if either used sret
- Allowed tail calls if byval args are used
- Added debug trace for IsEligibleForTailCallOptimisation

Frontend (clang):
- Do not generate extra alloca if sret is used with musttail, as the space for the sret is allocated already

Change-Id: Ic7f246a7eca43c06874922d642d7dc44bdfc98ec


  Commit: 1a908c6be3317bbbac73e6a6fc52cabefbdebf7d
      https://github.com/llvm/llvm-project/commit/1a908c6be3317bbbac73e6a6fc52cabefbdebf7d
  Author: Kiran <kiran.sturt at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/test/CodeGen/ARM/tail-call-float.ll

  Log Message:
  -----------
  Seperate frontend changes, add debug directives, remove redundant stuff from tests


  Commit: ad468da03815478ceab7c553e651c1a39a479738
      https://github.com/llvm/llvm-project/commit/ad468da03815478ceab7c553e651c1a39a479738
  Author: Kiran <kiran.sturt at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/test/CodeGen/ARM/tail-call-float.ll

  Log Message:
  -----------
  Revert "Seperate frontend changes, add debug directives, remove redundant stuff from tests"

This reverts commit 1a908c6be3317bbbac73e6a6fc52cabefbdebf7d.


  Commit: bc4bedd5ed2c8d9f1a648c72d38e17361aff8a30
      https://github.com/llvm/llvm-project/commit/bc4bedd5ed2c8d9f1a648c72d38e17361aff8a30
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/DIScopeForLLVMFuncOp.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.cpp
    M mlir/lib/Target/LLVMIR/DebugImporter.h
    M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
    M mlir/lib/Target/LLVMIR/DebugTranslation.h
    M mlir/test/CAPI/llvm.c
    M mlir/test/Target/LLVMIR/Import/debug-info.ll
    M mlir/test/Target/LLVMIR/llvmir-debug.mlir

  Log Message:
  -----------
  [mlir][debug] Handle DIImportedEntity. (#103055)

The `DIImporedEntity` can be used to represent imported entities like
C++'s namespace with using directive or fortran's moudule with use
statement.

This PR adds `DIImportedEntityAttr` and 2-way translation from
`DIImportedEntity` to `DIImportedEntityAttr` and vice versa.

When an entity is imported in a function, the `retainedNodes` field of
the `DISubprogram` contains all the imported nodes. See the C++ code and
the LLVM IR below.

```
void test() {
    using namespace n1;
 ...
}

!2 = !DINamespace(name: "n1", scope: null)
!16 = distinct !DISubprogram(name: "test", ..., retainedNodes: !19) !19 = !{!20}
!20 = !DIImportedEntity(tag: DW_TAG_imported_module, scope: !16, entity: !2 ...)
```

This PR makes sure that the translation from mlir to `retainedNodes`
field happens correctly both ways.

To side step the cyclic dependency between `DISubprogramAttr` and `DIImportedEntityAttr`,
we have decided to not have `scope` field in the `DIImportedEntityAttr` and it is inferred
from the entity which hold the list of `DIImportedEntityAttr`. A `retainedNodes` field has been
added in the `DISubprogramAttr` which contains the list of `DIImportedEntityAttr` for that
function.

This PR currently does not handle entities imported in a global scope
but that should be easy to handle in a subsequent PR.


  Commit: c50d11e6d95a7d6b9bfe126ca35d4831928c3f69
      https://github.com/llvm/llvm-project/commit/c50d11e6d95a7d6b9bfe126ca35d4831928c3f69
  Author: Kiran <kiran.sturt at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M llvm/include/llvm/CodeGen/CallingConvLower.h
    M llvm/lib/CodeGen/CallingConvLower.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding.ll
    M llvm/test/CodeGen/ARM/2013-05-13-AAPCS-byval-padding2.ll
    M llvm/test/CodeGen/ARM/fp-arg-shuffle.ll
    M llvm/test/CodeGen/ARM/fp16-vector-argument.ll
    M llvm/test/CodeGen/ARM/struct_byval.ll
    M llvm/test/CodeGen/ARM/tail-call-float.ll

  Log Message:
  -----------
  Revert "[ARM] musttail fixes"
committed by accident, see #104795

This reverts commit a2088a24dad31ebe44c93751db17307fdbe1f0e2.


  Commit: 7c188abb4fe28d9784b12125e6924df2ce7de078
      https://github.com/llvm/llvm-project/commit/7c188abb4fe28d9784b12125e6924df2ce7de078
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir

  Log Message:
  -----------
  [mlir][LLVMIR][OpenMP] Move reduction allocas before stores (#105683)

Delay implicit reduction var stores until after all allocas. This fixes
a couple of cases in existing unit tests.

Follow up to https://github.com/llvm/llvm-project/pull/102524


  Commit: d43a80936d437d217d5a6dbbaa5fb131c27e7085
      https://github.com/llvm/llvm-project/commit/d43a80936d437d217d5a6dbbaa5fb131c27e7085
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-27 (Tue, 27 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:
  -----------
  Revert "[LAA] Remove loop-invariant check added in 234cc40adc61."

This reverts commit a80053322b765eec93951e21db490c55521da2d8.

The new asserts exposed an underlying issue where the expanded bounds
could wrap, causing the parts of the code to incorrectly determine that
accesses do not overlap.

Reproducer below based on @mstorsjo's test case.

opt -passes='print<access-info>'

target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"

define i32 @j(ptr %P, i32 %x, i32 %y) {
entry:
  %gep.P.4 = getelementptr inbounds nuw i8, ptr %P, i32 4
  %gep.P.8 = getelementptr inbounds nuw i8, ptr %P, i32 8
  br label %loop

loop:
  %1 = phi i32 [ %x, %entry ], [ %sel, %loop.latch ]
  %iv = phi i32 [ %y, %entry ], [ %iv.next, %loop.latch ]
  %gep.iv = getelementptr inbounds i64, ptr %gep.P.8, i32 %iv
  %l = load i32, ptr %gep.iv, align 4
  %c.1 = icmp eq i32 %l, 3
  br i1 %c.1, label %loop.latch, label %if.then

if.then:                                          ; preds = %for.body
  store i64 0, ptr %gep.iv, align 4
  %l.2 = load i32, ptr %gep.P.4
  br label %loop.latch

loop.latch:
  %sel = phi i32 [ %l.2, %if.then ], [ %1, %loop ]
  %iv.next = add nsw i32 %iv, 1
  %c.2 = icmp slt i32 %iv.next, %sel
  br i1 %c.2, label %loop, label %exit

exit:
  %res = phi i32 [ %iv.next, %loop.latch ]
  ret i32 %res
}


  Commit: f8b446086f709181b913d0d0713ba99c3e8a2aa2
      https://github.com/llvm/llvm-project/commit/f8b446086f709181b913d0d0713ba99c3e8a2aa2
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [LLVM][AArch64] Improve big endian code generation for SVE BITCASTs. (#104769)

For the most part I've tried to maintain the use of ISD::BITCAST
wherever possible so as to keep access to more DAG combines.


  Commit: 063e0bd52ac7a25b5d7073a9904f8be6a38220b3
      https://github.com/llvm/llvm-project/commit/063e0bd52ac7a25b5d7073a9904f8be6a38220b3
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
    M mlir/test/Dialect/DLTI/invalid.mlir
    M mlir/test/Dialect/DLTI/query.mlir
    M mlir/test/Dialect/DLTI/valid.mlir

  Log Message:
  -----------
  [MLIR][DLTI] Enable types as keys in DLTI-query utils (#105995)

Enable support for query functions - including transform.dlti.query - to
take types as keys. As the data layout specific attributes already
supported types as keys, this change enables querying such attributes in
the expected way.


  Commit: 6f62757e779492b288a98c7c2e27eba95a551e3b
      https://github.com/llvm/llvm-project/commit/6f62757e779492b288a98c7c2e27eba95a551e3b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] NFC: Update parallel workshare loop reduction tests (#105835)

This patch updates MLIR tests for `omp.parallel` + `omp.wsloop`
reductions to move the reduction clause into `omp.wsloop` rather than
the parent `omp.parallel`, as mandated by the spec for these cases and
also to match what Flang is already producing for `parallel do
reduction(...)` combined constructs.

>From the OpenMP Spec version 5.2, section 17.2:

> The effect of the reduction clause is as if it is applied to all leaf
constructs that permit the clause, except for the following constructs:
> - The `parallel` construct, when combined with the `sections`,
worksharing-loop, `loop`, or `taskloop` construct; [...]


  Commit: 4f33e7c683104ea72e013d4ddd104b711a25d620
      https://github.com/llvm/llvm-project/commit/4f33e7c683104ea72e013d4ddd104b711a25d620
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/test/Analysis/nullability.c
    M clang/test/Analysis/nullability.mm

  Log Message:
  -----------
  [analyzer] Report violations of the "returns_nonnull" attribute (#106048)

Make sure code respects the GNU-extension `__attribute__((returns_nonnull))`.

Extend the NullabilityChecker to check that a function returns_nonnull
does not return a nullptr.

This commit also reverts an old hack introduced by
49bd58f1ebe28d97e4949e9c757bc5dfd8b2d72f
because it is no longer needed

CPP-4741


  Commit: b1b24d751776d5fd2218a5cb43a8d103bf59fa32
      https://github.com/llvm/llvm-project/commit/b1b24d751776d5fd2218a5cb43a8d103bf59fa32
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/bool.c
    M clang/test/ExtractAPI/emit-symbol-graph/multi_file.c
    M clang/test/ExtractAPI/emit-symbol-graph/single_file.c
    M clang/test/ExtractAPI/macros.c
    A clang/test/ExtractAPI/submodule-macro.m

  Log Message:
  -----------
  [clang][ExtractAPI] Fix quirks in interaction with submodules (#105868)

Extension SGFs require the module system to be enabled in order to discover which module defines the extended external type.
This patch ensures the following:
- Associate symbols with their top level module name, and that only top level modules are considered as modules for emitting extension SGFs.
- Ensure we don't drop macro definitions that came from a submodule. To this end look at all defined macros in `PPCalbacks::EndOfMainFile` instead of relying on `PPCallbacks::MacroDefined` being called to detect a macro definition.


  Commit: 44d527c8d78fc612831083a8b5b108b216ff63a3
      https://github.com/llvm/llvm-project/commit/44d527c8d78fc612831083a8b5b108b216ff63a3
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/ArgumentPromotion/actual-arguments.ll

  Log Message:
  -----------
  NFC: precommit test for [ArgPromotion] Perform alias analysis on actual arguments of Calls


  Commit: 974d8f6c0c49d279d8a5880ec3dd1fd11589cca0
      https://github.com/llvm/llvm-project/commit/974d8f6c0c49d279d8a5880ec3dd1fd11589cca0
  Author: Piotr Fusik <p.fusik at samsung.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/docs/WritingAnLLVMPass.rst

  Log Message:
  -----------
  [docs] Fix a documentation link (#105795)


  Commit: 9b4a8f44edf1471f23d6e0e68bef8a0ea0b7300a
      https://github.com/llvm/llvm-project/commit/9b4a8f44edf1471f23d6e0e68bef8a0ea0b7300a
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Improve auto types, NFC.


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

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

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


  Commit: 3d2fd31c8f362b1054985197a65194fcbbca57bb
      https://github.com/llvm/llvm-project/commit/3d2fd31c8f362b1054985197a65194fcbbca57bb
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

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

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


  Commit: 78505ade2c2e7d4d180e110442e0b074217877c8
      https://github.com/llvm/llvm-project/commit/78505ade2c2e7d4d180e110442e0b074217877c8
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp
    M llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Use range-based for loops (NFC) (#106184)


  Commit: 71eebe9daaf5d2068606640a6040775020bc36e9
      https://github.com/llvm/llvm-project/commit/71eebe9daaf5d2068606640a6040775020bc36e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/Object/COFFObjectFile.cpp
    M llvm/lib/Object/MachOObjectFile.cpp
    M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

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

S.substr(N, M) is simpler than S.slice(N, N + M).  Also, substr is
probably better recognizable than slice thanks to
std::string_view::substr.


  Commit: 721fdf1c9a73269280a504cbba847f4979512b66
      https://github.com/llvm/llvm-project/commit/721fdf1c9a73269280a504cbba847f4979512b66
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [LoopUnrollAnalyzer] Store SimplifiedAddress offset as APInt (NFC)


  Commit: 32503050066ed307e6859b3c2ee6fbfa6327ca8b
      https://github.com/llvm/llvm-project/commit/32503050066ed307e6859b3c2ee6fbfa6327ca8b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [LoopUnrollAnalyzer] Use computeConstantDifference()

This is faster than checking for a SCEVConstant getMinusSCEV()
result. The results should be the same for non-degenerate cases.


  Commit: 657f26f038a733769909e0db44e234e9369294b6
      https://github.com/llvm/llvm-project/commit/657f26f038a733769909e0db44e234e9369294b6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SCCPSolver.cpp
    M llvm/test/Transforms/SCCP/pointer-nonnull.ll

  Log Message:
  -----------
  [SCCP] Add more non-null roots

Also consider allocas non-null (subject to the usual caveats),
and consider nonnull/dereferenceable metadata on calls.


  Commit: c992690179eb5de6efe47d5c8f3a23f2302723f2
      https://github.com/llvm/llvm-project/commit/c992690179eb5de6efe47d5c8f3a23f2302723f2
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-08-27 (Tue, 27 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:
  -----------
  Revert "[nfc][mlgo] Incrementally update DominatorTreeAnalysis in FunctionPropertiesAnalysis (#104867)"

This seems to cause asserts in our builds:

  llvm/include/llvm/Support/GenericDomTreeConstruction.h:927:
  static void llvm::DomTreeBuilder::SemiNCAInfo<llvm::DominatorTreeBase<BasicBlock, false>>::DeleteEdge(DomTreeT &, const BatchUpdatePtr, const NodePtr, const NodePtr) [DomTreeT = llvm::DominatorTreeBase<BasicBlock, false>]:
  Assertion `!IsSuccessor(To, From) && "Deleted edge still exists in the CFG!"' failed.

and

  llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp:390:
  DominatorTree &llvm::FunctionPropertiesUpdater::getUpdatedDominatorTree(FunctionAnalysisManager &) const:
  Assertion `DT.getNode(BB)' failed.

See comment on the PR.

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

This reverts commit a2a5508bdae7d115b6c3ace461beb7a987a44407 and the
follow-up commit cdd11d694a406a98a16d6265168ee2fbe1b6a87c.


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

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

  Log Message:
  -----------
  [rtsan][compiler-rt] Add read, write, pread, pwrite, readv, and writev interceptors (#106161)


  Commit: d517b224117f760e6a7299b267256e3240c04edb
      https://github.com/llvm/llvm-project/commit/d517b224117f760e6a7299b267256e3240c04edb
  Author: Jacob Lalonde <jalalonde at fb.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/include/lldb/API/SBMemoryRegionInfo.h
    M lldb/include/lldb/API/SBSaveCoreOptions.h
    M lldb/include/lldb/Symbol/SaveCoreOptions.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Utility/RangeMap.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/include/lldb/lldb-private-interfaces.h
    M lldb/source/API/SBSaveCoreOptions.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
    M lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
    M lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/source/Target/Process.cpp
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

  Log Message:
  -----------
  [LLDB][SBSaveCore] Add selectable memory regions to SBSaveCore (#105442)

This patch adds the option to specify specific memory ranges to be
included in a given core file. The current implementation lets user
specified ranges either be in addition to a certain save style, or
independent of them via the newly added custom enum.

To achieve being inclusive of save style, I've moved from a std::vector
of ranges to a RangeDataVector, and to join overlapping ranges to
prevent duplication of memory ranges in the core file.

As a non function bonus, when SBSavecore was initially created, the
header was included in the lldb-private interfaces, and I've fixed that
and moved it the forward declare as an oversight. CC @bulbazord in case
we need to include that into swift.


  Commit: 18db6813fe96616728f7e7f5921676c06a2764de
      https://github.com/llvm/llvm-project/commit/18db6813fe96616728f7e7f5921676c06a2764de
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [LoopUnrollAnalyzer] Fix icmp simplification

Fix a bug I introduced in 721fdf1c9a73269280a504cbba847f4979512b66.


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

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Dialect conversion: Remove redundant `ReplaceBlockArgRewrite` (#105963)

There was a redundant `appendRewrite<ReplaceBlockArgRewrite>(block,
origArg);` in `ConversionPatternRewriterImpl::applySignatureConversion`
that had no effect.


  Commit: d4ffccfce103b01401b8a9222e373f2d404f8439
      https://github.com/llvm/llvm-project/commit/d4ffccfce103b01401b8a9222e373f2d404f8439
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M libcxx/include/__algorithm/comp.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/sort.h
    M libcxx/include/__functional/operations.h
    M libcxx/include/__functional/ranges_operations.h
    M libcxx/include/__type_traits/desugars_to.h
    M libcxx/include/__type_traits/is_trivially_copyable.h
    M libcxx/src/algorithm.cpp

  Log Message:
  -----------
  [libc++] Simplify the implementation of std::sort a bit (#104902)

This does a few things to canonicalize the library a bit. Specifically
- use `__desugars_to_v` instead of the custom `__is_simple_comparator`
- make `__use_branchless_sort` an inline variable
- remove the `_maybe_branchless` versions of the `__sortN` functions and
overload based on whether we can do branchless sorting instead.


  Commit: fd36a7b9443921a4aa571549543244c5f1c9b6f8
      https://github.com/llvm/llvm-project/commit/fd36a7b9443921a4aa571549543244c5f1c9b6f8
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/CompilationAttrInterfaces.td
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVM/ROCDL/Target.cpp
    M mlir/lib/Target/SPIRV/Target.cpp
    M mlir/unittests/Target/LLVM/SerializeToLLVMBitcode.cpp

  Log Message:
  -----------
  [mlir][gpu] Pass GPU module to `TargetAttrInterface::createObject`. (#94910)

This patch adds an argument to `gpu::TargetAttrInterface::createObject`
to pass the GPU module. This is useful as `gpu::ObjectAttr` contains a
property dict for metadata, hence the module can be used for extracting
things like the symbol table and adding it to the property dict.

---------

Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>


  Commit: 9b408961ebf2a5458e5f1b1ffa9306224dc4d9a6
      https://github.com/llvm/llvm-project/commit/9b408961ebf2a5458e5f1b1ffa9306224dc4d9a6
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Use has_single_bit instead of isPowerOf2 functions, NFC.


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s

  Log Message:
  -----------
  [X86] Fix Skylake/Icelake uops for masked stored

Matches uops.info + Agner


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s

  Log Message:
  -----------
  [X86] Fix SkylakeClient ports for int-to-double conversions

These are performed on SKLPort01 (+ SKLPort5/SKLPort23 for rr/rm shuffles/loads)

Also, cleanup some MMX CVT overrides that match the SSE equivalents.

Matches uops.info + Agner


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

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86SchedSkylakeClient.td
    M llvm/lib/Target/X86/X86SchedSkylakeServer.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-mmx.s
    M llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
    M llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s

  Log Message:
  -----------
  [X86] Fix Skylake/Icelake port usage for MMX PACK instructions

Matches uops.info + Agner


  Commit: 6e44cb3ccb822085cd2f35c63daa60395dda26f2
      https://github.com/llvm/llvm-project/commit/6e44cb3ccb822085cd2f35c63daa60395dda26f2
  Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp

  Log Message:
  -----------
  [analyzer][NFC] Remove a non-actionable dump (#106232)

This dump, if it is ever executed, is not actionable by the user and
might produce unwanted noise in the stderr.

The original intention behind this dump, to provide maximum information
in an unexpected situation, does not outweigh the potential annoyance
caused to users who might not even realize that they witnessed an
unexpected situation.


  Commit: 0359b9a2306566a872cede1fcdaa4edc34e9398e
      https://github.com/llvm/llvm-project/commit/0359b9a2306566a872cede1fcdaa4edc34e9398e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [LTO] Introduce a helper function collectImportStatistics (NFC) (#106179)

This patch introduces a helper function collectImportStatistics.  The
new function computes statistics of imports for
ComputeCrossModuleImport and dumpImportListForModule with no
functional change.

The background is as follows.  I'm planning to reduce the memory
footprint of ThinLTO indexing by changing ImportMapTy, the data
structure used for an import list.  The new list will be a hash set of
tuples (SourceModule, GUID, ImportType) represented in a space
efficient manner.  That means that obtaining statistics like the
number of definitions per source module requires us to go through the
entire import list (for a given destination module).

Introducing a helper function now makes the callers more independent
of the underlying data structures used in ImportMapT.


  Commit: ae58cc0e9993db13e5256c21ae5e971b2974968f
      https://github.com/llvm/llvm-project/commit/ae58cc0e9993db13e5256c21ae5e971b2974968f
  Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  IVDescriptors: clarify getSCEV use in a function (NFC) (#106222)

getSCEV will assert unless the operand is SCEVable. Replace an instance
of the implementation of ScalarEvolution::isSCEVable (which checks that
the operand is either integer or pointer type) with a call to the
function, to make it clear that the subsequent use of getSCEV will not
fail.


  Commit: d58bd21150914b4a2304c24b04a714bfb251c594
      https://github.com/llvm/llvm-project/commit/d58bd21150914b4a2304c24b04a714bfb251c594
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GIMatchTableExecutor.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-load.mir
    M llvm/test/CodeGen/AArch64/arm64-indexed-vector-ldst.ll
    M llvm/test/CodeGen/AArch64/arm64-ld1.ll

  Log Message:
  -----------
  [GlobalISel] Look between instructions to be matched (#101675)

When a pattern is matched in TableGen, a check is run called
isObviouslySafeToFold(). One of the condition that it checks for is
whether the instructions that are being matched are consecutive, so the
instruction's insertion point does not change.

This patch allows the movement of the insertion point of a load
instruction if none of the intervening instructions are stores or have
side-effects.


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

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

  Log Message:
  -----------
  [LiveDebugVariables] Use VirtRegMap::hasPhys. NFC (#106186)

Use hasPhys instead of MCRegister::isPhysicalRegister.

I think the MCRegister returned from getPhys can only contain a physical
register or 0. hasPhys checks that the register returned from getPhys is non-zero.
So I think they are equivalent in this usage.


  Commit: d0fe52d95194db09b3486378eae1b5ca5d0a286a
      https://github.com/llvm/llvm-project/commit/d0fe52d95194db09b3486378eae1b5ca5d0a286a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
    M llvm/test/CodeGen/AMDGPU/mul_int24.ll

  Log Message:
  -----------
  [AMDGPU] Fix sign confusion in performMulLoHiCombine (#105831)

SMUL_LOHI and UMUL_LOHI are different operations because the high part
of the result is different, so it is not OK to optimize the signed
version to MUL_U24/MULHI_U24 or the unsigned version to
MUL_I24/MULHI_I24.


  Commit: ef5ba2ede79f759ff8eaad222dca36aa5f1871c3
      https://github.com/llvm/llvm-project/commit/ef5ba2ede79f759ff8eaad222dca36aa5f1871c3
  Author: Nabeel Omer <nabeel.omer at sony.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/IR/ConstantsContext.h

  Log Message:
  -----------
  [NFC] Reserve the number of operands before push_back (#106234)

This reduces the number of allocations inside the loop.

Partially addresses #105836


  Commit: d0a6434e86880f55e225ffa2e39c77f10aea1604
      https://github.com/llvm/llvm-project/commit/d0a6434e86880f55e225ffa2e39c77f10aea1604
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP] Reduce scope of variable using if clause [NFC]

This particular variable name is shadowed by another lower in the
function, so reducing it's scope to it's single use removes the
shadowing and makes the code much less error prone.


  Commit: 2bf2468553f69c72680d138b91046d4c00d2c7a6
      https://github.com/llvm/llvm-project/commit/2bf2468553f69c72680d138b91046d4c00d2c7a6
  Author: Angel Zhang <angel.zhang at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
    M mlir/lib/Conversion/ConvertToSPIRV/ConvertToSPIRVPass.cpp
    A mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
    M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][spirv] Integrate `convert-to-spirv` into `mlir-vulkan-runner` (#106082)

**Description**
This PR adds a new option for `convert-to-spirv` pass to clone and
convert only GPU kernel modules for integration testing. The reason for
using pass options instead of two separate passes is that they both
consist of `memref` types conversion and individual dialect patterns,
except they run on different scopes. The PR also replaces the
`gpu-to-spirv` pass with the `convert-to-spirv` pass (with the new
option) in `mlir-vulkan-runner`.

**Future Plan**
Use nesting pass pipelines in `mlir-vulkan-runner` instead of adding
this option.

---------

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


  Commit: d880f5a4c9bb0b11038ad94b333b46e7a24caa6f
      https://github.com/llvm/llvm-project/commit/d880f5a4c9bb0b11038ad94b333b46e7a24caa6f
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-no-agpr.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll

  Log Message:
  -----------
  [AMDGPU][Attributor] Remove uniformity check in the indirect call specialization callback (#106177)

This patch removes the conservative uniformity check in the indirect
call
specialization callback, as whether the function pointer is uniform
doesn't
matter too much. Instead, we add an argument to control specialization.


  Commit: e8063702cfbbf39f0b92283d0588dee264b5eb2b
      https://github.com/llvm/llvm-project/commit/e8063702cfbbf39f0b92283d0588dee264b5eb2b
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Update the semantic of `experimental.get.vector.length` (#104475)

The previous semantics of `llvm.experimental.get.vector.length` was too
permissive such that it gave optimizers a hard time on anything related
to the number of iterations of VP-vectorized loops.

This patch tries to address this by assigning it a set of stricter
semantics similar to that of RVV's VSETVLI instructions, while being not
too RISC-V specific and leaving room for other (future) targets.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 9671ed1afcd1e3aab754a9b905d511ffd52f3624
      https://github.com/llvm/llvm-project/commit/9671ed1afcd1e3aab754a9b905d511ffd52f3624
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    M llvm/test/Transforms/LoadStoreVectorizer/AArch64/pr37865.ll

  Log Message:
  -----------
  Revert "LSV: forbid load-cycles when vectorizing; fix bug (#104815)" (#106245)

This reverts commit c46b41aaa6eaa787f808738d14c61a2f8b6d839f.

Multiple tests time out, either due to performance hit (see comment) or
a cycle.


  Commit: c664d7df5991741376c6286548de13fdba5fe96d
      https://github.com/llvm/llvm-project/commit/c664d7df5991741376c6286548de13fdba5fe96d
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-27 (Tue, 27 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

  Log Message:
  -----------
  [SandboxIR] Implement ResumeInst (#106152)

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


  Commit: 2dbc6d4d4b88c4453acfe51cf20f22847aabeaab
      https://github.com/llvm/llvm-project/commit/2dbc6d4d4b88c4453acfe51cf20f22847aabeaab
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP][NFC]Assert total number of scalar uses not less than number of scalar uses, NFC.


  Commit: 384d69fcbbd07941e7eb1899435e4d56d0469637
      https://github.com/llvm/llvm-project/commit/384d69fcbbd07941e7eb1899435e4d56d0469637
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm

  Log Message:
  -----------
  [lldb] Cleanup dyld_process_t after constructing SharedCacheInfo (#106157)

Without calling `dyld_process_dispose`, LLDB will leak the memory
associated with the `dyld_process_t`.

rdar://134738265


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

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Simplify data transfer when possible (#106120)

When possible, avoid using descriptors and use the reference and the
shape for data_transfer.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    A llvm/test/CodeGen/SystemZ/pr106202.ll

  Log Message:
  -----------
  [DAG] Handle cases where a shift amount is larger than the pre-extended value bitwidth

In the (zext (shl (zext x), cst)) -> (shl (zext x), cst) fold, don't use a bitmask / MaskedValueIsZero as we can't guarantee that the shift amount is in bounds.

Fixes #106202


  Commit: dd060bdede8edec18ad5ca122e15cc24a821e3fe
      https://github.com/llvm/llvm-project/commit/dd060bdede8edec18ad5ca122e15cc24a821e3fe
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/include/lldb/Target/StackFrameRecognizer.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
    M lldb/source/Target/AssertFrameRecognizer.cpp
    M lldb/source/Target/StackFrameRecognizer.cpp
    M lldb/source/Target/VerboseTrapFrameRecognizer.cpp
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py
    M lldb/test/API/functionalities/completion/TestCompletion.py
    M lldb/test/API/lang/cpp/std-function-recognizer/TestStdFunctionRecognizer.py
    A lldb/test/API/lang/cpp/std-invoke-recognizer/Makefile
    A lldb/test/API/lang/cpp/std-invoke-recognizer/TestStdInvokeRecognizer.py
    A lldb/test/API/lang/cpp/std-invoke-recognizer/main.cpp
    M lldb/unittests/Target/StackFrameRecognizerTest.cpp

  Log Message:
  -----------
  [lldb] Add frame recognizers for libc++ `std::invoke` (#105695)

With this commit, we also hide the implementation details of
`std::invoke`. To do so, the `LibCXXFrameRecognizer` got a couple more
regular expressions.

The regular expression passed into `AddRecognizer` became problematic,
as it was evaluated on the demangled name. Those names also included
result types for C++ symbols. For `std::__invoke` the return type is a
huge `decltype(...)`, making the regular expresison really hard to
write.

Instead, I added support to `AddRecognizer` for matching on the
demangled names without result type and argument types.

By hiding the implementation details of `invoke`, also the back traces
for `std::function` become even nicer, because `std::function` is using
`__invoke` internally.

Co-authored-by: Adrian Prantl <aprantl at apple.com>


  Commit: d9cf98ff28c7461a0e4375dada9959546c38df48
      https://github.com/llvm/llvm-project/commit/d9cf98ff28c7461a0e4375dada9959546c38df48
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
    A llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8-fake16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s

  Log Message:
  -----------
  [AMDGPU][CodeGen][True16][Test] add test files for gfx12 vop1 instructions in true16/fake16 format (#106093)

This is a NFC change to add tests for true16/fake16 flow. We need to
have two sets of asm/disasm tests for true16 and fake16 flow and this
patch is adding the missing one. The naming convension is that true16
filename is the default one while the fake16 filename has "fake16"
attached to it.

This patch
1. add true16 and fake16 version for vop1 test files
2. rename a test file to keep a consistant naming pattern

The true16 test file will be updated when more true16 commands are
supported in the up coming patches


  Commit: 986576fb13132c574c2967d5f8b6ea4976e517b0
      https://github.com/llvm/llvm-project/commit/986576fb13132c574c2967d5f8b6ea4976e517b0
  Author: Brox Chen <guochen2 at amd.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    A llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1-fake16.s
    M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s

  Log Message:
  -----------
  [AMDGPU][CodeGen][True16][Test] add test files for gfx11 vop1 instructions in true16/fake16 format (#106089)

This is a NFC change to add tests for true16/fake16 flow. We need to
have two sets of asm/disasm tests for true16 and fake16 flow and this
patch is adding the missing one. The naming convension is that true16
filename is the default one while the fake16 filename has "fake16"
attached to it.

This patch
1. add true16 and fake16 version for vop3_from_vop1 test file
2. rename a test file to keep a consistant naming pattern

The true16 test file will be updated when more true16 commands are
supported in the up coming patches


  Commit: 4dda564c725cb84c09ee87f0ccfe5ffd295100b0
      https://github.com/llvm/llvm-project/commit/4dda564c725cb84c09ee87f0ccfe5ffd295100b0
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/vec15-base.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll

  Log Message:
  -----------
  [RISCV][SLP] Add test coverage for 2^N-1 vector sizes

Mostly copied from the AArch64 coverage for same, but also added
a couple tests for reductions which aren't currently supported.


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

  Changed paths:
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp

  Log Message:
  -----------
  [NFC][Attributor] Track the number of promoted indirect calls (#106214)


  Commit: 6b86f51b98197420b3d9bb44a1d9ae3d3b118df8
      https://github.com/llvm/llvm-project/commit/6b86f51b98197420b3d9bb44a1d9ae3d3b118df8
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M polly/test/UnitIsl/lit.cfg
    M polly/test/lit.cfg

  Log Message:
  -----------
  [polly][llvm-lit] Enabled lit internal shell for polly test suite (#105704)

This patch sets lit's internal shell to be the default shell when
running polly tests.

This is one of the milestones to resolving the meta-issue:
https://github.com/llvm/llvm-project/issues/102704.


  Commit: 81cd7358a2ce411c99512d055e98d0b9dc119c14
      https://github.com/llvm/llvm-project/commit/81cd7358a2ce411c99512d055e98d0b9dc119c14
  Author: Connie Zhu <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Posix/high-address-dereference.c

  Log Message:
  -----------
  [compiler-rt][test] Rewrote test to fix usage of export with 2 arguments (#106143)

This patch fixes the incorrect usage of lit's built-in export command in
this compiler-rt test. The export command only allows for one argument,
but %env_asan_opts expands to "env ASAN_OPTIONS", which gives export two
arguments instead of only one. Instead of using export, which propogates
the environment variable value to all subsequent commands, the
environment variable is manually set before all RUN lines following the
original export line.

This patch depends on https://github.com/llvm/llvm-project/pull/105961.

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


  Commit: fa4fbaefde8569ca64594fc3845340536ec8eb02
      https://github.com/llvm/llvm-project/commit/fa4fbaefde8569ca64594fc3845340536ec8eb02
  Author: Jan Voung <jvoung at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lld/test/COFF/thinlto-index-only.ll
    M lld/test/ELF/lto/thinlto-emit-index.ll
    M lld/test/ELF/lto/thinlto-index-only.ll
    M lld/test/MachO/thinlto-emit-index.ll
    M lld/test/MachO/thinlto-index-only.ll
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/test/Assembler/thinlto-summary.ll
    M llvm/test/Bitcode/summary_version.ll
    M llvm/test/Bitcode/thinlto-alias.ll
    M llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph-sample-profile-summary.ll
    M llvm/test/Bitcode/thinlto-function-summary-callgraph.ll
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
    M llvm/test/ThinLTO/X86/distributed_indexes.ll
    M llvm/test/tools/gold/X86/thinlto.ll
    M llvm/test/tools/llvm-lto/thinlto.ll

  Log Message:
  -----------
  Reapply: Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#106165)

This retries #90692 which was reverted previously due to issues with
lld-available being set, even if the copy of lld is not built from
source.

This does not change any code compared to #90692 to address the
lld-available issue.
The main change w.r.t, lld-available is xfailing tests in PR #99056
(until a longer term fix is available).


  Commit: acb33a0c9bc902dc1aef703c02b8fd3a1132cb14
      https://github.com/llvm/llvm-project/commit/acb33a0c9bc902dc1aef703c02b8fd3a1132cb14
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [RISCV][SLP] Add test coverage for 2^N-1 vector sizes w/FP types

Our cost modeling for FP and integer differs in enough cases that
having both is useful for exercising different logic in SLP.


  Commit: 0642cd768b80665585c8500bed2933a3b99123dc
      https://github.com/llvm/llvm-project/commit/0642cd768b80665585c8500bed2933a3b99123dc
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/bindings/python/python-wrapper.swig
    M lldb/include/lldb/Core/StructuredDataImpl.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedPlatformInterface.h
    M lldb/include/lldb/Interpreter/Interfaces/ScriptedProcessInterface.h
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/ProcessTrace.h
    M lldb/include/lldb/Utility/Status.h
    M lldb/source/API/SBBreakpoint.cpp
    M lldb/source/API/SBBreakpointLocation.cpp
    M lldb/source/API/SBBreakpointName.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBError.cpp
    M lldb/source/API/SBFile.cpp
    M lldb/source/API/SBFrame.cpp
    M lldb/source/API/SBPlatform.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBStructuredData.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBTrace.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Breakpoint/Breakpoint.cpp
    M lldb/source/Breakpoint/BreakpointID.cpp
    M lldb/source/Breakpoint/BreakpointLocation.cpp
    M lldb/source/Breakpoint/BreakpointOptions.cpp
    M lldb/source/Breakpoint/BreakpointPrecondition.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverAddress.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
    M lldb/source/Breakpoint/BreakpointResolverName.cpp
    M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
    M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectDisassemble.cpp
    M lldb/source/Commands/CommandObjectExpression.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectLog.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectPlatform.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/CommandObjectScripting.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectTarget.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Commands/CommandObjectWatchpoint.cpp
    M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
    M lldb/source/Commands/CommandOptionsProcessAttach.cpp
    M lldb/source/Commands/CommandOptionsProcessLaunch.cpp
    M lldb/source/Core/Communication.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/SearchFilter.cpp
    M lldb/source/Core/ThreadedCommunication.cpp
    M lldb/source/Core/UserSettingsController.cpp
    M lldb/source/Core/Value.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Core/ValueObjectChild.cpp
    M lldb/source/Core/ValueObjectDynamicValue.cpp
    M lldb/source/Core/ValueObjectMemory.cpp
    M lldb/source/Core/ValueObjectRegister.cpp
    M lldb/source/Core/ValueObjectVTable.cpp
    M lldb/source/Core/ValueObjectVariable.cpp
    M lldb/source/Expression/ExpressionParser.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Expression/IRInterpreter.cpp
    M lldb/source/Expression/IRMemoryMap.cpp
    M lldb/source/Expression/Materializer.cpp
    M lldb/source/Expression/UserExpression.cpp
    M lldb/source/Expression/UtilityFunction.cpp
    M lldb/source/Host/common/File.cpp
    M lldb/source/Host/common/FileCache.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Host/common/LockFileBase.cpp
    M lldb/source/Host/common/MonitoringProcessLauncher.cpp
    M lldb/source/Host/common/NativeProcessProtocol.cpp
    M lldb/source/Host/common/NativeRegisterContext.cpp
    M lldb/source/Host/common/ProcessLaunchInfo.cpp
    M lldb/source/Host/common/Socket.cpp
    M lldb/source/Host/common/TCPSocket.cpp
    M lldb/source/Host/common/UDPSocket.cpp
    M lldb/source/Host/freebsd/Host.cpp
    M lldb/source/Host/linux/Host.cpp
    M lldb/source/Host/macosx/objcxx/Host.mm
    M lldb/source/Host/netbsd/HostNetBSD.cpp
    M lldb/source/Host/openbsd/Host.cpp
    M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
    M lldb/source/Host/posix/DomainSocket.cpp
    M lldb/source/Host/posix/FileSystemPosix.cpp
    M lldb/source/Host/posix/HostProcessPosix.cpp
    M lldb/source/Host/posix/HostThreadPosix.cpp
    M lldb/source/Host/posix/LockFilePosix.cpp
    M lldb/source/Host/posix/MainLoopPosix.cpp
    M lldb/source/Host/posix/PipePosix.cpp
    M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
    M lldb/source/Host/windows/ConnectionGenericFileWindows.cpp
    M lldb/source/Host/windows/FileSystem.cpp
    M lldb/source/Host/windows/Host.cpp
    M lldb/source/Host/windows/LockFileWindows.cpp
    M lldb/source/Host/windows/MainLoopWindows.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Interpreter/OptionGroupFormat.cpp
    M lldb/source/Interpreter/OptionGroupPlatform.cpp
    M lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
    M lldb/source/Interpreter/OptionGroupVariable.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/source/Interpreter/OptionValueArch.cpp
    M lldb/source/Interpreter/OptionValueArray.cpp
    M lldb/source/Interpreter/OptionValueBoolean.cpp
    M lldb/source/Interpreter/OptionValueChar.cpp
    M lldb/source/Interpreter/OptionValueDictionary.cpp
    M lldb/source/Interpreter/OptionValueEnumeration.cpp
    M lldb/source/Interpreter/OptionValueFileColonLine.cpp
    M lldb/source/Interpreter/OptionValueFileSpec.cpp
    M lldb/source/Interpreter/OptionValueFileSpecList.cpp
    M lldb/source/Interpreter/OptionValueFormatEntity.cpp
    M lldb/source/Interpreter/OptionValueLanguage.cpp
    M lldb/source/Interpreter/OptionValuePathMappings.cpp
    M lldb/source/Interpreter/OptionValueProperties.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Interpreter/OptionValueSInt64.cpp
    M lldb/source/Interpreter/OptionValueString.cpp
    M lldb/source/Interpreter/OptionValueUInt64.cpp
    M lldb/source/Interpreter/OptionValueUUID.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp
    M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
    M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
    M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
    M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
    M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
    M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
    M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
    M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
    M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
    M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
    M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
    M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
    M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
    M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
    M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
    M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
    M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
    M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
    M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/ObjectFile/PECOFF/WindowsMiniDump.cpp
    M lldb/source/Plugins/Platform/Android/AdbClient.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
    M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
    M lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
    M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.cpp
    M lldb/source/Plugins/Platform/QemuUser/PlatformQemuUser.h
    M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
    M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
    M lldb/source/Plugins/Process/FreeBSD/NativeThreadFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
    M lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_ppc64le.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_riscv64.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_s390x.cpp
    M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
    M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
    M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
    M lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp
    M lldb/source/Plugins/Process/Utility/NativeProcessSoftwareSingleStep.cpp
    M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.cpp
    M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_WoW64.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_i386.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_x86_64.cpp
    M lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
    M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.h
    M lldb/source/Plugins/Process/elf-core/ThreadElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
    M lldb/source/Plugins/Process/minidump/MinidumpTypes.h
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
    M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
    M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
    M lldb/source/Plugins/REPL/Clang/ClangREPL.cpp
    M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
    M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
    M lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
    M lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp
    M lldb/source/Symbol/SaveCoreOptions.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/Memory.cpp
    M lldb/source/Target/ModuleCache.cpp
    M lldb/source/Target/Platform.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/RegisterContext.cpp
    M lldb/source/Target/ScriptedThreadPlan.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/RegisterValue.cpp
    M lldb/source/Utility/Scalar.cpp
    M lldb/source/Utility/SelectHelper.cpp
    M lldb/source/Utility/Status.cpp
    M lldb/source/Utility/StringExtractorGDBRemote.cpp
    M lldb/source/Utility/StructuredData.cpp
    M lldb/test/API/functionalities/postmortem/FreeBSDKernel/tools/lldb-minimize-processes.patch
    M lldb/tools/lldb-server/Acceptor.cpp
    M lldb/tools/lldb-server/lldb-platform.cpp
    M lldb/unittests/Platform/Android/PlatformAndroidTest.cpp
    M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationServerTest.cpp
    M lldb/unittests/Target/LocateModuleCallbackTest.cpp
    M lldb/unittests/Target/ModuleCacheTest.cpp
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Turn lldb_private::Status into a value type. (#106163)

This patch removes all of the Set.* methods from Status.

This cleanup is part of a series of patches that make it harder use the
anti-pattern of keeping a long-lives Status object around and updating
it while dropping any errors it contains on the floor.

This patch is largely NFC, the more interesting next steps this enables
is to:
1. remove Status.Clear()
2. assert that Status::operator=() never overwrites an error
3. remove Status::operator=()

Note that step (2) will bring 90% of the benefits for users, and step
(3) will dramatically clean up the error handling code in various
places. In the end my goal is to convert all APIs that are of the form

`    ResultTy DoFoo(Status& error)
`
to

`    llvm::Expected<ResultTy> DoFoo()
`
How to read this patch?

The interesting changes are in Status.h and Status.cpp, all other
changes are mostly

` perl -pi -e 's/\.SetErrorString/ = Status::FromErrorString/g' $(git
grep -l SetErrorString lldb/source)
`
plus the occasional manual cleanup.


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

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

  Log Message:
  -----------
  [lldb] Add transitional backwards-compatible API to Status


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

  Changed paths:
    M lldb/source/Utility/SelectHelper.cpp

  Log Message:
  -----------
  [lldb] Add missing namespace


  Commit: fac87b889c50f493ba332950f613fa15a45be9a9
      https://github.com/llvm/llvm-project/commit/fac87b889c50f493ba332950f613fa15a45be9a9
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/Assembler.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/Error.h
    M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
    M llvm/unittests/tools/llvm-exegesis/BenchmarkRunnerTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp

  Log Message:
  -----------
  [llvm-exegesis] Switch from intptr_t to uintptr_t in most cases (#102860)

This patch switches most of the uses of intptr_t to uintptr_t within
llvm-exegesis for the subprocess memory support. In the vast majority of
cases we do not want a signed component of the address, hence making
intptr_t undesirable. intptr_t is left for error handling, for example
when making syscalls and we need to see if the syscall returned -1.


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

  Changed paths:
    M libcxx/include/__algorithm/three_way_comp_ref_type.h

  Log Message:
  -----------
  [libc++] Add missing include to three_way_comp_ref_type.h

We were using a `_LIBCPP_ASSERT_FOO` macro without including `<__assert>`.

rdar://134425695


  Commit: 2abed78b4da0f4eb133e971c70734e664d5f87fd
      https://github.com/llvm/llvm-project/commit/2abed78b4da0f4eb133e971c70734e664d5f87fd
  Author: Wael Yehia <44115484+w2yehia at users.noreply.github.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M compiler-rt/lib/profile/GCDAProfiling.c
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingUtil.c
    M compiler-rt/lib/profile/InstrProfilingUtil.h
    A compiler-rt/test/profile/AIX/gcov-dlopen-dlclose.test
    A compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test
    A compiler-rt/test/profile/instrprof-fork.c

  Log Message:
  -----------
  [AIX][PGO] Handle atexit functions when dlclose'ing shared libraries (#102940)

Problem:
On AIX, functions registered by atexit in a shared library are not run
when the library is dlclosed, but instead run (and fail because the
function pointer is no longer valid) during main program exit.

The profile-rt registers some functions with atexit:

 1. writeFileWithoutReturn that writes out the profile file
 2. llvm_delete_reset_function_list that does some cleanup in the gcov 
    instrumentation library (not sure)

And so right now, we get an "Illegal instruction (core dumped)" when an
instrumented shared object is dlopen'ed and dlclosed.

Solution:
  When a shared library is dlclose'd, destructors from the library are
  called. So create a destructor function that iterates over all known
  functions that profile-rt registers with atexit, and unregister the ones
  that have been registered and execute them.

Scenarios tested:
(0) gcov dlopen/dlclose                                       (AIX/gcov-dlopen-dlclose.test)
(1) multiple dlopen/dlclose of the same lib and multiple libs (instrprof-dlopen-dlclose.test)
(2) dlopen but no dlclose                                     (exists: Posix/instrprof-dlopen.test)
(3) a simple fork testcase with dlopen/dlclose                (instrprof-dlopen-dlclose.test)
(4) dlopen/dlclose by multiple threads.                       (instrprof-dlopen-dlclose.test)
(5) regular dynamic-linking of instrumented shared libs       (exists: AIX/shared-bexpall-pgo.c)
(6) a simple fork testcase produces correct profile           (instrprof-fork.c)


---------

Co-authored-by: Hubert Tong <hstong at ca.ibm.com>


  Commit: abd69b3653fa0298f717d535678a395f1cfa6bb4
      https://github.com/llvm/llvm-project/commit/abd69b3653fa0298f717d535678a395f1cfa6bb4
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    A bolt/test/AArch64/internal-call.s

  Log Message:
  -----------
  [BOLT] Handle internal calls in ValidateInternalCalls (#105736)

Move handling of all internal calls into the designated pass. Preserve
NOPs and mark functions as non-simple on non-X86 platforms.


  Commit: ff81f9fbaeb32e9967ecd01f58a1cd9c7196e948
      https://github.com/llvm/llvm-project/commit/ff81f9fbaeb32e9967ecd01f58a1cd9c7196e948
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-27 (Tue, 27 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

  Log Message:
  -----------
  [SandboxIR] Implement VAArgInst (#106247)

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


  Commit: 155e3aa0d7ea46dc99672bfe7291ed3084201c5e
      https://github.com/llvm/llvm-project/commit/155e3aa0d7ea46dc99672bfe7291ed3084201c5e
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    A llvm/test/Transforms/InstCombine/fold-add-sub.ll

  Log Message:
  -----------
  [InstCombine] Add tests for reassosiating `(add/sub (sub/add) (sub/add))`; NFC


  Commit: a6edcea211a3d415212adb69b544f853351a7627
      https://github.com/llvm/llvm-project/commit/a6edcea211a3d415212adb69b544f853351a7627
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/test/Transforms/InstCombine/fold-add-sub.ll

  Log Message:
  -----------
  [InstCombine] Simplify `(add/sub (sub/add) (sub/add))` irrelivant of use-count

Added folds:
    - `(add (sub X, Y), (sub Z, X))` -> `(sub Z, Y)`
    - `(sub (add X, Y), (add X, Z))` -> `(sub Y, Z)`

The fold typically is handled in the `Reassosiate` pass, but it fails
if the inner `sub`/`add` are multi-use. Less importantly, Reassosiate
doesn't propagate flags correctly.

This patch adds the fold explicitly the InstCombine

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

Closes #105866


  Commit: 511500e35159fb770f6a570f473beeb78d4091a4
      https://github.com/llvm/llvm-project/commit/511500e35159fb770f6a570f473beeb78d4091a4
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
    M llvm/test/Transforms/PGOProfile/icp_vtable_cmp.ll

  Log Message:
  -----------
  [TypeProf][ICP]Allow vtable-comparison as long as vtable count is comparable with function count for each candidate (#106260)

The current cost-benefit analysis between vtable comparison and function
comparison require the indirect fallback branch to be cold. This is too
conservative.

This change allows vtable-comparison as long as vtable count is
comparable with function count for each function candidate and removes
the cold indirect fallback requirement.

Tested:
1. Testing this on benchmarks uplifts the measurable performance wins.
Counting the (possibly-duplicated) remarks (because of linkonce_odr
functions, cross-module import of functions) show the number of vtable
remarks increases from ~30k-ish to 50k-ish.
2. https://gcc.godbolt.org/z/sbGK7Pacn shows vtable-comparison doesn't
happen today (using the same IR input)


  Commit: 23144e87d2ef0ecf86b67d4aaa28cea332de41c3
      https://github.com/llvm/llvm-project/commit/23144e87d2ef0ecf86b67d4aaa28cea332de41c3
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/SampleProfReader.h
    M llvm/lib/ProfileData/SampleProfReader.cpp

  Log Message:
  -----------
  [SampleFDO][NFC] Refactoring sample reader to support on-demand read profiles for given functions (#104654)

Currently in extended binary format, sample reader only read the
profiles when the function are in the current module at initialization
time, this extends the support to read the arbitrary profiles for given
input functions in later stage. It's used for
https://github.com/llvm/llvm-project/pull/101053.


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

  Changed paths:
    M libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Add missing newline and remove unintended escape sequence


  Commit: 1d7bb2bbfa1d50663e2883e0e8e1d2b147103013
      https://github.com/llvm/llvm-project/commit/1d7bb2bbfa1d50663e2883e0e8e1d2b147103013
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/MachO.h

  Log Message:
  -----------
  [MachO] Give the CPUSubTypeARM64 enum uint32_t type. NFCI.

We recently added various CPU_SUBTYPE_ARM64E values, notably including
CPU_SUBTYPE_ARM64E_VERSIONED_PTRAUTH_ABI_MASK, which is 0x80000000U.
The enum is better off as a uint32_t to accomodate that.

This also hopefully helps silence GCC warnings reported on a ternary in
CPU_SUBTYPE_ARM64E_WITH_PTRAUTH_VERSION.

The subtype is already generally treated as a uint32_t elsewhere, so
while there, change the new helpers to explicitly pass/return the
subtype as uint32_t, and the individual narrower components as either
bool or unsigned.


  Commit: edbd9d10bfb2c716fd8c38133f4a20ca7138fc90
      https://github.com/llvm/llvm-project/commit/edbd9d10bfb2c716fd8c38133f4a20ca7138fc90
  Author: weiguozhi <57237827+weiguozhi at users.noreply.github.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/test/CodeGen/X86/avx512-intel-ocl.ll
    M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
    A llvm/test/CodeGen/X86/clobber_frame_ptr2.ll
    M llvm/test/CodeGen/X86/x86-64-flags-intrinsics.ll

  Log Message:
  -----------
  [X86] Check if there is stack access in the spilled FP/BP range (#106035)

In the clobbered FP/BP range, we can't use it as normal FP/BP to access
stack. So if there are stack accesses due to register spill, scheduling
or other back end optimization, we should report an error instead of
silently generate wrong code.

Also try to minimize the save/restore range of the clobbered FP/BP if
the FrameSetup doesn't change stack size.


  Commit: ed03070eb349efcfb29056f98c2025219dfea6be
      https://github.com/llvm/llvm-project/commit/ed03070eb349efcfb29056f98c2025219dfea6be
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP] Support vectorizing 2^N-1 reductions (#106266)

Build on the -slp-vectorize-non-power-of-2 experimental option, and
support vectorizing reductions with 2^N-1 sized vector.

Specifically, two related changes:
1) When searching for a profitable VL, start with the 2^N-1 reduction
width.
If cost model does not select that VL, return to power of two boundaries
   when halfing the search VL.  The later is mostly for simplicity.
2) Reduce the minimum reduction width from 4 to 3 when supporting
non-power
   of two vectors.  This is required to support <3 x Ty> cases.

One thing which isn't directly related to this change, but I want to
note for clarity is that the non-power-of-two vectorization appears to
be sensative to operand order of reduction. I haven't yet fully figured
out why, but I suspect this is non-power-of-two specific.


  Commit: 5e64520dae5dd980bc6db25414edc3a167d8af8f
      https://github.com/llvm/llvm-project/commit/5e64520dae5dd980bc6db25414edc3a167d8af8f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/unittests/Utility/StatusTest.cpp

  Log Message:
  -----------
  [lldb] Update Windows test to new Status API


  Commit: 6a74b0ee591db817543988c3ce6c346741eddd54
      https://github.com/llvm/llvm-project/commit/6a74b0ee591db817543988c3ce6c346741eddd54
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [SLP] Use early-return in canVectorizeLoads [nfc]


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

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

  Log Message:
  -----------
  [lldb] Update ProcessLauncherWinows to new Status API


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

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

  Log Message:
  -----------
  [ICP] Fix warnings

This patch fixes:

  llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp:845:12:
  error: variable 'RemainingVTableCount' set but not used
  [-Werror,-Wunused-but-set-variable]

  llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp:306:23:
  error: private field 'PSI' is not used
  [-Werror,-Wunused-private-field]

Here are a couple of domino effects:

- Once I remove PSI, I need to update the contructor and its caller.

- Once I remove RemainingVTableCount, I don't need TotalCount, so I am
  updating the caller as well.


  Commit: 29bb523b7c3502b47737ced2a8b20678809ec9de
      https://github.com/llvm/llvm-project/commit/29bb523b7c3502b47737ced2a8b20678809ec9de
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/ModuleSummaryIndex.h
    M llvm/lib/Transforms/IPO/FunctionImport.cpp

  Log Message:
  -----------
  [LTO] Introduce a helper lambda in gatherImportedSummariesForModule (NFC) (#106251)

This patch forward ports the heterogeneous std::map::operator[]() from
C++26 so that we can look up the map without allocating an instance of
std::string when the key-value pair exists in the map.

The background is as follows.  I'm planning to reduce the memory
footprint of ThinLTO indexing by changing ImportMapTy, the data
structure used for an import list.  The new list will be a hash set of
tuples (SourceModule, GUID, ImportType) represented in a space
efficient manner.  That means that as we iterate over the hash set, we
encounter SourceModule as many times as GUID.  We don't want to create
a temporary instance of std::string every time we look up
ModuleToSummariesForIndex like:

auto &SummariesForIndex =
ModuleToSummariesForIndex[std::string(ILI.first)];

This patch removes the need to create the temporaries by enabling the
hetegeneous lookup with std::set<K, V, std::less<>> and forward
porting std::map::operator[]() from C++26.


  Commit: 4d7a0abae8b40482a44c22257b2e86c6fa89547c
      https://github.com/llvm/llvm-project/commit/4d7a0abae8b40482a44c22257b2e86c6fa89547c
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/Target/AArch64/AArch64CallingConvention.cpp
    M llvm/lib/Target/ARM/ARMCallingConv.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/unittests/IR/DataLayoutTest.cpp

  Log Message:
  -----------
  [DataLayout] Change return type of `getStackAlignment` to `MaybeAlign` (#105478)

Currently, `getStackAlignment` asserts if the stack alignment wasn't
specified. This makes it inconvenient to use and complicates testing.

This change also makes `exceedsNaturalStackAlignment` method redundant.


  Commit: 4c4908cd5d4bb6cd5c47ca294c26b7b8703cff7e
      https://github.com/llvm/llvm-project/commit/4c4908cd5d4bb6cd5c47ca294c26b7b8703cff7e
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/anyext.ll
    M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll

  Log Message:
  -----------
  [AMDGPU] adjust tests to prevent fpclass bitcast folding (#106268)

Make some minor tweaks to AMDGPU tests to ensure they still work as
intended after https://github.com/llvm/llvm-project/pull/97762. These
tests can be radically simplified after bitcast aware fpclass deduction.


  Commit: ee764a2603269001aae808c906d2ed05ddbd0471
      https://github.com/llvm/llvm-project/commit/ee764a2603269001aae808c906d2ed05ddbd0471
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/buildvector-reduce.ll
    R llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-non-vector-root.ll

  Log Message:
  -----------
  [SLP] Remove -slp-optimize-identity-hor-reduction-ops option (#106238)

This code has been unchanged for two years; let's simplify the code
and remove configurability which makes the code harder to follow.


  Commit: 74e70bae15b2e150d763f6b9035627b822891327
      https://github.com/llvm/llvm-project/commit/74e70bae15b2e150d763f6b9035627b822891327
  Author: A. Jiang <de34 at live.cn>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M libcxx/include/__mdspan/extents.h
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_integral.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_right.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_left/assert.ctor.layout_stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.extents.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_left.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_right/assert.ctor.layout_stride.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.conversion.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
    M libcxx/test/libcxx/containers/views/mdspan/mdspan/assert.size.pass.cpp
    A libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp

  Log Message:
  -----------
  [libc++] Disallow character types being index types of `extents` (#105832)

#78086 provided the trait we want to use for this: `__libcpp_integer`.

In some `libcxx/containers/views/mdspan` tests, improper uses of `char` 
are replaced with `signed char`. 

Fixes #73715


  Commit: 2a3d735f91ea107799b1979fad445008322e157e
      https://github.com/llvm/llvm-project/commit/2a3d735f91ea107799b1979fad445008322e157e
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Add ConvertToSPIRV dep to mlir-vulkan-runner (#106285)

New dep needed for 2bf2468553f69c72680d138b91046d4c00d2c7a6


  Commit: bcb6e2703bf03c1a299c75676dc3ccc999e30fe8
      https://github.com/llvm/llvm-project/commit/bcb6e2703bf03c1a299c75676dc3ccc999e30fe8
  Author: Ahmed Bougacha <ahmed at bougacha.org>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/MachO.h

  Log Message:
  -----------
  [MachO] Silence GCC warning on enum/non-enum in ternary. NFC.


  Commit: fc517973c299d879f0795d37500a7db1f4d63588
      https://github.com/llvm/llvm-project/commit/fc517973c299d879f0795d37500a7db1f4d63588
  Author: Adrian Vogelsgesang <avogelsgesang at salesforce.com>
  Date:   2024-08-27 (Tue, 27 Aug 2024)

  Changed paths:
    M lldb/test/API/commands/frame/recognizer/TestFrameRecognizer.py

  Log Message:
  -----------
  [lldb] Fix test expectation in `TestFrameRecognizer.py` (#106281)


  Commit: 58e5ecf3c3a154a052cc550ba381f4a244132994
      https://github.com/llvm/llvm-project/commit/58e5ecf3c3a154a052cc550ba381f4a244132994
  Author: Necip Fazil Yildiran <necip at google.com>
  Date:   2024-11-13 (Wed, 13 Nov 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .ci/monolithic-windows.sh
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    A .github/workflows/ci-post-commit-analyzer-run.py
    A .github/workflows/ci-post-commit-analyzer.yml
    A .github/workflows/commit-access-review.py
    A .github/workflows/commit-access-review.yml
    M .github/workflows/containers/github-action-ci/stage1.Dockerfile
    M .github/workflows/docs.yml
    A .github/workflows/get-llvm-version/action.yml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/issue-subscriber.yml
    M .github/workflows/issue-write.yml
    M .github/workflows/libclang-abi-tests.yml
    M .github/workflows/libclang-python-tests.yml
    M .github/workflows/libcxx-build-and-test.yaml
    A .github/workflows/libcxx-restart-preempted-jobs.yaml
    M .github/workflows/llvm-bugs.yml
    M .github/workflows/llvm-project-tests.yml
    M .github/workflows/llvm-tests.yml
    M .github/workflows/merged-prs.yml
    M .github/workflows/new-prs.yml
    M .github/workflows/pr-code-format.yml
    A .github/workflows/pr-request-release-note.yml
    M .github/workflows/pr-subscriber.yml
    A .github/workflows/release-asset-audit.py
    A .github/workflows/release-asset-audit.yml
    A .github/workflows/release-binaries-all.yml
    A .github/workflows/release-binaries-save-stage/action.yml
    A .github/workflows/release-binaries-setup-stage/action.yml
    M .github/workflows/release-binaries.yml
    M .github/workflows/release-documentation.yml
    M .github/workflows/release-doxygen.yml
    A .github/workflows/release-sources.yml
    M .github/workflows/release-tasks.yml
    M .github/workflows/set-release-binary-outputs.sh
    A .github/workflows/unprivileged-download-artifact/action.yml
    M .github/workflows/version-check.yml
    M .mailmap
    M bolt/CMakeLists.txt
    M bolt/cmake/modules/AddBOLT.cmake
    M bolt/docs/BAT.md
    M bolt/docs/CMakeLists.txt
    A bolt/docs/CommandLineArgumentReference.md
    A bolt/docs/HeatmapHeader.png
    M bolt/docs/Heatmaps.md
    M bolt/docs/OptimizingClang.md
    A bolt/docs/OptimizingLinux.md
    A bolt/docs/generate_doc.py
    M bolt/include/bolt/Core/BinaryBasicBlock.h
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    A bolt/include/bolt/Core/BinaryFunctionCallGraph.h
    M bolt/include/bolt/Core/BinarySection.h
    A bolt/include/bolt/Core/CallGraph.h
    A bolt/include/bolt/Core/CallGraphWalker.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DebugData.h
    M bolt/include/bolt/Core/DebugNames.h
    M bolt/include/bolt/Core/FunctionLayout.h
    A bolt/include/bolt/Core/GDBIndex.h
    M bolt/include/bolt/Core/HashUtilities.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/ParallelUtilities.h
    R bolt/include/bolt/Passes/BinaryFunctionCallGraph.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    R bolt/include/bolt/Passes/CallGraph.h
    R bolt/include/bolt/Passes/CallGraphWalker.h
    M bolt/include/bolt/Passes/FrameAnalysis.h
    M bolt/include/bolt/Passes/HFSort.h
    M bolt/include/bolt/Passes/IndirectCallPromotion.h
    M bolt/include/bolt/Passes/MCF.h
    M bolt/include/bolt/Passes/RegReAssign.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/include/bolt/Profile/ProfileYAMLMapping.h
    M bolt/include/bolt/Profile/YAMLProfileReader.h
    M bolt/include/bolt/Rewrite/DWARFRewriter.h
    M bolt/include/bolt/Rewrite/MetadataManager.h
    M bolt/include/bolt/Rewrite/MetadataRewriter.h
    M bolt/include/bolt/Rewrite/MetadataRewriters.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/include/bolt/RuntimeLibs/RuntimeLibrary.h
    M bolt/include/bolt/Utils/CommandLineOpts.h
    M bolt/include/bolt/Utils/NameResolver.h
    M bolt/lib/CMakeLists.txt
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    A bolt/lib/Core/BinaryFunctionCallGraph.cpp
    M bolt/lib/Core/BinaryFunctionProfile.cpp
    M bolt/lib/Core/CMakeLists.txt
    A bolt/lib/Core/CallGraph.cpp
    A bolt/lib/Core/CallGraphWalker.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DebugNames.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/FunctionLayout.cpp
    A bolt/lib/Core/GDBIndex.cpp
    M bolt/lib/Core/HashUtilities.cpp
    M bolt/lib/Core/ParallelUtilities.cpp
    M bolt/lib/Passes/AsmDump.cpp
    R bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMakeLists.txt
    M bolt/lib/Passes/CacheMetrics.cpp
    R bolt/lib/Passes/CallGraph.cpp
    R bolt/lib/Passes/CallGraphWalker.cpp
    M bolt/lib/Passes/FrameAnalysis.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/MCF.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/RegAnalysis.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/CMakeLists.txt
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Profile/DataReader.cpp
    M bolt/lib/Profile/Heatmap.cpp
    M bolt/lib/Profile/StaleProfileMatching.cpp
    M bolt/lib/Profile/YAMLProfileReader.cpp
    M bolt/lib/Profile/YAMLProfileWriter.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    A bolt/lib/Rewrite/BuildIDRewriter.cpp
    M bolt/lib/Rewrite/CMakeLists.txt
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/MetadataManager.cpp
    M bolt/lib/Rewrite/PseudoProbeRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Rewrite/SDTRewriter.cpp
    M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
    M bolt/lib/RuntimeLibs/RuntimeLibrary.cpp
    M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
    M bolt/lib/Target/AArch64/CMakeLists.txt
    M bolt/lib/Target/RISCV/CMakeLists.txt
    M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
    M bolt/lib/Target/X86/CMakeLists.txt
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CMakeLists.txt
    M bolt/lib/Utils/CommandLineOpts.cpp
    M bolt/runtime/CMakeLists.txt
    M bolt/runtime/instr.cpp
    M bolt/test/AArch64/Inputs/array_end.lld_script
    A bolt/test/AArch64/Inputs/build_id.ldscript
    A bolt/test/AArch64/build_id.c
    A bolt/test/AArch64/dummy-return.s
    A bolt/test/AArch64/internal-call.s
    M bolt/test/AArch64/lit.local.cfg
    A bolt/test/AArch64/plt-call.test
    A bolt/test/AArch64/test-indirect-branch.s
    M bolt/test/AArch64/update-debug-reloc.test
    A bolt/test/AArch64/update-weak-reference-symbol.s
    M bolt/test/AArch64/veneer-gold.s
    M bolt/test/CMakeLists.txt
    R bolt/test/Inputs/lsda.ldscript
    A bolt/test/Inputs/plt-tailcall.c
    A bolt/test/X86/Inputs/ambiguous_fragment.s
    A bolt/test/X86/Inputs/ambiguous_fragment.script
    A bolt/test/X86/Inputs/blarge_new_bat_branchentry.preagg.txt
    A bolt/test/X86/Inputs/blarge_new_bat_order.preagg.txt
    A bolt/test/X86/Inputs/blarge_profile_stale_low_matched_blocks.yaml
    A bolt/test/X86/Inputs/build_id.yaml
    A bolt/test/X86/Inputs/dwarf4-df-input-lowpc-ranges-other.s
    A bolt/test/X86/Inputs/dwarf4-subprogram-multiple-ranges-other.s
    A bolt/test/X86/Inputs/dwarf5-df-input-lowpc-ranges-other.s
    M bolt/test/X86/Inputs/dwarf5-df-types-debug-names-main.s
    A bolt/test/X86/Inputs/dwarf5-subprogram-multiple-ranges-other.s
    A bolt/test/X86/Inputs/infer_no_exits.s
    A bolt/test/X86/Inputs/jump-table-fixed-ref-pic.s
    M bolt/test/X86/addr32.s
    A bolt/test/X86/ambiguous_fragment.test
    M bolt/test/X86/asm-func-debug.test
    M bolt/test/X86/avx512-trap.test
    M bolt/test/X86/bb-with-two-tail-calls.s
    M bolt/test/X86/block-reordering.test
    M bolt/test/X86/bolt-address-translation-internal-call.test
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M bolt/test/X86/branch-data.test
    M bolt/test/X86/broken_dynsym.test
    M bolt/test/X86/bug-function-layout-execount.s
    M bolt/test/X86/bug-reorder-bb-jrcxz.s
    A bolt/test/X86/build_id.test
    M bolt/test/X86/calculate-emitted-block-size.s
    M bolt/test/X86/call-zero.s
    M bolt/test/X86/cdsplit-call-scale.s
    M bolt/test/X86/cdsplit-symbol-names.s
    M bolt/test/X86/cfi-expr-rewrite.s
    M bolt/test/X86/cfi-instrs-count.s
    M bolt/test/X86/cfi-instrs-reordered.s
    M bolt/test/X86/checkvma-large-section.test
    M bolt/test/X86/ctc-and-unreachable.test
    M bolt/test/X86/debug-fission-single-convert.s
    M bolt/test/X86/debug-fission-single.s
    M bolt/test/X86/double-jump.test
    M bolt/test/X86/dwarf-handle-visit-loclist-error.s
    M bolt/test/X86/dwarf-test-df-logging.test
    M bolt/test/X86/dwarf3-lowpc-highpc-convert.s
    M bolt/test/X86/dwarf4-cross-cu-backward-different-abbrev.test
    M bolt/test/X86/dwarf4-cross-cu-forward-different-abbrev.test
    M bolt/test/X86/dwarf4-cross-cu-loclist-dwarf4-loclist--dwarf5-loclist.test
    M bolt/test/X86/dwarf4-df-basic.test
    M bolt/test/X86/dwarf4-df-call-site-change-low-pc.test
    M bolt/test/X86/dwarf4-df-change-in-dw-op-gnu-addr-index-main.test
    M bolt/test/X86/dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-df-dualcu-loclist.test
    M bolt/test/X86/dwarf4-df-dualcu.test
    M bolt/test/X86/dwarf4-df-inlined-subroutine-lowpc-0.test
    A bolt/test/X86/dwarf4-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf4-df-input-lowpc-ranges.test
    M bolt/test/X86/dwarf4-df-no-base.test
    M bolt/test/X86/dwarf4-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf4-duplicate-types.test
    R bolt/test/X86/dwarf4-ftypes-dwo-input-dwp-output.test
    R bolt/test/X86/dwarf4-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf4-ftypes-dwp-input-dwo-output.test
    M bolt/test/X86/dwarf4-ftypes-dwp-input-dwp-output.test
    M bolt/test/X86/dwarf4-gdb-index-types-gdb-generated.test
    M bolt/test/X86/dwarf4-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-no-internal-dwarf-error.s
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-cant-parse-die.s
    M bolt/test/X86/dwarf4-invalid-reference-die-offset-with-internal-dwarf-error-invalid-die.s
    M bolt/test/X86/dwarf4-sibling.s
    M bolt/test/X86/dwarf4-size-0-inlined_subroutine.s
    M bolt/test/X86/dwarf4-split-dwarf-no-address.test
    M bolt/test/X86/dwarf4-split-gdb-index-types-gdb-generated.test
    A bolt/test/X86/dwarf4-subprogram-multiple-ranges-cus.test
    M bolt/test/X86/dwarf4-subprogram-multiple-ranges.test
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    M bolt/test/X86/dwarf4-subprogram-single-ranges.test
    M bolt/test/X86/dwarf4-types-dwarf5-types.test
    M bolt/test/X86/dwarf4-types-dwarf5.test
    M bolt/test/X86/dwarf4-types-forward-backward-cross-reference.s
    M bolt/test/X86/dwarf4-types.test
    M bolt/test/X86/dwarf5-addr-section-reuse.s
    M bolt/test/X86/dwarf5-call-pc-function-null-check.test
    M bolt/test/X86/dwarf5-call-pc.test
    M bolt/test/X86/dwarf5-cu-no-debug-addr.test
    M bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s
    M bolt/test/X86/dwarf5-debug-line-not-modified.test
    M bolt/test/X86/dwarf5-debug-line.s
    M bolt/test/X86/dwarf5-debug-loclists.s
    A bolt/test/X86/dwarf5-debug-names-class-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-enumeration-type-decl.s
    A bolt/test/X86/dwarf5-debug-names-skip-forward-decl.s
    A bolt/test/X86/dwarf5-debug-names-structure-type-decl.s
    M bolt/test/X86/dwarf5-df-call-site-change-low-pc.test
    M bolt/test/X86/dwarf5-df-change-in-dw-op-gnu-addr-index-main.test
    M bolt/test/X86/dwarf5-df-cu-function-gc.test
    M bolt/test/X86/dwarf5-df-dualcu-loclist.test
    M bolt/test/X86/dwarf5-df-dualcu.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-gc-sections-range.test
    M bolt/test/X86/dwarf5-df-inlined-subroutine-range-0.test
    A bolt/test/X86/dwarf5-df-input-lowpc-ranges-cus.test
    M bolt/test/X86/dwarf5-df-input-lowpc-ranges.test
    A bolt/test/X86/dwarf5-df-larger-batch-size.test
    M bolt/test/X86/dwarf5-df-mono-dualcu.test
    M bolt/test/X86/dwarf5-df-output-dir-same-name.test
    M bolt/test/X86/dwarf5-df-types-debug-names.test
    M bolt/test/X86/dwarf5-df-types-dup-dwp-input.test
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name-mixed.test
    A bolt/test/X86/dwarf5-df-types-modify-dwo-name.test
    M bolt/test/X86/dwarf5-do-no-convert-low-pc-high-pc-to-ranges.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-dwarf4-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
    M bolt/test/X86/dwarf5-empty-arange.test
    R bolt/test/X86/dwarf5-ftypes-dwo-mono-input-dwp-output.test
    M bolt/test/X86/dwarf5-ftypes-dwp-input-dwo-output.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb11.test
    M bolt/test/X86/dwarf5-gdb-index-types-gdb-generated-gdb9.test
    M bolt/test/X86/dwarf5-gdb-index-types-lld-generated.test
    M bolt/test/X86/dwarf5-locaddrx.test
    M bolt/test/X86/dwarf5-locexpr-addrx.s
    M bolt/test/X86/dwarf5-locexpr-referrence.test
    M bolt/test/X86/dwarf5-loclist-offset-form.test
    M bolt/test/X86/dwarf5-lowpc-highpc-convert.s
    M bolt/test/X86/dwarf5-multiple-dw-op-addrx-locexpr.s
    M bolt/test/X86/dwarf5-one-loclists-two-bases.test
    M bolt/test/X86/dwarf5-rangeoffset-to-rangeindex.s
    M bolt/test/X86/dwarf5-return-pc-form-addr.test
    M bolt/test/X86/dwarf5-return-pc.test
    M bolt/test/X86/dwarf5-shared-str-offset-base.s
    M bolt/test/X86/dwarf5-split-dwarf4-monolithic.test
    M bolt/test/X86/dwarf5-split-gdb-index-types-gdb-generated.test
    A bolt/test/X86/dwarf5-subprogram-multiple-ranges-cus.test
    M bolt/test/X86/dwarf5-subprogram-multiple-ranges.test
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    M bolt/test/X86/dwarf5-subprogram-single-ranges.test
    M bolt/test/X86/dwarf5-two-cu-str-offset-table.test
    M bolt/test/X86/dwarf5-two-loclists.test
    M bolt/test/X86/dwarf5-two-rnglists.test
    M bolt/test/X86/dwarf5-type-unit-no-cu-str-offset-table.test
    M bolt/test/X86/dwarf5-types-backward-cross-reference.s
    M bolt/test/X86/dwarf5-types-debug-names.test
    M bolt/test/X86/dwarf5-types-forward-cross-reference.s
    A bolt/test/X86/dynamic-relocs-on-entry.s
    M bolt/test/X86/dynrelocs.s
    M bolt/test/X86/encoding-validation.s
    M bolt/test/X86/end-symbol.test
    M bolt/test/X86/exceptions-args.test
    M bolt/test/X86/fallthrough-to-noop.test
    M bolt/test/X86/false-jump-table.s
    M bolt/test/X86/fatal-error.s
    M bolt/test/X86/fragment-lite-reverse.s
    M bolt/test/X86/fragment-lite.s
    M bolt/test/X86/fragmented-symbols.s
    M bolt/test/X86/frame-opt-lea.s
    M bolt/test/X86/function-order-lite.s
    M bolt/test/X86/gdbindex.test
    M bolt/test/X86/gotpcrelx.s
    A bolt/test/X86/hashing-based-function-matching.test
    M bolt/test/X86/high_pc_udata.s
    M bolt/test/X86/icf-jump-tables.test
    M bolt/test/X86/icp-inline.s
    A bolt/test/X86/ignored-interprocedural-reference.s
    M bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/indirect-goto.test
    A bolt/test/X86/infer-fall-throughs.s
    A bolt/test/X86/infer_no_exits.test
    M bolt/test/X86/inlined-function-mixed.test
    M bolt/test/X86/insert-addr-rnglists_base.s
    M bolt/test/X86/insert-debug-info-entry.test
    M bolt/test/X86/instrumentation-eh_frame_hdr.cpp
    M bolt/test/X86/internal-call-instrument-so.s
    M bolt/test/X86/internal-call-instrument.s
    M bolt/test/X86/interprocedural-ref-entry-point.s
    M bolt/test/X86/is-strip.s
    M bolt/test/X86/issue20.s
    M bolt/test/X86/issue20.test
    M bolt/test/X86/issue26.s
    M bolt/test/X86/issue26.test
    M bolt/test/X86/jmp-optimization.test
    M bolt/test/X86/jmpjmp.test
    M bolt/test/X86/jt-symbol-disambiguation-3.s
    A bolt/test/X86/jt-symbol-disambiguation-4.s
    A bolt/test/X86/jump-table-fixed-ref-pic.test
    M bolt/test/X86/jump-table-footprint-reduction.test
    M bolt/test/X86/jump-table-func-entry.s
    M bolt/test/X86/jump-table-icp.test
    M bolt/test/X86/jump-table-pic-conflict.s
    M bolt/test/X86/jump-table-pic-order.test
    M bolt/test/X86/jump-table-reference.test
    M bolt/test/X86/keep-nops.s
    M bolt/test/X86/layout-heuristic.test
    M bolt/test/X86/line-number.test
    M bolt/test/X86/linux-alt-instruction.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-pci-fixup.s
    A bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/lit.local.cfg
    M bolt/test/X86/log.test
    M bolt/test/X86/loop-inversion-pass.s
    M bolt/test/X86/loop-nest.test
    A bolt/test/X86/match-functions-with-call-graph.test
    A bolt/test/X86/match-functions-with-calls-as-anchors.test
    M bolt/test/X86/merge-fdata-bat-mode.test
    M bolt/test/X86/merge-fdata-nobat-mode.test
    M bolt/test/X86/merge-fdata-output.test
    A bolt/test/X86/name-similarity-function-matching.test
    M bolt/test/X86/no-entry-reordering.test
    M bolt/test/X86/no-output.test
    M bolt/test/X86/nolbr.s
    M bolt/test/X86/patch-entries.test
    A bolt/test/X86/plt-call.test
    M bolt/test/X86/pre-aggregated-perf.test
    A bolt/test/X86/profile-passthrough-block.test
    M bolt/test/X86/pseudoprobe-decoding-inline.test
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/reader-stale-yaml-std.test
    M bolt/test/X86/reader-stale-yaml.test
    M bolt/test/X86/reader.test
    M bolt/test/X86/register-fragments-bolt-symbols.s
    M bolt/test/X86/relaxed-tailcall.test
    M bolt/test/X86/remove-unused.test
    M bolt/test/X86/rodata-simpl-loads.test
    M bolt/test/X86/sctc-bug.test
    M bolt/test/X86/sctc-bug2.test
    M bolt/test/X86/sctc-bug3.test
    M bolt/test/X86/sctc-bug4.test
    M bolt/test/X86/shared_object_entry.s
    M bolt/test/X86/shorten-mov.test
    M bolt/test/X86/shrinkwrapping-and-rsp.s
    M bolt/test/X86/shrinkwrapping-critedge.s
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    M bolt/test/X86/shrinkwrapping-insertcfi.s
    M bolt/test/X86/shrinkwrapping-lea.s
    M bolt/test/X86/shrinkwrapping-mov.s
    M bolt/test/X86/shrinkwrapping-pop-order.s
    M bolt/test/X86/shrinkwrapping-popf.s
    M bolt/test/X86/shrinkwrapping-restore-position.s
    M bolt/test/X86/shrinkwrapping.test
    M bolt/test/X86/split-all-lptrampoline.s
    M bolt/test/X86/split-all.s
    M bolt/test/X86/split-func-icf.s
    M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
    M bolt/test/X86/split-func-jump-table-fragment-noparent.s
    M bolt/test/X86/split-func-jump-table-fragment-reverse.s
    M bolt/test/X86/split-func-jump-table-fragment.s
    M bolt/test/X86/split-func-jump-table-unknown.s
    M bolt/test/X86/split-landing-pad.s
    M bolt/test/X86/split-random.s
    A bolt/test/X86/stale-matching-min-matched-block.test
    M bolt/test/X86/static-exe.test
    M bolt/test/X86/symtab-secondary-entries.test
    M bolt/test/X86/tail-duplication-cache.s
    M bolt/test/X86/tail-duplication-cacheline.s
    M bolt/test/X86/tail-duplication-complex.s
    M bolt/test/X86/tail-duplication-jt.s
    M bolt/test/X86/tail-duplication-pass.s
    M bolt/test/X86/tail-duplication-prop-bug.s
    M bolt/test/X86/tailcall-traps.test
    M bolt/test/X86/tailcall.test
    A bolt/test/X86/three-way-split-jt.s
    M bolt/test/X86/unclaimed-jt-entries.s
    M bolt/test/X86/unreachable-jmp.s
    M bolt/test/X86/unreachable.test
    M bolt/test/X86/vararg.test
    M bolt/test/X86/yaml-multiple-profiles.test
    A bolt/test/X86/yaml-non-simple.test
    M bolt/test/X86/zero-sized-object.s
    M bolt/test/bad-exe.test
    M bolt/test/bolt-icf.test
    M bolt/test/bolt-info.test
    M bolt/test/heatmap.test
    M bolt/test/invalid-profile.test
    M bolt/test/keep-aranges.test
    M bolt/test/link_fdata.py
    M bolt/test/lit.cfg.py
    M bolt/test/lit.local.cfg
    M bolt/test/lit.site.cfg.py.in
    M bolt/test/lsda-section-name.cpp
    M bolt/test/no-relocs.test
    M bolt/test/non-empty-debug-line.test
    M bolt/test/perf2bolt/lit.local.cfg
    M bolt/test/permission.test
    M bolt/test/pie.test
    M bolt/test/re-optimize.test
    M bolt/test/runtime/X86/asm-dump.c
    M bolt/test/runtime/X86/hot-end-symbol.s
    M bolt/test/runtime/X86/unclaimed-jt-entries.s
    A bolt/test/runtime/bolt-reserved.cpp
    M bolt/test/shared-object.test
    A bolt/test/timers.c
    M bolt/unittests/CMakeLists.txt
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M bolt/utils/docker/Dockerfile
    M clang-tools-extra/CMakeLists.txt
    M clang-tools-extra/clang-doc/BitcodeReader.cpp
    M clang-tools-extra/clang-doc/BitcodeWriter.cpp
    M clang-tools-extra/clang-doc/HTMLGenerator.cpp
    M clang-tools-extra/clang-doc/Mapper.cpp
    M clang-tools-extra/clang-doc/Mapper.h
    M clang-tools-extra/clang-doc/Representation.cpp
    M clang-tools-extra/clang-doc/Representation.h
    M clang-tools-extra/clang-doc/Serialize.cpp
    M clang-tools-extra/clang-doc/assets/index.js
    M clang-tools-extra/clang-doc/tool/CMakeLists.txt
    M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
    M clang-tools-extra/clang-include-fixer/find-all-symbols/STLPostfixHeaderMap.cpp
    M clang-tools-extra/clang-query/CMakeLists.txt
    M clang-tools-extra/clang-query/Query.cpp
    M clang-tools-extra/clang-query/Query.h
    M clang-tools-extra/clang-query/QueryParser.cpp
    M clang-tools-extra/clang-query/QuerySession.h
    M clang-tools-extra/clang-query/tool/ClangQuery.cpp
    M clang-tools-extra/clang-tidy/CMakeLists.txt
    M clang-tools-extra/clang-tidy/ClangTidy.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
    M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
    M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
    M clang-tools-extra/clang-tidy/ClangTidyOptions.h
    M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
    M clang-tools-extra/clang-tidy/add_new_check.py
    M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
    M clang-tools-extra/clang-tidy/boost/CMakeLists.txt
    A clang-tools-extra/clang-tidy/boost/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/boost/UseRangesCheck.h
    M clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/CastingThroughVoidCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ImplicitWideningOfMultiplicationResultCheck.h
    M clang-tools-extra/clang-tidy/bugprone/IncorrectEnableIfCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MacroRepeatedSideEffectsCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.h
    M clang-tools-extra/clang-tidy/bugprone/ReservedIdentifierCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.h
    M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedReturnValueCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
    M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/AvoidNonConstGlobalVariablesCheck.h
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MacroUsageCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/MisleadingCaptureDefaultByValueCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
    M clang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/ImplementationInNamespaceCheck.cpp
    M clang-tools-extra/clang-tidy/llvmlibc/NamespaceConstants.h
    M clang-tools-extra/clang-tidy/misc/CMakeLists.txt
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
    M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
    M clang-tools-extra/clang-tidy/misc/HeaderIncludeCycleCheck.cpp
    M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
    M clang-tools-extra/clang-tidy/misc/UnusedParametersCheck.cpp
    A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    A clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.h
    A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseRangesCheck.h
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/UseStdFormatCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStdPrintCheck.cpp
    M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
    M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
    M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
    M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ElseAfterReturnCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
    M clang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
    M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
    M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp
    M clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.h
    M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.cpp
    M clang-tools-extra/clang-tidy/readability/StringCompareCheck.h
    M clang-tools-extra/clang-tidy/readability/SuspiciousCallArgumentCheck.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
    M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
    M clang-tools-extra/clang-tidy/utils/ASTUtils.cpp
    M clang-tools-extra/clang-tidy/utils/CMakeLists.txt
    M clang-tools-extra/clang-tidy/utils/DeclRefExprUtils.cpp
    M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
    M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
    M clang-tools-extra/clang-tidy/utils/FormatStringConverter.h
    M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
    M clang-tools-extra/clang-tidy/utils/Matchers.h
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
    A clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
    A clang-tools-extra/clang-tidy/utils/UseRangesCheck.h
    M clang-tools-extra/clangd/AST.cpp
    M clang-tools-extra/clangd/CMakeLists.txt
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/ClangdServer.h
    M clang-tools-extra/clangd/Compiler.h
    M clang-tools-extra/clangd/Config.h
    M clang-tools-extra/clangd/ConfigCompile.cpp
    M clang-tools-extra/clangd/ConfigFragment.h
    M clang-tools-extra/clangd/ConfigYAML.cpp
    M clang-tools-extra/clangd/FindSymbols.cpp
    M clang-tools-extra/clangd/Format.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
    M clang-tools-extra/clangd/GlobalCompilationDatabase.h
    M clang-tools-extra/clangd/Hover.cpp
    M clang-tools-extra/clangd/IncludeCleaner.cpp
    M clang-tools-extra/clangd/IncludeCleaner.h
    A clang-tools-extra/clangd/ModulesBuilder.cpp
    A clang-tools-extra/clangd/ModulesBuilder.h
    M clang-tools-extra/clangd/ParsedAST.cpp
    M clang-tools-extra/clangd/Preamble.cpp
    M clang-tools-extra/clangd/Preamble.h
    A clang-tools-extra/clangd/ProjectModules.h
    A clang-tools-extra/clangd/ScanningProjectModules.cpp
    A clang-tools-extra/clangd/ScanningProjectModules.h
    M clang-tools-extra/clangd/Selection.h
    M clang-tools-extra/clangd/SemanticHighlighting.cpp
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TidyProvider.cpp
    M clang-tools-extra/clangd/XRefs.cpp
    M clang-tools-extra/clangd/index/CanonicalIncludes.cpp
    M clang-tools-extra/clangd/index/remote/CMakeLists.txt
    M clang-tools-extra/clangd/index/remote/Client.h
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/tweaks/DefineOutline.cpp
    M clang-tools-extra/clangd/refactor/tweaks/ScopifyEnum.cpp
    M clang-tools-extra/clangd/support/ThreadsafeFS.cpp
    M clang-tools-extra/clangd/support/Trace.cpp
    M clang-tools-extra/clangd/test/CMakeLists.txt
    M clang-tools-extra/clangd/test/delimited-input-comment-at-the-end.test
    M clang-tools-extra/clangd/test/hover.test
    M clang-tools-extra/clangd/test/infinite-instantiation.test
    A clang-tools-extra/clangd/test/modules.test
    M clang-tools-extra/clangd/test/spaces-in-delimited-input.test
    M clang-tools-extra/clangd/test/trace.test
    M clang-tools-extra/clangd/tool/Check.cpp
    M clang-tools-extra/clangd/tool/ClangdMain.cpp
    M clang-tools-extra/clangd/unittests/ASTTests.cpp
    M clang-tools-extra/clangd/unittests/CMakeLists.txt
    M clang-tools-extra/clangd/unittests/ClangdTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
    M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/HoverTests.cpp
    M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
    M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
    M clang-tools-extra/clangd/unittests/PreambleTests.cpp
    A clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
    M clang-tools-extra/clangd/unittests/ReplayPeambleTests.cpp
    M clang-tools-extra/clangd/unittests/SelectionTests.cpp
    M clang-tools-extra/clangd/unittests/TestFS.h
    M clang-tools-extra/clangd/unittests/XRefsTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/DefineOutlineTests.cpp
    M clang-tools-extra/clangd/unittests/tweaks/ScopifyEnumTests.cpp
    M clang-tools-extra/docs/CMakeLists.txt
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/boost/use-ranges.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/bad-signal-to-kill-thread.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/macro-parentheses.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/pointer-arithmetic-on-polymorphic-object.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/sizeof-expression.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-return-value.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
    A clang-tools-extra/docs/clang-tidy/checks/cert/int09-c.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.ArrayDelete.rst
    M clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/cplusplus.Move.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/optin.taint.TaintedAlloc.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.PutenvStackArray.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/security.SetgidSetuidOrder.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.BlockInCriticalSection.rst
    A clang-tools-extra/docs/clang-tidy/checks/clang-analyzer/unix.Stream.rst
    M clang-tools-extra/docs/clang-tidy/checks/concurrency/thread-canceltype-asynchronous.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-const-or-ref-data-members.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-non-const-global-variables.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/macro-usage.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
    M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.rst
    M clang-tools-extra/docs/clang-tidy/checks/gen-static-analyzer-docs.py
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    M clang-tools-extra/docs/clang-tidy/checks/llvmlibc/implementation-in-namespace.rst
    M clang-tools-extra/docs/clang-tidy/checks/misc/throw-by-value-catch-by-reference.rst
    A clang-tools-extra/docs/clang-tidy/checks/misc/use-internal-linkage.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-constraints.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-designated-initializers.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-format.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-std-print.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/enum-initial-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/identifier-length.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/static-accessed-through-instance.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
    M clang-tools-extra/docs/clang-tidy/index.rst
    M clang-tools-extra/docs/modularize.rst
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/IncludeSpeller.cpp
    M clang-tools-extra/include-cleaner/lib/Record.cpp
    M clang-tools-extra/include-cleaner/lib/Types.cpp
    M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/CMakeLists.txt
    M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
    M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
    M clang-tools-extra/modularize/ModularizeUtilities.cpp
    M clang-tools-extra/pseudo/include/CMakeLists.txt
    M clang-tools-extra/pseudo/lib/CMakeLists.txt
    M clang-tools-extra/pseudo/lib/cxx/CMakeLists.txt
    M clang-tools-extra/pseudo/tool/CMakeLists.txt
    M clang-tools-extra/pseudo/unittests/CMakeLists.txt
    M clang-tools-extra/test/CMakeLists.txt
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/database_template.json
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Rectangle.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Shape.h
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
    A clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
    A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.css
    A clang-tools-extra/test/clang-doc/Inputs/test-assets/test.js
    A clang-tools-extra/test/clang-doc/assets.cpp
    A clang-tools-extra/test/clang-doc/basic-project.test
    A clang-tools-extra/test/clang-doc/enum.cpp
    A clang-tools-extra/test/clang-doc/namespace.cpp
    M clang-tools-extra/test/clang-doc/templates.cpp
    A clang-tools-extra/test/clang-doc/test-path-abs.cpp
    A clang-tools-extra/test/clang-query/Inputs/empty.script
    A clang-tools-extra/test/clang-query/Inputs/file.script
    A clang-tools-extra/test/clang-query/Inputs/runtime_file.script
    M clang-tools-extra/test/clang-query/errors.c
    A clang-tools-extra/test/clang-query/file-empty.c
    A clang-tools-extra/test/clang-query/file-query.c
    M clang-tools-extra/test/clang-tidy/CTTestTidyModule.cpp
    M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_boost.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/Inputs/use-ranges/fake_std.h
    A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges-pipe.cpp
    A clang-tools-extra/test/clang-tidy/checkers/boost/use-ranges.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition-cxx20.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/casting-through-void.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/implicit-widening-of-multiplication-result-constants.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-decl-only.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-2.c
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-any-pointer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression-warn-on-sizeof-pointer-to-aggregate.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/sizeof-expression.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/use-after-move.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-const-or-ref-data-members.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/avoid-non-const-global-variables.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/macro-usage.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-no-crash.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/special-member-functions-relaxed.cpp
    M clang-tools-extra/test/clang-tidy/checkers/hicpp/signed-bitwise-integer-literals.cpp
    M clang-tools-extra/test/clang-tidy/checkers/llvmlibc/implementation-in-namespace.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func.h
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_cpp.inc
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/func_h.inc
    A clang-tools-extra/test/clang-tidy/checkers/misc/Inputs/use-internal-linkage/var.h
    M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/header-include-cycle.self.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hpp
    R clang-tools-extra/test/clang-tidy/checkers/misc/unused-using-decls.hxx
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-fix-mode-none.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
    A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-ranges/fake_std.h
    M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-constraints.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace-ignore-implicit-constructors.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges-pipe.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-member.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-member.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-vector-operation.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/move-const-arg.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
    A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-templates.cpp
    M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/duplicate-include2.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/duplicate-include/system/sys/types.h
    M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-consteval.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-if-constexpr.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-cxx20.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
    R clang-tools-extra/test/clang-tidy/checkers/readability/magic-numbers-todo.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/non-const-parameter.c
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-member-init.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-macros.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/string-compare-custom-string-classes.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/string-compare.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/1/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/3/.clang-tidy
    A clang-tools-extra/test/clang-tidy/infrastructure/allow-no-checks.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
    M clang-tools-extra/test/modularize/Inputs/CompileError/module.modulemap
    M clang-tools-extra/test/modularize/Inputs/MissingHeader/module.modulemap
    M clang-tools-extra/test/pp-trace/Inputs/module.modulemap
    M clang-tools-extra/test/pp-trace/pp-trace-macro.cpp
    M clang-tools-extra/unittests/CMakeLists.txt
    M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
    M clang-tools-extra/unittests/clang-query/QueryParserTest.cpp
    M clang-tools-extra/unittests/clang-tidy/DeclRefExprUtilsTest.cpp
    M clang/CMakeLists.txt
    M clang/README.txt
    M clang/bindings/python/clang/cindex.py
    R clang/bindings/python/clang/enumerations.py
    M clang/bindings/python/tests/CMakeLists.txt
    M clang/bindings/python/tests/cindex/test_code_completion.py
    M clang/bindings/python/tests/cindex/test_comment.py
    M clang/bindings/python/tests/cindex/test_cursor.py
    A clang/bindings/python/tests/cindex/test_enums.py
    M clang/bindings/python/tests/cindex/test_exception_specification_kind.py
    M clang/bindings/python/tests/cindex/test_location.py
    A clang/bindings/python/tests/cindex/test_source_range.py
    M clang/bindings/python/tests/cindex/test_token_kind.py
    M clang/cmake/caches/CrossWinToARMLinux.cmake
    M clang/cmake/caches/Fuchsia-stage2.cmake
    M clang/cmake/caches/Fuchsia.cmake
    M clang/cmake/caches/HLSL.cmake
    M clang/cmake/caches/Release.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/cmake/modules/AddClang.cmake
    M clang/docs/APINotes.rst
    M clang/docs/Block-ABI-Apple.rst
    M clang/docs/BoundsSafety.rst
    M clang/docs/BoundsSafetyImplPlans.rst
    M clang/docs/CMakeLists.txt
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangFormattedStatus.rst
    M clang/docs/ClangLinkerWrapper.rst
    A clang/docs/ClangNVLinkWrapper.rst
    M clang/docs/ClangOffloadBundler.rst
    M clang/docs/CommandGuide/clang.rst
    M clang/docs/HIPSupport.rst
    A clang/docs/HLSL/AvailabilityDiagnostics.rst
    M clang/docs/HLSL/ExpectedDifferences.rst
    M clang/docs/HLSL/HLSLDocs.rst
    M clang/docs/HLSL/HLSLIRReference.rst
    M clang/docs/HLSL/ResourceTypes.rst
    M clang/docs/InternalsManual.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibASTMatchersReference.html
    M clang/docs/MSVCCompatibility.rst
    M clang/docs/MemorySanitizer.rst
    M clang/docs/Multilib.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/PointerAuthentication.rst
    A clang/docs/RealtimeSanitizer.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/SourceBasedCodeCoverage.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/docs/UndefinedBehaviorSanitizer.rst
    M clang/docs/UsersManual.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/analyzer/checkers/mismatched_deallocator_example.cpp
    A clang/docs/analyzer/images/analyzer_html.png
    A clang/docs/analyzer/images/analyzer_xcode.png
    A clang/docs/analyzer/images/scan_build_cmd.png
    M clang/docs/analyzer/user-docs.rst
    A clang/docs/analyzer/user-docs/CommandLineUsage.rst
    A clang/docs/analyzer/user-docs/FilingBugs.rst
    A clang/docs/analyzer/user-docs/Installation.rst
    M clang/docs/analyzer/user-docs/TaintAnalysisConfiguration.rst
    A clang/docs/analyzer/user-docs/UsingWithXCode.rst
    M clang/docs/index.rst
    M clang/docs/tools/clang-formatted-files.txt
    M clang/examples/LLVMPrintFunctionNames/LLVMPrintFunctionNames.cpp
    M clang/examples/PrintFunctionNames/PrintFunctionNames.cpp
    M clang/include/clang-c/CXSourceLocation.h
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/APINotesManager.h
    M clang/include/clang/APINotes/APINotesReader.h
    M clang/include/clang/APINotes/APINotesWriter.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTConcept.h
    M clang/include/clang/AST/ASTConsumer.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/ASTImporter.h
    M clang/include/clang/AST/ASTNodeTraverser.h
    M clang/include/clang/AST/ASTUnresolvedSet.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/Attr.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/CommentCommandTraits.h
    M clang/include/clang/AST/CommentCommands.td
    M clang/include/clang/AST/CommentParser.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclAccessPair.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprCXX.h
    M clang/include/clang/AST/GlobalDecl.h
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/AST/OpenACCClause.h
    M clang/include/clang/AST/OpenMPClause.h
    M clang/include/clang/AST/PrettyPrinter.h
    M clang/include/clang/AST/PropertiesBase.td
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/Stmt.h
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/TemplateBase.h
    M clang/include/clang/AST/TemplateName.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/AST/TypeProperties.td
    M clang/include/clang/AST/UnresolvedSet.h
    M clang/include/clang/AST/VTTBuilder.h
    M clang/include/clang/AST/VTableBuilder.h
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
    M clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/FlowSensitive/ASTOps.h
    M clang/include/clang/Analysis/FlowSensitive/AdornedCFG.h
    A clang/include/clang/Analysis/FlowSensitive/CNFFormula.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/MapLattice.h
    M clang/include/clang/Analysis/FlowSensitive/Solver.h
    M clang/include/clang/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.h
    M clang/include/clang/Analysis/FlowSensitive/WatchedLiteralsSolver.h
    A clang/include/clang/Basic/AMDGPUTypes.def
    A clang/include/clang/Basic/ASTSourceDescriptor.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.def
    M clang/include/clang/Basic/Builtins.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/include/clang/Basic/BuiltinsPPC.def
    M clang/include/clang/Basic/BuiltinsWebAssembly.def
    M clang/include/clang/Basic/BuiltinsX86.def
    M clang/include/clang/Basic/CharInfo.h
    M clang/include/clang/Basic/CodeGenOptions.def
    M clang/include/clang/Basic/CodeGenOptions.h
    M clang/include/clang/Basic/Cuda.h
    M clang/include/clang/Basic/CustomizableOptional.h
    M clang/include/clang/Basic/DebugOptions.def
    M clang/include/clang/Basic/DiagnosticASTKinds.td
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticOptions.h
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/DiagnosticSerializationKinds.td
    M clang/include/clang/Basic/Features.def
    M clang/include/clang/Basic/FileManager.h
    A clang/include/clang/Basic/HLSLIntangibleTypes.def
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Basic/LangStandards.def
    M clang/include/clang/Basic/MSP430Target.def
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/OpenACCClauses.def
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/OpenMPKinds.def
    M clang/include/clang/Basic/OpenMPKinds.h
    M clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/Sanitizers.def
    M clang/include/clang/Basic/SourceLocation.h
    M clang/include/clang/Basic/SourceManager.h
    M clang/include/clang/Basic/Specifiers.h
    M clang/include/clang/Basic/StmtNodes.td
    A clang/include/clang/Basic/Target/MSP430/gen-msp430-def.py
    M clang/include/clang/Basic/TargetCXXABI.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/Thunk.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_neon_incl.td
    M clang/include/clang/Basic/arm_sme.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/arm_sve_sme_incl.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Basic/riscv_vector_common.td
    M clang/include/clang/CodeGen/CodeGenABITypes.h
    M clang/include/clang/CodeGen/ConstantInitBuilder.h
    M clang/include/clang/CodeGen/ModuleBuilder.h
    R clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
    A clang/include/clang/CodeGen/ObjectFilePCHContainerWriter.h
    M clang/include/clang/Driver/Distro.h
    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/Driver/ToolChain.h
    A clang/include/clang/Driver/aarch64-mlr-for-calls-only.c
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/ExtractAPI/Serialization/SymbolGraphSerializer.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendOptions.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Frontend/PrecompiledPreamble.h
    M clang/include/clang/Frontend/PreprocessorOutputOptions.h
    M clang/include/clang/Frontend/SerializedDiagnosticReader.h
    M clang/include/clang/Index/DeclOccurrence.h
    A clang/include/clang/InstallAPI/DirectoryScanner.h
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/InstallAPI/HeaderFile.h
    A clang/include/clang/InstallAPI/Library.h
    M clang/include/clang/InstallAPI/MachO.h
    M clang/include/clang/InstallAPI/Visitor.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Lex/ExternalPreprocessorSource.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/HeaderSearchOptions.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Lex/PPCallbacks.h
    A clang/include/clang/Lex/PPDirectiveParameter.h
    A clang/include/clang/Lex/PPEmbedParameters.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Lex/PreprocessorOptions.h
    M clang/include/clang/Parse/Parser.h
    R clang/include/clang/Rewrite/Core/DeltaTree.h
    M clang/include/clang/Rewrite/Core/HTMLRewrite.h
    R clang/include/clang/Rewrite/Core/RewriteRope.h
    M clang/include/clang/Rewrite/Core/Rewriter.h
    A clang/include/clang/Sema/Attr.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/HLSLExternalSemaSource.h
    M clang/include/clang/Sema/Initialization.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Scope.h
    M clang/include/clang/Sema/Sema.h
    A clang/include/clang/Sema/SemaAMDGPU.h
    A clang/include/clang/Sema/SemaARM.h
    A clang/include/clang/Sema/SemaAVR.h
    A clang/include/clang/Sema/SemaBPF.h
    M clang/include/clang/Sema/SemaBase.h
    M clang/include/clang/Sema/SemaCUDA.h
    A clang/include/clang/Sema/SemaCodeCompletion.h
    M clang/include/clang/Sema/SemaConcept.h
    M clang/include/clang/Sema/SemaHLSL.h
    A clang/include/clang/Sema/SemaHexagon.h
    M clang/include/clang/Sema/SemaInternal.h
    A clang/include/clang/Sema/SemaLoongArch.h
    A clang/include/clang/Sema/SemaM68k.h
    A clang/include/clang/Sema/SemaMIPS.h
    A clang/include/clang/Sema/SemaMSP430.h
    A clang/include/clang/Sema/SemaNVPTX.h
    A clang/include/clang/Sema/SemaObjC.h
    M clang/include/clang/Sema/SemaOpenACC.h
    A clang/include/clang/Sema/SemaOpenCL.h
    M clang/include/clang/Sema/SemaOpenMP.h
    A clang/include/clang/Sema/SemaPPC.h
    A clang/include/clang/Sema/SemaPseudoObject.h
    A clang/include/clang/Sema/SemaRISCV.h
    M clang/include/clang/Sema/SemaSYCL.h
    A clang/include/clang/Sema/SemaSwift.h
    A clang/include/clang/Sema/SemaSystemZ.h
    A clang/include/clang/Sema/SemaWasm.h
    A clang/include/clang/Sema/SemaX86.h
    M clang/include/clang/Sema/Template.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTRecordWriter.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/Serialization/ModuleManager.h
    A clang/include/clang/Serialization/ObjectFilePCHContainerReader.h
    M clang/include/clang/Serialization/SourceLocationEncoding.h
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
    M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
    A clang/include/clang/StaticAnalyzer/Core/BugReporter/Z3CrosscheckVisitor.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Testing/TestAST.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
    R clang/include/clang/Tooling/NodeIntrospection.h
    M clang/include/clang/Tooling/Refactoring/ASTSelection.h
    M clang/include/clang/Tooling/Syntax/Tokens.h
    M clang/include/clang/Tooling/Transformer/RangeSelector.h
    M clang/include/module.modulemap
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesManager.cpp
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesTypes.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/ARCMigrate/ARCMT.cpp
    M clang/lib/ARCMigrate/ObjCMT.cpp
    M clang/lib/ARCMigrate/TransUnbridgedCasts.cpp
    M clang/lib/ARCMigrate/Transforms.cpp
    M clang/lib/AST/APValue.cpp
    M clang/lib/AST/ASTConcept.cpp
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTDiagnostic.cpp
    M clang/lib/AST/ASTDumper.cpp
    M clang/lib/AST/ASTImporter.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/Availability.cpp
    A clang/lib/AST/ByteCode/Boolean.h
    A clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
    A clang/lib/AST/ByteCode/ByteCodeEmitter.h
    A clang/lib/AST/ByteCode/Compiler.cpp
    A clang/lib/AST/ByteCode/Compiler.h
    A clang/lib/AST/ByteCode/Context.cpp
    A clang/lib/AST/ByteCode/Context.h
    A clang/lib/AST/ByteCode/Descriptor.cpp
    A clang/lib/AST/ByteCode/Descriptor.h
    A clang/lib/AST/ByteCode/Disasm.cpp
    A clang/lib/AST/ByteCode/DynamicAllocator.cpp
    A clang/lib/AST/ByteCode/DynamicAllocator.h
    A clang/lib/AST/ByteCode/EvalEmitter.cpp
    A clang/lib/AST/ByteCode/EvalEmitter.h
    A clang/lib/AST/ByteCode/EvaluationResult.cpp
    A clang/lib/AST/ByteCode/EvaluationResult.h
    A clang/lib/AST/ByteCode/Floating.cpp
    A clang/lib/AST/ByteCode/Floating.h
    A clang/lib/AST/ByteCode/Frame.cpp
    A clang/lib/AST/ByteCode/Frame.h
    A clang/lib/AST/ByteCode/Function.cpp
    A clang/lib/AST/ByteCode/Function.h
    A clang/lib/AST/ByteCode/FunctionPointer.cpp
    A clang/lib/AST/ByteCode/FunctionPointer.h
    A clang/lib/AST/ByteCode/Integral.h
    A clang/lib/AST/ByteCode/IntegralAP.h
    A clang/lib/AST/ByteCode/Interp.cpp
    A clang/lib/AST/ByteCode/Interp.h
    A clang/lib/AST/ByteCode/InterpBlock.cpp
    A clang/lib/AST/ByteCode/InterpBlock.h
    A clang/lib/AST/ByteCode/InterpBuiltin.cpp
    A clang/lib/AST/ByteCode/InterpFrame.cpp
    A clang/lib/AST/ByteCode/InterpFrame.h
    A clang/lib/AST/ByteCode/InterpShared.cpp
    A clang/lib/AST/ByteCode/InterpShared.h
    A clang/lib/AST/ByteCode/InterpStack.cpp
    A clang/lib/AST/ByteCode/InterpStack.h
    A clang/lib/AST/ByteCode/InterpState.cpp
    A clang/lib/AST/ByteCode/InterpState.h
    A clang/lib/AST/ByteCode/MemberPointer.cpp
    A clang/lib/AST/ByteCode/MemberPointer.h
    A clang/lib/AST/ByteCode/Opcode.h
    A clang/lib/AST/ByteCode/Opcodes.td
    A clang/lib/AST/ByteCode/Pointer.cpp
    A clang/lib/AST/ByteCode/Pointer.h
    A clang/lib/AST/ByteCode/PrimType.cpp
    A clang/lib/AST/ByteCode/PrimType.h
    A clang/lib/AST/ByteCode/Primitives.h
    A clang/lib/AST/ByteCode/Program.cpp
    A clang/lib/AST/ByteCode/Program.h
    A clang/lib/AST/ByteCode/Record.cpp
    A clang/lib/AST/ByteCode/Record.h
    A clang/lib/AST/ByteCode/Source.cpp
    A clang/lib/AST/ByteCode/Source.h
    A clang/lib/AST/ByteCode/State.cpp
    A clang/lib/AST/ByteCode/State.h
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/CommentParser.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclPrinter.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprCXX.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstShared.h
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/FormatString.cpp
    R clang/lib/AST/Interp/Boolean.h
    R clang/lib/AST/Interp/ByteCodeEmitter.cpp
    R clang/lib/AST/Interp/ByteCodeEmitter.h
    R clang/lib/AST/Interp/ByteCodeExprGen.cpp
    R clang/lib/AST/Interp/ByteCodeExprGen.h
    R clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    R clang/lib/AST/Interp/ByteCodeStmtGen.h
    R clang/lib/AST/Interp/Context.cpp
    R clang/lib/AST/Interp/Context.h
    R clang/lib/AST/Interp/Descriptor.cpp
    R clang/lib/AST/Interp/Descriptor.h
    R clang/lib/AST/Interp/Disasm.cpp
    R clang/lib/AST/Interp/EvalEmitter.cpp
    R clang/lib/AST/Interp/EvalEmitter.h
    R clang/lib/AST/Interp/EvaluationResult.cpp
    R clang/lib/AST/Interp/EvaluationResult.h
    R clang/lib/AST/Interp/Floating.cpp
    R clang/lib/AST/Interp/Floating.h
    R clang/lib/AST/Interp/Frame.cpp
    R clang/lib/AST/Interp/Frame.h
    R clang/lib/AST/Interp/Function.cpp
    R clang/lib/AST/Interp/Function.h
    R clang/lib/AST/Interp/FunctionPointer.h
    R clang/lib/AST/Interp/Integral.h
    R clang/lib/AST/Interp/IntegralAP.h
    R clang/lib/AST/Interp/Interp.cpp
    R clang/lib/AST/Interp/Interp.h
    R clang/lib/AST/Interp/InterpBlock.cpp
    R clang/lib/AST/Interp/InterpBlock.h
    R clang/lib/AST/Interp/InterpBuiltin.cpp
    R clang/lib/AST/Interp/InterpFrame.cpp
    R clang/lib/AST/Interp/InterpFrame.h
    R clang/lib/AST/Interp/InterpShared.cpp
    R clang/lib/AST/Interp/InterpShared.h
    R clang/lib/AST/Interp/InterpStack.cpp
    R clang/lib/AST/Interp/InterpStack.h
    R clang/lib/AST/Interp/InterpState.cpp
    R clang/lib/AST/Interp/InterpState.h
    R clang/lib/AST/Interp/Opcode.h
    R clang/lib/AST/Interp/Opcodes.td
    R clang/lib/AST/Interp/Pointer.cpp
    R clang/lib/AST/Interp/Pointer.h
    R clang/lib/AST/Interp/PrimType.cpp
    R clang/lib/AST/Interp/PrimType.h
    R clang/lib/AST/Interp/Primitives.h
    R clang/lib/AST/Interp/Program.cpp
    R clang/lib/AST/Interp/Program.h
    R clang/lib/AST/Interp/Record.cpp
    R clang/lib/AST/Interp/Record.h
    R clang/lib/AST/Interp/Source.cpp
    R clang/lib/AST/Interp/Source.h
    R clang/lib/AST/Interp/State.cpp
    R clang/lib/AST/Interp/State.h
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/JSONNodeDumper.cpp
    M clang/lib/AST/Mangle.cpp
    M clang/lib/AST/MicrosoftMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/ODRDiagsEmitter.cpp
    M clang/lib/AST/ODRHash.cpp
    M clang/lib/AST/OpenACCClause.cpp
    M clang/lib/AST/OpenMPClause.cpp
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/AST/PrintfFormatString.cpp
    M clang/lib/AST/QualTypeNames.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtOpenMP.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TemplateBase.cpp
    M clang/lib/AST/TemplateName.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/AST/TypePrinter.cpp
    M clang/lib/AST/VTTBuilder.cpp
    M clang/lib/AST/VTableBuilder.cpp
    M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
    M clang/lib/ASTMatchers/Dynamic/Marshallers.cpp
    M clang/lib/Analysis/Consumed.cpp
    M clang/lib/Analysis/ExprMutationAnalyzer.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/AdornedCFG.cpp
    M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
    A clang/lib/Analysis/FlowSensitive/CNFFormula.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Models/ChromiumCheckModel.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Analysis/FlowSensitive/WatchedLiteralsSolver.cpp
    M clang/lib/Analysis/LiveVariables.cpp
    M clang/lib/Analysis/MacroExpansionContext.cpp
    M clang/lib/Analysis/ThreadSafetyCommon.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/lib/Basic/ASTSourceDescriptor.cpp
    M clang/lib/Basic/Builtins.cpp
    M clang/lib/Basic/CMakeLists.txt
    M clang/lib/Basic/CharInfo.cpp
    M clang/lib/Basic/Cuda.cpp
    M clang/lib/Basic/Diagnostic.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/LangOptions.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/OpenMPKinds.cpp
    M clang/lib/Basic/Sarif.cpp
    M clang/lib/Basic/SourceManager.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/DirectX.h
    M clang/lib/Basic/Targets/Hexagon.cpp
    M clang/lib/Basic/Targets/Hexagon.h
    R clang/lib/Basic/Targets/Le64.cpp
    R clang/lib/Basic/Targets/Le64.h
    M clang/lib/Basic/Targets/LoongArch.cpp
    M clang/lib/Basic/Targets/LoongArch.h
    M clang/lib/Basic/Targets/Mips.cpp
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/NVPTX.cpp
    M clang/lib/Basic/Targets/NVPTX.h
    M clang/lib/Basic/Targets/OSTargets.cpp
    M clang/lib/Basic/Targets/OSTargets.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Basic/Targets/X86.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/Basic/TypeTraits.cpp
    M clang/lib/CodeGen/ABIInfo.cpp
    M clang/lib/CodeGen/ABIInfo.h
    M clang/lib/CodeGen/ABIInfoImpl.cpp
    M clang/lib/CodeGen/ABIInfoImpl.h
    M clang/lib/CodeGen/Address.h
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBuilder.h
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGCXX.cpp
    M clang/lib/CodeGen/CGCXXABI.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGClass.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDebugInfo.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGDeclCXX.cpp
    M clang/lib/CodeGen/CGException.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGObjCMac.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.h
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.h
    A clang/lib/CodeGen/CGPointerAuth.cpp
    A clang/lib/CodeGen/CGPointerAuthInfo.h
    M clang/lib/CodeGen/CGRecordLayout.h
    M clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CGVTT.cpp
    M clang/lib/CodeGen/CGVTables.cpp
    M clang/lib/CodeGen/CGVTables.h
    M clang/lib/CodeGen/CGValue.h
    M clang/lib/CodeGen/CMakeLists.txt
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/CodeGenTBAA.h
    M clang/lib/CodeGen/CodeGenTypeCache.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CodeGenTypes.h
    M clang/lib/CodeGen/ConstantEmitter.h
    M clang/lib/CodeGen/ConstantInitBuilder.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    M clang/lib/CodeGen/LinkInModulesPass.h
    M clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/MicrosoftCXXABI.cpp
    M clang/lib/CodeGen/ModuleBuilder.cpp
    R clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
    A clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
    M clang/lib/CodeGen/TargetInfo.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/ARC.cpp
    M clang/lib/CodeGen/Targets/ARM.cpp
    M clang/lib/CodeGen/Targets/CSKY.cpp
    M clang/lib/CodeGen/Targets/Hexagon.cpp
    M clang/lib/CodeGen/Targets/LoongArch.cpp
    M clang/lib/CodeGen/Targets/MSP430.cpp
    M clang/lib/CodeGen/Targets/Mips.cpp
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/lib/CodeGen/Targets/PNaCl.cpp
    M clang/lib/CodeGen/Targets/PPC.cpp
    M clang/lib/CodeGen/Targets/RISCV.cpp
    M clang/lib/CodeGen/Targets/SPIR.cpp
    M clang/lib/CodeGen/Targets/Sparc.cpp
    M clang/lib/CodeGen/Targets/SystemZ.cpp
    M clang/lib/CodeGen/Targets/WebAssembly.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/CodeGen/Targets/XCore.cpp
    M clang/lib/Driver/Distro.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/OffloadBundler.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.h
    M clang/lib/Driver/ToolChains/AMDGPUOpenMP.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
    M clang/lib/Driver/ToolChains/Arch/AArch64.h
    M clang/lib/Driver/ToolChains/Arch/ARM.cpp
    M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
    M clang/lib/Driver/ToolChains/Arch/Mips.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.h
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.h
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    M clang/lib/Driver/ToolChains/Arch/X86.cpp
    M clang/lib/Driver/ToolChains/BareMetal.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.h
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Driver/ToolChains/Cuda.h
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Fuchsia.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.cpp
    M clang/lib/Driver/ToolChains/HIPAMD.h
    M clang/lib/Driver/ToolChains/HIPSPV.cpp
    M clang/lib/Driver/ToolChains/HIPUtility.cpp
    M clang/lib/Driver/ToolChains/HLSL.cpp
    M clang/lib/Driver/ToolChains/HLSL.h
    M clang/lib/Driver/ToolChains/Hexagon.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/MSVC.cpp
    M clang/lib/Driver/ToolChains/MSVC.h
    M clang/lib/Driver/ToolChains/MinGW.cpp
    M clang/lib/Driver/ToolChains/OpenBSD.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.cpp
    M clang/lib/Driver/ToolChains/PS4CPU.h
    M clang/lib/Driver/ToolChains/SPIRV.cpp
    M clang/lib/Driver/ToolChains/Solaris.cpp
    M clang/lib/Driver/ToolChains/WebAssembly.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Driver/Types.cpp
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/AffectedRangeManager.h
    M clang/lib/Format/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenSource.h
    M clang/lib/Format/MacroExpander.cpp
    M clang/lib/Format/Macros.h
    M clang/lib/Format/QualifierAlignmentFixer.cpp
    M clang/lib/Format/QualifierAlignmentFixer.h
    M clang/lib/Format/SortJavaScriptImports.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/TokenAnnotator.h
    M clang/lib/Format/UnwrappedLineFormatter.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/UnwrappedLineParser.h
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
    M clang/lib/Frontend/DependencyFile.cpp
    M clang/lib/Frontend/DependencyGraph.cpp
    M clang/lib/Frontend/DiagnosticRenderer.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
    M clang/lib/Frontend/ModuleDependencyCollector.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Frontend/PrecompiledPreamble.cpp
    M clang/lib/Frontend/PrintPreprocessedOutput.cpp
    M clang/lib/Frontend/Rewrite/FixItRewriter.cpp
    M clang/lib/Frontend/Rewrite/HTMLPrint.cpp
    M clang/lib/Frontend/Rewrite/RewriteMacros.cpp
    M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
    M clang/lib/Frontend/Rewrite/RewriteObjC.cpp
    M clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
    M clang/lib/Frontend/TextDiagnostic.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/__clang_cuda_math.h
    M clang/lib/Headers/__clang_hip_cmath.h
    M clang/lib/Headers/__clang_hip_math.h
    A clang/lib/Headers/__stdarg_header_macro.h
    A clang/lib/Headers/__stddef_header_macro.h
    M clang/lib/Headers/arm_acle.h
    A clang/lib/Headers/avx10_2_512convertintrin.h
    A clang/lib/Headers/avx10_2_512minmaxintrin.h
    A clang/lib/Headers/avx10_2_512niintrin.h
    A clang/lib/Headers/avx10_2_512satcvtintrin.h
    A clang/lib/Headers/avx10_2convertintrin.h
    A clang/lib/Headers/avx10_2minmaxintrin.h
    A clang/lib/Headers/avx10_2niintrin.h
    A clang/lib/Headers/avx10_2satcvtintrin.h
    M clang/lib/Headers/avx2intrin.h
    R clang/lib/Headers/avx512erintrin.h
    M clang/lib/Headers/avx512fp16intrin.h
    R clang/lib/Headers/avx512pfintrin.h
    M clang/lib/Headers/avxintrin.h
    M clang/lib/Headers/avxvnniint16intrin.h
    M clang/lib/Headers/avxvnniint8intrin.h
    M clang/lib/Headers/cpuid.h
    M clang/lib/Headers/cuda_wrappers/algorithm
    M clang/lib/Headers/emmintrin.h
    M clang/lib/Headers/float.h
    M clang/lib/Headers/gfniintrin.h
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/immintrin.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
    M clang/lib/Headers/mm3dnow.h
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/module.modulemap
    M clang/lib/Headers/opencl-c-base.h
    M clang/lib/Headers/opencl-c.h
    M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
    M clang/lib/Headers/pmmintrin.h
    M clang/lib/Headers/prfchwintrin.h
    M clang/lib/Headers/ptrauth.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/stdarg.h
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Headers/stddef.h
    M clang/lib/Headers/tmmintrin.h
    M clang/lib/Headers/x86intrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/Index/CommentToXML.cpp
    M clang/lib/Index/IndexBody.cpp
    M clang/lib/Index/IndexDecl.cpp
    M clang/lib/Index/USRGeneration.cpp
    M clang/lib/InstallAPI/CMakeLists.txt
    M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
    A clang/lib/InstallAPI/DirectoryScanner.cpp
    M clang/lib/InstallAPI/DylibVerifier.cpp
    A clang/lib/InstallAPI/Library.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/CMakeLists.txt
    M clang/lib/Interpreter/CodeCompletion.cpp
    M clang/lib/Interpreter/DeviceOffload.cpp
    M clang/lib/Interpreter/IncrementalExecutor.cpp
    M clang/lib/Interpreter/IncrementalExecutor.h
    M clang/lib/Interpreter/IncrementalParser.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Interpreter/InterpreterUtils.h
    A clang/lib/Interpreter/Wasm.cpp
    A clang/lib/Interpreter/Wasm.h
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPCaching.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Lex/PPLexerChange.cpp
    M clang/lib/Lex/PPMacroExpansion.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Lex/TokenConcatenation.cpp
    M clang/lib/Parse/ParseAST.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseExprCXX.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseInit.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseOpenMP.cpp
    M clang/lib/Parse/ParsePragma.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Rewrite/CMakeLists.txt
    R clang/lib/Rewrite/DeltaTree.cpp
    M clang/lib/Rewrite/HTMLRewrite.cpp
    R clang/lib/Rewrite/RewriteRope.cpp
    M clang/lib/Rewrite/Rewriter.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/CheckExprLifetime.cpp
    A clang/lib/Sema/CheckExprLifetime.h
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/OpenCLBuiltins.td
    M clang/lib/Sema/ParsedAttr.cpp
    M clang/lib/Sema/Scope.cpp
    M clang/lib/Sema/ScopeInfo.cpp
    M clang/lib/Sema/Sema.cpp
    A clang/lib/Sema/SemaAMDGPU.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    A clang/lib/Sema/SemaARM.cpp
    A clang/lib/Sema/SemaAVR.cpp
    M clang/lib/Sema/SemaAccess.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaAvailability.cpp
    A clang/lib/Sema/SemaBPF.cpp
    M clang/lib/Sema/SemaBase.cpp
    A clang/lib/Sema/SemaBoundsSafety.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaCXXScopeSpec.cpp
    M clang/lib/Sema/SemaCast.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaConcept.cpp
    M clang/lib/Sema/SemaCoroutine.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaExprObjC.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/lib/Sema/SemaHexagon.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLambda.cpp
    M clang/lib/Sema/SemaLookup.cpp
    A clang/lib/Sema/SemaLoongArch.cpp
    A clang/lib/Sema/SemaM68k.cpp
    A clang/lib/Sema/SemaMIPS.cpp
    A clang/lib/Sema/SemaMSP430.cpp
    M clang/lib/Sema/SemaModule.cpp
    A clang/lib/Sema/SemaNVPTX.cpp
    A clang/lib/Sema/SemaObjC.cpp
    M clang/lib/Sema/SemaObjCProperty.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    A clang/lib/Sema/SemaOpenCL.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaOverload.cpp
    A clang/lib/Sema/SemaPPC.cpp
    M clang/lib/Sema/SemaPseudoObject.cpp
    A clang/lib/Sema/SemaRISCV.cpp
    R clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaSYCL.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaStmtAsm.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    A clang/lib/Sema/SemaSwift.cpp
    A clang/lib/Sema/SemaSystemZ.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    A clang/lib/Sema/SemaTemplateDeductionGuide.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/SemaTemplateVariadic.cpp
    M clang/lib/Sema/SemaType.cpp
    A clang/lib/Sema/SemaWasm.cpp
    A clang/lib/Sema/SemaX86.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTCommon.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/Serialization/CMakeLists.txt
    M clang/lib/Serialization/GlobalModuleIndex.cpp
    M clang/lib/Serialization/ModuleFile.cpp
    A clang/lib/Serialization/ObjectFilePCHContainerReader.cpp
    M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
    M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
    R clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/ErrnoModeling.h
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.cpp
    A clang/lib/StaticAnalyzer/Checkers/NoOwnershipChangeVisitor.h
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
    A clang/lib/StaticAnalyzer/Checkers/SetgidSetuidOrderChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StringChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
    R clang/lib/StaticAnalyzer/Checkers/cert/PutenvWithAutoChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
    M clang/lib/StaticAnalyzer/Core/CallDescription.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
    M clang/lib/StaticAnalyzer/Core/SVals.cpp
    M clang/lib/StaticAnalyzer/Core/Store.cpp
    A clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/lib/Support/CMakeLists.txt
    M clang/lib/Support/RISCVVIntrinsicUtils.cpp
    M clang/lib/Testing/TestAST.cpp
    M clang/lib/Tooling/ArgumentsAdjusters.cpp
    M clang/lib/Tooling/CMakeLists.txt
    M clang/lib/Tooling/Core/Replacement.cpp
    M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
    R clang/lib/Tooling/DumpTool/APIData.h
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.cpp
    R clang/lib/Tooling/DumpTool/ASTSrcLocProcessor.h
    R clang/lib/Tooling/DumpTool/CMakeLists.txt
    R clang/lib/Tooling/DumpTool/ClangSrcLocDump.cpp
    R clang/lib/Tooling/DumpTool/generate_cxx_src_locs.py
    R clang/lib/Tooling/EmptyNodeIntrospection.inc.in
    M clang/lib/Tooling/Inclusions/Stdlib/CMakeLists.txt
    M clang/lib/Tooling/JSONCompilationDatabase.cpp
    R clang/lib/Tooling/NodeIntrospection.cpp
    M clang/lib/Tooling/Syntax/BuildTree.cpp
    M clang/lib/Tooling/Syntax/Tokens.cpp
    M clang/lib/Tooling/Tooling.cpp
    M clang/lib/Tooling/Transformer/RangeSelector.cpp
    M clang/lib/Tooling/Transformer/Stencil.cpp
    A clang/test/APINotes/Inputs/Headers/Fields.apinotes
    A clang/test/APINotes/Inputs/Headers/Fields.h
    A clang/test/APINotes/Inputs/Headers/Methods.apinotes
    A clang/test/APINotes/Inputs/Headers/Methods.h
    M clang/test/APINotes/Inputs/Headers/Namespaces.apinotes
    M clang/test/APINotes/Inputs/Headers/Namespaces.h
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/module.modulemap
    M clang/test/APINotes/export-as.c
    M clang/test/APINotes/extern-context.cpp
    A clang/test/APINotes/fields.cpp
    A clang/test/APINotes/methods.cpp
    M clang/test/APINotes/namespaces.cpp
    M clang/test/APINotes/properties.m
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/APINotes/templates.cpp
    M clang/test/APINotes/versioned.m
    A clang/test/AST/ByteCode/arrays.cpp
    A clang/test/AST/ByteCode/atomic.c
    A clang/test/AST/ByteCode/atomic.cpp
    A clang/test/AST/ByteCode/bitfields.cpp
    A clang/test/AST/ByteCode/builtin-align-cxx.cpp
    A clang/test/AST/ByteCode/builtin-constant-p.cpp
    A clang/test/AST/ByteCode/builtin-functions.cpp
    A clang/test/AST/ByteCode/builtins.cpp
    A clang/test/AST/ByteCode/c.c
    A clang/test/AST/ByteCode/c23.c
    A clang/test/AST/ByteCode/codegen.c
    A clang/test/AST/ByteCode/codegen.cpp
    A clang/test/AST/ByteCode/comma.cpp
    A clang/test/AST/ByteCode/complex.c
    A clang/test/AST/ByteCode/complex.cpp
    A clang/test/AST/ByteCode/cond.cpp
    A clang/test/AST/ByteCode/const-eval.c
    A clang/test/AST/ByteCode/const-fpfeatures.cpp
    A clang/test/AST/ByteCode/const-temporaries.cpp
    A clang/test/AST/ByteCode/constexpr-frame-describe.cpp
    A clang/test/AST/ByteCode/constexpr-nqueens.cpp
    A clang/test/AST/ByteCode/constexpr-subobj-initialization.cpp
    A clang/test/AST/ByteCode/crash-GH49103-2.cpp
    A clang/test/AST/ByteCode/cxx03.cpp
    A clang/test/AST/ByteCode/cxx11.cpp
    A clang/test/AST/ByteCode/cxx17.cpp
    A clang/test/AST/ByteCode/cxx20.cpp
    A clang/test/AST/ByteCode/cxx23.cpp
    A clang/test/AST/ByteCode/cxx26.cpp
    A clang/test/AST/ByteCode/cxx2a.cpp
    A clang/test/AST/ByteCode/cxx98.cpp
    A clang/test/AST/ByteCode/depth-limit.cpp
    A clang/test/AST/ByteCode/depth-limit2.cpp
    A clang/test/AST/ByteCode/enums-targets.cpp
    A clang/test/AST/ByteCode/enums.cpp
    A clang/test/AST/ByteCode/eval-order.cpp
    A clang/test/AST/ByteCode/floats.cpp
    A clang/test/AST/ByteCode/functions.cpp
    A clang/test/AST/ByteCode/hlsl.hlsl
    A clang/test/AST/ByteCode/if.cpp
    A clang/test/AST/ByteCode/intap.cpp
    A clang/test/AST/ByteCode/invalid.cpp
    A clang/test/AST/ByteCode/lambda.cpp
    A clang/test/AST/ByteCode/lifetimes.cpp
    A clang/test/AST/ByteCode/literals.cpp
    A clang/test/AST/ByteCode/loops.cpp
    A clang/test/AST/ByteCode/memberpointers.cpp
    A clang/test/AST/ByteCode/ms.cpp
    A clang/test/AST/ByteCode/mutable.cpp
    A clang/test/AST/ByteCode/new-delete.cpp
    A clang/test/AST/ByteCode/nullable.cpp
    A clang/test/AST/ByteCode/objc.mm
    A clang/test/AST/ByteCode/opencl.cl
    A clang/test/AST/ByteCode/pointer-addition.c
    A clang/test/AST/ByteCode/records.cpp
    A clang/test/AST/ByteCode/references.cpp
    A clang/test/AST/ByteCode/shifts.cpp
    A clang/test/AST/ByteCode/spaceship.cpp
    A clang/test/AST/ByteCode/switch.cpp
    A clang/test/AST/ByteCode/sycl.cpp
    A clang/test/AST/ByteCode/unions.cpp
    A clang/test/AST/ByteCode/vectors.cpp
    A clang/test/AST/ByteCode/weak.cpp
    M clang/test/AST/HLSL/RWBuffer-AST.hlsl
    R clang/test/AST/HLSL/ResourceStruct.hlsl
    M clang/test/AST/HLSL/ast-dump-comment-cbuffe-tbufferr.hlsl
    M clang/test/AST/HLSL/cbuffer_tbuffer.hlsl
    A clang/test/AST/HLSL/export.hlsl
    A clang/test/AST/HLSL/hlsl_resource_t.hlsl
    A clang/test/AST/HLSL/packoffset.hlsl
    M clang/test/AST/HLSL/pch.hlsl
    M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
    M clang/test/AST/HLSL/pch_with_buf.hlsl
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/AST/HLSL/this-reference.hlsl
    M clang/test/AST/HLSL/vector-alias.hlsl
    M clang/test/AST/HLSL/vector-constructors.hlsl
    R clang/test/AST/Interp/arrays.cpp
    R clang/test/AST/Interp/atomic.c
    R clang/test/AST/Interp/atomic.cpp
    R clang/test/AST/Interp/bitfields.cpp
    R clang/test/AST/Interp/builtin-align-cxx.cpp
    R clang/test/AST/Interp/builtin-functions.cpp
    R clang/test/AST/Interp/builtins.cpp
    R clang/test/AST/Interp/c.c
    R clang/test/AST/Interp/c23.c
    R clang/test/AST/Interp/comma.cpp
    R clang/test/AST/Interp/complex.c
    R clang/test/AST/Interp/complex.cpp
    R clang/test/AST/Interp/cond.cpp
    R clang/test/AST/Interp/const-eval.c
    R clang/test/AST/Interp/const-fpfeatures.cpp
    R clang/test/AST/Interp/constexpr-nqueens.cpp
    R clang/test/AST/Interp/constexpr-subobj-initialization.cpp
    R clang/test/AST/Interp/crash-GH49103-2.cpp
    R clang/test/AST/Interp/cxx03.cpp
    R clang/test/AST/Interp/cxx11.cpp
    R clang/test/AST/Interp/cxx17.cpp
    R clang/test/AST/Interp/cxx20.cpp
    R clang/test/AST/Interp/cxx23.cpp
    R clang/test/AST/Interp/cxx98.cpp
    R clang/test/AST/Interp/depth-limit.cpp
    R clang/test/AST/Interp/depth-limit2.cpp
    R clang/test/AST/Interp/enums-targets.cpp
    R clang/test/AST/Interp/enums.cpp
    R clang/test/AST/Interp/floats.cpp
    R clang/test/AST/Interp/functions.cpp
    R clang/test/AST/Interp/if.cpp
    R clang/test/AST/Interp/intap.cpp
    R clang/test/AST/Interp/invalid.cpp
    R clang/test/AST/Interp/lambda.cpp
    R clang/test/AST/Interp/lifetimes.cpp
    R clang/test/AST/Interp/literals.cpp
    R clang/test/AST/Interp/loops.cpp
    R clang/test/AST/Interp/ms.cpp
    R clang/test/AST/Interp/nullable.cpp
    R clang/test/AST/Interp/opencl.cl
    R clang/test/AST/Interp/pointer-addition.c
    R clang/test/AST/Interp/records.cpp
    R clang/test/AST/Interp/references.cpp
    R clang/test/AST/Interp/shifts.cpp
    R clang/test/AST/Interp/spaceship.cpp
    R clang/test/AST/Interp/switch.cpp
    R clang/test/AST/Interp/vectors.cpp
    R clang/test/AST/Interp/weak.cpp
    M clang/test/AST/alignas_maybe_odr_cleanup.cpp
    M clang/test/AST/arithmetic-fence-builtin.c
    M clang/test/AST/ast-crash-doc-function-template.cpp
    M clang/test/AST/ast-dump-APValue-anon-union.cpp
    A clang/test/AST/ast-dump-amdgpu-types.c
    A clang/test/AST/ast-dump-anonymous-class.cpp
    M clang/test/AST/ast-dump-attr-type.cpp
    M clang/test/AST/ast-dump-concepts.cpp
    M clang/test/AST/ast-dump-coroutine.cpp
    A clang/test/AST/ast-dump-ctad-alias.cpp
    M clang/test/AST/ast-dump-decl.cpp
    M clang/test/AST/ast-dump-default-arg-dep.cpp
    M clang/test/AST/ast-dump-default-arg-recovery.cpp
    M clang/test/AST/ast-dump-default-init.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    M clang/test/AST/ast-dump-fpfeatures.m
    M clang/test/AST/ast-dump-funcs-json.cpp
    M clang/test/AST/ast-dump-lambda.cpp
    M clang/test/AST/ast-dump-late-parsing.cpp
    M clang/test/AST/ast-dump-openmp-begin-declare-variant_template_2.cpp
    M clang/test/AST/ast-dump-openmp-for-simd.c
    M clang/test/AST/ast-dump-openmp-simd.c
    M clang/test/AST/ast-dump-openmp-taskloop-simd.c
    A clang/test/AST/ast-dump-ptrauth-json.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/AST/ast-dump-template-decls.cpp
    A clang/test/AST/ast-dump-template-name.cpp
    M clang/test/AST/ast-dump-types-errors.cpp
    M clang/test/AST/ast-dump-using-template.cpp
    M clang/test/AST/ast-print-fp-pragmas.c
    M clang/test/AST/ast-print-openacc-compute-construct.cpp
    A clang/test/AST/ast-print-openacc-loop-construct.cpp
    M clang/test/AST/ast-print-pragmas.cpp
    M clang/test/AST/atomic-expr.cpp
    A clang/test/AST/attr-counted-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-counted-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-counted-by-struct-ptrs.c
    M clang/test/AST/attr-print-emit.cpp
    A clang/test/AST/attr-sized-by-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-late-parsed-struct-ptrs.c
    A clang/test/AST/attr-sized-by-or-null-struct-ptrs.c
    A clang/test/AST/attr-sized-by-struct-ptrs.c
    M clang/test/AST/attr-swift_attr.m
    M clang/test/AST/attr-swift_bridge.m
    M clang/test/AST/attr-swift_bridged_typedef.m
    M clang/test/AST/attr-swift_bridged_typedef.mm
    M clang/test/AST/auto-pragma.cpp
    M clang/test/AST/category-attribute.m
    M clang/test/AST/const-fpfeatures.c
    M clang/test/AST/const-fpfeatures.cpp
    M clang/test/AST/constraints-explicit-instantiation.cpp
    M clang/test/AST/coroutine-co_yield-source-range.cpp
    M clang/test/AST/coroutine-locals-cleanup.cpp
    M clang/test/AST/coroutine-source-location-crash.cpp
    A clang/test/AST/cxx2c-variadic-friends.cpp
    M clang/test/AST/deduction-guides.cpp
    A clang/test/AST/explicit-base-class-move-cntr.cpp
    M clang/test/AST/foreachtemplatized.mm
    M clang/test/AST/loop-recovery.cpp
    M clang/test/AST/multistep-explicit-cast.c
    M clang/test/AST/multistep-explicit-cast.cpp
    M clang/test/AST/objc-default-ctor-init.mm
    M clang/test/AST/pr43983.cpp
    M clang/test/AST/pr47636.cpp
    M clang/test/AST/pragma-attribute-cxx-subject-match-rules.cpp
    M clang/test/AST/pragma-attribute-objc-subject-match-rules.m
    M clang/test/AST/pragma-multiple-attributes-declspec.cpp
    M clang/test/AST/pragma-multiple-attributes.cpp
    M clang/test/AST/spurious-regparm.c
    M clang/test/AST/template-implicit-vars.cpp
    M clang/test/ASTMerge/codegen-exprs/test.c
    M clang/test/Analysis/Checkers/WebKit/call-args-wtf-containers.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/mock-system-header.h
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-ref-deref-on-diff-classes.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/Inputs/expected-plists/plist-macros.cpp.plist
    M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
    M clang/test/Analysis/Inputs/system-header-simulator-for-simple-stream.h
    M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
    M clang/test/Analysis/MismatchedDeallocator-checker-test.mm
    M clang/test/Analysis/NewDelete-atomics.cpp
    M clang/test/Analysis/NewDelete-intersections.mm
    M clang/test/Analysis/addrspace-null.c
    M clang/test/Analysis/analyzer-checker-option-help.c
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/analyzer-enabled-checkers.c
    M clang/test/Analysis/asm.cpp
    A clang/test/Analysis/block-in-critical-section-inheritance.cpp
    A clang/test/Analysis/block-in-critical-section.c
    M clang/test/Analysis/block-in-critical-section.cpp
    M clang/test/Analysis/block-in-critical-section.m
    M clang/test/Analysis/bstring_UninitRead.c
    M clang/test/Analysis/builtin-functions.cpp
    M clang/test/Analysis/builtin_signbit.cpp
    M clang/test/Analysis/call-invalidation.cpp
    M clang/test/Analysis/casts.c
    R clang/test/Analysis/cert/pos34-c-fp-suppression.cpp
    R clang/test/Analysis/cert/pos34-c.cpp
    M clang/test/Analysis/cfg-openmp.cpp
    M clang/test/Analysis/cfg.c
    M clang/test/Analysis/cfg.cpp
    M clang/test/Analysis/ctor-array.cpp
    M clang/test/Analysis/ctor.mm
    M clang/test/Analysis/ctu-cxxdefaultinitexpr.cpp
    M clang/test/Analysis/ctu-lookup-name-with-space.cpp
    M clang/test/Analysis/ctu-main.c
    M clang/test/Analysis/ctu-on-demand-parsing.c
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/Analysis/diagnostics/explicit-suppression.cpp
    M clang/test/Analysis/equality_tracking.c
    M clang/test/Analysis/errno-stdlibraryfunctions.c
    M clang/test/Analysis/exercise-ps.c
    A clang/test/Analysis/fread.c
    M clang/test/Analysis/free.c
    M clang/test/Analysis/free.cpp
    M clang/test/Analysis/getline-alloc.c
    M clang/test/Analysis/gh-issue-89185.c
    M clang/test/Analysis/handle_constructors_for_default_arguments.cpp
    M clang/test/Analysis/handle_constructors_with_new_array.cpp
    M clang/test/Analysis/html_diagnostics/relevant_lines/goto.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/macros_same_file.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/multiline_func_def.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/notexecutedlines.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/objcmethods.m
    M clang/test/Analysis/html_diagnostics/relevant_lines/simple_conditional.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/switch.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/switch_default.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/synthesized_body.cpp
    M clang/test/Analysis/html_diagnostics/relevant_lines/unused_header.c
    M clang/test/Analysis/inlining/temp-dtors-path-notes.cpp
    A clang/test/Analysis/issue-94193.cpp
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/live-stmts.cpp
    M clang/test/Analysis/malloc-fnptr-plist.c
    R clang/test/Analysis/malloc-overflow.c
    R clang/test/Analysis/malloc-overflow.cpp
    R clang/test/Analysis/malloc-overflow2.c
    M clang/test/Analysis/malloc-std-namespace.cpp
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/malloc.cpp
    M clang/test/Analysis/malloc.mm
    M clang/test/Analysis/memory-model.cpp
    M clang/test/Analysis/mmap-writeexec.c
    M clang/test/Analysis/new-aligned.cpp
    M clang/test/Analysis/nullability.c
    M clang/test/Analysis/nullability.mm
    M clang/test/Analysis/osobject-retain-release.cpp
    M clang/test/Analysis/out-of-bounds-diagnostics.c
    M clang/test/Analysis/plist-macros.cpp
    A clang/test/Analysis/pointer-sub-notes.c
    A clang/test/Analysis/pointer-sub.c
    M clang/test/Analysis/ptr-arith.c
    M clang/test/Analysis/ptr-cmp-const-trunc.cl
    A clang/test/Analysis/putenv-stack-array.c
    M clang/test/Analysis/region_store_overflow.c
    M clang/test/Analysis/return-value-guaranteed.cpp
    M clang/test/Analysis/scan-build/deduplication.test
    M clang/test/Analysis/scan-build/exclude_directories.test
    M clang/test/Analysis/scan-build/help.test
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/Analysis/scan-build/lit.local.cfg
    M clang/test/Analysis/scan-build/plist_html_output.test
    M clang/test/Analysis/scan-build/plist_output.test
    M clang/test/Analysis/scan-build/rebuild_index/rebuild_index.test
    M clang/test/Analysis/scan-build/silence-core-checkers.test
    A clang/test/Analysis/setgid-setuid-order-notes.c
    A clang/test/Analysis/setgid-setuid-order.c
    A clang/test/Analysis/short-circuiting-eval.cpp
    R clang/test/Analysis/sizeofpointer.c
    M clang/test/Analysis/solver-sym-simplification-bool.cpp
    M clang/test/Analysis/solver-sym-simplification-ptr-bool.cl
    M clang/test/Analysis/stack-addr-ps.c
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
    A clang/test/Analysis/stream-notes-missing-close.cpp
    M clang/test/Analysis/stream.c
    M clang/test/Analysis/taint-diagnostic-visitor.c
    M clang/test/Analysis/taint-generic.c
    M clang/test/Analysis/transparent_union_bug.c
    M clang/test/Analysis/trustnonnullchecker_test.m
    M clang/test/Analysis/trustnonnullchecker_test.mm
    M clang/test/Analysis/undef-call.c
    A clang/test/Analysis/unreachable-code-exceptions.cpp
    M clang/test/Analysis/use-after-move.cpp
    M clang/test/Analysis/weak-functions.c
    A clang/test/Analysis/z3/crosscheck-statistics.c
    A clang/test/C/C11/n1285.c
    A clang/test/C/C11/n1396.c
    A clang/test/C/C11/n1464.c
    A clang/test/C/C23/Inputs/bits.bin
    A clang/test/C/C23/Inputs/boop.h
    A clang/test/C/C23/Inputs/i.dat
    A clang/test/C/C23/Inputs/jump.wav
    A clang/test/C/C23/Inputs/s.dat
    A clang/test/C/C23/n2322.c
    A clang/test/C/C23/n2350.c
    A clang/test/C/C23/n2359.c
    A clang/test/C/C23/n2508.c
    A clang/test/C/C23/n2549.c
    A clang/test/C/C23/n2607.c
    A clang/test/C/C23/n2653.c
    A clang/test/C/C23/n2670.c
    A clang/test/C/C23/n2683.c
    A clang/test/C/C23/n2683_2.c
    A clang/test/C/C23/n2819.c
    A clang/test/C/C23/n2826.c
    A clang/test/C/C23/n2836_n2939.c
    A clang/test/C/C23/n2838.c
    A clang/test/C/C23/n2886.c
    A clang/test/C/C23/n2900_n3011.c
    A clang/test/C/C23/n2900_n3011_2.c
    A clang/test/C/C23/n2927.c
    A clang/test/C/C23/n2927_2.c
    A clang/test/C/C23/n2930.c
    A clang/test/C/C23/n2934.c
    A clang/test/C/C23/n2940.c
    A clang/test/C/C23/n2975.c
    A clang/test/C/C23/n3007.c
    A clang/test/C/C23/n3017.c
    A clang/test/C/C23/n3018.c
    A clang/test/C/C23/n3033.c
    A clang/test/C/C23/n3033_2.c
    A clang/test/C/C23/n3035.c
    A clang/test/C/C23/n3042.c
    R clang/test/C/C2x/n2322.c
    R clang/test/C/C2x/n2350.c
    R clang/test/C/C2x/n2359.c
    R clang/test/C/C2x/n2508.c
    R clang/test/C/C2x/n2549.c
    R clang/test/C/C2x/n2607.c
    R clang/test/C/C2x/n2670.c
    R clang/test/C/C2x/n2683.c
    R clang/test/C/C2x/n2683_2.c
    R clang/test/C/C2x/n2826.c
    R clang/test/C/C2x/n2836_n2939.c
    R clang/test/C/C2x/n2838.c
    R clang/test/C/C2x/n2886.c
    R clang/test/C/C2x/n2900_n3011.c
    R clang/test/C/C2x/n2900_n3011_2.c
    R clang/test/C/C2x/n2927.c
    R clang/test/C/C2x/n2927_2.c
    R clang/test/C/C2x/n2930.c
    R clang/test/C/C2x/n2934.c
    R clang/test/C/C2x/n2940.c
    R clang/test/C/C2x/n2975.c
    R clang/test/C/C2x/n3007.c
    R clang/test/C/C2x/n3018.c
    R clang/test/C/C2x/n3035.c
    R clang/test/C/C2x/n3042.c
    A clang/test/C/C2y/n3192.c
    A clang/test/C/C2y/n3244.c
    A clang/test/C/C2y/n3254.c
    A clang/test/C/C2y/n3259.c
    A clang/test/C/C2y/n3260.c
    A clang/test/C/C2y/n3262.c
    A clang/test/C/C2y/n3273.c
    A clang/test/C/C2y/n3274.c
    M clang/test/C/C99/block-scopes.c
    A clang/test/C/C99/n448.c
    M clang/test/C/C99/n809.c
    M clang/test/C/drs/dr0xx.c
    M clang/test/C/drs/dr290.c
    M clang/test/C/drs/dr2xx.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp
    A clang/test/CXX/basic/basic.lookup/basic.lookup.qual/basic.lookup.qual.general/p2.cpp
    M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
    M clang/test/CXX/basic/basic.start/basic.start.init/p3.cpp
    M clang/test/CXX/basic/basic.start/basic.start.main/p3.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    M clang/test/CXX/basic/basic.types/p10.cpp
    A clang/test/CXX/class.derived/class.derived.general/p2.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
    M clang/test/CXX/class/class.compare/class.compare.default/p4.cpp
    M clang/test/CXX/class/class.friend/p7-cxx20.cpp
    M clang/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
    M clang/test/CXX/class/class.mfct/p1-cxx20.cpp
    M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p6-cxx11.cpp
    M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p1.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
    A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5-cxx14.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-cxx14.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
    M clang/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
    A clang/test/CXX/dcl.decl/dcl.meaning/dcl.mptr/p2.cpp
    A clang/test/CXX/dcl/dcl.init/aggr.cpp
    A clang/test/CXX/drs/cwg0xx.cpp
    A clang/test/CXX/drs/cwg10xx.cpp
    A clang/test/CXX/drs/cwg11xx.cpp
    A clang/test/CXX/drs/cwg12xx.cpp
    A clang/test/CXX/drs/cwg13xx.cpp
    A clang/test/CXX/drs/cwg14xx.cpp
    A clang/test/CXX/drs/cwg15xx.cpp
    A clang/test/CXX/drs/cwg16xx.cpp
    A clang/test/CXX/drs/cwg17xx.cpp
    A clang/test/CXX/drs/cwg18xx.cpp
    A clang/test/CXX/drs/cwg19xx.cpp
    A clang/test/CXX/drs/cwg1xx.cpp
    A clang/test/CXX/drs/cwg20xx.cpp
    A clang/test/CXX/drs/cwg21xx.cpp
    A clang/test/CXX/drs/cwg22xx.cpp
    R clang/test/CXX/drs/cwg2390.cpp
    A clang/test/CXX/drs/cwg23xx.cpp
    A clang/test/CXX/drs/cwg24xx.cpp
    A clang/test/CXX/drs/cwg25xx.cpp
    A clang/test/CXX/drs/cwg2630.cpp
    A clang/test/CXX/drs/cwg26xx.cpp
    A clang/test/CXX/drs/cwg2771.cpp
    A clang/test/CXX/drs/cwg27xx.cpp
    A clang/test/CXX/drs/cwg28xx.cpp
    M clang/test/CXX/drs/cwg292.cpp
    A clang/test/CXX/drs/cwg29xx.cpp
    A clang/test/CXX/drs/cwg2xx.cpp
    A clang/test/CXX/drs/cwg3xx.cpp
    A clang/test/CXX/drs/cwg4xx.cpp
    A clang/test/CXX/drs/cwg5xx.cpp
    A clang/test/CXX/drs/cwg6xx.cpp
    A clang/test/CXX/drs/cwg722.cpp
    A clang/test/CXX/drs/cwg7xx.cpp
    A clang/test/CXX/drs/cwg8xx.cpp
    A clang/test/CXX/drs/cwg9xx.cpp
    R clang/test/CXX/drs/dr0xx.cpp
    R clang/test/CXX/drs/dr10xx.cpp
    R clang/test/CXX/drs/dr11xx.cpp
    R clang/test/CXX/drs/dr12xx.cpp
    R clang/test/CXX/drs/dr13xx.cpp
    R clang/test/CXX/drs/dr14xx.cpp
    R clang/test/CXX/drs/dr15xx.cpp
    R clang/test/CXX/drs/dr16xx.cpp
    R clang/test/CXX/drs/dr17xx.cpp
    R clang/test/CXX/drs/dr18xx.cpp
    R clang/test/CXX/drs/dr19xx.cpp
    R clang/test/CXX/drs/dr1xx.cpp
    R clang/test/CXX/drs/dr20xx.cpp
    R clang/test/CXX/drs/dr21xx.cpp
    R clang/test/CXX/drs/dr22xx.cpp
    R clang/test/CXX/drs/dr23xx.cpp
    R clang/test/CXX/drs/dr24xx.cpp
    R clang/test/CXX/drs/dr25xx.cpp
    R clang/test/CXX/drs/dr26xx.cpp
    R clang/test/CXX/drs/dr27xx.cpp
    R clang/test/CXX/drs/dr28xx.cpp
    R clang/test/CXX/drs/dr2xx.cpp
    R clang/test/CXX/drs/dr3xx.cpp
    R clang/test/CXX/drs/dr4xx.cpp
    R clang/test/CXX/drs/dr5xx.cpp
    R clang/test/CXX/drs/dr6xx.cpp
    R clang/test/CXX/drs/dr7xx.cpp
    R clang/test/CXX/drs/dr8xx.cpp
    R clang/test/CXX/drs/dr9xx.cpp
    M clang/test/CXX/except/except.spec/p13.cpp
    M clang/test/CXX/expr/expr.post/expr.type.conv/p1.cpp
    A clang/test/CXX/expr/expr.prim/expr.prim.id/expr.prim.id.general/p4.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p15-star-this-capture.cpp
    M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CXX/expr/expr.unary/expr.sizeof/p5-0x.cpp
    A clang/test/CXX/expr/expr.unary/expr.unary.general/p1.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp
    M clang/test/CXX/expr/expr.unary/expr.unary.op/p4.cpp
    M clang/test/CXX/lex/lex.literal/lex.string/p4.cpp
    M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.interface/p1.cppm
    M clang/test/CXX/module/module.import/p6.cpp
    M clang/test/CXX/module/module.private.frag/p1.cpp
    M clang/test/CXX/over/over.built/ast.cpp
    M clang/test/CXX/over/over.built/p10.cpp
    M clang/test/CXX/over/over.built/p11.cpp
    M clang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
    M clang/test/CXX/over/over.match/over.match.funcs/over.match.oper/p3-2a.cpp
    A clang/test/CXX/over/over.oper/over.oper.general/p1.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1-11.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-0x.cpp
    M clang/test/CXX/temp/temp.arg/temp.arg.template/p3-2a.cpp
    A clang/test/CXX/temp/temp.decls/temp.fct/temp.func.order/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.friend/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p1.cpp
    M clang/test/CXX/temp/temp.decls/temp.mem/p2.cpp
    M clang/test/CXX/temp/temp.decls/temp.variadic/p5.cpp
    M clang/test/CXX/temp/temp.deduct.guide/p3.cpp
    A clang/test/CXX/temp/temp.deduct/p7.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3-0x.cpp
    A clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.partial/p3.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p9-0x.cpp
    M clang/test/CXX/temp/temp.res/p3.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.constexpr/p2-0x.cpp
    M clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.spec/no-body.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p12.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p14-23.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
    M clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-0x.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p2-20.cpp
    A clang/test/CXX/temp/temp.spec/temp.expl.spec/p8.cpp
    M clang/test/ClangScanDeps/diagnostics.c
    M clang/test/ClangScanDeps/header-search-pruning-transitive.c
    M clang/test/ClangScanDeps/header-search-pruning.cpp
    A clang/test/ClangScanDeps/link-libraries.c
    M clang/test/ClangScanDeps/modules-canononical-module-map-case.c
    M clang/test/ClangScanDeps/modules-context-hash.c
    M clang/test/ClangScanDeps/modules-dep-args.c
    M clang/test/ClangScanDeps/modules-excluded-header.m
    M clang/test/ClangScanDeps/modules-extern-submodule.c
    M clang/test/ClangScanDeps/modules-extern-unrelated.m
    M clang/test/ClangScanDeps/modules-file-path-isolation.c
    M clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m
    M clang/test/ClangScanDeps/modules-full-by-mod-name.c
    M clang/test/ClangScanDeps/modules-full.cpp
    M clang/test/ClangScanDeps/modules-implementation-private.m
    M clang/test/ClangScanDeps/modules-implicit-dot-private.m
    M clang/test/ClangScanDeps/modules-incomplete-umbrella.c
    M clang/test/ClangScanDeps/modules-inferred.m
    M clang/test/ClangScanDeps/modules-no-undeclared-includes.c
    M clang/test/ClangScanDeps/modules-pch-common-submodule.c
    M clang/test/ClangScanDeps/modules-pch-common-via-submodule.c
    M clang/test/ClangScanDeps/modules-pch.c
    M clang/test/ClangScanDeps/modules-priv-fw-from-pub.m
    M clang/test/ClangScanDeps/modules-redefinition.m
    M clang/test/ClangScanDeps/modules-symlink-dir-vfs.c
    M clang/test/ClangScanDeps/modules-transitive.c
    M clang/test/ClangScanDeps/optimize-canonicalize-macros.m
    M clang/test/ClangScanDeps/optimize-fmodulemap.m
    M clang/test/ClangScanDeps/optimize-system-warnings.m
    M clang/test/ClangScanDeps/optimize-vfs-leak.m
    M clang/test/ClangScanDeps/optimize-vfs.m
    M clang/test/ClangScanDeps/pr61006.cppm
    M clang/test/ClangScanDeps/removed-args.c
    A clang/test/ClangScanDeps/response-file-clang-cl.c
    M clang/test/ClangScanDeps/working-dir.m
    M clang/test/CodeCompletion/ctor-signature.cpp
    M clang/test/CodeCompletion/member-access.cpp
    M clang/test/CodeGen/2005-01-02-ConstantInits.c
    M clang/test/CodeGen/2009-06-14-anonymous-union-init.c
    M clang/test/CodeGen/2010-07-08-DeclDebugLineNo.c
    M clang/test/CodeGen/2010-08-10-DbgConstant.c
    M clang/test/CodeGen/64bit-swiftcall.c
    A clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
    A clang/test/CodeGen/LoongArch/align.c
    M clang/test/CodeGen/LoongArch/intrinsic-la32-error.c
    M clang/test/CodeGen/LoongArch/intrinsic-la64-error.c
    M clang/test/CodeGen/PR32874.c
    M clang/test/CodeGen/PR44896.ll
    M clang/test/CodeGen/PowerPC/aix32-complex-varargs.c
    M clang/test/CodeGen/PowerPC/aix_alloca_align.c
    A clang/test/CodeGen/PowerPC/builtins-bcd-assist.c
    A clang/test/CodeGen/PowerPC/builtins-ppc-bcd-assist.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-fpconstrained.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-vec-ins-error.c
    M clang/test/CodeGen/PowerPC/builtins-ppc-xlcompat-cmplx.c
    M clang/test/CodeGen/PowerPC/ibm128-cast.c
    A clang/test/CodeGen/PowerPC/inline-asm-constraints-error.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-inline.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration-weak.c
    A clang/test/CodeGen/PowerPC/musttail-forward-declaration.c
    A clang/test/CodeGen/PowerPC/musttail-indirect.cpp
    A clang/test/CodeGen/PowerPC/musttail-inline.c
    A clang/test/CodeGen/PowerPC/musttail-undefined.c
    A clang/test/CodeGen/PowerPC/musttail-weak.c
    A clang/test/CodeGen/PowerPC/musttail.c
    M clang/test/CodeGen/PowerPC/powerpc-c99complex.c
    M clang/test/CodeGen/PowerPC/ppc-emmintrin.c
    M clang/test/CodeGen/PowerPC/ppc-varargs-struct.c
    M clang/test/CodeGen/PowerPC/ppc-xmmintrin.c
    M clang/test/CodeGen/PowerPC/ppc64-complex-parms.c
    M clang/test/CodeGen/PowerPC/ppc64-struct-onefloat.c
    M clang/test/CodeGen/PowerPC/ppc64-varargs-complex.c
    M clang/test/CodeGen/PowerPC/ppc64le-varargs-complex.c
    M clang/test/CodeGen/PowerPC/ppc64le-varargs-f128.c
    A clang/test/CodeGen/PowerPC/save-reg-params.c
    M clang/test/CodeGen/PowerPC/toc-data-attribute.c
    M clang/test/CodeGen/PowerPC/toc-data-attribute.cpp
    M clang/test/CodeGen/PowerPC/toc-data-diagnostics.c
    M clang/test/CodeGen/PowerPC/toc-data-structs-arrays.cpp
    A clang/test/CodeGen/PowerPC/transparent_union.c
    M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init-no-parentheses.c
    M clang/test/CodeGen/PowerPC/vector-bool-pixel-altivec-init.c
    M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool-ternary.c
    M clang/test/CodeGen/PowerPC/vector-compat-pixel-bool.c
    M clang/test/CodeGen/PowerPC/vector-compat-ternary.c
    M clang/test/CodeGen/PowerPC/vector-compat.c
    M clang/test/CodeGen/RISCV/abi-empty-structs.c
    A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
    A clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-call.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
    A clang/test/CodeGen/RISCV/attr-rvv-vector-bits-types.c
    M clang/test/CodeGen/RISCV/bfloat-abi.c
    M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
    M clang/test/CodeGen/RISCV/riscv-inline-asm.c
    M clang/test/CodeGen/RISCV/riscv-sdata-module-flag.c
    A clang/test/CodeGen/RISCV/riscv32-ilp32d-abi.cpp
    M clang/test/CodeGen/RISCV/riscv32-vararg.c
    M clang/test/CodeGen/RISCV/riscv64-vararg.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcompress.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vcpopv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwcvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vloxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg2e64ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg4e32ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vluxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmerge.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vmv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgather.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsoxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsuxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcompress.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vcpopv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwcvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vloxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vluxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmerge.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vmv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vreinterpret.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgather.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsoxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vssseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsuxseg8ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/sf_vfwmacc_4x4x4.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcompress.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vcpopv.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfncvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvt.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvt_f_f.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwcvtbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vfwmaccbf16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vle16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vle16ff.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg2ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg3ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg4ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg5ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg6ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg7ei8.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei32.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei64.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vloxseg8ei8.c
    R clang/test/CodeGen/riscv32-ilp32d-abi.cpp

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

Created using spr 1.3.6-beta.1

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/c2f27b33d290...58e5ecf3c3a1

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